面向对象需求分析方法
面向对象=对象+类+继承+通信
面向对象技术是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术
基本概念
对象:
系统中用来描述客观事物的一个实体,由一组属性和对这组属性进行操作的一组服务组成
– 属性:描述对象的静态特征
– 服务:描述对象的动态特征
类:
具有相同属性和服务的一组对象的集合,为属于该类的全部对象提供统一的抽象描述,包括属性和服务
消息:
对象之间的通信方式
– 服务请求:服务提供者的对象标识、服务标识、输入信息
– 服务应答:应答信息
一个消息主要由5部分组成:
– 消息的发送对象
– 消息的接收对象
– 消息的传递方式
– 消息的内容
– 消息的返回
事件:
事件通常是指一种由系统预先定义而由用户或系统发出的动作
? 事件作用于对象,对象识别事件并作出相应反应
? 事件的集合通常是固定的,用户不能随便定义新的事件
? 对象通过对外提供的方法在系统中发挥自己的作用,当系统中的 其它对象请求这个对象执行某个方法时,就向该对象发送一个消息,对象响应这个请求,完成指定的操作。
? 系统的执行取决于事件发生的顺序,由顺序产生的消息来驱动程序的执行。
基本特征
抽象:
抽象描述了一个对象的基本特征,可以将这个对象与所有其它类型的对象区分开来,因此提供了清晰定义的概念边界,它与观察者的视角有关。
对于给定的问题域决定一组正确的抽象,是面向对象设计的核心问题。
封装:
封装是把对象的状态和行为绑到一起的机制,把对象形成 一个独立的整体,并且尽可能的隐藏对象的实现细节。
? 封装有两个含义
①把对象的全部状态和行为结合一起,形成一个不可分割的整 体。对象的私有属性只能够由对象的行为来修改和读取。
②尽可能隐蔽对象的内部细节,与外界的联系只能够通过外部 接口来实现。
继承:
继承是一种连接类与类之间的层次模型,通过确定这些层次结构 ,可以极大简化对系统的理解
多态:
多态是指两个或多个属于不同类的对象,对于同一个消息 或方法调用,作出不同响应的能力。
? 超类中定义的属性或者服务被子类继承后,可以具有不同 的数据类型或者表现出不同的行为
? 在具有继承关系的类层次结构中,不同层次的类可以共享 一个操作,但是各自具有不同的实现
流程建模
序列图(2):
序列图用来描述对象间的交互,描述系统中各个对象按照时间顺序交互的过程
序列图由一组对象及它们之间的消息组成,强调消息的时间顺序
序列图是对象之间传递消息的时间顺序的可视化表示
序列图的UML表示:
– 序列图将交互关系表示为一个二维图
– 横向代表了在交互中各独立对象的角色
– 纵向是时间轴,时间沿竖线向下延伸
– 角色使用生命线进行表示
? 当对象存在且不处于激活状态时,生命线用一条虚线表示
? 当对象处于激活状态时,生命线用一个细长矩形表示
– 序列图中的消息使用从一个对象的生命线到另一个对象生命 线的箭头表示,箭头按时间顺序在图中从上到下排列
行为建模
通信图/协作图(3)
表现对象协作关系的图,是对交互的建模
由对象以及它们之间的关联组成,强调对象间的连接关系, 消息的时间顺序使用序列 表示
协作图与序列图语义等价,与序列图可相互转换
需求定义
需求规格说明书
需求验证
依据:需求规格说明书
评审:分析人员、客户、开发人员、测试人员
考纲
需求分析
重点是需求分析的一般步骤、数据流图、用例图、活动图、需求规格说明文档的编制。掌握结构化分析模型的导出、数据流图/用例图/活动图的基本画法和需求规格说明文档的编制;理解需求分析的过程、主要步骤。主要知识点:
- 需求分析的概念
- 需求分析的过程:需求确认与需求变更
- 需求确认的步骤:需求获取→需求提炼→需求描述→需求验证
- 需求分析三类建模:功能模型、数据模型、行为模型。面向过程和面向对象的需求分析过程中,三类模型各包含哪些内容/li>
- 掌握数据流图和用例图作法。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!