1第5章学生管理信息系统实践指南2本章导读本章将讲解典型的学生管理信息系统的开发过程,并提供标准的开发文档资料。本章的实用性在于:学生管理信息系统的需求是大学生最熟悉的,编程语言VB(VisualBasic)是大学生最容易掌握的,提供的需求、设计、实现、测试文档是全面而系统的,核心源码以文字的方式说明,全部源码在附带的光盘上给出。作为学生实习的项目,学生管理信息系统的规模(或工作量)不大不小,既非常合适,又非常熟悉,希望将学生划分为多个项目组,每组3-5人,确定1名项目经理,按照需求、设计、美工、编程、测试进行分工,组员之间既分工又协作,一边上课,一边看书,一边模仿着做项目,用1-2个月完成这项任务。验收内容包括需求文档、设计文档、源代码、可执行程序、测试文档、用户指南。对于不熟悉VB语言的读者,可以用其他数据库开发语言加以实现,例如Delphi语言或PowerBuilder语言。3本章对读者的要求要求具体内容了解1)系统立项背景2)控件级定义和窗体级定义3)VB部分实现代码理解1)需求分析文档2)概要设计文档3)编程实现4)用户手册掌握1)概念数据模型CDM和物理数据模型PDM设计2)创建数据库和表3)测试计划和测试报告4系统立项背景本章讨论的案例是一个学生管理信息系统,主要处理各类院校学生中的有关信息。在现代社会中,教育界是IT厂商的重要客户之一,随着计算机网络的发展和学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。通过该系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。各院校纷纷建设了自己的管理信息系统,其中学生管理信息系统是一个重要组成部分。因此,学生管理信息系统的学习有非常重要的意义。学生管理信息系统广泛地应用于各类院校的学生管理工作过程中,几乎每个进行了信息化建设的学校,都建设了自己的学生管理信息系统。图5-1和图5-2是两个典型的学生管理信息系统的界面。5图5-1典型的学生管理信息系统的界面6图5-2典型的学生管理信息系统的操作界面7理解需求(1)要求系统可以准确地记录、查询和修改学生信息,包括学生的姓名、年龄、性别以及身份证号码等。(2)要求系统可以准确地记录、查询和修改课程信息,包括课程名称、学分、课时等。(3)要求系统可以准确地记录、查询和修改学生每学期的考试成绩。(3)要求系统可以准确地记录、查询学生的每次交费情况。(4)系统可以对学校的院系情况进行管理,包括设置学院名称、修改某学院某专业方向的名称等。(5)系统应该可以对基础数据(用户数据字典)进行维护。(6)系统还应该提供强大数据统计、查询、报表生成以及打印等功能。(7)系统客户端运行在Windows各版本的平台下,系统还应该有一个较好的图形用户界面。(8)系统应该有很好的可扩展性。(9)系统应该容易上手,方便使用。8分析需求第1项任务:画出学生管理信息系统的组织结构图,列出各部门的岗位角色表,即组织机构模型。画出了组织结构图,就可以了解到学校有哪些机构或部门,为日后角色、权限分配和开发各部门的功能模块奠定了基础。第2项任务:画出学生管理信息系统的业务操作流程图,它包括物流、资金流、信息流,即业务操作模型,重点是业务操作的流水步骤。第3项任务:画出学生管理信息系统的数据流程图,即单据和报表的流程图,掌握业务规则,获得初步数据模型。第4项任务:列出学生管理信息系统的功能点列表,即功能模型。第5项任务:列出系统的性能点列表,即性能模型。第6项任务:列出学生管理信息系统系统的接口列表,即接口模型。由于本系统面向的顾客并没有要求提供与其他系统进行连接的接口,所以这一步可以忽略。第7项任务:确定学生管理信息系统的运行环境,即环境模型。第8项任务:学生管理信息系统的界面约定,即界面模型。第9项任务:对学生管理信息系统的开发工期、费用、开发进度、系统风险等问题进行分析与评估。9用况分析10需求规格说明书(RequirementsSpecification)学校的组织结构图11表5-3学校各单位的职责说明序号单位名称单位职责相关的业务1学校办公室全校业务的组织领导全校信息的统计、分析、决策2学生处全校学生的管理学生基本信息的录入、修改、查询,及录取、修改、查询住宿情况3教务处管理全校的课程与学生各学科的成绩安排各班级的课程及任课教师,录入、修改、查询学生各学年的成绩4财务处管理学生的交费情况录入、修改、查询、统计学生学费及各项费用5人事处管理全校教职工的情况录入、修改、查询全校教职工的基本信息6系统管理维护处管理与维护系统的正常进行维护数据库的数据、更新系统、设置使用系统的用户的权限12表5-4学生信息单据单据名称学生信息单据用途存放学生的基本信息使用单位学生处、学校办公室制作单位学生处13各数据项详细说明如下:属性中文名属性英文名属性类型、长度、精度属性的值域Pk/Fk学号IDChar(10)符合各学校的学号名称规范Pk姓名NameChar(8)必须是中文性别SexChar(2)男/女民族NationChar(6)56个小数民族之一学院CollegeChar(30)符合各学校的学院名称规范专业SpecialtyChar(30)符合各学院的专业名称规范班级ClassChar(30)符合各专业的班级名称规范出生日期BirthdayDate(系统日期-出生日期)=30身份证IDCardChar(18)长度必须为15位或18位联系电话PhoneChar(20)区号+电话号码联系地址AddressVarchar(50)省份+市+地区邮政编码PostChar(6)长度为6位数字电子邮箱EmailVarchar(50)后缀必须为“@”入学年份InyearChar(6)Year(系统日期)家长姓名ParentChar(10)必须是中文家长电话ParentPhoneVarchar(20)区号+电话号码备注MemoVarchar(60)相片PhotoPhoto格式:90×6514各数据项详细说明如下:3.1功能需求分析(FunctionAnalysis)学校办公室:需要对全校的数据进行查询、分析、统计。学生处:能增加、修改、查询学生的基本信息。教务处:能增加、修改、查询课程信息和学生的成绩信息。财务处:能增加、修改、查询学生每学期的交费情况。人事处:能增加、修改、删除教职工基本信息。3.2功能需求点列表(功能模型)(FunctionList)或(FunctionModel)学生管理信息系统的用例描述如表5-13所示。15系统性能需求(PerformanceofTargetSystem)4.1时间要求(TimeRequest)(1)查询某条记录的时间应少于3秒;(2)录入、修改某条记录的时间应少于0.5秒;(3)检查输入的资料合法性的时间应小于0.1秒;(4)用报表形式列出数据库中所有记录应小于10秒。4.2性能需要点列表(性能模型)(PerformanceList)(PerformanceModel)学生管理信息系统的性能点如表5-14所示。16编号性能名称使用部门性能描述输入系统响应输出1检查资料的规范性学生处、教务处、财务处、人事处检测录入、修改、删除所输入的资料的正确性输入各种信息在0.1秒内对资料进行检查输出信息是否符合规范2资料录入、修改、删除数据库学生处、教务处、财务处、人事处在数据库中录入、修改、删除对应的资料输入录入、修改、删除的信息在0.5秒内对数据进行录入、修改、删除,并输出提示信息输出提示信息3资料查询学生处、教务处、财务处、人事处、学校办公室在数据库中查找需要的内容输入需要检索的信息在3秒内列出所有符合要求的记录输出符合要求的记录4报表输出学生处、教务处、财务处、人事处、学校办公室用报表形式显示出数据库中所有记录输入需要显示的报表在10秒内显示出所有数据库中的记录输出需要显示的报表17目标系统其他需求(OtherRequirementofTargetSystem)6.1安全性(Security)任何陌生人没有本系统的权限或密码不能进入本系统。6.2可靠性(Dependability)不会因为一些错误而导致系统崩溃或数据丢失,保证系统长时间运行不会出现任何的错误。6.3运行环境(Environment)学生管理信息系统在windows环境下开发,故其只能在Windows环境下运行,不能兼容Linux与Unix。可在Windows各个版本(windows9.x/windowsNT/windows2000/windowsXP)上独立运行。6.4培训需求(Cultivate)鉴于本系统使用比较简单、方便,只要有一点windows操作经验的人就能使用,故可以省去培训的服务。另外,开发单位还为该软件用户提供安装、保修,以及系统的免费维护和其他一些运行支持。18概念数据模型CDM设计19物理数据模型PDM设计学院ID=学院ID学院ID=学院ID学院ID=学院ID课程ID=课程ID教师ID=教师ID学生ID=学生ID课程班ID=课程班ID专业ID=专业ID行政班ID=行政班ID宿舍ID=宿舍ID学生ID=学生ID学院学院ID学院名称intvarchar(50)pk教师教师ID学院ID编号姓名intintvarchar(10)varchar(10)pkfk学生学生ID行政班ID宿舍ID学号姓名性别民族出生日期入学时间联系电话身份证号电子邮箱家长姓名联系地址邮政编码相片床位备注intintintchar(10)varchar(10)char(2)varchar(20)datedatevarchar(20)char(18)varchar(50)varchar(10)varchar(100)char(6)longblobintvarchar(500)pkfk1fk2行政班行政班ID专业ID行政班名称intintvarchar(50)pkfk专业专业ID学院ID专业名称intintvarchar(50)pkfk课程课程ID学院ID课程名称学分课时intintvarchar(50)intintpkfk课程班课程班ID课程ID教师ID课程班名称学年学期intintintvarchar(50)intintpkfk1fk2课程班学生学生ID课程班ID成绩重修标志intintintintpk,fk1pk,fk2宿舍宿舍ID宿舍号intvarchar(10)pk交费学费ID学生ID学年应收金额实收金额intintintdec(10,2)dec(10,2)fk20创建数据库本系统中使用SQLServer2000,可以利用PowerBuilder的数据库画笔创建数据库,也可以使用SQLServer2000自带的数据库工具创建数据库。在这里,我们使用SQLServer2000的工具创建数据库,步骤如下:(1)启动SQLServer2000数据库。首先在服务器端操作界面上单击【开始】|【程序】|【MicrosoftSQLServer】|【服务管理器】,然后单击“启动”按钮,即启动SQLServer2000。(2)启动企业管理器。再单击【开始】|【程序】|【MicrosoftSQLServer】|【企业管理器】,启动数据库的管理界面。(3)新建数据库。展开【MicrosoftSQLServer】|【local】|【数据库后】,右击【数据库】,在弹出菜单中选择“新建数据库”命令后,弹出新建数据库窗口。如图5-16所示。在“名称”项中输入新数据库的名称MyDB。单击“数据文件”标签页后,输入数据库文件的存放位置,单击“事务日志”标签页后,输入数据库日志的存放位置。设置完成后,单击“确定”按钮,即完成数据库的创建。21图5-16新建数据库窗口22使用SQL语句创建数据库CREATEDATAB