收藏 分销(赏)

教室标准管理专业系统设计方案报告.doc

上传人:快乐****生活 文档编号:3025196 上传时间:2024-06-13 格式:DOC 页数:25 大小:153.04KB 下载积分:10 金币
下载 相关 举报
教室标准管理专业系统设计方案报告.doc_第1页
第1页 / 共25页
教室标准管理专业系统设计方案报告.doc_第2页
第2页 / 共25页


点击查看更多>>
资源描述
赤峰学院 数据库原理与技术 课程设计报告 题 目 教室管理系统 院 系 计算机与信息工程学院 专业班级 级计算机科学与技术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班 题 目 教室管理系统 对课程设计报告评阅意见: 小组设计成员成绩: 赵立超: 尚小苓: 李美静: 张志义: 付雪松: 评阅教师签名: 年 月 日
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服