实验三 面向对象分析与设计
面向对象分析与设计
博客班级 | AHPU软件工程 |
---|---|
作业要求 | 面向对象分析与设计 |
作业目标 | 掌握面向对象分析与设计方法 |
学号 | 3180701214 |
一.实验目的
1、了解基于UML的面向对象分析与设计方法
2、掌握用例图的绘制、用例规约(文档)的编制
3、掌握类图、活动图、状态图、时序图的绘制方法
二.实验内容
1、 参照实验指导书完成在线选课系统、或试卷自动生成系统,或人事信息管理系统的用例图、类图、活动图、状态图、时序图等的绘制
【实例1】在线选课系统
1) 大学教师选择本学期要教授的课程,每位教师最多只能上报 4 门课程。
2) 教师选课结束后,教务管理人员进行协调和确认教师的课程,并创建本学期的课程目录表,向学生公布。
3) 学生填写课程选修表,每个学生最多选修 4 门课程;每门选修课程的学生数最多为 10 人,最少为 3 人。人数达到 10 人时,停止学生登记注册此门课程;
4) 学生选课结束后,系统自动取消人数少于三人的课程。
5) 学生按最终的课程表到财务处办理收费手续(billing system)。
6) 教师可查询所教课程的学生花名册(roster)。
7) 教务管理人员维护学生、教师和课程的信息。
【实例2】试卷自动生成系统
1) 教师根据教学资料录入试题,并对其进行分类。待需要考试时,设置好一定的条件,系统就从题库中选中试题自动生成考试试卷
2) 考试试卷生成系统的成卷模式应用智能出卷(由系统随机选题)和手工出卷(教师自己选择题目)两种组卷方式
【实例3】人事信息管理系统
参考:阿里巴巴钉钉智能人事系统
2、完成对教材订购系统,或飞机订票系统(根据自己的选题)面向对象的建模
三.实验步骤
1、熟悉Rational rose的绘图方法,阅读实验指导《使用 Rational Rose 进行 UML 可视化建模》,以及实验指导书实验十一与实验十二
2、使用 Rational rose 完成在线选课系统、或试卷自动生成系统,或人事信息管理系统等的用例图、类图的绘制
3、使用 Rational rose 完成在线选课系统、或试卷自动生成系统,或人事信息管理系统等的活动图、状态图、时序图等的绘制
4、使用教材中用例描述模版描述在线选课系统的 Register for course 用例或试卷自动生成系统的自动组卷用例,或人事信息管理系统等中的某个用例
5、为教材订购系统,或飞机订票系统等(根据自己的选题)绘制用例图,并分析某个用例为其绘制类图、时序图、活动图等
四.实验结果
1.问题陈述
● 大学教师选择本学期要教授的课程,每位教师最多只能上报 4 门课程。
● 教师选课结束后,教务管理人员进行协调和确认教师的课程,并创建本学期的课程目录表,向学生公布。
● 学生填写课程选修表,每个学生最多选修 4 门课程;每门选修课程的学生数最多为 10 人,最少为 3 人。人数达到 10 人时,停止学生登记注册此门课程;
● 学生选课结束后,系统自动取消人数少于三人的课程。
● 学生按最终的课程表到财务处办理收费手续(billing system)。
● 教师可查询所教课程的学生花名册(roster)。
● 教务管理人员维护学生、教师和课程的信息。
2.用例图(Use Case View)
1>《在线选修课程管理系统》中的执行者(Actors)
● 注册选修课程的学生;
● 教授选修课程的教师;
● 教务管理人员必须汇总选修课程情况,制作课程表;
● 教务管理人员必须维护关于课程、教师和学生的所有信息;
● 财务管理系统从本系统中取出收费信息。
2>使用 Rational Rose 创建执行者(Actors)
3>《在线选修课程管理系统》中的用例(Use Case)
● 注册选修课程(学生);
● 选择教授的选修课程(教师);
● 索取课程花名册(Roster)(教师);
● 维护课程信息(教务管理人员);
● 维护教师信息(教务管理人员);
● 维护学生信息(教务管理人员);
● 创建课程目录(教务管理人员);
4>使用 Rational Rose 创建用例(Use Case)
5>使用 Rational Rose 创建主用例图(Main Use Case Diagram)
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 创建起始活动和终止活动
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)
5.用例实现图(Use Case Realization Diagram)
1>使用 Rational Rose 创建逻辑视图中的用例图(Use Case Diagram)
6.顺序图(Sequence Diagram) 与合作图(CollaborationDiagram)
1>使用 Rational Rose 创建顺序图(Sequence Diagram)
2>在顺序图中创建对象和信息
3>给顺序图中的对象分配类
4>将顺序图转换为合作图
7.调整类之间的关系
1>使用 Rational Rose 创建关系(Relationship)
2>使用 Rational Rose 创建角色(Role)
3>增加多重度
4>创建包之间的关系
5>使用 Rational Rose 创建属性和方法
6>在类中增加了属性和操作后对类图的影响
7>使用 Rational Rose 创建一个有泛化关系的类图
8>将有泛化关系的类图进行扩展
9>将有泛化关系的类图进行优化
10>将有泛化关系的类图进行多层泛化
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 部分
五.作业小结
1.psp表格
psp2.1 | 任务内容 | 计划完成需要的时间(min) | 实际完成需要的时间(min) |
---|---|---|---|
Planning | 计划 | 90 | 90 |
Development | 开发 | 90 | 100 |
Analysis | 需求分析(包括学习新技术) | 60 | 70 |
Design Spec | 生成设计文档 | 30 | 50 |
Design Review | 设计复审 | 5 | 10 |
Coding Standard | 代码规范 | 60 | 70 |
Design | 具体设计 | 10 | 12 |
Coding | 具体编码 | 240 | 240 |
Code Review | 代码复审 | 5 | 7 |
Test | 测试(自我测试,修改代码,提交修改) | 30 | 50 |
Reporting | 报告 | 9 | 6 |
Test Report | 测试报告 | 3 | 9 |
Size Measurement | 计算工作量 | 20 | 40 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 30 | 40 |
2.心得和经验
通过本次作业,我了解了基于UML的面向对象分析与设计方法,掌握了用例图、用例规约(文档)的编制方法,同时也掌握了类图、活动图、状态图、时序图的绘制方法,还接触到并使用了新的软件进行图形的绘制。总之,本次作业收获很多,也感受到了绘制图形的乐趣。