软件工程——第10章面向对象分析知识点整理

本专栏是博主个人笔记,主要目的是利用碎片化的时间来记忆软工知识点,特此声明!

文章目录

1.分析工作主要包括哪三项内容?

 2.面向对象分析是一个怎样的过程?

3.需求陈述是一成不变的吗?

4.复杂问题的对象模型通常由哪5个层次组成?

5.面向对象分析建立模型的顺序?

6.建立对象模型的步骤?

7.面向对象分析的大体顺序?

8.需求陈述的内容包括哪些?

9.需求陈述是一成不变的文档吗?

10.面向对象分析首要的工作是什么?为什么?

11.开发大型复杂系统为了降低复杂程度,人们习惯于?

12.建立动态模型包括什么?

13.编写脚本的目的是?

14.脚本描述时间的序列和编写脚本的过程实质是?

15.事件跟踪图实质上是?

章末小结


1.分析工作主要包括哪三项内容?

所有的分析过程都是提取系统需求的过程,分析工作主要包括:理解、表达、验证三项内容

 2.面向对象分析是一个怎样的过程?

面向对象分析,就是一个抽取和整理用户需求建立问题域精确模型的过程

3.需求陈述是一成不变的吗?

不是。需求陈述通常是不完整、不准确的,而且往往是非正式的,不是一成不变的,应该把它作为细化和完善需求的基础

4.复杂问题的对象模型通常由哪5个层次组成?

  1. 主题层
  2. 类与对象层
  3. 结构层
  4. 属性层
  5. 服务层

【注】:这5项工作没有必要顺序完成,也无须彻底完成一项工作以后再开始另一项工作

软件工程——第10章面向对象分析知识点整理_第1张图片

5.面向对象分析建立模型的顺序?

        通常的顺序是先建立对象模型,在对象模型中定义每个类的服务之前,建立起动态模型功能模型

6.建立对象模型的步骤?

  1. 确定类与对象
  2. 确定关联
  3. 划分主题
  4. 确定属性
  5. 识别继承

7.面向对象分析的大体顺序?

  1. 寻找类与对象
  2. 识别结构
  3. 识别主题
  4. 定义属性
  5. 建立动态模型
  6. 建立功能模型
  7. 定义服务

8.需求陈述的内容包括哪些?

  1. 问题范围
  2. 功能需求
  3. 性能需求
  4. 应用环境及假设条件

9.需求陈述是一成不变的文档吗?

不是。需求陈述可简可繁,它仅仅是理解用户需求的出发点,并不是一成不变的文档

10.面向对象分析首要的工作是什么?为什么?

面向对象分析首要的工作是建立问题域的对象模型

因为对象模型表示了目标系统的静态数据结构,而静态数据结构对应用细节依赖较少,比较易确定,也比较稳定

11.开发大型复杂系统为了降低复杂程度,人们习惯于?

人们习惯进一步把系统划分成几个不同的主题,按照问题领域而非功能分解方法来确定

12.建立动态模型包括什么?

  1. 建立状态图
  2. 建立顺序图(时序图)
  3. 建立活动图

13.编写脚本的目的是?

为了保证不遗漏重要的交互步骤,它有助于确保整个交互过程的正确性和清晰性

14.脚本描述时间的序列和编写脚本的过程实质是?

实质上就是分析用户对系统交互行为的要求的过程

15.事件跟踪图实质上是?

事件跟踪图实质上是扩充的脚本,可以认为事件跟踪图是简化的UML顺序图

章末小结

        分析就是提取系统需求建立问题域精确模型的过程,它包括理解、表达和验证3项主要工作内容。面向对象分析的关键工作是分析、确定问题域中的对象及对象间的关系,并建立起问题域的对象模型。

        大型、复杂系统的对象模型通常由下述 5 个层次组成:主题层、类与对象层、结构层属性层和服务层。它们对应着在建立对象模型的过程中所应完成的 5 项工作。

        大多数分析模型都不是一次完成的,为了理解问题域的全部含义,必须反复多次地进行分析。因此,分析工作不可能严格地按照预定顺序进行;分析工作也不是机械地把需求陈述转变为分析模型的过程。分析员必须与用户及领域专家反复交流、多次磋商,及时纠正错误认识并补充缺少的信息。

        分析模型是系统分析员同用户及领域专家交流时有效的通信手段。最终的模型必须得到用户和领域专家的确认。在交流和确认的过程中,原型往往能起很大的促进作用。

        一个好的分析模型应该正确完整地反映问题的本质属性,且不包含与问题无关的内容。分析的目标是全面深入地理解问题域,其中不应该涉及具体实现的考虑。但是,在实际的分析过程中完全不受与实现有关的影响也是不现实的。虽然分析的目的是用分析模型取代需求陈述,并把分析模型作为设计的基础,但是事实上,在分析与设计之间并不存在绝对的界线

下一章:软件工程——第11章面向对象设计知识点整理

反反复复,扎扎实实;念念不忘,必有回响! 

你可能感兴趣的:(软件工程,软件工程,面向对象分析,对象模型,动态模型,功能模型)