文章目录

  • 一.实验目的
  • 二、实验内容
    • 实例1:在线选课系统
    • 实例2:试卷自动生成系统
    • 实例3:人事信息管理系统
  • 三、实验步骤
  • 四、实验内容
    • 1.问题陈述
    • 2.用例图(Use Case View)的建模
    • 3.活动图(Activity Diagram)的建模
    • 4.相关的包和类以及简单类图
    • 5. 用例实现图(Use Case Realization Diagram)
    • 6. 顺序图(Sequence Diagram)与合作图(Collaboration Diagram)
    • 7. 调整类之间的关系
    • 8. 状态图(Statechart Diagram)
  • 五、思考题

一.实验目的

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.问题陈述

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

2.用例图(Use Case View)的建模

  1. 使用 Rational Rose 创建执行者(Actors)

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

  • 注册选修课程的学生
  • 教授选修课程的教师
  • 教务管理人员必须汇总选修课程情况,制作课程表
  • 教务管理人员必须维护关于课程、教师和学生的所有信息
  • 财务管理系统从本系统中取出收费信息



  1. 用 Rational Rose 创建用例(Use Case)

《在线选修课程管理系统》中的用例(Use Case)

  • 注册选修课程(学生);
  • 选择教授的选修课程(教师);
  • 索取课程花名册(Roster)(教师);
  • 维护课程信息(教务管理人员);
  • 维护教师信息(教务管理人员);
  • 维护学生信息(教务管理人员);
  • 创建课程目录(教务管理人员);



  1. 使用 Rational Rose 创建主用例图(Main Use Case Diagram)

3.活动图(Activity Diagram)的建模

  1. 使用 Rational Rose 创建活动图(Activity Diagram)

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

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


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


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


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


4.相关的包和类以及简单类图

1.在 Rational Rose 的 Browser 框中创建类(Class)


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

PeopleInfo 包用来存放与人员有关的内容;
Interfaces 包用来存放与界面有关的内容;
UniversityArtifacts 用来存放与学校工件有关的内容


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


  1. 在 Rational Rose 中创建包中的主类图(Package Main Class Diagram)


5. 用例实现图(Use Case Realization Diagram)

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


6. 顺序图(Sequence Diagram)与合作图(Collaboration Diagram)

  1. 使用 Rational Rose 创建顺序图(Sequence Diagram)


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


  1. 给顺序图中的对象分类


  1. 将顺序图转换为合作图

7. 调整类之间的关系

  1. 使用 Rational Rose 创建关系(Relationship)


  1. 使用 Rational Rose 创建角色(Role)


  1. 增加多重度


  1. 创建包之间的关系


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

  2. 在类中增加了属性和操作后对类图的影响


  1. 使用 Rational Rose 创建一个有泛化关系的类图


  1. 将有泛化关系的类图进行扩展


  1. 将有泛化关系的类图进行优化


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


8. 状态图(Statechart Diagram)

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


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


  1. 使用 Rational Rose 创建状态转换(State Transitions)


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

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


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


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

五、思考题

阅读《资料三、网上招聘系统开发文档》指出其需求规格说明书可能存在的问题

实验三 面向对象分析与设计相关推荐

  1. 面向对象分析与设计:ATM系统设计实验汇总

    在大学里选修 <面向对象否分析与设计>课程时,实验笔记的汇总 面向对象分析与设计:实验 1 ATM 系统问题描述与词汇表 面向对象分析与设计:实验 2 Use Case 图与 Use Ca ...

  2. 实验三 面向对象(二)(预习报告)

    面向对象--Java实验报告 实验三:Java面向对象(二) 实验三 面向对象(二)(预习报告) <center> <strong>姓名:</strong> < ...

  3. 实验三 面向对象(二)

    实验三 面向对象(二) <center> <strong>姓名:</strong> <u>XXX</u>    <strong> ...

  4. 面向对象分析与设计--遛狗玩

    这篇文章焦点并不在于继承以及多态性或者各种炫酷的设计模式上面,也不在与对未来的预测,而在于分析最基本的封装,提取类,组合 人遛狗的最简形式 public class People {public st ...

  5. 面向对象分析与设计的底层逻辑

    面向对象是符合人认识事物的基本方法 人是怎么认识事物的 在面向对象出现之前,已有面向过程的分析方法,为什么面向对象被提出了呢?究其本质原因,人们发现面向过程并不是按照人正常认识事物的方式去分析软件,那 ...

  6. 视频教程-面向对象分析与设计-软件设计

    面向对象分析与设计 在企业从事软件开发.架构设计.项目经理10年: 高校从教20余年,为本科生授课10余门; 组织项目开发15余项 姜宁康 ¥168.00 立即订阅 扫码下载「CSDN程序员学院APP ...

  7. 面向对象分析与设计--OOAD

    面向对象(Object Oriented,OO)是当前计算机界关心的重点,它是90年代软件开发方法的主流.面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围.如数据库系统.交互式界面.应 ...

  8. 软考——软件工程——面向对象分析与设计方法

    目录 1,面向对象的基本概念 2,面向对象分析与设计 2.1,面向对象分析OOA 2.2,面向对象设计OOD 2.3,面向对象编程OOP 面向对象(Object-Oriented)OO. 面向对象的基 ...

  9. 面向对象分析与设计(OOAD)

    面向对象分析与设计(OOAD) 概述 人是怎么认识事物的 分类与分层的两种思维 问题域到解空间的映射 软件生命周期 要解决的问题 三个一致性 面向对象分析与设计过程 对象从哪里来 发现对象的方法 组织 ...

最新文章

  1. linux go redis,使用go来操作redis的方法示例
  2. Hyper-V 2016 系列教程26 Hyper-v平台并口外设解决方案介绍
  3. povray[1] = 天空
  4. POJ 3687 Labeling Balls
  5. How is product data bound in Opportunity Edit page
  6. 电压kV为什么k要小写,原因你知道吗?
  7. 【Arduino】OTTO机器人(做二次开发的一点点总结)
  8. Android 应用开发(32)--工程相关解析(各种文件,资源访问)
  9. Python 进阶 —— 装饰器函数的使用
  10. django admin 登陆快速添加验证码功能
  11. 韵乐x5最佳参数手动_机器学习 4 个常用超参数调试方法!
  12. 为什么Windows鼠标指针是弯的?
  13. xml文件中SQL语句的大于号、小于号、等于号的转义问题
  14. [转帖]谨防(练拳时)膝关节损伤十一要
  15. 9种 『MySQL数据库』优化的正确姿势
  16. Apache的虚拟主机配置和伪静态操作
  17. 啊哈C——学习2.6一起来找茬
  18. 【linux】【jenkins】自动化运维三 整合gitlab、docker发布vue项目
  19. 端到端与点到点的区别
  20. 大数据学习笔记(四)_MapReduce分布式处理框架

热门文章

  1. 移植智能ABC输入法到Windows XP
  2. 硅谷“钢铁侠”:最不爱钱的人,却成了最有钱的人!
  3. 汇编指令及其英文全称
  4. 深度学习框架之paddlepaddle
  5. error C2872: 'ULONG_PTR' : ambiguous symbol
  6. 如何快速干净的卸载mysql数据库,不影响下次安装
  7. Matlab Function输入输出
  8. LDA主题模型1——数学基础
  9. CDMA与OFDMA的比较
  10. subversion与TortoiseSVN的安装与使用