1管理信息系统实验报告【实验题目】学生宿舍管理系统1、功能要求:1)能根据学生的性别及院系情况自动排出学生宿舍分配表2)根据学生学号查询学生的楼号、宿舍及电话号码3)按楼打印学生学号、姓名、宿舍、电话对照表4)按院系打印学生学号、姓名、宿舍、电话对照表2、约束条件:1)宿舍分配时必须满足以下条件:①男女生必须分住不同楼②同一年级的学生尽可能住同一层楼③同一班尽可能住在相邻宿舍④每一宿舍规定住四人2)假定每宿舍装有一部电话【实验目的】本实验的主要目的是进一步提高学生的数据库应用能力,建立信息管理的基本概念,培养学生利用管理信息系统的理论和方法及关系数据库系统的技术,从系统角度对信息进行获取、分析处理、利用的能力。通过本实验,使学生了解并切实体会管理信息系统的开发过程、步骤,并掌握一种管理信息2系统开发工具(如FoxPro),具有应用计算机进行信息处理和开发管理信息系统的初步能力,从学生上升到管理者的角度对宿舍管理系统的原理进行了解,有助于研究如何提高宿舍管理系统的效率,从而实现管理系统的计算机化。【项目开发过程】第一阶段:题目讨论:张锦雪、杨琪、蔡随宝、梁嘉诚、尹琪;第二阶段:业务流程图、数据流程图编写员:张锦雪、杨琪;E-R图、功能结构图编写员:张锦雪、杨琪;数据字典编写人员:张锦雪、杨琪;第三阶段:实验系统程序分析研究人员:蔡随宝、梁嘉诚、尹琪;第四阶段:报告编写人员:张锦雪、杨琪;【业务流程分析】1)能根据学生的性别及院系情况自动排出学生宿舍分配表2)根据学生学号查询学生的楼号、宿舍及电话号码3)按楼打印学生学号、姓名、宿舍、电话对照表4)按院系打印学生学号、姓名、宿舍、电话对照表业务流程图如下:【数据流程分析】数据流程图如下:3【数据字典】1、数据项的定义(1)、数据项编号:A01数据项名称:学号别名:无简述:一个学生学籍号类型:数值型长度:10个字节取值的范围:00000000—99999999(2)、数据项编号:A02数据项名称:姓名别名:无简述:一位学生的名字类型:字符型长度:10个字节(3)、数据项编号:A03数据项名称:性别别名:无简述:一个学生的性别情况类型:字符型长度:2个字节(4)、数据项编号:A04数据项名称:班级别名:无简述:学生所在的班级4类型:字符型长度:10个字节取值的范围:字符+数字(5)、数据项编号:A05数据项名称:院系别名:无简述:学生所在的学院系别类型:字符型长度:14个字节2、数据结构的定义数据结构编号:B01数据结构名称:宿舍分配表简述:查询学生楼号、宿舍及电话号码时要用到的信息数据结构组成:学号+姓名+班别+院系+楼号+宿舍号+电话号码3、数据流的定义编号:C01数据流名称:住宿表简述:查询学生楼号、宿舍及电话号码时要用到的信息数据流来源:分配处理功能流通量:不定高峰流通量:不定4、处理逻辑(加工)的定义(1)、处理逻辑编号:P02处理逻辑名称:分配处理简述:将学生按要求分配到各宿舍输入的数据流:学生信息表处理:按要求把学生安排到对应宿舍输出的数据流:宿舍分配表处理频率:随即(2)、处理逻辑编号:P03处理逻辑名称:查询处理简述:根据住宿表查询学生的楼号、宿舍及电话号码输入的数据流:宿舍分配表处理:输入学生学号,即可显示学生的楼号、宿舍及电话号码输出的数据流:学生宿舍、楼号和电话号码处理频率:随即5、数据存储定义(1)、数据存储编号:D01名称:学生数据信息库简述:该校所有学生在校期间的基本属性组成:学号+姓名+性别+院系+班级关键字:学号相关处理:分配处理,查询处理(2)、数据存储编号:D025名称:宿舍信息数据库简述:该校宿舍楼所有宿舍的基本属性数据库组成:楼号+宿舍号+电话号码关键字:宿舍号相关处理:分配处理,查询处理,打印处理6、外部实体的定义:(1)、外部实体编号:S01外部实体名称:学生简述:入住宿舍的外部实体输出的数据流:入住的宿舍号、楼号及宿舍电话号码输入的数据流:学生基本信息(2)、外部实体编号:S02外部实体名称:宿舍管理员简述:管理宿舍的外部实体输出的数据流:学生宿舍号、楼号及宿舍电话号码对照表输入的数据流:学生基本信息【E-R图】6【功能结构图】【数据库结构设计】根据E-R图及规范化理论,规定数据库中各表的逻辑结构:78【代码设计】给出项目中所涉及的数据项代码结构及含义说明9①进入系统thisform.releasedoform登陆界面退出:thisform.release由欢迎界面进入到登录界面,输入登录密码:②登录:STORE'abcd'TOpasswordIFthisform.text1.Value=passworddoform主界面??CHR(7)ELSEMESSAGEBOX(您不能使用本系统!)ENDIF进入主界面,可以进行查询、打印和生成宿舍分配表:10③查询:thisform.releasedoform查询界面④打印:thisform.releasedoform打印界面⑤返回:thisform.releasedoform欢迎界面查询界面如下,可根据学号查询学生的楼号、宿舍号和电话号码:⑥确定:select学生宿舍分配表xh=alltrim(thisform.text1.value)ifempty(xh)messagebox(请输入学号!)elselocafor学号=xh11iffound()学号=xhthisform.text1.value=学号thisform.text2.value=楼号thisform.text3.value=宿舍号thisform.text4.value=电话号码elsemessagebox(对不起,没有该生记录,请重新输入!)thisform.text1.Value=thisform.text2.Value=thisform.text3.Value=thisform.text4.Value=thisform.text1.Setfocusendifendif⑦返回:thisform.releasedoform主界面打印界面如下,可按照宿舍楼号和院系情况分别打印出学生的相关信息表:⑧按楼号打印:REPORTFORM按楼打印.frxPREVIEW⑨按院系打印:REPORTFORM按院系打印.frxPREVIEW⑩返回:thisform.releasedoform主界面【IPO设计】各功能模块的输入、处理和输出结果如下:⑴初始欢迎界面:12⑵由欢迎界面的进入系统到学生宿舍管理系统的登录界面若输入错误密码,则显示:⑶输入正确密码后,进入到主界面,此界面功能包括查看生成的学生宿舍分配表、查询以及打印功能:13⑷点击“学生宿舍分配表”,输出结果如下:⑸点击“查询”,进入查询界面,如下:在学号这一栏输入要查询的学生的学号,点击确定按钮,可生成相对应的该学生的宿舍楼号、宿舍号和宿舍电话号码14⑹返回到主界面后,点击“打印”,出现打印界面,如下:⑺选择“按楼号打印”,输出按楼号排列的学生情况表。如下:15⑻点击“按院系打印”,可输出按照院系排列的学生情况表,如下:16【总体体会】这是我们第一次系统地接触VisualFoxPro,实验初始的时候,不知道应该从什么地方作为切入口,感到很杂乱。但是,团队的力量是强大的,几个人的思想可以相互碰撞,最终可以理清一条清晰的思路。经过不断的修整,不断的改进,最终,我们一起完成了这项实验。在实验过程中,小组成员都认真地对待这一项目,使得我们能够有效率地完成。在实验过程中,我们也出现了很多问题,如:在初始阶段,由于没有协调好大家所承担的工作,导致实验出现了停滞;在实验阶段,由于对VisualFoxPro程序的熟悉,导致一些工作都花费了大量的时间,却没有收到可观的效果等。但是大家还是相互鼓励,才使得我们一起完成了实验项目。最后,需要感谢我们组的各位成员,更要感谢赵老师在前期给予我们的指导!这次实验增强了我们的团队协作能力,也让我们亲身实践了数据库的应用,实现了我们学以致用的目标。【实验总结】本实验中我们先利用管理信息系统课上所学的理论知识画出了业务流程图,数据流程图,数据字典,E-R图和功能结构图。然后利用数据库知识和系统开发工具(FoxPro)依次进行数据库结构设计,代码设计以及IPO设计,最终完成了学生宿舍管理系统的设计。