教室管理系统设计报告样本.doc
《教室管理系统设计报告样本.doc》由会员分享,可在线阅读,更多相关《教室管理系统设计报告样本.doc(29页珍藏版)》请在咨信网上搜索。
资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。 赤峰学院 数据库原理与技术 课程设计报告 题 目 教室管理系统 院 系 计算机与信息工程学院 专业班级 级计算机科学与技术2班 设计成员 赵立超、 尚小苓、 李美静、 张志义、 付雪松 指导教师 韩志强 二O一二 年 十二 月 二十 日 课程设计——教室管理系统设计 1、 课程设计的目的和意义 教室作为一所学校的重要资源, 然而在许多学校特别大学, 这种资源往往显得稀缺, 必须借助先进的计算机信息技术对教室进行合理分配和管理, ”教室管理系统”能够说是对学校的教室管理部门而言是一项基础而重要的工作。教室管理这样一个系统, 能够涉及到大多数SQL Server数据库的重要数据库对象、 重要功能和特性, 比如: 视图、 触发器和存储过程等。由此, 经过这个课程设计能够加深对这些SQL Server数据库知识的学习、 理解, 积累在实际工程应用中运用各种数据库对象的经验, 使学生掌握使用应用软件开发工具开发数据库管理系统的基本方法。在实用性方面, 教室管理系统是很普遍的一种应用, 选择该系统作为课程设计也能够为学生以后可能遇到的实际开发提供借鉴。 2、 需求分析阶段 2.1处理对象 教室: 教室编号、 教室类型、 上课时间 班级: 班级名称、 教师编号、 教室编号、 课程、 上课时间、 备注 教师: 教师编号、 教师姓名、 性别、 职称、 教授课程、 备注 2.2处理功能及要求 2.2.1能够存储一定数量的教室信息,并方便有效的进行相应的教室如何分配和管理, 这主要包括: 1) 教室信息的录入、 删除及修改。 2) 教室的空闲时间 2.2.2能够对一定数量的班级、 教师进行相应的信息存储与管理, 这其中包括: 1) 班级信息的登记、 删除及修改。 2) 教师信息的增加、 删除及修改。 3) 班级和教师资料的查询。 能够提供一定的安全机制, 提供数据信息授权访问, 防止随意删改、 查询。 对查询的结果能够列表显示。 2.3安全性和完整性要求 2.3.1 安全性要求 系统安全性要求体现在数据库安全性、 信息安全性和系统平台的安全性等方面。安全性先经过视图机制, 不同的用户只能访问系统授权的视图, 这样可提供系统数据一定程度上的安全性, 再经过分配权限、 设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性; 系统平台的安全性体现在操作系统的安全性、 计算机系统的安全性和网络体系的安全性等方面。 2.3.2完整性要求 系统完整性要求系统中数据的正确性以及相容性。可经过建立主、 外键, 使用check约束, 或者经过使用触发器和级联更新。 2.4需求分析阶段成果 表1 课程表 M T W S F 数据库1班 尚老师101 TCP2班李老师102 数据结构1班付老师103( 多媒体) TCP2李老师102 TCP实验机房( 二) 1.2班李老师 TCP实验( 一) 1.2班李老师 数据库2班尚老师101 数据结构机房( 一) 1.2班付老师 数据结构2班付老师103( 多媒体) 数据结构1班付老师103( 多媒体) 数据结构机房( 一) 1.2班付老师 3、 概念结构设计 3.1教室管理信息系统数据流图 教师 教室管理系统 班级 图1 数据流程图 3.2教室管理系统局部E-R模型 教师 性别 备注 教师编号 教师名称 职称 课程 教师编号 班级 班级编号 上课时间 教师名称mingmingcheng chrng称 教室 教室编号 上课时间 教室类型 上课时间 备注 备注 图2 分E-R图 4、 结构逻辑设计 4.1 E-R 图向关系模型的转换 教室表( 教室编号、 教室类型、 上课时间) 主键: 教室编号 班级表( 班级名称、 教师编号、 教室编号、 课程、 上课时间、 备注) 主键: 班级名称 外键: 教室编号、 教师编号 教师表( 教师编号、 教师姓名、 性别、 职称、 教授课程、 备注) 主键: 教师编号 4.2数据模型优化 数据库德逻辑结构设计的结果不是唯一的。为了提高数据库应用系统的性能, 还应该根据应用需要适当的修改, 调整关系模式, 这就是数据模型的优化。规范化理论为数据库设计人员判断关系模式的优劣提供了理论标准, 可用来预测模式可能出现的问题, 使数据库设计工作有了严格的理论基础。关系数据模型的优化一般以规范化理论为指导, 方法为: ( 1) 确定数据依赖。分别写出每个关系内部属性的以及不同关系模式属性间 的数据依赖。 ( 2) 对于各个关系模式之间的数据依赖进行极小化处理, 消除冗余的联系。 ( 3) 按照数据依赖的理论对关系模式逐一分析, 考察是否存在部分函数依赖, 传递函数依赖, 根据各个函数依赖的依赖集可知各个关系模式没有部分函数依赖和传递函数依赖因此所有的关系模式都是属于3NF。不需要进一步进行模式分析。 4.3数据库的结构 表2 班级信息表结构 列名 数据类型 大小 空 值 键 班级编号 int 否 主键 教室编号 char 20 否 外键 教师编号 char 20 否 外键 课程 char 10 否 上课时间 char 50 否 备注 char 10 是 表3 教师信息表结构 列名 数据类型 大小 空 值 键 教师编号 char 10 否 主键 教师名称 char 10 否 性别 char 10 否 职称 char 10 否 教授课程 char 10 否 备注 nchar 10 是 表4 教室信息表结构 列名 数据类型 大小 空 值 键 教室编号 char 10 否 主键 教师类型 char 30 否 上课时间 nchar 20 是 备注 nchar 10 是 5、 物理设计阶段 5.1数据存储方面 5.2系统功能模块 5.2.1教室表信息查询和更新模块 将实现对教室信息的查询和更新( 修改、 插入、 删除) 操作, 方便于对教室基本信息的管理 5.2.2班级表的查询和更新模块 将完成班级基本信息的查询、 更新( 修改、 插入、 删除) 操作, 便于对学生信息的集中管理 5.2.3教师表的查询和更新模块 将完成教师基本信息的查询、 更新( 修改、 插入、 删除) 操作, 便于对教师信息的集中管理 5.3物理设计阶段结果 表5 存储过程插入表 编号 存储过程 作用 1 教室表_select 在教室表中查询一元组 2 班级表_select 在班级表中查询一元组 3 教师表_select 在教师表中查询一元组 6、 数据库实施阶段 6.1建立数据库 create class; 6.2建立数据表 教室表的建立: create table 教室 ( 教室编号 char(20) not null, 教室类型 char(30) not null, 上课时间 nchar(30) not null, 备注 nchar( 10) ) 教师表的建立: create table 教师 ( 教师编号 char(10) not null, 教师名称 char(10) not null, 性别 char(10) not null, 职称 char(10) not null, 教授课程 char(10) not null, 备注 char(10)) 班级表的建立: create table 班级 ( 班级编号 int not null, 教室编号 char(20) not null, 课程 char(20) not null, 教师编号 char(10) not null, 上课时间 char(50) not null, 备注 char(10)) 向表中插入数据: use class go insert 班级 (班级编号,教室编号,课程,教师编号,上课时间) values ('1001','101','数据库','001','周一第一节') Go use class go insert 班级 (班级编号,教室编号,课程,教师编号,上课时间) values ('1001','102','TCP','002','周四第一节') go use class go insert 教师 (教师编号,教师名称,性别,职称,教授课程) values ('101','尚老师','女','教授','数据库') go use class go insert 教室 (教室编号,教室类型,上课时间) values ('1001','普通教室','上午第一节下午第二节') go 主键约束的建立: use class go alter table 教室 add constraint pk_jsbh primary key clustered(教室编号) go 唯一约束的建立: use class go alter table 教师 add constraint uk_jsbh unique nonclustered(教师编号) go 默认约束的建立: use class go alter table 教师 add constraint df_xb default '女' for 性别 go 视图的建立: create view 教室占用情况 as select dbo.教室.教室编号,dbo.班级.班级编号,dbo.班级.课程,dbo.班级.上课时间 from dbo.教室INNER join dbo.班级 on dbo.教室.教室编号=dbo.班级.教室编号 where (dbo.教室.教室编号='101') 教室编号存储过程的建立: use class go if exists(select name from sys.objects where name ='教室' and type='p') drop procedure 教室查询 go create procedure 教室查询 @js char(8) with encryption as select 教室.教室编号,教室类型,班级.课程,班级.上课时间 from 教室,班级 where 教室.教室编号=班级.教室编号 and 教室.教室编号=@js order by 教室.教室编号 go 普通教室存储过程的建立: use class go if exists(select name from sys.objects where name='普通教室查询' and type='p') drop procedure 普通教室查询 go create procedure 普通教室查询 with encryption as select 教室.教室编号,教室类型,教室.上课时间 from 教室 where 教室类型='普通教室' go 实验教室存储过程的建立: use class go if exists(select name from sys.objects where name='实验室教室查询' and type='p') drop procedure 实验室教室查询 go create procedure 实验室教室查询 with encryption as select 教室.教室编号,教室类型,教室.上课时间 from 教室 where 教室类型='实验室一' go 计算机教室存储过程的建立: use class go if exists(select name from sys.objects where name='计算机机房教室查询' and type='p') drop procedure 计算机机房教室查询 go create procedure 计算机机房教室查询 with encryption as select 教室.教室编号,教室类型,教室.上课时间 from 教室 where 教室类型='计算机机房一' go 触发器的建立: use class go create trigger ins_kc on 班级 for insert as insert 教师( 教师编号) select '004' from inserted Go use class go create trigger ins_kc on 班级 for insert as insert 教室( 教室编号,上课时间) select '101','周一第二节' from inserted go use class go create trigger del_bjsj on 班级 for delete as delete 教师where 教师编号in (select 教室编号from deleted) go 7、 数据库实施阶段 主界面程序: //package parent_window; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class surFace extends JFrame{ JButton findSt,addSt,chanSt ,delSt,exitSt;//查找,添加,删除,推出 //构造函数 public surFace(){ Container c=this.getContentPane(); c.setLayout(new GridLayout (2,1)); JPanel lowerPanel=new JPanel(); c.setFont(new Font("plain",Font.PLAIN,13)); JLabel label=new JLabel("欢迎进入教室管理系统",SwingConstants.CENTER); label.setFont(new Font("BOLD",Font.BOLD,30)); c.add(label); //创立按钮 addSt=new JButton("录入"); addSt.setToolTipText("添加教室信息"); findSt=new JButton("查询"); findSt.setToolTipText("查询信息"); chanSt=new JButton("修改"); chanSt.setToolTipText("修改教室信息"); delSt=new JButton("删除"); delSt.setToolTipText("删除教室信息"); exitSt=new JButton("退出"); exitSt.setToolTipText("安全退出统"); lowerPanel.add(findSt); lowerPanel.add(addSt); lowerPanel.add(delSt); lowerPanel.add(exitSt); c.add(lowerPanel); //注册监听器, 新建独立监听器类 查找: fin( ) , 添加: ads( ) , 删除: del( ) , 退出本系统: ext( ) } //main 方法, 实现主界面 public static void main (String args[ ]){ surFace su=new surFace(); su.setSize(500,400); su.setTitle("欢迎进人教室管理系统!"); su.setVisible(true); } } 图3 主界面 查询界面: import java.awt. *; import java.awt.event. *; import java.sql. *; import javax.swing. *; class DataWindow extends JFrame implements ActionListener { JTextField 待输入教室编号; JButton 确定按钮; public DataWindow() {super("教室管理系统"); setBounds(150,150,300,120); setVisible(true); Container c=this.getContentPane(); c.setLayout(new GridLayout(2,1)); 待输入教室编号=new JTextField(15); 确定按钮=new JButton("确定"); JPanel p1=new JPanel(),p2=new JPanel(); p1.add(new JLabel("请选择将要查询的教室编号")); p1.add(待输入教室编号); p2.add(new JLabel("")); p2.add(确定按钮); c.add(p1);c.add(p2); 确定按钮.addActionListener(this); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {setVisible(false); System.exit(0);} }); } public void actionPerformed(ActionEvent e) {} } public class A { public static void main(String args[]) { DataWindow window=new DataWindow(); window.validate(); //window.setSize(500,400); } } 图4 查询界面 删除程序: import java.awt. *; import java.awt.event. *; import java.sql. *; import javax.swing. *; class DataWindow extends JFrame implements ActionListener { JTextField 待输入教室编号; JButton 确定按钮; public DataWindow() {super("教室管理系统"); setBounds(150,150,300,120); setVisible(true); Container c=this.getContentPane(); c.setLayout(new GridLayout(2,1)); 待输入教室编号=new JTextField(15); 确定按钮=new JButton("确定"); JPanel p1=new JPanel(),p2=new JPanel(); p1.add(new JLabel("请输入将要删除的教室编号! ! ")); p1.add(待输入教室编号); p2.add(new JLabel("")); p2.add(确定按钮); c.add(p1);c.add(p2); 确定按钮.addActionListener(this); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {setVisible(false); System.exit(0);} }); } public void actionPerformed(ActionEvent e) {} } public class B { public static void main(String args[]) { DataWindow window=new DataWindow(); window.validate(); //window.setSize(500,400); } } 图5 删除界面 录入程序: import java.awt. *; import java.awt.event. *; import java.sql. *; import javax.swing. *; class DataWindow extends JFrame implements ActionListener { JTextField 待输入教室编号; JButton 确定按钮; public DataWindow() {super("教室管理系统"); setBounds(150,150,300,120); setVisible(true); Container c=this.getContentPane(); c.setLayout(new GridLayout(2,1)); 待输入教室编号=new JTextField(15); 确定按钮=new JButton("确定"); JPanel p1=new JPanel(),p2=new JPanel(); p1.add(new JLabel("请输入录入教室编号")); p1.add(待输入教室编号); p2.add(new JLabel("")); p2.add(确定按钮); c.add(p1);c.add(p2); 确定按钮.addActionListener(this); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {setVisible(false); System.exit(0);} }); } public void actionPerformed(ActionEvent e) {} } public class C { public static void main(String args[]) { DataWindow window=new DataWindow(); window.validate(); //window.setSize(500,400); } } 图6 录入界面 8、 系统调试和测试 对该教室管理系统进行测试, 验证每个功能是否符合要求, 具体的测试如下: ( 1) 经过视图查看各个基本表和视图中的数据。 ( 2) 检测各个存储过程的功能。 9、 总结 经过近几个星期的努力, 终于设计出一个达到程序设计要求的数据库。其功能完整, 用户界面良好, 可是也存在着某些缺陷。经过这一段时间的工作努力, 最后的结果固重要, 但更重要的是它让我们熟悉了系统设计的整体步骤。系统设计大致可分为需求分析、 概念设计、 逻辑设计、 物理设计、 数据库的实施及调试测试六大步骤。其中, 让我们感触最深的是需求分析阶段, 在这个阶段, 必须对所要设计的系统有总体的构思和了解, 知道自己要做什么, 要实现什么, 而且要实际的进行相关的调查, 不能凭想象或自己的了解, 这样会避免在后续的工作中遇到很多的问题。 同时, 经过这次课程设计使我们进一步掌握了相关的SQL语句方面的知识。不但纠正了以前的错误认识和理解, 而且学会了建立存储过程和触发器。经过查阅资料, 我们还明白了存储过程是编译后放在服务器端的程序, 它能够被别的模块调用, 且不需要重新编译, 这样就大大减轻了客户端的负担, 且有效的提高了系统执行的效率。 赤 峰 学 院 《数据库原理与技术》课程设计报告评阅意见表 课程设计小组成员 赵立超、 尚小苓、 李美静、 张志义、 付雪松 指导教师 韩志强 院、 系 计算机与信息工程学院 专业、 班级 10级计算机与科学技术专业2班 题 目 教室管理系统 对课程设计报告的评阅意见: 小组设计成员成绩: 赵立超: 尚小苓: 李美静: 张志义: 付雪松: 评阅教师签名: 年 月 日- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教室 管理 系统 设计 报告 样本
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文