1、1实验 1 熟悉 Rational Rose 建模环境实验目的1掌握 Rational Rose 2003 的安装2. 熟悉 Rose 的功能与特点3掌握 Rose 的基本操作实验预备知识了解 Rational Rose 的背景实验内容1安装 Rational Rose 20032系统主菜单3建立 UML 模型初步四类图1、 用例图题目:学生信息管理系统的录入模块主主主主主主主主主主主主主主主主主主主主主主主主2、 对象类图2题目:学生信息管理系统的界面的对象类图主 主主主主 主主主主3、 顺序图题目:学生信息管理系统的学生登录模块: 主主 主主主 主主主主主主主主主主主主主主主主主主主主主主
2、主主主主主主主主主主主主主主主主主4、 活动图题目:学生信息管理系统的学生登录模块3student 主主主主主 主主主主 主主主三、实验小结初次使用 Rational Rose,还是有些不适应。通过画用例图,对象类图,顺序图,还有活动图,我基本掌握了 rose 的基本用法,也感受到了 rose 的强大。在实验过程中,遇到了一下困难,但是通过查阅相关资料,还有认证看实验指导书,我最终解决了这样问题。通过 uml,我把软件功能的各个功能可视化,确定化,再也不用因为头脑中想得到但是却无法清晰描述出来而苦恼了。在这次的 UML 实验中,我明白了,作为一个系统,需求分析很重要,一开始就应该明确业务流程,
3、才能不至于之后的工作偏离方向。4实验 2 用例图与活动图设计与实现实验目的1熟悉 UML 建模2掌握用例图的设计与实现4掌握使用活动图细化用例的方法实验预备知识掌握 Rational Rose 环境下 UML 全局模型的创建实验内容1网上选课系统的需求2事件流(1)添加课程(2)选课3选课用例图(1)创建并设置执行者(2)设计并实现执行者之间关联(3)创建并设置用例属性(4)设计并实现执行者与用例间关联4使用活动图细化用例(1)添加一个空的活动图(2)新建泳道(3)添加初始状态和最终状态(4)添加动作状态(5)添加转换实验步骤1.简单需求分析选课系统包括如下功能:(1) 管理员通过系统管理界面
4、进入系统,建立学期要开的各种课程,将课程信息保存在数据库中并对课程进行改动和删除5(2) 学生通过客户端浏览器根据学号和密码进入系统,可以选课,也可以查询已选课程本系统涉及的用户包括管理员和学生,他们是用例图中的执行者,他们的主要特征相似,都具有姓名和注册号(学生为学号)等信息,所以可以抽象出高层执行者“人” ,而 管理员和学生都从人统一派生。数据库管理系统是另外一个执行者。2.事件流下面是系统中出现的-些事件流。 添加课程事件流(1)管理员选择进入管理界面,用例开始(2)系统提示输入管理员密码(3)管理员输入密码 (4)系统验证密码A1:密码错误 (5)进入管理界面,系统显示目前所建立的全部
5、课程信息(6)管理员选择添加课程(7)系统提示输入新课程信息(8)管理员输入信息(9)系统验证是否和已有课程冲突A2:有冲突 (10)系统添加新课程,提示课程添加成功(11)系统重新进入管理主界面,显示所有课程(12)用例结束 其他事件流: A1:密码错误 (1)系统提示再次输入 (2)用户确认(3)三次错误,拒绝再次访问 (4)否则进入添加课程事件流第(5)步6A2:有冲突 (1)系统提示冲突,显示冲突课程信息(2)用户重新输入(3)继续验证直到无冲突(4)进入添加课程事件流第(10)步 删除课程事件流和修改课程事件流与此类似选课事件流: (1)学生进入选课登录界面,用例开始(2)系统提示输
6、入学号和密码 (3)学生输入学号和密码(4)系统验证 A1:验证失败 (5)进入选课主界面(6)学生点击选课。 (7)系统显示所有课程信息(8)学生选择课程 (9)系统验证课程是否可选A2:课程不可选 (10)系统提示课程选择成功(11)用例结束 错误流: A1:验证失败 (1)系统提示验证失败,提示重新输入(2)三次失败,拒绝访问 (3)成功,转选课事件流第(5)步A2:课程不可选 (1)系统提示课程不可选及原因(2)学生重新选课 (3)重新验证直至成功7(4)转选课事件流第(10)步 3选课用例图选课系统用例图如下图所示:PeopleStudentRegistrarSelct Course
7、Query CoursePay for CourseAd CourseModify CourseDelte CourseDatbase4使用活动图细化用例8实验小结刚开始做实验的时候感觉无从下手,逻辑有点混乱,但是一步一步的画图中,思路变得清晰还有调理性。在建模过程中遇到了一些问题,确实遇到了点小麻烦,主要还是不能完全驾驭 rose 的强大功能吧,但是最后得到了比较满意的解决。在这次实验中,对于 uml 的建模的细化,使软件的功能分析的更加完善,还有各个模块的逻辑关系也处理的非常好。使我对 UML 建模的思想有了更进一步的了解,在以后得学习中,还将不断的学习 UML 的理论知识。9实验 3 教
8、学管理系统的分析与设计实验目的1通过教学管理系统的分析与设计,掌握面向对象的分析与设计方法以及UML 在软件项目和开发过程中的应用2掌握软件系统的静态建模方法3掌握软件系统的动态建模方法4综合系统建模中的用例图、序列图、状态图、类图等来实现教学管理系统的分析与设计实验预备知识教学管理系统的需求分析,见附录 1实验内容1分析问题域(1)确定系统范围与系统边界(2)定义执行者2用例分析与设计(1)顶层用例(选课管理、成绩管理)(2)顶层用例的分解(3)绘制用例图3静态结构模型(1)对象类图(2)数据库模型4动态结构模型(1)顺序图(2)状态图实验步骤1分析问题域10分析问题领域是软件系统开发的一项
9、基本工作,是项目开发之初必须首先进行的重要工作。分析问题领域的结果是对问题领域的清晰、精确的定义,明确目标系统将做些什么。分析问题领域的主要任务:对问题领域进行抽象,提出解决方案;对未来的系统进行需求分析,确定系统的职责范围、功能需求、性能需求、应用环境及假设条件等。 (1)确定系统范围和系统边界JXGL 系统用于新学期课程的选课注册管理和学生的成绩管理,凡是这两方面的教学管理内容都是 JXGL 的职责范围,其它的教学管理内容,如安排教学计划、排课、实习、实验、考试等都不属于 JXGL 系统的职责范围。至于学校的其他管理工作,如科研、人事、财务、资产等管理也不属于 JXGL 系统的职责范围。教
10、学管理系统JXGL与财务系统存在系统边界,财务系统将从JXGL系统得到学生选课注册信息。JXGL系统与学校的其他信息管理系统没有直接的联系,但是可以从学校的全局数据库中共享学生、教师、教学计划等必要的数据。 (2)定义执行者根据JXGL系统的职责范围和需求可以确定4个执行者:学生、老师、教学管理员和财务系统。对于每一个执行者,应当明确其业务活动的内容、对系统的服务要求。 “学生”执行者使用JXGL系统查询新学期开设的课程信息和教师开课信息,选课并莹,二 注册课程,查询自己的课程成绩信息。 “老师”执行者使用JXGL系统查询新学期开设的课程信息、学生选课信息和学生成信息。 “教学管理员”执行者使
11、用JXGL系统管理学期开设课程的选课注册和学生的考试成绩管理工作,包括课程与成绩数据的录入、维护、统计、报表打印等,并且负责把学生的选课注册信息发送给财务系统,作为计算学生应付费用的依据。“教学管理员”要求能够方便地查询课程信息、学生选课信息、学生信息、教师信息和成绩信息。 “财务系统“执行者是外部系统执行者,从JXGL系统接受学生的课程注册信11息。 2用例分析与设计从 JXGL 系统的顶层用例抽象,可以确定两个用例,即“选课管理”和“成绩管理” 。用例“选课管理”与 4 个执行者都存在交互, 用例“成绩管理”与执行者“学生” 、 “老师”和“教学管理员”存在着交互。依据对需求的分析,可以得
12、到顶层用例图。用例“选课管理”可以分解为“查询课程信息”、“选课注册”、“管理开设课程”、“管理学生信息”、“管理老师信息”和“管理课程信息”; 用例“成绩管理”可以分解为“查询学生成绩”、“查询课程成绩”、“学生成绩管理”和“成绩统计”。根据执行者与各个分解用例的交互,可以得到细化后的用例图。3静态结构模型(1)对象类图对于 JXGL 系统可以抽象出以下一些主要的对象类:在人事信息处理方面有“学生”类、 “教师”类;在选课管理方面有“课程”类、 “开设课程”类、 “学生登记”类、 “课程登记”类、 “选课统计”类等;在成绩管理方面有“学生成绩登记”类、 “成绩统计”类。 “学生”类负责 JX
13、GL 系统需要的执行者“学生”的信息处理,它的属性有姓名、年 龄、性别、通信地址、联系电话、专业、班级等,对这些信息的服务操作有查询、添加、修改、删除等。 “教师”类负责 JXGL 系统的执行者“教师”的信息处理,它的属性有姓名、年 龄、性别、通信地址、联系电话、职称等,对这些信息的服务操作有查询、添加、 修改、删除等。 “课程”类负责学校课程信息的处理,这些课程是教学计划规定开设的全部课程,但是 每一个学期实际开设的课程只是其中的一部分。 “课程”类的属性有课程名、描述、学 时,操作有加入课程、删除课程等。 “开设课程”类负责新学期开设课程和选课信息的处理,并提供查询功能。它的属性有授课日期
14、、授课时间、地点、授课老师、注册学生数等。它的操作有加入选误学生、加入授课老师、学生己满等。 12“学生登记”类负责新学期学生的选课登记。当一个“学生”执行者要求选课注册时登记该学生所选修的课程,并打印所选修的课程清单。 “学生登记”类的属性有学期、课程名等,操作有加入课程、打印等。 “课程登记”类负责新学期课程的选课登记,它根据执行者“教师”和“教学管理员” 的要求,汇总学生的选课,对一个课程登记选修该课程的学生,并打印选修课程的学生清皇 “课程登记”类的属性有学期、学生名等,操作有加入学生、打印等。“学生成绩登记表”类负责学生考试成绩处理,它根据执行者“教学管理员”的要求,登记学生的考试成
15、绩,并提供查询功能。它的属性有学生名、学期、课程名、成绩等,操作有加入成绩、打印等。“成绩统计”类学生成绩的统计处理,按照学生或课程生成学生成绩统计报表。它的属性有学期课程名、成绩等,它的操作有按学生统计、按课程统计、打印等。课程管理对象类图13成绩管理对象类图执行者对象类图(2)数据库模型14JXGL 系统有 4 个方面的数据需要管理:人员数据(学生、教师)、课程数据、选课注册 数据和学生成绩数据。经过分析, JXGL 系统至少应有 6 个数据库表:学生表、教师表、课 程表、开设课程表、选课表和任课表。 这些基本表定义为:学生(学生号、姓名、出生日期、性别、籍贯、地址、电话、入学时间、专业、
16、班级备注) 教师(教师号、姓名、出生日期、性别、籍贯、地址、电话、职称、专长、备注) 课程(课程号、课程名、描述、学分、学时、性质、备注) 开设课程(课程号、学期、授课日期、授课时间、地点、选修人数、各注) 选课(学生号、课程号、学期、成绩、备注) 任课(教师号、课程号、学期、备注) 4动态模型图(1) 顺序图为了绘制顺序图,首先要对一个用例确定参与交互的执行者和对象以及交互事件。例如,对于用例“管理课程信息”是执行者“教学管理员”和“注册表单”对象、 “开设课程表单”对象、 “开设课程”对象发生的交互,可以绘制设置开设课程的顺序图,如下所示。15设置开设课程顺序图(2) 状态图状态图表现一个
17、对象(类)的生命史。对于一些实现重要行为动作的对象应当绘制状态图。绘制状态图需要确定一个对象的生命期可能出现的全部状态,哪些事件将引起状态的转移,将会发生哪些动作。 例如,对于 JXGL 系统中的一个学生选课注册的“学生登记”对象,可能有的状态、事件和动作以及图示如下。16选课学生登记状态图实验小结:通过这几次实验,令我受益匪浅。最大的收获就是了解如何进行 UML 统一建模,也让我熟识了使用 UML 统一建模语言,用需求模型简化业务领域;用设计模型标识解决方案。我还认识到通过模型可以实现从业务领域到软件领域的映射;通过建模,可以使问题可视化,形式化。而通过一序列的建模活动,提高了我在系统设计上的能力,增长了分析、解决问题的经验,对 UML 统一建模语言有了更深的了解。可以说,这次实验既锻炼了我的动脑分析问题的能力,又锻炼了我动手解决实际问题的能力,这将在我以后的学习中起到很大的作用。我会运用从中学到的宝贵经验来指导我今后的学习和工作,不断地实践,不断地学习,让自己变得更加的充实,更适合社会的需要。