版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件系统建模与UML课程设计报告面向对象分析与设计(UML)课程设计报告设计题目: 学生成绩管理系统 院 系: 计算机科学与工程学院 专 业: 软件工程 班级: 学 号: 姓 名: 指导教师: 设计地点: 开课时间: 2012 至 2013 学年第 1 学期常熟理工学院计算机科学与工程学院 制学生姓名 成绩 评语: 指导教师(签名) 年 月 日目录1. 设计目的和任务.12. 开发环境. .22.1 硬件环境. .22.2 软件环境.23.设计题目.33.1 题目名称. .33.2 题目详细描述. .33.3 功能要求.34. 相关技术及知识点.44.1 UML的建模语言.44.2 RUP软件
2、开发过程. .44.3Rational Rose45. 设计. .5 5.1 用例图. .5 5.2 概念模型85.3类图 .95.4顺序图.105.5协作图 135.6状态图 155.7活动图. 165.8组件图、部署图 176. 双向工程.197. 总结.268. 参考资料.27- 20 -1. 设计目的和任务学生成绩管理在大学里是一件非常耗时的活动,学校还面临着给学生缺考的问题。在学生选择那些课程后,教务处将这些信息输入到一个计算机系统,然后给没一人打印一份课表和对应的成绩表给学生。一旦给所有学生都登记好了成绩,突然出现成绩错误是,教务处就需要询问学生以便得到其他选择。改学生成绩管理系统
3、是一个面向学生,教师用来进行对学生成绩管理的管理信息系统。该信息系统能够为师生提供各种管理服务。 (1)学生成绩查询系统能够为一定数目的学生提供服务,每个学生都 能够有唯一的账号,每一个账号包括个人的编号和个人信息,系统通 过一个单独的程序为学生提供服务,不需要人员的干预,这些服务包 括:查询成绩,修改自己的密码; (2)学生的成绩需要教师对其进行录入和修改,或删除,既学生不直 接与系统交互,教师代其与系统进行交互,当然教师也可以进行对成 绩的查询 (3)而系统管理员主要负责的是对教忙或者学生的信息进行管理,并 且管理员还得对本系统设置权限。 或者可以通过师生的唯一账号对成 绩进行查询。2.
4、开发环境2.1 硬件环境 一台PC台式机或是便携式电脑2.2 软件环境中文windows2000以上系统Rational Rose3.设计题目3.1 题目名称学生成绩管理系统3.2 题目详细描述生成绩管理系统是专门针对学校所开发的一种以管理为基础的信息管理系统,它涵盖成绩管理服务的所有环节,将原始的人工统计方法转换为先进的电脑管理模式。 本系统是学生成绩管理系统。输入一个同学的姓名和学号,系统能够输出学生所在的学院、班级、成绩等学生信息;对于已经录入学生成绩管理系统的学生信息可以进行修改,例如:删除、添加。对于没有录入学生成绩管理系统的学生信息可以添加到系统(此项功能的实现需要对用户身份进行核
5、查);能够对学生的信息进行保存,即退出系统时,成绩成绩不能丢失;能够对学生成绩进行拷贝;能够登入和退出系统。3.3 功能要求系统管理员登录系统后,通过身份验证,能够对学生的基本信息进行管理,包括如下:添加学生信息、查询学生信息、修改学生信息、删除学生信息。 学生成绩管理系统为管理员、教师和学生提供服务接口以便他们进行管理操作。同时,还为系统提供数据服务接口来管理系统。系统总体功能需求如图所示:4. 相关技术及知识点4.1 UML的建模语言 UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于非软件领域的系统,如机械系统、企
6、业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。 UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。此外,UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。在需求分析阶段,可以用用例来捕获用户需求。通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。分析阶段主要关心问题域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及它们相互间的关系,并用UML类图来描述。总之,标准建模语言UML适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测
7、试和维护。4.2 RUP软件开发过程Rational Unified Process(RUP,统一开发过程)是一套面向对象的软件工程过程。RUP说明了如何有效地使用成熟技术开发软件。 RUP中有9个核心工作流,分为6个核心过程工作流(Core Process Workflows)和3个核心支持工作流(Core Supporting Workflows)。9个核心工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。业务建模(Business Modeling)理解系统的组织结构及其商业运作,确保所有参与人员对开发系统有共同的认识。4.3 Rational RoseRational R
8、ose的特点1. 保证模型和代码高度一致2. 支持多种语言3. 为团队开发提供强有力的支持4. 支持模型的Internet发布5. 生成使用简单且定制灵活的文档6. 支持关系型数据库的建模5. 设计5.1 用例图 本系统是一个学生成绩管理系统,主要功能是为教师和学生方便查询成绩。下面使用了用例图的方式表现了整个系统的所有功能。1.参与者:管理员: 教师:学生:2管理员用例图:3.教师用例图4.学生用例图用例说明:n 用例编号:01n 用例名称:学生查询成绩n 用例描述:学生在浏览过程中,选中相应操作。n 参与者:学生n 前提条件:用户身份验证。n 事后条件:若学生登录成功,且成绩查询无误,则该
9、学生可以关闭该窗口,根据自己的意愿进行其他相关操作;如果登录不成功则终止操作。基本路径:1. 系统确认用户已登录;2. 学生浏览想要查询的成绩;3. 确认成绩无误,关闭该窗口;4. 若成绩有误,直接向系统提出修改申请;5. 由系统进行数据库查询,核实成绩,把修改结果反馈给学生;6. 系统提示已批阅申请;7. 学生再次查看成绩,确认无误;8. 退出系统。n 用例编号:02n 用例名称:教师录入学生成绩n 用例描述:教师录入相关学生的成绩到系统内。n 参与者:教师n 前提条件:学生成绩管理系统正常运行,用户身份验证通过。n 事后条件:若管理员登陆成功,则教师可将相关学生的成绩录入到系统;否则管理员
10、不可执行该操作。 基本路径: 1.教师进入学生成绩管理系统; 2.教师进入成绩管理界面;3.教师输入相应成绩;4.教师提交信息;5.系统输出添加成功提示。n 用例编号:03n 用例名称:管理员修改信息n 用例描述:管理员修改相应用户信息n 参与者:管理员n 前提条件:学生成绩管理系统正常运行,用户身份验证通过。n 事后条件:若管理员登陆成功,且相应用户信息存在,则管理员可以修改相应用户信息;否则管理员不可执行该操作。基本路径:1.管理员进入学生成绩管理系统后台;2.管理员进入用户管理界面;3.管理员搜索相应用户,点击修改按钮;4.管理员修改用户信息;5.管理员提交信息;6.系统输出修改成功提示
11、。n 用例编号:04n 用例名称:用户登录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.删除学生信息顺序图教师录入学生成绩信息顺序图: 图4.教师录入学生成绩顺序图教师修改学生成绩顺序图: 图5.教师修改学生成绩顺序图教师删除学生成绩顺序图:图6.教师删除学生成绩顺序图学生查询成绩序列图:5.5 协作图协作图和序列图都可以表示各对象间的交互关系,但它们的侧重点不同。序列图用消息的几何排列关系来表达消息的时间顺序,各角色之间的相关关系是隐含的。协作图用各个角色的几何排列图形来表示角色之间的关系,并用消息来说明这些关系。在实际中可以根据
14、需要选用这两种图。一个协作图描述了系统中为实现某些服务所涉及的对象扮演的角色及其相互之间的交互。协作图着重于有协作关系的对象之间的交互和链接(指对象实例之间的物理或概念上的链接,一个链接是某关联的一个实例)。它可用于图示系统中的操作执行、用例执行或一个简单的交互场景。协作图描述了对象及其之间的链接,还描述了链接的对象之间如何发送消息。管理员添加学生信息协作图: 图7.管理员添加学生信息协作图管理员修改学生信息协作图: 图8.管理员修改学生信息协作图管理员删除学生信息协作图: 图9.管理员删除学生信息协作图5.6 状态图描述类的对象所有可能的状态,以及事件发生时状态的转移条件。可以捕获对象、子系
15、统和系统的生命周期。他们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。状态图是对类图的补充。管理员状态图: 图10.管理员状态图教师状态图: 图11.教师状态图学生状态图: 图12.学生状态图5.7 活动图 活动图”可通过一系列操作将业务流程或软件进程以工作流的形式显示出来。 这些操作可以由人、软件组件或计算机来执行,使用活动图可以描述多种类型的流程。管理员活动
16、图: 图13.管理员活动图教师活动图: 图14.教师活动图学生活动图: 图15.学生活动图5.8 组件图、部署图组件图(component diagram)是用来反映代码的物理结构。从组件图中,您可以了解各软件组件(如源代码文件或动态链接库)之间的编译器和运行时依赖关系。部署视图表示运行时的计算资源(如计算机及它们之间的连接)的物理布置。这些运行资源被称作节点。在运行时,节点包含构件和对象。构件和对象的分配可以是静态的,它们也可以在节点间迁移。如果含有依赖关系的构件实例放置在不同节点上,部署视图可以展示出执行过程中的瓶颈。组件图:部署图:6. 双向工程生成代码如下:Person类: /Sour
17、ce file: E:JavaPerson.javapublic class Person private String name; private String sex; private int age; /* * roseuid 50D028F000CB */ public Person() Teacher类:/Source file: E:JavaTeacher.javapublic class Teacher extends Person private String Department; public Students theStudents; public Courses the
18、Courses; /* * roseuid 50D028F00226 */ public Teacher() /* * roseuid 50CFF3FA0307 */ public void Get_CourseInfo() /* * roseuid 50CFF4120025 */ public void Get_ClassRoom() /* * roseuid 50CFF42400BD */ public void Get_PersonalInfo() Students类:/Source file: E:JavaStudents.javapublic class Students exten
19、ds 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 50CFF0DB013A */ public void Ge
20、t_TestInfo() /* * roseuid 50CFF0FE0328 */ public void Search_Grade() Courses类:/Source file: E:JavaCourses.javapublic class Courses private String Description; private String Teacher; public Students theStudents; public Teachers theTeachers; /* * roseuid 50D028F00280 */ public Courses() /* * roseuid
21、50CFF1C20152 */ public void Get_CourseInfo() /* * roseuid 50CFF1DF0341 */ public void Search_Teacher() Grades类:/Source file: E:JavaGrades.javapublic class Grades private String CourseName; private String CourseID; private String Teacher; private String Grade; public Students theStudent; /* * roseuid
22、 50D028F0010E */ public Grades() /* * 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 Man
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳动合同内容合规的重要性
- 2024年住宅小区绿化养护服务合同3篇
- 就业电子合同模板
- 危险品仓库防雷与防静电考核试卷
- 简易混凝土合同范本
- 2024年度甲乙双方关于林权抵押借款的具体条款与权利义务合同
- 理财公司2024年度品牌合作合同
- 公共场所平板电视安装施工方案
- 党支部工作流程
- 普通商品代理合同2024年度
- 秘书行业的发展前景
- GB/T 26334-2023燃气表安装配件
- 野外工作安全应急预案
- 小学校园广播稿短篇红色故事(13篇)
- 城川民族干部学院培训学习心得体会
- 民盟入盟申请书
- 中职对口升学复习资料:《汽车机械基础》试题库+答案
- 供应商审核检查表(铸造类专用)
- 电大公共政策概论形考任务1-4答案
- 亲子阅读陪伴成长PPT
- 工程主要材料总需用量计划表(样表)
评论
0/150
提交评论