1、学生成绩管理系统UML面向对象设计DOC学生成绩管理系统文档姓 名:李欢班级名称:2013级软件工程指导教师:王新年实验日期:2014年4月日期版本描述作者2014年4月1. 概述1.1 系统简述随着网络通信技术的迅速发展和信息技术的广泛应用,计算机的应用已普及到经济和社会生活的各个领域。教育领域也不例外,现今已经出现了各种远程网络在线教育系统、图书馆管理系统、学籍管理系统其中学生成绩管理是任一院校都不可缺少的部分,它的内容对于学校的决策者和教学管理者来说都至关重要,而传统的人工管理方式效率较低,为数据的查询、更新和维护代来了极大的不便。所以学生学籍管理信息系统的开发和应用是必要的,它能够为管
2、理人员提供充足的信息和快捷的查询手段,提高学校学籍管理的效率。系统的可行性分析(1)系统实施运行的可行性:各教师,学生都已熟练掌握计算机的基本实用方法和操作技能,对新系统的开发,表现出极大的热情。提出了很多好的建议和要求。(2)技术可行性:校园网已正常运行;开发人员已熟练掌握开发工具。技术上实现系统是可行的。(3)经济可行性:校园内部局域网络已经建成;硬件投入不需要很大。学生成绩管理在大学里是一件非常耗时的活动,学校还面临着给学生缺考的问题。在学生选择那些课程后,教务处将这些信息输入到一个计算机系统,然后给没一人打印一份课表和对应的成绩表给学生。一旦给所有学生都登记好了成绩,突然出现成绩错误是
3、,教务处就需要询问学生以便得到其他选择。改学生成绩管理系统是一个面向学生,教师用来进行对学生成绩管理的管理信息系统。该信息系统能够为师生提供各种管理服务:(1)学生成绩查询系统能够为一定数目的学生提供服务,每个学生都能够有唯一的账号,每一个账号包括个人的编号和个人信息,系统通过一个单独的程序为学生提供服务,不需要人员的干预,这些服务包括:查询成绩、修改自己的密码;(2)学生的成绩需要教师对其进行录入、修改或删除,既学生不直 接与系统交互,教师代其与系统进行交互,当然教师也可以进行对成绩的查询;(3)而系统管理员主要负责的是对教忙或者学生的信息进行管理,并且管理员还得对本系统设置权限,或者可以通
4、过师生的唯一账号对成绩进行查询。运行环境简述:1、硬件环境CPU:P4 3.0 G以上内存:2GB硬盘:硬盘120G2、软件环境数据库: SQL Server 2005 应用服务器:Tomcat 6.0服务器开发平台: Visual Studio 2008操作系统: Windows 71.2 软件设计目标系统管理员登录系统后,通过身份验证,能够对学生的基本信息进行管理,包括如下:添加学生信息、查询学生信息、修改学生信息、删除学生信息。1.2.1功能目标 (1)输入一个同学的姓名和学号,系统能够输出学生所在的学院、班级、成绩等学生信息;(2)对于已经录入学生成绩管理系统的学生信息可以进行修改,例
5、如:删除、添加。对于没有录入学生成绩管理系统的学生信息可以添加到系统(此项功能的实现需要对用户身份进行核查);(3)能够对学生的信息进行保存,即退出系统时,成绩成绩不能丢失; (4)能够登录和退出系统。1.2.2性能目标能够比较准确快捷地完成上述学生成绩管理系统所要求的功能即可。(1)保证模型和代码高度一致(2)支持多种语言(3)为团队开发提供强有力的支持(4)支持模型的Internet发布(5)生成使用简单且定制灵活的文档(6)支持关系型数据库的建模1.3 参考资料1 林.巴斯等. 软件构架实践. 清华大学出版社, 2003.82 张海藩. 软件工程导论. 清华大学出版社, 2002.63
6、郑人杰等. 实用软件工程. 清华大学出版社, 2001.14 吴建,郑潮等. UML基础与建模案例. 人民邮电出版社, 2005.62. 术语表对本文档中所使用的各种专业术语、容易引起歧义的术语以及自定义的术语进行说明。如果一些术语在需求规格说明书中已经说明过了,此处不用再重复,可以指引读者参考需求说明。术语说明类图提供了对类及其关系进行建模的一种图形化表示法关联描述了有着共同的结构和语义的一组链接多重性指定一个类与其关联类的单个实例可能相关的实例数目信号事件从一个对象到另一个对象的明确的单向信息流动变更事件由满足布尔表达式而引起的事件时间事件在绝对时间上或在某个时间间隔内发生的事情所引起的事
7、件迁移从一个状态到另一个状态的瞬时变化场景系统在某个特定的执行期内所发生的一系列事件3. 设计概述3.1 简述生成绩管理系统是专门针对学校所开发的一种以管理为基础的信息管理系统,它涵盖成绩管理服务的所有环节,将原始的人工统计方法转换为先进的电脑管理模式。UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。此外,UML适用于系统开发过
8、程中从需求规格描述到系统完成后测试的不同阶段。在需求分析阶段,可以用用例来捕获用户需求。通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。分析阶段主要关心问题域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及它们相互间的关系,并用UML类图来描述。总之,标准建模语言UML适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。3.2 系统结构设计Rational Unified Process(RUP,统一开发过程)是一套面向对象的软件工程过程。RUP说明了如何有效地使用成熟技术开发软件。RUP中有9个核
9、心工作流,分为6个核心过程工作流(Core Process Workflows)和3个核心支持工作流(Core Supporting Workflows)。9个核心工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。业务建模(Business Modeling)理解系统的组织结构及其商业运作,确保所有参与人员对开发系统有共同的认识。3.2.1 顶层系统结构学生管理系统逻辑流程图如下图所示:图3.1 学生管理系统逻辑流程图顶层数据流图,如图3.2所示: 图3.2 顶层数据流图3.2.2 子系统结构 图3.3 学生成绩管理数据流图4. 用例本系统是一个学生成绩管理系统,主要功能是为教师
10、和学生方便查询成绩。下面使用了用例图的方式表现了整个系统的所有功能。4.1 用例图1参与者:管理员、教师、学生2管理员用例图:图4.1 管理员用例图3教师用例图图4.2 管理员用例图4学生用例图图4.3 管理员用例图4.2 用例描述用例1:学生查询成绩学生在浏览过程中,选中相应操作。参与者学生、成绩管理系统前置条件用户身份验证。后置条件若学生登录成功,且成绩查询无误,则该学生可以关闭该窗口,根据自己的意愿进行其他相关操作;如果登录不成功则终止操作。工作流描述1.系统确认用户已登录;2.学生浏览想要查询的成绩;3.确认成绩无误,关闭该窗口;4.若成绩有误,直接向系统提出修改申请;5.由系统进行数
11、据库查询,核实成绩,把修改结果反馈给学生;6.系统提示已批阅申请;7.学生再次查看成绩,确认无误;8.退出系统。例外学生忘记登录密码、找回密码限制学生只能查询自己的成绩注释无表4.1 学生查询成绩用例描述用例2:教师录入学生成绩教师录入相关学生的成绩到系统内。参与者教师、成绩管理系统前置条件学生成绩管理系统正常运行,用户身份验证通过。后置条件若管理员登陆成功,则教师可将相关学生的成绩录入到系统;否则管理员不可执行该操作。工作流描述1.教师进入学生成绩管理系统;2.教师进入成绩管理界面;3.教师输入相应成绩;4.教师提交信息;5.系统输出添加成功提示。例外教师忘记登录密码、找回密码限制教师只能录
12、入自己学生的成绩注释无表4.2 教师录入学生成绩用例描述用例3:管理员修改信息管理员修改相应用户信息参与者管理员、成绩管理系统前置条件学生成绩管理系统正常运行,用户身份验证通过。后置条件若管理员登陆成功,且相应用户信息存在,则管理员可以修改相应用户信息;否则管理员不可执行该操作。工作流描述1.管理员进入学生成绩管理系统后台;2.管理员进入用户管理界面;3.管理员搜索相应用户,点击修改按钮;4.管理员修改用户信息;5.管理员提交信息;6.系统输出修改成功提示。例外管理员忘记登录密码、找回密码限制管理员不能超越自己的权限进行修改注释系统只有一个超级管理员表4.3 管理员修改信息用例描述用例4:用户
13、登录用户根据自己的用户名和密码,登录到成绩管理系统。参与者学生、教师、管理员、成绩管理系统前置条件学生成绩管理系统正常运行,用户身份验证通过。后置条件若用户登陆成功,该用户可进行权限范围内的相关操作;否则终止登录。工作流描述用户启动系统; 系统提示用户输入用户名和密码;用户输入用户名和密码; 系统进行验证,给出验证信息;若通过,用户选择相关信息进行修改查询 系统允许进行权限范围内的相关操作; 若不通过 系统进入错误界面,并输出提示信息。例外用户忘记登录密码、找回密码限制用户不能超越自身权限进行某些操作注释无表4.4 用户登录用例描述4.3 系统界面(1) 查询所有学生成绩部分:可以查询所有学生
14、的成绩。如图4.4所示:图4.4 查询所有学生成绩(2) 按学号查询成绩:输入要查询的学生学号,点击查询就可以查看学生的学号、姓名、课程的名称和对应的成绩,并且会计算该学生的平均分。如图4.5所示: 图4.5 按学号查询学生成绩(3) 按课程查询学生成绩:选择要查询的课程,点查询,就可以查看选择该课程的学生学号、姓名和对应的成绩,并且可以查看该们课程的最高分,最低分和平均分。如图4.6所示:图4.6 按课程查询学生成绩(4) 单个学生成绩录入:输入学生学号,选择课程,输入对应的分数,如果该学生这门课分数不为空,则不能添加,提示相应的错误信息,如果该学生这门课分数为空,则可添加。如图4.7所示:
15、图4.7 单个学生成绩录入(5) 批量学生成绩录入:选择课程,则会显示出选择了这门课的所有学生学号,姓名和成绩,就课进行成绩录入。如图4.8所示:图4.8 批量学生成绩录入 (6) 学生成绩修改:输入要修改的学生的学号,选择要修改的课程,该学生之前的成绩就显示出来,再进行修改成绩。如图5.9所示:图4.9 学生成绩修改(7) 学生成绩删除:输入要删除的学生的学号,选择要删除的课程,点击删除按钮,就可以改学生该们课程的成绩,成功就提示成功删除,否则提示相应的错误信息。如图4.10所示:图4.10 学生成绩删除5. 对象模型5.1 类定义在类图中类用矩形框来表示,它的属性和操作分别列在分格中。如不
16、需要表达详细信息时,分格可以省略。一个类可能出现在好几个图中。同一个类的属性和操作可只在一种图中列出,在其他图中可省略。关系用类框之间的连线来表示,不同的关系用连线上和连线端头处的修饰符来区别。系统类:(1) Students(学生类)属性:学号、姓名、性别、出生年月、专业、家庭住址、联系方式方法:设置学号、获得学号、设置姓名、获得姓名、设置性别、获得性别、设置出生年月、获得出生年月、设置专业、获得专业、设置家庭住址、获得家庭住址、设置联系方式、获得联系方式(2) Teachers(教师类)属性:教师号、姓名、性别、出生年月、院系、家庭住址、联系方式方法:设置教师号、获得教师号、设置姓名、获得
17、姓名、设置性别、获得性别、设置出生年月、获得出生年月、设置院系、获得院系、设置家庭住址、获得家庭住址、设置联系方式、获得联系方式(3) Manager(管理员类)属性:帐号、密码、身份方法:设置帐号、获得帐号、设置密码、获得密码、设置身份、获得身份(4) Courses(课程类)属性:课程号、课程名称、开课学期、学时、学分方法:设置课程号、获得课程号、设置课程名称、获得课程名称、设置开课学期、获得开课学期、设置学时、获得学时、设置学分、获得学分(5) Grades(成绩类)属性:学号、课程号、成绩方法:设置学号、获得学号、设置课程号、获得课程号、设置成绩、获得成绩学生类、教师类和管理员类继承自
18、Person类,其类图如下:图5.1 Person类继承关系图系统成绩管理整体类图如下图所示:图5.2 系统整体类图成绩和课程类图:图5.3 成绩与课程类图5.2 类关联描述类关联描述如下表所示:类关联关联关系意义1学生与课程1:1一个学生查看当前课程成绩2教师与课程n:n一个教师教授多门课程;一门课程被多位老师教授3学生与成绩 1:n一个学生可以查看多门成绩4教师与成绩1:n一个教师可以给他教授的多门课程录入成绩5管理员与成绩1:n管理员可以修改任何输入有误的成绩表5.1 类关联表5.3 对象模型图图5.4 对象模型图6. 对象数据字典描述数据流图表达了数据和处理的关系,数据字典则是系统中各
19、类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典在数据库设计中占有很重要的地位。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。其中数据项是最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。6.1 数据流描述数据流编号:A01 数据流名称:查询所有学生成绩 简述:有学生选课记录并有成绩 数据流来源:点击查询所有学生成绩按钮,访问数据库,显示所有学生的成绩 数据流去向:数据库中存在的表的信息 数据流组成:学生学号+姓名+课程名称+成绩 数据流编号:A02 数据流名称:按学号查询成绩
20、 简述:该学生存在 数据流来源:输入要查询的学生学号,点击查询,根据要求访问数据库,显示该学生所选的所有课的成绩并计算平均分 数据流去向:数据库中存在的表的信息 数据流组成:学号+姓名+课程名称+成绩 数据流编号:A03 数据流名称:按课程查询成绩 简述:该课程存在并且有人选择这么课程 数据流来源:选择要查询的课程,点击查询,根据要求访问数据库,显示选择了这么课程的所有学生的学号、姓名和分数,并且计算最高分、最低分、平均分 数据流去向:数据库中表的信息 数据流组成:课程名+学号+姓名+成绩 数据流编号:A04 数据流名称:单个学生成绩录入 简述:该学生存在并且选修了选中的课程 数据流来源:输入
21、学号并选择课程,输入成绩,点击录入成绩,如果录入成功则显示添加成功,否则显示相应的错误信息 数据流去向:数据库中表的信息 数据流组成:学号+课程+成绩+录入 数据流编号:A05 数据流名称:批量学生成绩录入 简述:该课程存在并且有学生选择这门课程 数据流来源:选择要添加成绩的课程,则会出现选择了这么课程的所有学生的学号、姓名,在成绩那一栏添加成绩,添加完成后点击录入成绩,成功则显示成绩添加成功,否则提示相应的错误信息 数据流去向:数据库中表的信息 数据流组成:课程名称+学号+姓名+成绩+录入 数据流编号:A06 数据流名称:学生成绩修改 简述:要修改的学生存在,选修了相应的课程,并且之前有成绩
22、 数据流来源:输入要修改的学生的学号,选择要修改的课程,就会显示该学生的成绩,修改该成绩,修改完成后点击修改,成功就会提示修改成功,否则就提示相应的错误信息 数据流去向:数据库中表的信息 数据流组成:学号+课程+成绩+修改 数据流编号:A07 数据流名称:学生成绩删除 简述:该学生存在并且选修了该课程 数据流来源:输入要删除的学生的学号,选择要删除的课程,点击删除,成功就会提示成功删除,否则就提示相应的错误信息 数据流去向:数据库中表的信息 数据流组成:学号+课程+删除6.2 子系统中的对象6.2.1 对象:Student用途:记录学生基本信息约束:临时对象持久性:从学生登录到退出6.2.1.
23、1 属性描述:1. 属性:Name类型:String描述:学生姓名约束:无2. 属性:Sex类型:String描述:学生性别约束:无3. 属性:Birth类型:Date描述:学生生日约束:无4. 属性:Major类型:String描述:学生所学专业约束:无5. 属性:Address类型:String描述:学生家庭住址约束:无6.2.1.2 方法描述:1. 方法:SetName返回类型:void参数:Name返回值:无读取/修改的属性:修改调用的方法:无2. 方法:GetName返回类型:Name参数:无返回值:Name属性值读取/修改的属性:读取调用的方法:无3. 方法:SetSex返回类型:
24、void参数:Sex返回值:无读取/修改的属性:修改调用的方法:无4. 方法:GetSex返回类型:Sex参数:无返回值:Sex属性值读取/修改的属性:读取调用的方法:无5. 方法:SetBirth返回类型:void参数:Birth返回值:无读取/修改的属性:修改调用的方法:无6. 方法:GetBirth返回类型:Birth参数:无返回值:Birth属性值读取/修改的属性:读取调用的方法:无7. 方法:SetMajor返回类型:void参数:Major返回值:无读取/修改的属性:修改调用的方法:无8. 方法:GetMajor返回类型:Major参数:无返回值:Major属性值读取/修改的属性:
25、读取调用的方法:无9. 方法:SetAddress返回类型:void参数:Address返回值:无读取/修改的属性:修改调用的方法:无10. 方法:GetAddress返回类型:Address参数:无返回值:Address属性值读取/修改的属性:读取调用的方法:无6.2.2 对象:Teacher用途:记录教师基本信息约束:临时对象持久性:从教师登录到退出6.2.2.1 属性描述:1. 属性:Name类型:String描述:教师姓名约束:无2. 属性:Sex类型:String描述:教师性别约束:无3. 属性:Birth类型:Date描述:教师生日约束:无4. 属性:College类型:Strin
26、g描述:教师所在学院约束:无5. 属性:Address类型:String描述:教师家庭住址约束:无6.2.2.2 方法描述:1. 方法:SetName返回类型:void参数:Name返回值:无读取/修改的属性:修改调用的方法:无2. 方法:GetName返回类型:Name参数:无返回值:Name属性值读取/修改的属性:读取调用的方法:无3. 方法:SetSex返回类型:void参数:Sex返回值:无读取/修改的属性:修改调用的方法:无4. 方法:GetSex返回类型:Sex参数:无返回值:Sex属性值读取/修改的属性:读取调用的方法:无5. 方法:SetBirth返回类型:void参数:Bir
27、th返回值:无读取/修改的属性:修改调用的方法:无6. 方法:GetBirth返回类型:Birth参数:无返回值:Birth属性值读取/修改的属性:读取调用的方法:无7. 方法:SetCollege返回类型:void参数:Major返回值:无读取/修改的属性:修改调用的方法:无8. 方法:GetCollege返回类型:College参数:无返回值:College属性值读取/修改的属性:读取调用的方法:无9. 方法:SetAddress返回类型:void参数:Address返回值:无读取/修改的属性:修改调用的方法:无10. 方法:GetAddress返回类型:Address参数:无返回值:Ad
28、dress属性值读取/修改的属性:读取调用的方法:无6.2.3 对象:Manager用途:记录用户基本信息约束:永久对象持久性:系统初始化时创建并一直存在,直到人为销毁6.2.3.1 属性描述:1. 属性:Account类型:String描述:用户登录帐号(学生、教师或管理员)约束:无2. 属性:Password类型:String描述:登录密码约束:无3. 属性:Identity类型:Enum描述:UserStudent,UserTeacher,UserManager约束:无6.2.3.2 方法描述:1. 方法:SetAccount返回类型:void参数:Account返回值:无读取/修改的属性:修改调用的方法:无2. 方法:GetAccount返回类型:Account参数:无返回值:Account属性值读取/修改的属性:读取调用的方法:无3. 方法:SetPassword返回类型:void参数:Password返回值:无读取/修改的属性:修改调用的方法:无4. 方法:GetPassword返回类型:Password参数:无返回值:Password属性值读取/修改的属性:读取调用的方法:无5. 方法:SetIdentity返回类型:void参数:Identity返回值:无读取/修改的属性:修改调用的方法:无6. 方法:GetIdentity返回类型:Identity
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1