本专栏是博主个人笔记,主要目的是利用碎片化的时间来记忆软工知识点,特此声明!
文章目录
1.分析工作主要包括哪三项内容?
2.面向对象分析是一个怎样的过程?
3.需求陈述是一成不变的吗?
4.复杂问题的对象模型通常由哪5个层次组成?
5.面向对象分析建立模型的顺序?
6.建立对象模型的步骤?
7.面向对象分析的大体顺序?
8.需求陈述的内容包括哪些?
9.需求陈述是一成不变的文档吗?
10.面向对象分析首要的工作是什么?为什么?
11.开发大型复杂系统为了降低复杂程度,人们习惯于?
12.建立动态模型包括什么?
13.编写脚本的目的是?
14.脚本描述时间的序列和编写脚本的过程实质是?
15.事件跟踪图实质上是?
章末小结
1.分析工作主要包括哪三项内容?
所有的分析过程都是提取系统需求的过程,分析工作主要包括:理解、表达、验证三项内容
2.面向对象分析是一个怎样的过程?
面向对象分析,就是一个抽取和整理用户需求并建立问题域精确模型的过程
3.需求陈述是一成不变的吗?
不是。需求陈述通常是不完整、不准确的,而且往往是非正式的,不是一成不变的,应该把它作为细化和完善需求的基础
4.复杂问题的对象模型通常由哪5个层次组成?
- 主题层
- 类与对象层
- 结构层
- 属性层
- 服务层
【注】:这5项工作没有必要顺序完成,也无须彻底完成一项工作以后再开始另一项工作
5.面向对象分析建立模型的顺序?
通常的顺序是先建立对象模型,在对象模型中定义每个类的服务之前,建立起动态模型和功能模型
6.建立对象模型的步骤?
- 确定类与对象
- 确定关联
- 划分主题
- 确定属性
- 识别继承
7.面向对象分析的大体顺序?
- 寻找类与对象
- 识别结构
- 识别主题
- 定义属性
- 建立动态模型
- 建立功能模型
- 定义服务
8.需求陈述的内容包括哪些?
- 问题范围
- 功能需求
- 性能需求
- 应用环境及假设条件
9.需求陈述是一成不变的文档吗?
不是。需求陈述可简可繁,它仅仅是理解用户需求的出发点,并不是一成不变的文档
10.面向对象分析首要的工作是什么?为什么?
面向对象分析首要的工作是建立问题域的对象模型
因为对象模型表示了目标系统的静态数据结构,而静态数据结构对应用细节依赖较少,比较易确定,也比较稳定
11.开发大型复杂系统为了降低复杂程度,人们习惯于?
人们习惯进一步把系统划分成几个不同的主题,按照问题领域而非功能分解方法来确定
12.建立动态模型包括什么?
- 建立状态图
- 建立顺序图(时序图)
- 建立活动图
13.编写脚本的目的是?
为了保证不遗漏重要的交互步骤,它有助于确保整个交互过程的正确性和清晰性
14.脚本描述时间的序列和编写脚本的过程实质是?
实质上就是分析用户对系统交互行为的要求的过程
15.事件跟踪图实质上是?
事件跟踪图实质上是扩充的脚本,可以认为事件跟踪图是简化的UML顺序图
章末小结
分析就是提取系统需求并建立问题域精确模型的过程,它包括理解、表达和验证3项主要工作内容。面向对象分析的关键工作是分析、确定问题域中的对象及对象间的关系,并建立起问题域的对象模型。
大型、复杂系统的对象模型通常由下述 5 个层次组成:主题层、类与对象层、结构层属性层和服务层。它们对应着在建立对象模型的过程中所应完成的 5 项工作。
大多数分析模型都不是一次完成的,为了理解问题域的全部含义,必须反复多次地进行分析。因此,分析工作不可能严格地按照预定顺序进行;分析工作也不是机械地把需求陈述转变为分析模型的过程。分析员必须与用户及领域专家反复交流、多次磋商,及时纠正错误认识并补充缺少的信息。
分析模型是系统分析员同用户及领域专家交流时有效的通信手段。最终的模型必须得到用户和领域专家的确认。在交流和确认的过程中,原型往往能起很大的促进作用。
一个好的分析模型应该正确完整地反映问题的本质属性,且不包含与问题无关的内容。分析的目标是全面深入地理解问题域,其中不应该涉及具体实现的考虑。但是,在实际的分析过程中完全不受与实现有关的影响也是不现实的。虽然分析的目的是用分析模型取代需求陈述,并把分析模型作为设计的基础,但是事实上,在分析与设计之间并不存在绝对的界线。
下一章:软件工程——第11章面向对象设计知识点整理
反反复复,扎扎实实;念念不忘,必有回响!