数据库系统课程设计
设计题目: 姓 名: 学 号: 专 业: 指导教师:
宿舍管理信息系统
信息与计算科学
20年 12月1日
目 录
引言 3 一、人员分配 4 二、课程设计目的和要求 4 三、课程设计过程 1.需求分析阶段
1.1应用背景 5 1.2需求分析目标 5 1.3系统设计概要 5 1.4软件处理对象 6 1.5系统可行性分析 6 1.6系统设计目标及意义 7
1.7系统业务流程及具体功能 7 8
2.系统的数据字典 11
3.概念结构设计阶段 13 4.逻辑结构设计阶段 15 5.物理结构设计阶段 18 6.数据库实施 18 7.数据库的运行和维护 18 7.1 解决问题方法 19 7.2 系统维护 19 7.3 数据库性能评价 19
四、课程设计心得. 20
参考文献 20
引 言
学生宿舍管理系统对于一个学校来说是必不可少的组成部分。目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条一条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。本系统具有运行速度快、安全性高、稳定性好的优点,并且具备修改功能,能够快速的查询学校所需的住宿信息。
面对目前学校发展的实际状况,我们通过实地调研之后,对宿舍管理系统的设计开发做了一个
详细的概述。
一、人员分配
组 长: E-R 图:
数 据 字 典: 逻辑结构设计:
二、课程设计目的和要求
课程设计是为了增强学生对所学课程的理解,学会综合地、灵活地运用所学课程知识的一个重要的实践环节。
本课程设计是应用java程序设计语言进行数据库应用系统的开发,用SQL SERVER 2008进行后台数据库的管理,编写出某一个小型的管理信息系统。
通过本课程设计可以达成如下目标:
1、能够自觉运用数据库原理的理论知识指导软件设计; 2、学会数据库的设计,并能对设计结果的优劣进行正确的评价; 3、学会如何组织和编写信息系统软件设计文档和软件系统的操作说明; 4、具有一定的独立分析问题、解决问题的能力; 5、掌握SQL SERVER2008在信息系统开发过程中的应用。
三、课程设计过程
数据库设计的基本步骤如下:
(1) (2) (3) (4) (5) (6)
需求分析
概念结构设计 数据库逻辑设计 数据库物理设计 数据库实施 数据库运行和维护
1.需求分析阶段
1.1应用背景
在现代的高校宿舍管理工作中,由于高校扩招,学生人数剧增,传统的管理方法已经不能适合高校宿舍管理的需要,以前使用的管理系统相对落后,随着学生人数的不断增加,该系统在数据管理方面有一些混乱,越来越不能适应管理的需要,因此需要一个功能更完善,操作更方便,容量
更大的管理信息系统。宿舍信息管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本宿舍信息管理系统的一些基本功能和组成情况包括系统的需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行维护等步骤。
1.2需求分析目标
1.明确用户需求,加速开发进程; 2.提高处理速度;
3.控制精度以及日常业务处理能力的提高; 4.管理信息服务的改进; 5.人员工作效率的提高。
1.3系统设计概要
宿舍管理的主要工作是学校宿舍基本信息的录入:为学生分、退宿舍和缴费;宿舍卫生检查;水电费的收取;宿舍、学生的查询以及对来访人员的登记。
宿舍分配的过程是:新生入学之前,每个园区将接到安排在本园区住宿的同学名单,并根据学生基本信息按约定的分配原则给每个学生初定宿舍床位。一般的分配原则是:同一学院的学生应该分配在同一幢楼,同一班级的学生应该分配在房号连续的寝室。当学生报到后,宿舍管理员根据住宿分配情况开出需支付的住宿费清单,学生到财务处缴费后方可入住。宿舍分配结束后,宿舍管理员对学生住房情况、房产信息进行维护、查询、管理、统计。
1.4软件处理对象:
系统要处理的对象包括用户系统登录信息、入住学生基本信息、宿舍基本信息、宿舍卫生检查信息、宿舍水电缴费信息、宿舍公物报修信息、来访登记信息等七个方面,各个对象包括信息如下所示(详细的数据见于数据字典):
1.用户系统登录信息:包括添加用户,修改密码,退出系统等方面,这样可以方便管理者对宿舍楼的管理,提高查询效率;
2.学生基本信息:包括 学号、学生姓名、学生性别、学生所学专业、宿舍号、入住时间等方面的信息,可以方便学生信息的查询和更新;
3.宿舍基本信息:宿舍基本信息包括宿舍号、宿舍电话、住宿费、宿舍财产; 4.宿舍卫生检查信息:包括宿舍号、检查情况、检查日期;
5.宿舍水电缴费信息:包括宿舍号、缴费人、缴费量、缴费日期等四方面的信息;
6.宿舍公物报修信息:报修信息包括宿舍号、报修人、保修日期、修理日期、报修情况等信息,具体的数据项见数据字典;
7.来访登记信息:包括宿舍号、来访人、被访人、来访时间、离开时间、备注等信息。
1.5系统可行性分析
本系统从以下两个个方面进行分析:
1.3.1技术可行性
本次“宿舍信息管理系统”设计的总体任务是实现宿舍管理的系统化、规范化、自动化,从而达到宿舍管理高效率的目的。鉴于我们以前学过C++,这学期又学了数据库,所以对开发管理系统有了一定的认识。由于本设计的最重要体现的是实用性,所以通过调查与分析,结合自己现有的技术水平加上老师的指导,还是能按期完成本次课程设计的。 1.3.2操作可行性
本系统是为学校的宿舍管理者开发的,所有本软件的用户对象是宿舍的 管理人员,由于本软件设计简单并附有详细的使用说明,用户只需懂得简单的计算机操作知识,就能自由应用本软件。
结论:经分析本系统满足以上几个方面的要求,所以开发本系统是完全可行的。
1.6系统的设计目标及其意义
本宿舍管理信息系统强化了学生管理的职能,涵盖了学生管理、床位管理等主要功能,特别是对学生宿舍管理工作进行了提炼和概括,使学生宿舍管理工作日益规范化、制度化和科学化,从而达到宿舍管理高效率的目的。
本系统主要包括三大功能:录入,查询和修改。录入时最基本的系统功能,实现了所有学生情况的录入,保证了学校学生住宿情况的完整性。用户可以通过适当的查询条件,对所有或者个别要了解的学生情况进行分类的查询,系统的查询能够一步到位,还支持模糊查询,从而减小了在不知道学生具体情况下查询的难度。修改则是集查询、删除和修改功能为一体的一个管理模块,本系统课通过多个查询条件得出所要的学生纪录,并在此基础上可对学生的基本住宿资料进行修改。
1.7系统的业务流程及具体的功能
通过对用户需求和系统设计思想的分析,可以得出该宿舍管理信息系统大致可以分为几大模
块:宿舍基本信息模块、学生入住模块、卫生检查模块、水电收费模块、宿舍报修模块、外来人员登记模块。
系统的业务流程图:
宿舍器件基本情况 宿舍来访纪录 学生入住 宿舍报修 宿舍信息 水电缴费 宿舍检查 显示信息 图1.7.1系统业务流程图
系统功能模块图:
宿舍管理信息系统系统管理宿舍基本信息学生入住卫生检查水电收费宿舍报修来访人员登记新建用户修改密码重新登录添加宿舍查询宿舍修改宿舍删除宿舍添加学生查询学生修改学生删除学生添加检查查询检查添加收费查询收费添加报修查询报修添加登记查询登记图1.7.2
系统总功能模块图
主要模块的功能:
①宿舍基本信息模块:添加、修改、查询和删除宿舍基本信息,如宿舍房号、财产、床位等。 ②学生入住模块:添加、修改、查询和删除学生入住、退宿信息,包括学生一些基本信息、缴费等。 ③卫生检查模块:对宿舍卫生检查、评比、统计等。 ④水电收费模块:对超出规定部分的水电收费管理。
⑤宿舍报修模块:对报修情况的登记、时间安排、修理结果检查等。 ⑥来访人员登记模块:对来访人员的登记管理等。
1.8数据流程
数据流程图
图1.8.1宿舍信息管理系统总数据流图 图1.8.2宿舍信息登记分数据流图 图1.8.3入住学生信息登记分数据流图 图1.8.4宿舍卫生检查分数据流图 图1.8.5宿舍水电收费分数据流图
图1.8.6宿舍报修分数据流图 图1.8.7来访人员登记分数据流图
2系统的数据字典
数据字典
数据从程序内部分离出来,形成独立的外部数据文件。静态数据文件与动态数据文件相互独 立,依靠特定程序分别进行参照或存取。 静态数据由外部数据文件存放方式转为数据库存放方式,将以前程序中静态数据对动态数据加工的某些控制关系抽象为静态表与动态表之间的关系。 用户数据字典: 属性名 存储代码 类型 长度 备注 用户ID Uname char 20 用户密码 Upassword char 20 住宿学生数据字典: 属性名 存储代码 类型 长度 备注 学号 Sno char 20 住宿学生学号 姓名 Sname char 20 住宿学生姓名 性别 Ssex char 4 专业 Sdept char 40 学生专业 宿舍号 Dno char 6 住宿学生宿舍号 入住时间 Scheckin date 8 新生搬入时间 学生宿舍数据字典: 属性名 存储代码 类型 长度 备注 宿舍号 Dno char 6 宿舍电话 Dphone char 15 宿舍财产 Pname char 20 报修数据字典: 属性名 存储代码 类型 长度 备注 宿舍号 Dno char 6 报修人宿舍号 物品号 Pno Int 2 报修物品编号 提交日期 Rsubmit date 8 报修提交日期 解决日期 Rsolve date 8 问题解决日期 报修原因 Rreason char 50 物品损坏原因 卫生检查数据字典: 属性名 存储代码 类型 长度 备注 宿舍号 Dno char 6 检查宿舍号 检查时间 ChTime timestamp 14 卫生检查时间 检查结果 ChResult Char 10 卫生检查评定 水电数据字典: 属性名 存储代码 类型 长度 备注 宿舍号 Dno char 6 水电宿舍号 已用费用 Cost date 8 水电消费情况 剩余费用 LeftFee date 8 水电剩余情况 续交费用 CtFee date 8 续交水电费用 来访人员数据字典: 属性名 存储代码 类型 长度 备注 学号 Sno char 20 住宿学生学号 姓名 Sname char 20 住宿学生姓名 性别 专业 宿舍号 进入时间 离开时间 Ssex Sdept Dno Scheckin OutTime char char char date date 4 40 6 8 8 学生专业 被访学生宿舍号 正课时间被访进入时间 正课时间被访结束后外出时间 3.概念结构设计阶段
本系统的总E-R图如图(2.1)所示:
图(3.1)总E-R图
以下是分E-R图:
dormID chairNum phone dorm BedNum DMoney DRemark deskNum
宿舍信息表分E-R图(被参照关系)
checkID dormID外码 checkinfo CDate CSate CRemark
卫生检查信息表分E-R图(参照关系)
dormID ChargeID charge MDate EBuy CMoney CPerson
水电收费信息表分E-R图(参照关系)
student SID dormID SName SSex class
学生信息表分E-R图(参照关系)
RepairID DateIn repair dormID DateRepair person rmoney reason repair
宿舍报修信息表分E-R图(参照关系)
Remark RegisterID PComeID Dateleave register dormID Plook
PComeName DateCome 来访人员信息表分E-R图(参照关系)
4.逻辑结构设计阶段
把系统的E-R图转换成数据库模式如下(下列关系模型中标有黄色钥匙状的为主码):
表4.1宿舍基本信息表(dorm) 表4.2学生入住信息表(student) 表4.3宿舍卫生检查表(checkinfo)
表4.4宿舍报修表(repair) 表4.5宿舍外来人员记录表(register) 表4.6宿舍水电缴费表(charge) 表4.7宿舍管理员表(userinfo)
本系统的关系模型如下:
dorm(dormID,phone,Dmoney,bedNum,chairNum,deskNum,DRemark) student(SID,Sname,Ssex,class,dormID)
checkinfo(checkID,dormID,CDate,CSate,CRemark) charge(chargeID,dormID,MDate,EBuy,CPerson,CMoney)
repair(repairID,dormID,DateIn,DateRepair,Person,repair,reason,rmoney)
register(RegisterID,PcomeID,PcomeName,DateCome,Plook,dormID,Dateleave,Remark)
5.物理结构设计阶段
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个最适合的应用要求的物理结构的过程,就是数据库的物理设计。
数据库的物理设计通常分为两步:
(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构; (2)对物理结构进行评价,评价的重点是时间和空间的效率。 5.1关系模式存取方法的选择
确定数据库的存取方法,就是确定建立哪些存储路径以实现快速存取数据库中的数据。现行的DBMS一般都提供了多种存取方法,如索引法、HASH法等。其中,最常用的是索引法,本系统也采用的是索引法。我们在经常需要搜索的列和主关键字上建立了唯一索引。
5.2确定数据库的存储结构
由于不同PC机所安装的数据库软件位置不一定相同,所以数据文件与日志文件的存放位置也不一定相同。
6.数据库实施
本系统前端开发工具我们选择java,后台数据库采用SQL Server 2008。 本系统是通过java代码进行连接的。 6.1 Create Database创建数据库
--创建数据库 宿舍管理信息系统 CREATE DATABASE 宿舍管理信息系统 GO
USE 宿舍管理信息系统 GO
6.2 Create Table创建表
create table charge (
ChargeID int identity(1,1) primary key, dormID varchar(20), MDate datetime, EBuy varchar(20), CPerson varchar(20), CMoney varchar(20) )
create table checkinfo (
CheckID int identity(1,1) primary key, dormID varchar(20), CDate datetime, CSate varchar(100), CRemark varchar(100) )
create table dorm (
dormID varchar(20) primary key, phone varchar(20), DMoney varchar(20), bedNum int, chairNum int, deskNum int, DRemark varchar(20) )
create table register (
Register int identity(1,1) primary key, PComeName varchar(20), PComeID varchar(18), DateCome datetime, PLook varchar(20), dormID varchar(20), DateLeave datetime, Remark varchar(100) )
create table repair (
RepairID int identity(1,1) primary key, dormID varchar(20), DateIn datetime, DateRepair datetime, person varchar(20), repair varchar(20), reason varchar(20), repairmoney varchar(20) )
create table student (
SID varchar(20) primary key, SName varchar(20), SSex varchar(20), class varchar(20), dormID varchar(20), phone varchar(11) )
7.数据库运行和维护
软件维护是软件生命周期的最后一个阶段,它处于系统投入生产性运行以后的日期中,为了纠正错误或满足新的需要而进行修改软件的过程,即是软件维护也是为软件的升级提供详细的资料。系统维护的目的是保证管理信息系统正常而可靠的运行,并能使系统不断得到改善和提高,以充分发挥作用。
7.1解决问题的方法
1、多找有关方面的书籍资料,进行自学;另外、还请教其他知道的同学和网上搜索相关资料。
2、反复更改代码,不断调试,测试种种可能性。
7.2系统维护
7.2.1学生管理
包括入住新的学生,以及对学生信息进行修改、查询,删除。
7.2.2操作权限设置
为宿舍管理员设置操作权限。
7.2.3数据备份
包括数据库的备份和日志文件的备份,可以随时将数据备份到硬盘或优盘保存,以免以后系统出现故障,可以借助这些备份文件进行恢复。
7.2.4数据恢复
当数据丢失或出现其他故障后,可以从备份文件恢复数据。
7.2.5修改密码
修改用户以及操作员的登录密码。
7.2.6数据清理
将所有表中的数据进行清空,减少使用的空间。
7.2.7查看日志
可查看日志文件中的信息,特别是对以后系统出现故障有所帮助。
7.2.8日志清理
对日志文件的内容进行清空。
7.2.9退出系统
退出该宿舍管理信息系统
7.3数据库性能的评价
这个数据库的设计还有很多地方不足,比如对于管理员这部分没有好好的设计,没有发挥管理员的作用。比如说在查询的上还没有好好的系统化,删除和更新的地方也有很多的不足。但是它可以实现基本的功能,简单的插入,简单的查询,简单的更新。基本实现了做这个系统的初衷。
四.课程设计心得
通过老师对此次课程设计的讲解、小组成员的完美配合,此次课程设计我们完成的很顺利我也收获了很多,比如说我对做一个完整的系统的流程有了更新的掌握,也让自己学到了更多简单又基础的东西。在这个过程中,我熟悉了SQL Server2008的操作环境,熟练了Word里面的操作。
整个开发过程中我深深体会到,团队之间要多做交流,要团结合作,要严格按照软件工程的开发思路,不能急于求成,一来就马上编程,应该多做分析和研究,理清思路。前一阶段的工作的好坏将直接影响后一阶段工作的开展。多学习多请教,更多新的技术不断的涌现,可以通过请教别人或者多上网学习别人的编程方法、参考编程案例,可以转变成你的知识,才能做的更好。这些经验是相当宝贵的,为我们以后能够编出更好的程序是一个良好的启发。
限于我们的技术水平有限这次的课程设计论文和编程软件的错误和不当之处在所难免,还得请老师多多指教!在这次的课程设计中虽然时间紧迫但我们学会了很多,也感到自身知识的贫乏,希望在日后的努力学习中把它做成更完善的系统,并能做其他完善的系统。
通过这个课程设计,受益匪浅,我发现只有自己真正动手去做,才能体会其中的乐趣,只要自己愿意去做,什么事都有可能做好。
参考文献:
[1] 王珊 萨师煊 .数据库系统概论 [M].高等教育出版社,2006.5
因篇幅问题不能全部显示,请点此查看更多更全内容