概述
要求: 掌握OO分析的方法和步骤,业务,能够使用UML图进行分析建模(类图、用例图、状态图、顺序图等)
- 面向对象分析是是辈出问题域内的对象,并分析它们相互间的关系,最终建立起问题域的简洁、精确、可理解的正确模型
- 在用面向对象观点建立起的三种模型中,对象模型(类图)是 最基本、最重要、最核心的
面向对象分析的过程
面向该对象分析,就是抽取和整理用户或需求并建立问题域精确模型的过程
- 用用例图捕获需求
- 基于用例图构件类图
3个子模型5个层次
- 3个子模型:对象模型,动态模型,功能模型
- 5个层次
- 主题层(通常对应包的划分)
- 类与对象层
- 结构层
- 属性层
- 服务层
大体流程
- 寻找类与对象
- 识别结构
- 识别主题
- 定义属性
- 建立动态模型
- 建立功能模型
- 定义服务
需求陈述
- 通常,需求陈述的内容包括:问题范围,功能需求,性能需求,应用环境及假设条件等。总之,需求陈述应该阐明“做什么”而不是“怎样做”
- 描述用户的需求而不是提出解决问题的方法
- 应该避免对设计策略施加过多的约束,也不要描述系统的内部结构,这样做将限制实现的灵活性
- 对系统性能及系统与外界环境交互协议的描述,是合适的需求
- 此外,对采用的软件工程标准、模块构造准则、将来可能做的扩充以及可维护性要求等方面的描述,也都是适当的需求。
建立对象模型
确定类与对象
确定关联
划分主题
- 在开发大型、复杂系统的过程中,为了降低复杂程度,习惯于把系统再进一步划分成几个不同的主题,也就是在概念上把系统包含的内容分解成若干个范畴
确定属性
识别继承关系
反复修改
建立动态模型
- 第一步,是编写典型交互行为的脚本
- 第二步,从脚本中提取出事件,确定除服每个事件的动作对象以及接受事件的目标对象(画出事件跟踪图)
- 第三步,排雷事件发生的次序,确定每个对象可能有的状态及状态之间的转换关系,并用状态图描绘它们
建立功能模型
- 画出基本的系统模型图
- 画出功能级数据流图
EG:
- 对象模型参考:
- 动态模型参考
- 脚本
- 事件跟踪图
- 功能模型参考