实验三 面向对象分析与设计

一、作业信息

作业班级 https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18
作业要求 https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18/homework/11621
作业目标 学习并掌握面向对象分析与设计
学号 3180701337

二、实验目的

(1)了解基于UML的面向对象分析与设计方法

(2)掌握用例图的绘制、用例规约(文档)的编制

(3)掌握类图、活动图、状态图、时序图的绘制方法

三、实验内容

1、参照实验指导书完成在线选课系统、或试卷自动生成系统,或人事信息管理系统的用例图、类图、活动图、状态图、时序图等的
绘制
【实例1】在线选课系统

大学教师选择本学期要教授的课程,每位教师最多只能上报 4 门课程。

教师选课结束后,教务管理人员进行协调和确认教师的课程,并创建本学期的课程目录表,向学生公布。

学生填写课程选修表,每个学生最多选修 4 门课程;每门选修课程的学生数最多为 10 人,最少为 3 人。人数达到 10 人时,停止学生登记注册此门课程;

学生选课结束后,系统自动取消人数少于三人的课程。

学生按最终的课程表到财务处办理收费手续(billing system)。

教师可查询所教课程的学生花名册(roster)。

教务管理人员维护学生、教师和课程的信息。

【实例2】试卷自动生成系统

教师根据教学资料录入试题,并对其进行分类。待需要考试时,设置好一定的条件,系统就从题库中选中试题自动生成考试试卷

考试试卷生成系统的成卷模式应用智能出卷(由系统随机选题)和手工出卷(教师自己选择题目)两种组卷方式

【实例3】人事信息管理系统

参考:阿里巴巴钉钉智能人事系统

2、完成对教材订购系统,或飞机订票系统(根据自己的选题)面向对象的建模
四、实验步骤
1、熟悉Rational rose的绘图方法,阅读实验指导《使用 Rational Rose 进行 UML 可视化建模》,以及实验指导书实验十一与实验十二

2、使用 Rational rose 完成在线选课系统、或试卷自动生成系统,或人事信息管理系统等的用例图、类图的绘制

3、使用 Rational rose 完成在线选课系统、或试卷自动生成系统,或人事信息管理系统等的活动图、状态图、时序图等的绘制

4、使用教材中用例描述模版描述在线选课系统的 Register for course 用例或试卷自动生成系统的自动组卷用例,或人事信息管理系统等中的某个用例

5、为教材订购系统,或飞机订票系统等(根据自己的选题)绘制用例图,并分析某个用例为其绘制类图、时序图、活动图等

本次实验我的选题是在线选课系统

1.1 问题陈述

大学教师选择本学期要教授的课程,每位教师最多只能上报 4 门课程。
教师选课结束后,教务管理人员进行协调和确认教师的课程,并创建本学期的 课程目录表,向学生公布。
学生填写课程选修表,每个学生最多选修 4 门课程;每门选修课程的学生数最 多为 10 人,最少为 3 人。人数达到 10 人时,停止学生登记注册此门课程;
学生选课结束后,系统自动取消人数少于三人的课程。
学生按最终的课程表到财务处办理收费手续(billing system)。
教师可查询所教课程的学生花名册(roster)。
教务管理人员维护学生、教师和课程的信息。

1.2用例图(Use Case View)的建模

1.《在线选修课程管理系统》中的执行者(Actors)

·注册选修课程的学生;
·教授选修课程的教师;
·教务管理人员必须汇总选修课程情况,制作课程表;
·教务管理人员必须维护关于课程、教师和学生的所有信息;
·财务管理系统从本系统中取出收费信息。
(1)使用 Rational Rose 创建执行者(Actors)
实验三 面向对象分析与设计

(2)使用 Rational Rose 创建用例(Use Case)
实验三 面向对象分析与设计
(3)使用 Rational Rose 创建主用例图(Main Use Case Diagram)
实验三 面向对象分析与设计

1.3活动图(Activity Diagram)的建模(以建立选修课程目录表为例)
1.使用 Rational Rose 创建活动图(Activity Diagram)

实验三 面向对象分析与设计

2.使用 Rational Rose 创建活动(Activity)

实验三 面向对象分析与设计

3.使用 Rational Rose 创建决策点(Decision Points)

实验三 面向对象分析与设计

4.使用 Rational Rose 创建同步条(Synchronization Bar)

实验三 面向对象分析与设计

5.使用 Rational Rose 创建泳道( Swim lanes)

实验三 面向对象分析与设计

6.使用 Rational Rose 创建起始活动和终止活动

1.4相关的包和类以及简单类图
1.在 Rational Rose 的 Browser 框中创建类(Class)

实验三 面向对象分析与设计

边界类〈Boundary Classes〉:
·可用来塑造操作者与系统之间的交互;
·可用来理清用户在系统边界上的需求;
·可设计抽象的用户界面对象。
控制类〈Control Classes〉:
·可协调对象之间的交易;
·可将使用案例的细节部分封装起来;
·可将复杂的计算或商务逻辑封装起来。
实体类〈Entity Classes〉:
·代表永久保存的信息;
·代表 E-R 模型之中人、事、时、地、物或概念的信息及行为。

2.在 Rational Rose 的 Browser 框中创建包(Packages)

实验三 面向对象分析与设计

3.Rational Rose 中的主类图(Main Class Diagram)

实验三 面向对象分析与设计

4.在 Rational Rose 中创建包中的主类图(Package Main Class Diagram)
实验三 面向对象分析与设计

1.5 用例实现图(Use Case Realization Diagram)
1.使用 Rational Rose 创建逻辑视图中的用例图(Use Case Diagram)

实验三 面向对象分析与设计

1.6 顺序图(Sequence Diagram)与合作图(Collaboration Diagram)
1.使用 Rational Rose 创建顺序图(Sequence Diagram)

实验三 面向对象分析与设计

2.在顺序图中创建对象和信息

实验三 面向对象分析与设计

3.给顺序图中的对象分配类

实验三 面向对象分析与设计

1.7 调整类之间的关系
1.使用 Rational Rose 创建关系(Relationship)

实验三 面向对象分析与设计

2.使用 Rational Rose 创建角色(Role)
实验三 面向对象分析与设计

3.增加多重度

实验三 面向对象分析与设计

4.创建包之间的关系

实验三 面向对象分析与设计

5.使用 Rational Rose 创建属性和方法

右击 browser 框 Logica View 中 UniversityArtifacts 包中的类,弹出快捷菜单;
选择 New——Attribute 项,输入相应的名字;
重复 1——2 步,完成添加属性;
右击 browser 框 Logica View 中 UniversityArtifacts 包中的类,弹出快捷菜单;
选择 New——Operation 项,输入相应的名字;
重复 4——5 步,完成添加操作
6.在类中增加了属性和操作后对类图的影响

实验三 面向对象分析与设计

7.使用 Rational Rose 创建一个有泛化关系的类图
实验三 面向对象分析与设计

8.将有泛化关系的类图进行扩展
实验三 面向对象分析与设计

9.将有泛化关系的类图进行优化
实验三 面向对象分析与设计

10.将有泛化关系的类图进行多层泛化

实验三 面向对象分析与设计

1.8 状态图(Statechart Diagram)
1.使用 Rational Rose 创建状态图(Statechart Diagrams)

实验三 面向对象分析与设计

2.使用 Rational Rose 创建状态(States)

实验三 面向对象分析与设计

3.使用 Rational Rose 创建状态转换(State Transitions)
实验三 面向对象分析与设计

4.使用 Rational Rose 创建起始状态

实验三 面向对象分析与设计

5.使用 Rational Rose 创建结束状态

实验三 面向对象分析与设计

6.使用 Rational Rose 增加状态转换的细节部分

实验三 面向对象分析与设计

7.使用 Rational Rose 增加状态的 Actions 部分

实验三 面向对象分析与设计

五、思考题
阅读《资料三、网上招聘系统开发文档》指出其需求规格说明书可能存在的问题
需求规格说明书中的项目背景要有较完整的描述,并且对于设计目标需要有明确简洁的叙述,
对于用户需求,需要详细了解该产品的定义,即它所运行的环境,使用产品的用户和已知的限制、假设与依赖。也需要明确产品的
需求,即把用户需求描述成产品需求,并明确解释各个子系统的需求。

六、个人小结
在本次实验过程中,对基于UML的面向对象分析与设计方法有了更深入的了解,
并随着不断的实验,对于Rational Rose的使用越来越熟练,对面向对象的分析与设计方法中的核心思想有了更深的领悟。

(PSP)

psp2.1 任务内容 计划完成需要的时间(min) 实际完成需要的时间(min)
Planning 计划 30 25
Estimate 估计这个任务需要多少时间,并规划大致工作步骤 50 80
Development 开发 100 150
Analysis 需求分析(包括学习新技术) 40 30
Design Spec 生成设计文档 40 20
Design Review 设计复审 10 10
Coding Standard 代码规范 10 15
Design 具体设计 200 150
Coding 具体编码 30 20
Code Review 代码复审 5 10
Test 测试(自我测试,修改代码,提交修改) 10 15
Reporting 报告 80 70
Test Report 测试报告 15 10
Size Measurement 计算工作量 10 10
Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 10 15
上一篇:面向对象分析与设计


下一篇:实验三 面向对象分析与设计