type
status
date
slug
summary
tags
category
icon
password

面向对象的需求获取概述

 
 
 
 

需求获取概念

 
 
 
 

需求获取管理

 
 
 
 

面向对象分析

三对象模型

在分析对象模型中,包括了实体对象、边界对象和控制对象三种类型。
  • 实体对象表示系统将跟踪的持久信息。
  • 边界对象表示参与者与系统之间的接口和交互。在用例中,每一个参与者至少要与一个边界对象进行交互。边界对象从参与者处收集信息,将之转换成一种可用于实体对象和控制对象的表示形式。
  • 控制对象负责用例实现。例如,在具有两个按钮的卫星表实例中,年、月和日是实体对象;按钮和液晶显示器是边界对象;改变数据控制是控制对象,以表示通过按下组合按钮改变日期的活动。
  • 我们将实体对象、边界对象和控制对象所构成的分析对象模型称为三对象模型
引入边界类、控制类及实体类的概念有助于分析和设计人员确定系统中的类。
  • 边界类位于系统与外界的交界处,图形用户界面、窗体、报表、以及表示通讯协议的类、直接与外部设备交互的类、直接与外部系统交互的类等都是边界类。通过用例图可以确定需要的边界类,每个Actor/Use Case对至少要一个边界类,但并非每个Actor/Use Case对要唯一的边界类。
  • 实体类保存要放进持久存储体的信息。持久存储体就是数据库、文件等可以永久存储数据的介质。实体类可以通过事件流和交互图发现。通常每个实体类在数据库中有相应的表,实体类中的属性对应数据库表中的字段。
  • 控制类是控制其他类工作的类。每个用例通常有一个控制类,控制用例中的事件顺序,控制类也可以在多个用例间共用。其他类并不向控制类发送很多消息,而是由控制类发出很多消息。
 

泛化和特化

继承使得我们能够将概念组织成层次结构。在概念层次的顶层是泛化的概念,在这一概念层次的底层是一些最特化的概念。
在这两个层次之间存在着很多中间层次,涉及到或多或少的通用概念。
  • 泛化是建模中的活动,该活动标明了从多个底层概念中得到的抽象概念。例如,我们可以将交通事故和火灾抽象为紧急情况,以描述交通事件和火灾的共同(或泛化)特征
  • 特化是建模中的活动,该活动将一个源于高层的概念特化为多个实例
notion image
 

顺序图

顺序图将用例与对象联系在一起。该图表达了用例(场景)行为在其参与对象之间是怎样分布的。
顺序图描述对象之间的动态交互关系,着重体现对象间消息传递的时间顺序。
顺序图的基本要素:
  • 对象:对象、对象的生命线、激活的对象和对象的删除。
  • 消息:简单消息、同步消息、异步消息、返回消息。
  • 条件、注释体和注释连接。
顺序图的可视化图符
notion image
notion image
示例
notion image
notion image
顺序图的栏目表示了参与到用例中的对象。最左一栏是初始化用例的参与者。穿越各栏的水平箭头表示从一个对象发给另一个对象的消息或激励。
打叉记号表示对象在退出时消亡,在具有打叉的交互中说明了实例的消亡。在表示对象的矩形与打叉记号之间,用虚线表示该对象可以接收消息的时间跨度。对象不可以接收打叉记号之下的消息。
顺序图中的第二栏表示与该对象交互的参与者初始化该用例的边界对象。
第三栏是管理其余用例的控制对象。
notion image
notion image
 
画出顺序图的启发式准则
  • 顺序图的第一栏对应初始化该用例的参与者;
  • 顺序图的第二栏是边界对象(即该参与者用于初始化该用例);
  • 顺序图的第三栏是管理其余用例的控制对象;
  • 通过边界对象初始化用例,以创建控制对象;
  • 通过控制对象创建边界对象;
  • 实体对象可由控制对象和边界对象进行访问;
  • 实体对象永远不会访问边界对象和控制对象;
  • 这使得通过用例共享实体对象变得容易。
 
 
 
 

分析活动:从用例导出对象

分析活动包括:
  • 标识实体对象:从基本的分析模型中划分对象。通过检查每一个用例和标识候选对象,我们可以发现要找出的对象。
    • Abbott启发式准则,以完成将声音部分映射成模型构件
      语言成分
      模型构件
      实例
      专有名词
      实例
      人员乙
      普通名词
      现场工作人员
      Doing动词
      操作
      创建、提交、选择
      Being动词
      继承
      是…一种, 是其中的一个
      Having动词
      聚集
      有, 由…组成, 包括
      情态动词
      约束
      必须是
      形容词
      属性
      事件描述
      从总体上看,从较短的规格说明陈述中,生成初始候选对象,Abbott的启发式准则做的较好,比如在处理场景和用例的事件流方面。
      启发式准则与Abbott准则结合
      • 为了理解用例,开发者或用户需要澄清的描述项;
      • 用例中的连续名词(如事件);
      • 系统需要跟踪的现实世界中的实体(如现出工作人员,调度者等);
      • 系统需要跟踪的现实世界中的活动(如紧急情况操作预案);
      • 数据源或数据汇(如打印机)。
  • 标识边界对象。
    • 标识用户需要的初始用例的用户界面控制;
    • 标识用户需要键入系统的数据表格;
    • 标识通知和系统用于对用户进行响应的消息;
    • 当多个参与者被包含到一个用例中时,根据需要考虑的用户界面来标识参与者的终止;
    • 不要使用边界对象对接口的可视方面进行建模,而应该使用用户原型建模可视用户界面;
    • 为了描述界面,总是使用最终用户的术语;不要使用来自解答域和实现域的术语。
  • 标识控制对象;
  • 使用顺序图将用例映射成对象;
  • 使用CRC卡建模对象之间的交互;
  • 标识关联;
  • 标识聚集;
  • 标识属性;
  • 建模单一对象的状态相关的行为;
  • 建模对象之间的继承关系;
  • 分析模型评审。
 
 

顺序图

顺序图将用例与对象联系在一起。该图表达了用例(场景)行为在其参与对象之间是怎样分布的。
顺序图描述对象之间的动态交互关系,着重体现对象间消息传递的时间顺序。
顺序图的基本要素:
  • 对象:对象、对象的生命线、激活的对象和对象的删除。
  • 消息:简单消息、同步消息、异步消息、返回消息。
  • 条件、注释体和注释连接。
 
软件工程:面向对象设计软件工程:软件测试
Loading...
Koreyoshi
Koreyoshi
一个无可救药的乐观主义者
Latest posts
编译原理:文法和语言
2025-6-3
智能体开发与接口调用
2025-6-3
软件工程:面向对象设计
2025-6-3
软件工程:面向对象的需求获取与需求分析
2025-6-3
软件工程:软件测试
2025-6-3
编译原理:语法制导翻译技术和中间代码生成
2025-6-3
Announcement
🎉写给自己的2025心愿🎉
保研
国奖
完善博客
学一门乐器
发表一篇论文
拍摄人生照片
去3个城市旅游
专业课知识视频
拍摄毕业季视频
----- 2025 ------
👏希望我们一起变好👏