软工导论知识框架(六)面向对象分析

前言:绘制各种类型的图是重点,对于面向对象建模中需要绘制的图总结在第五期中:

软工导论知识框架(五)面向对象方法学


软工导论知识框架(六)面向对象分析_第1张图片

一.分析过程

1.获取需求

  • 与用户交谈,向用户提问题;  
  • 参观用户的工作流程,观察用户的操作;  
  • 向用户群体发调查问卷;  
  • 与同行、专家交谈,听取他们的意见;  
  • 分析已经存在的同类软件产品,提取需求;  
  • 从行业标准、规则中提取需求;  
  • 从Internet上搜查相关资料等。

2.整理需求:书写需求陈述

   需求陈述内容包括问题范围,功能需求,性能需求,应用环境及假设条件。(建模用的蓝本

3.建立模型

面向对象分析模型由三个独立模型组成:

  • 功能模型:指明系统应“做什么”,由用例图表示。
  • 对象模型:描述静态结构, 定义做事情实体,类图和对象图表示。
  • 动态模型:描述交互过程, 由状态图和顺序图表示。

4.书写需求规格说明书

5.复审

二.功能模型

功能模型用用例图表达,研究需求陈述建立用例图:

1.识别外部执行者

2.识别用例

3.建立用例图

4.补充用例描述:为建立对象模型和动态模型打基础

软工导论知识框架(六)面向对象分析_第2张图片

软工导论知识框架(六)面向对象分析_第3张图片 

三.对象模型

对象模型描述类及相互关系,表达目标系统静态结构。

建立对象模型步骤:

1.确定分析类: 分析模型中,分析类是概念层次上内容,类直接与应用逻辑相关,不关注技术实现。

(1)找出候选分析类    

①边界类:通常,一参与者与一用例间交互或通信关联对应一边界类。    

软工导论知识框架(六)面向对象分析_第4张图片

②控制类:  控制类负责协调边界类和实体类,通常在现实世界没有对应的事物。一般来说,一个用例对应一个控制类。   

软工导论知识框架(六)面向对象分析_第5张图片

 ③实体类:实体类通常是用例中的参与对象,对应着现实世界中“事物”。

软工导论知识框架(六)面向对象分析_第6张图片

非正式分析法实现实体类的识别:需求陈述中的名词。 

(2)筛选出正确的类

① 冗余   

② 无关    

③ 笼统    

④ 属性     

⑤ 操作   

⑥ 实现     事务日志、通信链路。

(如上类型要进一步考虑完成筛选)

2.确定类的关联:

(1)初步确定关联:动词或动词词组、隐含关联、与用户及领域专家讨论补充。

① 直接提取动词短语

② 需求陈述中隐含的关联

③ 根据问题域知识得出的关联

(2)筛选

  ① 已删去类之间关联 

  ② 与问题无关或与实现密切相关的关联删去。

  ③ 瞬时事件    

  ④ 三元关联  : 三个或三个以上对象关联,可分解为二元关联或限定关联。

(3)进一步完善

 ① 正名

 ② 分解

 ③ 补充     

   软工导论知识框架(六)面向对象分析_第7张图片

 3.划分主题;    

软工导论知识框架(六)面向对象分析_第8张图片

4.确定属性——需求陈述中的名词  

(1)误把类当属性 :独立存在更重要,则应为类。  

(2)误把链属性作为属性 :属性要依赖某关联链存在,则为关联类的属性。  

(3)误把限定当属性:属性值固定下来可减少重数,则应为限定。  

(4)误把内部状态当属性:对象的非公开内部状态不作属性。  

(5)过于细化:忽略对大多数操作都没有影响的属性。  

(6)存在不一致属性:分解两个类。

软工导论知识框架(六)面向对象分析_第9张图片

 5.识别继承

软工导论知识框架(六)面向对象分析_第10张图片

 6.反复修改

软工导论知识框架(六)面向对象分析_第11张图片

 四.动态模型:开发交互式系统,动态模型非常重要

1.编写典型交互行为脚本  

 ①正常情况脚本  

 ②异常情况脚本  

 ③错误情况脚本

2.从脚本中提取事件及相关对象,用顺序图表达  

软工导论知识框架(六)面向对象分析_第12张图片

 

从脚本提取所有外部事件,确定每类事件发送和接收对象。   针对系统中的典型功能,画出顺序图。

3.确定对象状态及状态间转换关系,用状态图描绘

软工导论知识框架(六)面向对象分析_第13张图片

你可能感兴趣的:(软件工程导论总结,考研,软件工程,笔记)