您好,欢迎访问三七文档
1目录一.需求分析1.1功能需求1.1.1:系统要求第4页1.1.2:报表需求第4页1.1.3:用户界面需求第5页1.2性能需求1.2.1:系统安全性需求第5页1.3数据库选择第5页二.系统概念结构设计2.1:实体描述第7页2.2:实体及系统图形描述第7页2.2.1:实体及其属性描述第7页2.2.2:系统分E-R图第9页2.2.3:系统总E-R图第10页2.3数据流图第10页2.4概念结构设计(关系模式)第10页2三.数据库设计及实现3.1:数据库概念结构设计第13页3.2:逻辑设计目标及任务第13页3.2.1:表格结构3.3:建立数据库,数据表,视图,索引第15页3.3.1:创建数据库第16页3.3.2:创建数据表第16页3.3.3:创建视图第16页3.3.4:创建索引第17页4安全性设计4.1:相关权限第24页4.2:用户对系统要求第24页4.3:具体设置第25页3需求分析目前我校的宿舍管理刚刚进行了升级,由人工管理到了系统管理,但在一些细节方面,如宿舍打扫、修理维护、携电脑出入登记等都还处于人工阶段。以此就学校的发展状况,制定了宿舍管理系统,并对它作相关解释说明。1.1功能需求1.1.1系统要求用户不需要任何技术背景,无须具备网络方面的知识,只要能按要求输入关键字。宿舍楼管理员能查询宿舍楼的有相关信息,包括某一学号的学生在宿舍楼中住宿的详细信息,报修的相关信息,外来人员的登记的情况。以利于对整个宿舍楼的全面管理。具体要求如下:1.系统要求用户必须输入正确的用户名和密码才能进入系统。2.系统应该提供学生住宿情况的基本登记。3.系统应提供学生每学期的注册及学生的离校处理。4.系统应提供人员来访登记及结束访问的详细登记。45.系统应提供学生在校期间物品出入宿舍楼的详细情况登记。6.系统应提供查询功能,以方便用户对学生基本信息的查询(要实现按多种条件的查询)及楼房信息的查询。7.系统应提供增加、删除、修改用户帐户的功能。8.系统还应具有添加、修改、删除学生及员工基本信息的功能。1.1.2报表需求学生宿舍管理系统的某些信息应当能够以报表形式打印出来。基本上应该能够实现学生基本信息的报表打印、某宿舍具体住宿情况的报表打印、某栋宿舍楼的所有员工信息打印、所有学生各年度宿舍交费情况打印、学生物品出入的信息打印及人员来访信息的打印等的功能。1.1.3用户界面需求学生宿舍管理系统应提供简单、层次关系明了、清晰的操作界面,使用户一目了然。尽可能的为用户的录入、查询等功能操作提供方便。快捷按钮的创建也是非常需要的,以方便用户操作。1.2性能需求1.2.1系统安全性5要对系统的控制权限做充分的设计以便有序管理:1.要想对该学生宿舍管理系统进行操作就应当具有某些操作权限。没有权限的用户将不能通过任何渠道来登录该系统,查看该系统的任何信息和数据,以确保系统的严密性和安全性。2.系统设定两种登录方式,程序开始运行所有功能将是不可使用的,只有系统管理员登录和普通用户登录两个窗口可以使用,没有系统管理员或者普通用户的用户名和密码任何人都不能登录该系统。3.在具体实现时还应为系统管理员和普通用户设定不同的权限,系统管理员应当可以使用系统的所有模块,普通用户对于用户管理模块、学生学期注册(涉及到交费问题)及学生毕业离校等(此模块需判断该生有无欠费)牵扯到经济之类的模块是无权使用的。1.3数据库选择数据库是数据管理的最新技术,是计算机科学的重要分支。十年来,数据库管理系统已从专用的应用程序包发展成为通用系统软件。由于数据库具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信6息系统都是建立在数据库设计之上的。由于用到的数据表格多,另外考虑到实际情况,学生基本信息的变动,还有员工信息的多少的变化,我们选用SQLServer作为数据库开发,而不用Access,主要是因为Access存放的记录,在实际运用中不适合此系统;而SQLServer是一种常用的关系数据库,能存放和读取大量的数据,管理众多并发的用户,故选用SQLServer数据库。7系统概念结构设计2.1实体描述管理员(楼号,姓名,性别,职工号,住址)访客(姓名,身份证号,登记时间,注销时间,楼号)宿舍楼(实住人数,应住人数,房间数,楼号,楼层数)宿舍(实住人数,应住人数,宿舍号,床号,舍长)学生(姓名,学号,班级,宿舍号,床号)2.2.1五个实体及属性描述:892.2.2分E-R图2.2.3系统总E-R图102.3数据流图(略)2.4概念结构设计以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是讲概念设及阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体的基本E-R图向关系模型的转化如下(关系的码用下横线标出):管理员表:(职工编码,姓名,性别,楼号,住址)11访客表(身份证号,姓名,楼号,登记时间,离开时间)宿舍楼表(楼号,楼层数,房间数,实住人数,应住人数)宿舍表(宿舍号,楼号,床位数,宿舍长,应住人数,实住人数)学生表(学号,姓名,宿舍号,班级号,床位号)由以上分析,得出5个表格结构如下:2.3-1manager(管理员)表表名字段名取值类型长度含义主码ManagerMnoInt10职工编码YNameChar50姓名SexChar10性别BildingChar8楼号AddressChar100住址122.3-2visit(访客)表表名字段名取值类型长度含义主码VisitIDInt18身份证号YNameChar50姓名BildingChar8楼号AtimeInt10登记时间LtimeInt10离开时间2.3-3bilding(宿舍楼)表表名字段名取值类型长度含义主码BildingBnoChar8楼号YFlooInt8楼13r层数RoomInt500房间数PnumInt3000应住人数RnumInt3000实住人数2.3-4.drom(宿舍)表表名字段名取值类型长度含义主码DromDnoInt10宿舍号YBnoChar8楼号YBedInt12床位数DmanagerSno18宿舍长PnoInt12应14住人数RnoInt12实住人数2.3-5.student(学生)表表名字段名取值类型长度含义主码StudentSnoInt18学号YNameChar50姓名DnoInt10宿舍号ClassChar50班级号BedInt12床位号15数据库设计及实现3.1概念结构设计概念结构设计是将需求分析抽象为信息信息结构概念的过程,这样才能更好的用DBMS实现这些需求,是整个数据库设计的关键。它的主要特点是反映社会现实,现象本质,包括事物与事物之间的联系,能满足用户对数据处理的要求,是现实世界的真是模型,易于理解,方便用户的操作和对数据的修改和各种模型的转换。3.2逻辑设计的目标和任务概念设计阶段是独立于任何数据模型的,但逻辑设计阶段就与选用的DBMS产品有关,逻辑设计阶段就是将设计好的E-R图转换成DBMS产品支持的数据模型相符的逻辑结构。3.2.1表格结构161、管理员实体属性名类型长度完整性约束条件备注姓名char20非空管理员姓名性别char2男或女,默认男管理员性别职工号char10主码管理员工号楼号char8非空管理员楼号住址char100可以为空管理员家庭住址172、访客实体属性名类型长度完整性约束备注姓名char20非空外来人员姓名身份证号char18主码外来人员证件号登记时间char10非空进宿舍时间注销时间char10非空离开时间楼号char8非空所进宿舍楼号3、宿舍楼实体属性名类型长度完整性约束条件备注18楼号char8主码---楼层数smallint2非空---房间数smallint2非空---实住人数smallint2可以为空---应住人数smallint2非空---4、宿舍实体属性名类型长度完整性约束条件备注宿舍号char10主码---床号smallint2非空---舍长char18可以为空19实住人数smallint2可以为空应住人数smallint2可以为空5、学生实体属性名类型长度完整性约束条件备注姓名char18非空学号char10主码班级char8非空宿舍号char10外码非空床号smallint2外码非空3.3建立数据库、数据表、视图、索引、导入数据3.3.1建立数据库Createdatabase学生宿舍管理系统;3.3.2建立数据表20宿舍表CREATETABLEDrom(BnoCHAR(8)NOTNULL,DnoCHAR(10)NOTNULL,PRIMARYKEY(Bno,Dno),BedSMALLINT,DmanagerCHAR(18),PnoSMALLINT,RnoSMALLINT,);管理员表CREATETABLEManager(MnoCHAR(10)PRIMARYKEY,NameCHAR(20)NOTNULL,SexCHAR(10)CHECK(SexIN(‘男’,‘女’)),BuildingCHAR(8)NOTNULL,AddressCHAR(100),);学生表21CREATETABLEStudent(SnoCHAR(10)PRIMARYKEY,NameCHAR(18)NOTNULL,DnoCHAR(10)NOTNULL,ClassCHAR(8)NOTNULL,BedSMALLINT,);访客表CREATETABLEVisitor(IDCHAR(18)PRIMARYKEY,NameCHAR(20),BuildingCHAR(18)NOTNULL,AtimeCHAR(10)NOTNULL,LtimeCHAR(10),);宿舍楼表CREATETABLEBuilding(BnoCHAR(8)PRIMARYKEY,FloorSMALLINT,22RoomSMALLINT,PnumSMALLINT,RnumSMALLINTNOTNULL,);3.3建立视图1、建立信息学院学生宿舍的视图CreateView信管专业学生宿舍表AsSelect学号,姓名,楼号,宿舍号From学生宿舍表Where班级=‘信管’;2.建立住在13号楼的学生信息的视图Createview13号楼学生宿舍表AsSelect学号,姓名,班级Where楼号=‘13’;233.建立职位是管理员的员工信息视图Createview管理员表Select*From员工表Where职位=‘管理员’;4.建立13号楼各宿舍的信息视图Createview13号楼宿舍信息表AsSelect*From宿舍表Where楼号=‘13’;3.4建立索引Createuniqueindex宿舍—学号on学生宿舍表(学号);Createuniqueindex宿舍楼—宿舍号on宿舍表(楼号,宿舍号);24Createclusterindex学生—姓名on学生宿舍表(姓名)CreateuniqueindexIX-员工号on员工表(员工号号)3.5语句查询1、查询员工张三的信息Select*FrommanagerWherename=’张三’;2、查询姓黄的来访者信息Select*FromvisitWherenamelike‘黄%’;3查询李四所在宿舍的已住人数Selectdrom.bnum,bilding.dnum,rnumFromdrom,bildingWherename=’李四’anddrom.bnum=bilding.dnumandDrom.dnum=bilding.dnum;4.查询住在13号楼630宿舍所住学生信息Selectsno,name,classFromdrom25Wherebnum=’13’anddnum=’630’;5.查询信管专业学生入住人数Selectcount(sno)FromdromWhere班级=’信管’;6.查询员工号为111的员工所在宿舍楼的住宿情况Select*FromdromWherebnumin(selectbnumFromstaffWherestaf
本文标题:学生宿舍管理系统
链接地址:https://www.777doc.com/doc-5841209 .html