《uml学生成绩系统.doc》由会员分享,可在线阅读,更多相关《uml学生成绩系统.doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-作者xxxx-日期xxxxuml学生成绩管理系统【精品文档】面向对象分析与设计(UML)课程设计报告设计题目: 学生成绩管理系统 院 系: 计算机科学与工程学院 专 业: 软件工程 班级: 学 号: 姓 名: 指导教师: 设计地点: 开课时间: 2012 至 2013 学年第 1 学期常熟理工学院计算机科学与工程学院 制学生姓名 成绩 评语: 指导教师(签名) 年 月 日目录1. 设计目的和任务.12. 开发环境. .22.1 硬件环境. .22.2 软件环境.23.设计题目.33.1 题目名称. .33.2 题目详细描述. .33.3 功能要求.34. 相关技术及知识点.44.1 UML的
2、建模语言.44.2 RUP软件开发过程. .4Rational Rose45. 设计. .5 5.1 用例图. .5 5.2 概念模型8类图 .9顺序图.10协作图 13状态图 155.7活动图. 165.8组件图、部署图 176. 双向工程.197. 总结.268. 参考资料.27【精品文档】1. 设计目的和任务学生成绩管理在大学里是一件非常耗时的活动,学校还面临着给学生缺考的问题。在学生选择那些课程后,教务处将这些信息输入到一个计算机系统,然后给没一人打印一份课表和对应的成绩表给学生。一旦给所有学生都登记好了成绩,突然出现成绩错误是,教务处就需要询问学生以便得到其他选择。改学生成绩管理系统
3、是一个面向学生,教师用来进行对学生成绩管理的管理信息系统。该信息系统能够为师生提供各种管理服务。 (1)学生成绩查询系统能够为一定数目的学生提供服务,每个学生都 能够有唯一的账号,每一个账号包括个人的编号和个人信息,系统通 过一个单独的程序为学生提供服务,不需要人员的干预,这些服务包 括:查询成绩,修改自己的密码; (2)学生的成绩需要教师对其进行录入和修改,或删除,既学生不直 接与系统交互,教师代其与系统进行交互,当然教师也可以进行对成 绩的查询 (3)而系统管理员主要负责的是对教忙或者学生的信息进行管理,并 且管理员还得对本系统设置权限。 或者可以通过师生的唯一账号对成 绩进行查询。2.
4、开发环境2.1 硬件环境 一台PC台式机或是便携式电脑2.2 软件环境中文windows2000以上系统Rational Rose3.1 题目名称学生成绩管理系统3.2 题目详细描述生成绩管理系统是专门针对学校所开发的一种以管理为基础的信息管理系统,它涵盖成绩管理服务的所有环节,将原始的人工统计方法转换为先进的电脑管理模式。 本系统是学生成绩管理系统。输入一个同学的姓名和学号,系统能够输出学生所在的学院、班级、成绩等学生信息;对于已经录入学生成绩管理系统的学生信息可以进行修改,例如:删除、添加。对于没有录入学生成绩管理系统的学生信息可以添加到系统(此项功能的实现需要对用户身份进行核查);能够对
5、学生的信息进行保存,即退出系统时,成绩成绩不能丢失;能够对学生成绩进行拷贝;能够登入和退出系统。3.3 功能要求系统管理员登录系统后,通过身份验证,能够对学生的基本信息进行管理,包括如下:添加学生信息、查询学生信息、修改学生信息、删除学生信息。 学生成绩管理系统为管理员、教师和学生提供服务接口以便他们进行管理操作。同时,还为系统提供数据服务接口来管理系统。系统总体功能需求如图所示:4. 相关技术及知识点4.1 UML的建模语言 UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于非软件领域的系统,如机械系统、企业机构或业务
6、过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。 UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。此外,UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。在需求分析阶段,可以用用例来捕获用户需求。通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。分析阶段主要关心问题域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及它们相互间的关系,并用UML类图来描述。总之,标准建模语言UML适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。4
7、.2 RUP软件开发过程Rational Unified Process(RUP,统一开发过程)是一套面向对象的软件工程过程。RUP说明了如何有效地使用成熟技术开发软件。 RUP中有9个核心工作流,分为6个核心过程工作流(Core Process Workflows)和3个核心支持工作流(Core Supporting Workflows)。9个核心工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。业务建模(Business Modeling)理解系统的组织结构及其商业运作,确保所有参与人员对开发系统有共同的认识。4.3 Rational RoseRational Rose的特点
8、1. 保证模型和代码高度一致2. 支持多种语言3. 为团队开发提供强有力的支持4. 支持模型的Internet发布5. 生成使用简单且定制灵活的文档6. 支持关系型数据库的建模5. 设计5.1 用例图 本系统是一个学生成绩管理系统,主要功能是为教师和学生方便查询成绩。下面使用了用例图的方式表现了整个系统的所有功能。1.参与者:管理员: 教师:学生:2管理员用例图:用例说明:n 用例编号:01n 用例名称:学生查询成绩n 用例描述:学生在浏览过程中,选中相应操作。n 参与者:学生n 前提条件:用户身份验证。n 事后条件:若学生登录成功,且成绩查询无误,则该学生可以关闭该窗口,根据自己的意愿进行其
9、他相关操作;如果登录不成功则终止操作。基本路径:1. 系统确认用户已登录;2. 学生浏览想要查询的成绩;3. 确认成绩无误,关闭该窗口;4. 若成绩有误,直接向系统提出修改申请;5. 由系统进行数据库查询,核实成绩,把修改结果反馈给学生;6. 系统提示已批阅申请;7. 学生再次查看成绩,确认无误;8. 退出系统。n 用例编号:02n 用例名称:教师录入学生成绩n 用例描述:教师录入相关学生的成绩到系统内。n 参与者:教师n 前提条件:学生成绩管理系统正常运行,用户身份验证通过。n 事后条件:若管理员登陆成功,则教师可将相关学生的成绩录入到系统;否则管理员不可执行该操作。 基本路径: 1.教师进
10、入学生成绩管理系统; 2.教师进入成绩管理界面;3.教师输入相应成绩;4.教师提交信息;5.系统输出添加成功提示。n 用例编号:03n 用例名称:管理员修改信息n 用例描述:管理员修改相应用户信息n 参与者:管理员n 前提条件:学生成绩管理系统正常运行,用户身份验证通过。n 事后条件:若管理员登陆成功,且相应用户信息存在,则管理员可以修改相应用户信息;否则管理员不可执行该操作。基本路径:1.管理员进入学生成绩管理系统后台;2.管理员进入用户管理界面;3.管理员搜索相应用户,点击修改按钮;4.管理员修改用户信息;5.管理员提交信息;6.系统输出修改成功提示。n 用例编号:04n 用例名称:用户登
11、录n 用例描述:用户根据自己的用户名和密码,登录到成绩管理系统n 参与者:用户n 前提条件:学生成绩管理系统正常运行。n 事后条件:若用户登陆成功,该用户可进行权限范围内的相关操作;否则终止登录。基本路径:1. 用户进入成绩管理系统;2. 用户输入用户名和密码;3. 系统对用户的账号和密码进行检查;4. 系统记录并显示当前登录用户;5. 用户进行权限范围内的相关操作;6. 系统允许进行权限范围内的相关操作。5.2概念模型5.3类图在类图中类用矩形框来表示,它的属性和操作分别列在分格中。如不需要表达详细信息时,分格可以省略。一个类可能出现在好几个图中。同一个类的属性和操作可只在一种图中列出,在其
12、他图中可省略。关系用类框之间的连线来表示,不同的关系用连线上和连线端头处的修饰符来区别。系统类:(1).Students(学生类)(2).Teachers(教师类)(3).Manager(管理员类)(4).Courses(课程类)(5).Grades(成绩类)成绩管理类图:其他关系图:5.4顺序图顺序图表示了对象之间传送消息的时间顺序。每一个类元角色用一条生命线来表示,即用垂直线代表整个交互过程中对象的生命期。生命线之间的箭头连线代表消息。顺序图可以用来进行一个场景说明即一个事务的历史过程。顺序图的一个用途是用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状
13、态机中引起转换的触发事件。管理员管理学生信息顺序图:图1.添加学生信息顺序图 图2.修改学生信息顺序图 图3.删除学生信息顺序图教师录入学生成绩信息顺序图:教师修改学生成绩顺序图: 教师删除学生成绩顺序图:学生查询成绩序列图:5.5 协作图协作图和序列图都可以表示各对象间的交互关系,但它们的侧重点不同。序列图用消息的几何排列关系来表达消息的时间顺序,各角色之间的相关关系是隐含的。协作图用各个角色的几何排列图形来表示角色之间的关系,并用消息来说明这些关系。在实际中可以根据需要选用这两种图。一个协作图描述了系统中为实现某些服务所涉及的对象扮演的角色及其相互之间的交互。协作图着重于有协作关系的对象之
14、间的交互和链接(指对象实例之间的物理或概念上的链接,一个链接是某关联的一个实例)。它可用于图示系统中的操作执行、用例执行或一个简单的交互场景。协作图描述了对象及其之间的链接,还描述了链接的对象之间如何发送消息。管理员添加学生信息协作图:管理员修改学生信息协作图:管理员删除学生信息协作图: 5.6 状态图描述类的对象所有可能的状态,以及事件发生时状态的转移条件。可以捕获对象、子系统和系统的生命周期。他们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定
15、类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。状态图是对类图的补充。管理员状态图:教师状态图:学生状态图: 活动图 活动图”可通过一系列操作将业务流程或软件进程以工作流的形式显示出来。 这些操作可以由人、软件组件或计算机来执行,使用活动图可以描述多种类型的流程。管理员活动图: 教师活动图:学生活动图: 组件图、部署图组件图(component diagram)是用来反映代码的物理结构。从组件图中,您可以了解各软件组件(如源代码文件或动态链接库)之间的编译器和运行时依赖关系。部署视图表示运行时的计算资源(如计算机及它们之间的连接)的物理布置。这些运行资源被
16、称作节点。在运行时,节点包含构件和对象。构件和对象的分配可以是静态的,它们也可以在节点间迁移。如果含有依赖关系的构件实例放置在不同节点上,部署视图可以展示出执行过程中的瓶颈。组件图:部署图:6. 双向工程生成代码如下:Person类: public class Person private String name; private String sex; private int age; /* * roseuid 50D028F000CB */ public Person() Teacher类:public class Teacher extends Person private String
17、 Department; public Students theStudents; public Courses theCourses; /* * roseuid 50D028F00226 */ public Teacher() /* * roseuid 50CFF3FA0307 */ public void Get_CourseInfo() /* * roseuid 50CFF4120025 */ public void Get_ClassRoom() /* * roseuid 50CFF42400BD */ public void Get_PersonalInfo() Students类:
18、public class Students extends Person private String Class; private String Major; private String Department; public Courses theCourses; public Grades theGrades; public Teachers theTeachers; /* * roseuid 50D028F001C2 */ public Students() /* * roseuid 50CFF0CA01EA */ public void Test() /* * roseuid 50C
19、FF0DB013A */ public void Get_TestInfo() /* * roseuid 50CFF0FE0328 */ public void Search_Grade() Courses类:public class Courses private String Description; private String Teacher; public Students theStudents; public Teachers theTeachers; /* * roseuid 50D028F00280 */ public Courses() /* * roseuid 50CFF
20、1C20152 */ public void Get_CourseInfo() /* * roseuid 50CFF1DF0341 */ public void Search_Teacher() Grades类:public class Grades private String CourseName; private String CourseID; private String Teacher; private String Grade; public Students theStudent; /* * roseuid 50D028F0010E */ public Grades() /*
21、* roseuid 50CFF2ED019F */ public void Get_CourseInfo() /* * roseuid 50CFF30C014E */ public void Search_Teacher() /* * roseuid 50CFF31B032E */ public void Search_Grade() Manage类:/Source file: E:JavaManage.javapublic class Manage extends Person /* * roseuid 50D028F00053 */ public Manage() /* * roseuid
22、 50CFF4890317 */ public void Get_TeacherInfo() /* * roseuid 50CFF49B0216 */ public void Get_StudentInfo() /* * roseuid 50CFF4A60366 */ public void Manage_StudentInfo() /* * roseuid 50CFF4C0035C */ public void Manage_TeacherInfo() 7. 总结通过本次UML系统设计让我对UML建模有了进一步的认识,让我了解UML建模对开发程序有很大的益处。这次的课程设计和平时上课时的实验
23、题很相似,因此做的难度可能就会小了那么些,但是如何在新的项目中思考,考虑的更全面,可以让设计尽可能少的出现可能发生的问题,都是摆在我面前的难题。在UML模型中能清晰的反映出程序的所有行为,为程序的开发和维护有很大的帮助,同时建模能将问题可视化、形式化,方便系统设计和开发人员进行差错处理,提高系统实现的效率。经过一个学期的学习,我不仅对专业知识进行了更深入的学习,对采用开发软件也有了进一步的认识,对各阶段的实现和任务完成有了进一步的了解。在整个设计过程中,通过怎么样把各个管理信息连接起来的分析,锻炼了我对事情的分析能力,通过怎样解决过程中出现的问题,提高了我们查找文献的能力、对网络资源的利用能力和与其他同学沟通的能力,这次的课程设计,是对这学期这门课程最好的巩固,过程中还有很多的问题、缺点,我在以后的学习生活中会继续学习完善。8. 参考资料1.UML基础与Rose建模教程人民邮电出版社2.UML系统分析与设计高等教育出版社3