1、软件工程综合性实验 成绩管理系统第一部分 可行性分析3(1)用户需求3(2)系统建模3(3)成本估算,7(4)进度安排7(5)可行性分析7(6)可选方案8(7)结论9第二部分 需求分析10(1)数据流图10(2)数据字典11(3)实体-关系分析模型13(4)加工规约14第三部分 设计15(1)结构设计15(2)类和数据设计16(3)接口设计19(4)详细设计19(5)界面设计22第四部分 测试23(1)白盒测试23(2)黑盒测试27第一部分:可行性分析(1)用户需求a) 功能性需求成绩管理系统主要功能是专业信息管理,班级信息管理,学生计本信息管理,班级课程信息管理,成绩信息管理,系统维护等,为
2、学生、老师、管理员提供一套学生综合信息管理的平台,能够使学生、老师更好的互动及管理员管理。b) 非功能性需求1性能要求:本系统提供一套学生综合信息管理的平台,能够使得系统管理员对院校的专业进行分类,进而确定各个专业中所包含的班级信息,在已有班级信息的基础上能够对所有的学生信息进行分类管理。 2输出要求:数据完整,详实。3输出要求:简捷,快速,实时。4安全与保密要求:服务器的管理员享有对该系统的所有权限。老师享有对该系统成绩录入等权限。学生享有对学生信息的添加、删除、修改等权限(写入与读出)。5完成期限:预计三个礼拜。(2)系统建模c) 硬件系统模型利用visio画出系统的整体硬件情况d) 软件
3、系统模型利用visio画出系统的软件模块及相互关系登录教师管理页面学生信息录入教师管理信息输出系统控制信息登录查询信息反馈信息反馈学生管理员学生成绩管理系统教师录入学生信息录入课程信息录入成绩信息查询成绩查询个人信息管理员学生表成绩表课程表验证信息学生e) 人机接口模型利用界面工具画出系统界面f) 数据模型利用ER图,表格等画出系统的数据结构学生管理主要功能表序号功能名称功能说明1学生管理登记学生基本信息(姓名、性别、班级等),并提供查询功能。2课程管理登记课程基本情况(课程名称、开课学期、课程类型、学分等),并提供查询功能。3教师管理登记教师基本情况(姓名、年龄、性别、学历等),并提供查询功
4、能。4成绩管理登记学生各门课程考试成绩、提供查询、统计功能。5授课课程登记教师的授课课程、授课地点和授课学期,并提供查询功能。6编码维护维护系统中使用的编码(如职称编码、学院编码、班级编码等)。(3)成本估算, (4)进度安排g) 需求起止日期和基本内容(基本内容还没有学到,暂时不做)h) 设计起止日期和基本内容(基本内容还没有学到,暂时不做)(5)可行性分析i) 经济可行性分析 为完成需付出4台电脑、4个人及大约数周的时间。不过此软件的回报会在相当一段时间内可节约教师、管理者的很多时间,以用来在其他方面的支出。长期累计,收益远远大于支出,所以在经济方面值得设计j) 技术可行性分析i. 技术可
5、行性利用个人电脑中端进行编译,将完成的代码进行运行,并把相应的数据库进行连接,使输入的数据能够及时储存到数据库内,并在需要时调出进行修改。以上内容均可通过数据库等软件实现,理论上可行。ii. 人员可行性本系统由学生开发,由计算机系老师进行指导,从技术人员方面来说完全可行k) 法律可行性分析所有技术资料都由提出方保管, 合同制定确定违约责任(6)可选方案l) 1、拟建系统的目标开发网站的目标如下:提高成绩管理系统的管理质量;增强资源共享;减少人力和设备费用;加快信息的查询速度和准确性;提供统计分析功能;便于进行系统分析和教学评估;系统规划及初步方案。学生成绩管理系统建成后可以直接在网上服务,学生
6、可以方便对自己的学习成绩进行查询,可以对自己的基本信息进行适当的修改。本网站最终可配一台网络服务器挂到教务处服务器上。2、系统的实施方案本网站客户采用xp、windows操作系统用IE6,火狐等浏览器均可浏览,服务器采用windows7操作系统,前端开发语言使用C#,使用SQLSERVER2005数据库管理系统。本系统大约需要2个月的时间。3、投资方案此网站有大学本科生自己完成,电脑基本上都有却可用,故拨入基本的费用即可。4、人员培训及补充方案操作简单,基本上都有一定的基础,故人员培训此项可省略。m) 1、拟建系统的目标 开发系统的目标如下:提高成绩管理系统的管理质量;增强资源共享;减少人力和
7、设备费用;加快信息的查询速度和准确性;提供统计分析功能;便于进行系统分析和教学评估。 2、系统规划及初步方案 学生成绩管理系统人员直接将结果下发给各院系。本系统终端拟采用酷睿2双核处理器,320GB硬盘,2G内存,14英寸的显示器,一个光驱,一个鼠标,一台打印机。 3、系统的实施方案 本系统客户采用。Windows98操作系统,前端开发语言使用JAVA,使用MY SQY数据库管理系统。 本系统大约需要2个月的时间。 4、投资方案 此系统一次拨款5000元。 5、人员培训及补充方案 人机界面友好,操作简单,基本上都有一定的基础,故人员培训此项可省略。(7)结论本系统可以马上开始实施,并尽可能做到
8、提前完成。从人力资源优化角度来说,可以充分利用学校已有人力资源。从开发成本角度来说,将支出成本降到最底。所以在三个可选择的方案中推荐方案b为最佳方案。第二部分 需求分析(1)数据流图 学生成绩信息数据库处理信息学生管理员教师 学生成绩信息数据库C1录入、修改、查询C2选课、上课C4上报、审批C3考核成绩数据库教师管理员学生(2)数据字典1数据流数据流编号:1数据流名:录入信息简述:用于写入学生各课成绩数据流来源:密码检验数据流去向:成绩登记数据流项组成:录入信息学生学号学生姓名+性别+班级+各课成绩数据流编号:2数据流名:成绩写入记录库说明:用于学生成绩写入数据流来源:成绩登记数据流去向:成绩
9、写入记录数据流项组成:成绩写入记录各课成绩数据流编号:3数据流名:查询结果说明:用于显示学生查询的信息结果数据流来源:学生信息查询数据流去向:学生数据流组成:查询信息学生信息各课成绩数据流编号:4数据流名称:成绩表简述:学生成绩通知,在下学期前发给学生数据流来源:成绩管理数据流去向:学生数据项组成:学号+学生姓名+课程名+成绩 数据流量:1张/学期2数据存储数据存储编号:001数据存储名称:学生表简述:登记学生信息数据存储组成:学号+姓名+性别+班级+专业+系部相关联的处理:成绩管理,课程管理数据存储编号:002数据存储名称:管理员表简述:增加、修改、查询学生学籍数据存储组成:学号+身份证号+
10、高考号+姓名+性别+家庭住址+ 系部班级 相关联的处理:学籍管理,成绩管理,课程管理数据存储编号:003数据存储名称:教师表简述:教师上课安排数据存储组成:教师姓名+所教课程+上课班级相关联的处理:课程管理数据存储编号:004数据存储名称:学生选课表简述:学生选课课程信息存储数据存储组成:姓名 +系部班级+课程名称+课程编号+学号相关联的处理:课程管理,成绩管理数据存储编号:005数据存储名称:学生成绩表简述:存放学生各科考试成绩数据存储组成:姓名 +学号+系部班级+课程名称+课程编号相关联的处理:课程管理,成绩管理3数据处理处理逻辑编号:01处理逻辑名称:身份验证简述:检查输入信息的合法性输
11、入的数据流:学号+密码处理过程:根据输入的学号和密码,检索用户,确定用户类别,以确定该用户的权限,显示查询信息输出的数据流:学生选课信息,学生成绩,学生学籍,密码修改处理频率:频繁处理逻辑编号:02处理逻辑名称:查询登记简述:查询专业表及课程表,成绩表输入的数据流:教师名+教师号+密码处理过程:根据输入的信息,确定用户类别,根据用户类别,显示查询信息输出的数据流:学生成绩,班级表,课程表处理频率:频繁 (3)实体-关系分析模型 (4)加工规约1. 信息检查if(学号姓名正确)将对应的学号的学生的成绩输出到显示界面else返回提示:输入信息错误2.成绩处理方式Switch the case ap
12、plies:Case 1(添加成绩):执行添加成绩功能Case 2(修改成绩):执行修改成绩功能Case 3(查看成绩): 执行查看成绩功能Case 4(删除成绩): 执行删除成绩功能Case 5(统计成绩): 执行统计成绩功能3.修改成绩If(学号正确)then输入将要修改的成绩else 提示该学生不存在4.查看成绩If(学号正确)then显示该学生的所有成绩else 提示该学生不存在5.删除成绩If(学号正确)then删除该学生的成绩else 提示该学生不存在1. 统计成绩Switch the case applies:Case 1(排序): 执行由高到低的排序功能,并显示结果Case 2
13、(平均值): 执行求平均值的功能,并显示平均值Case 3(最大值): 执行求最大值的功能,并显示最大值Case 4(最小值): 执行求最小值的功能,并显示最小值Case 5(优秀率): 执行统计优秀率的功能,并显示优秀率Case 6(良好率): 执行统计良好率的功能,并显示良好率Case 7(不及格率): 执行统计不合格率的功能,并显示不合格率第三部分 设计(1)结构设计 原始结构图:优化后的结构图:(2)类和数据设计数据结构设计 学生信息管理系统数据库结构名称描述ClassInfo班级信息表CourseInfo课程信息表ScoreInfo学生成绩信息表SpecialInfo专业信息表Stu
14、dentInfo学生基本信息表UserInfo登陆用户信息表Roles角色信息表 ClassInfo 表字段类型描述ClassID自动编号班级编号(主键)ClassName文本班级名称SpecialtyName文本专业名称ClassNumber文本教书编号Length数字学制Teacher文本班主任EnrolmentTime日期/时间入校时间Remark备注备注 Course 表字段类型描述CourseID自动编号课程编号(主键)ClassID数字班级编号Course文本课程名称Semester文本学期 ScoreInfo 表字段类型描述ScoreID自动编号成绩编号(主键)Semester文
15、本学期StudentNumber文本学生学号Course文本课程Score数字分数 SpecialtyInfo 表字段类型描述SpecialtyID自动编号专业编号SpecialtyName文本专业名称(主键)Remark备注备注 StudentInfo 表字段类型描述StudentID自动编号自动编号(主键)StudentNumber文本学号Name文本姓名Sex文本性别Race文本族别Address文本家庭住址Telephone文本联系电话Role文本政治面貌PostalCode文本邮政编码ClassID数字班级编号Remark备注备注PhotoOLE对象照片(3)接口设计1外部接口与用户
16、界面在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。外观上也要做到合理化,考虑到用户多对WINDOW 风格较熟悉,应尽量向这一方向靠拢。在设计语言上,已决定使用Visual Studio .NET进行编程。总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用。2内部接口内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。(4)详细设
17、计学生基本信息模块学生课程模块教师信息模块管理员查询信息模块(5)界面设计用户登陆:该系统根据用户的身份实现了不同的功能,用户登陆时需要选择一种登陆方式(默认情况下是学生),系统再根据用户选择的登陆方式到相应的表中去搜索。例如,登陆时选择了教师登陆方式,系统将会在教师信息表中搜索是否存在与该用户的输入相符的信息,如果存在则进入教师主页,否则提示用户输入有误,请重新输入。5.2.1 学生用户界面、修改密码学生的初始密码是由管理员指定的。学生登陆后,可以按照要求自行修改使用密码。首先需要输入原始密码,如果原始密码没有输入正确将不能修改密码,只有在原始密码正确的基础上,用户才能继续下面的操作。新密码
18、设定后,系统还要求用户再输入一次重复密码,避免因为误输而导致密码丢失。、查询指定学期成绩学生可以查询自己指定学期的成绩和所有的成绩。方便学生了解自身情况。、选课系统学生选课系统是针对学生进行网上选课而设计的,学生可以自主选择自己想修的课程。老师用户界面、查询授课计划教师可以利用该系统实现查询授课计划的功能,教师不仅可以看到自己本学期要授的课程信息,还能查看选修对应课程的学生名单,同时可以添加对应课程的学生成绩。帮助教师提高了工作效率。、查询学生基本信息教师可以查询学生的基本信息,以帮助教师了解学生情况。可以按班级查找、按姓名查找、按学号查找、按年龄查找、按籍贯查找,也可以一起查找。管理员界面、
19、班级信息管理班级信息管理包括添加班级信息,修改班级信息以及删除班级信息。在班级信息管理之前,需要先对学校信息和专业信息管理。只有在已有的专业信息中才能建立班级档案,班级信息和专业信息是从属关系。、学生基本信息管理学生基本信息管理包括学生基本信息添加、学生基本信息修改、学生基本信息删除。下面给出的是学生信息添加界面、教师基本信息管理教师基本信息管理包括教师基本信息添加、教师基本信息修改以及教师基本信息删除。第四部分 测试(1)白盒测试功能流程图如下:1学生成绩系统+学生添加成绩+流程图:注释:条件A为,判定该名学生是否存在? 条件B为,判定是否在添加成绩范围内? 条件C为,判定是否确认添加成绩?
20、 条件D为,判断该学生成绩是否已经添加? 条件E为,判定是否继续添加成绩? 条件H为,判定添加成绩的科目是否已满? 条件组合测试、路径测试语句覆盖:语句覆盖过程分析: 语句覆盖的基本思想是设计若干测试用例,使得运行被测试程序时,每个可执行语句至少被执行一次。语句覆盖测试用例:学生成绩添加功能+语句覆盖+测试用例编号覆盖的条件条件A条件B条件C条件D条件E条件H路径预期结果Ok/NgP1a=0,e=1TTae该学生不存在,重新选定OkP2a!=0,0b&bCno,c=1,d=1,e!=1FTTTFabcde该学生成绩已经添加,学生成绩添加结束OkP3a!=0,0b&bCno,c=1,d!=1,e
21、!=1hmaxFTTFFTabch学生成绩添加成功OkP4a!=0,0b&bmaxFTTFFabch该学生成绩添加数目已满,学生成绩添加结束Ok判定覆盖:判定覆盖过程分析: 判定覆盖的基本思想是设计若干用例,使得运行被测程序,使每个判定的真假分支至少经历一次。判定覆盖测试用例:学生成绩添加功能+判定覆盖+测试用例 编号覆盖的条件条件A条件B条件C条件D条件E条件H路径预期结果Ok/NgP1a=0,e=1TTae该学生不存在,重选OkP2a!=0,0b|bCno,e!=1FFFae超出学生成绩添加的科目范围,添加结束OkP3a!=0,0b&bCno,c!=1,e!=1FTFFace不选该学生,学
22、生成绩添加结束OkP4a!=0,0b&bCno,C=1,d=1,e!=1FTTTFabe该学生成绩已添加,添加结束OkP5a!=0,0b&bCno,C=1,d!=1,e!=1,h=maxFTTFFTabde学生成绩添加科目满,添加结束OkP6a!=0,0b&bCno,C=1,d!=1,HmaxFTTFFadh学生成绩添加成功Ok(2)黑盒测试测试用例设计用例编号C001测试对象“教师登录”功能用例目的测试教师登录系统的功能是否正确实现输入/动作预期输出/结果实际结果选择教师登录,不输入账号,输入密码,单击登录提示“请输入账号”提示“请输入账号”选择教师登录,输入账号,不输入密码,单击登录提示“
23、请输入密码”提示“请输入密码”选择教师登录,输入错误账号,输入密码,单击登录提示“账号或密码错误”提示“账号或密码错误”选择教师登录,输入账号,输入错误密码,单击登录提示“账号或密码错误”提示“账号或密码错误”选择教师登录,输入账号,输入密码,单击登录进入教师登录子系统进入教师登录子系统 用例编号C002测试对象“教师登录”子系统界面用例目的测试教师登录子系统界面的功能是否正确实现输入/动作预期输出/结果实际结果观察界面是否正确显示教师姓名显示“姓名:拉拉”显示“姓名:啦啦”观察界面是否正确显示教师工号显示“工号:050201”显示“工号:050201”观察界面是否正确显示操作按钮显示“课程查
24、询”,“班级查询”,“成绩操作”,“导出成绩表”,“导出分析表”,“个人信息”显示“课程查询”,“班级查询”,“成绩操作”,“导出成绩表”,“导出分析表”,“个人信息” 用例编号C003测试对象“教师登录”子系统课程查询按钮功能用例目的测试教师登录子系统课程查询按钮功能是否正确实现输入/动作预期输出/结果实际结果在“教师登录”子系统中选择“课程查询”按钮显示“教师课程表”,其中包含教师教学课程的名称,所教班级,时间,地点及周次显示“教师课程表”,其中包含教师教学课程的名称,时间,地点,未包含所教班级及周次。 用例编号C004测试对象“教师登录”子系统班级查询按钮功能用例目的测试教师登录子系统班级查询按钮功能是否正确实现输入/动作预期输出/结果实际结果在“教师登录”子系统中选择“课程查询”按钮显示班级按钮显示班级按钮在班级选择下拉菜单中选择“092014”显示“092014”班级的某课的成绩表未实现