本专栏是博主个人笔记,主要目的是利用碎片化的时间来记忆软工知识点,特此声明!
文章目录
1.需求分析的基本任务?
2.在需求分析阶段结束前,系统分析员应该做什么?
3.对软件系统有哪些综合要求?
4.需求分析的任务?
5.分析系统的数据要求通常采用什么方法?
6.与用户沟通获取需求的方法有哪些?
7.快速原型的定义、要点以及特性?
8.需求分析过程应该建立哪三种模型?
9.需求分析阶段得出的最主要的文档是什么?
10.数据模型包含哪三种相互关联的信息?
11.ER图的组成成份?
12.ER图的优点?
13.范式是什么?数据冗余程度最大和最小分别是第几范式?
14.状态转换图的作用?
15.状态和事件的区别?
16.层次方框图使用哪种结构来描述数据的层次结构?
17.warnier图使用哪种结构来描述信息?与层次方框图的主要区别?
18.在需求分析阶段使用哪种图来简略地描述系统的主要算法?
19.IPO图定义以及作用?
20.从哪些方面进行验证软件需求的正确性?
21.为了快速修改原型,使用的方法和工具有哪些?
22.为什么要进行需求分析?(需求分析的重要性)
23.需求分析方法必须遵循的准则有哪些?
章末小结
1.需求分析的基本任务?
需求分析是软件定义时期的最后一个阶段,它的基本任务是准确的回答“系统必须做什么”这个问题,也就是对目标系统提出完整、准确、清晰、具体的要求。
2.在需求分析阶段结束前,系统分析员应该做什么?
系统分析员应该写出软件需求规格说明书,以书面形式准确地描述软件需求。
3.对软件系统有哪些综合要求?
- 功能要求
- 性能要求
- 可靠性和可用性需求
- 出错处理需求
- 接口需求
- 约束
- 逆向需求
- 将来可能提出的要求
4.需求分析的任务?
- 确定对系统的综合要求
- 分析系统的数据要求
- 导出系统的逻辑模型
- 修正系统开发计划
5.分析系统的数据要求通常采用什么方法?
采用建立数据模型的方法,比如实体联系图(ER图)
6.与用户沟通获取需求的方法有哪些?
- 访谈:最早开始使用且应用最广泛。访谈的两种方法:发调查表和使用情况分析技术
- 面向数据流自顶向下求精(结构化分析方法):把分析过程中数据元素的信息记录在数据字典中,算法记在IPO图中
- 简易的应用规格说明技术:这种方法使用户和开发者紧密合作,解决了访谈和结构化方法中存在的用户和开发者分离的特点
- 快速建立软件原型:这是最准确、最有效、最强大的需求分析技术
7.快速原型的定义、要点以及特性?
定义:快速原型是指快速建立起来的旨在演示目标系统主要功能的可运行的程序
要点:应实现用户看得见的功能,省略目标系统看不见的功能
特性:快速、容易修改
8.需求分析过程应该建立哪三种模型?
- 数据模型(用实体联系图)
- 功能模型(用数据流图)
- 行为模型(用转态图)
9.需求分析阶段得出的最主要的文档是什么?
软件需求规格说明书(自然语言书写)
10.数据模型包含哪三种相互关联的信息?
数据对象、属性、联系
11.ER图的组成成份?
实体(数据对象)、关系、属性
12.ER图的优点?
ER模型比较接近人的习惯思维方式,可以作为用户和分析员之间有效的交流工具。
13.范式是什么?数据冗余程度最大和最小分别是第几范式?
范式定义了消除数据冗余的程度,第一范式数据冗余程度最大,第五范式数据冗余程度最小
【注】在大多数场合选用第三范式比较恰当
14.状态转换图的作用?
状态转换图简称状态图,是通过描述系统的状态以及引起系统状态转换的事件,来表示系统的行为,状态图还指明了作为特定事件的结果系统将做哪些动作。
15.状态和事件的区别?
状态是指任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。
事件是指在某个特定时刻发生的事情,它是对引起系统做动作和一个状态转换到另一个状态的事件的抽象
16.层次方框图使用哪种结构来描述数据的层次结构?
树形结构
17.warnier图使用哪种结构来描述信息?与层次方框图的主要区别?
warnier图使用树形结构来描述信息,但比层次方框图提供了更丰富的描绘手段。
18.在需求分析阶段使用哪种图来简略地描述系统的主要算法?
在需求分析阶段使用IPO图来简略地描述系统的主要算法,在详细设计阶段进一步补充修正这些图。
19.IPO图定义以及作用?
IPO图是输入、处理、输出图的简称,能够方便地描绘输入数据,对数据的处理和输出数据之间的关系
20.从哪些方面进行验证软件需求的正确性?
- 一致性:所有需求必须一致,不能相互矛盾
- 完整性:需求必须完整包括用户的需要
- 现实性:指定的需求应该是用现有技术可以实现的
- 有效性:需求必须正确有效,能够解决用户的问题
21.为了快速修改原型,使用的方法和工具有哪些?
- 第四代技术
- 可重用的软件构件
- 形式化规格说明
22.为什么要进行需求分析?(需求分析的重要性)
为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求
的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。
23.需求分析方法必须遵循的准则有哪些?
- 必须理解并描述问题的信息域,根据这条准则应该建立数据模型。
- 必须定义软件应完成的功能,这条准则要求建立功能模型。
- 必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型。
- 必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。
章末小结
传统软件工程方法学使用结构化分析技术,完成分析用户需求的工作。
需求分析是发现、求精、建模、规格说明和复审的过程。需求分析的第一步是进一步了解用户当前所处的情况,发现用户所面临的问题和对目标系统的基本需求;接下来应该与用户深入交流,对用户的基本需求反复细化逐步求精,以得出对目标系统的完整、准确和具体的需求。具体地说,应该确定系统必须具有的功能、性能、可靠性和可用性,必须实现的出错处理需求、接口需求和逆向需求,必须满足的约束条件以及数据需求,并且预测系统的发展前景。
为了详细地了解并正确地理解用户的需求,必须使用适当方法与用户沟通。访谈是与用户通信的历史悠久的技术,至今仍被许多系统分析员采用。从可行性研究阶段得到的数据流图出发,在用户的协助下面向数据流自顶向下逐步求精,也是与用户沟通获取需求的一个有效的方法。为了促使用户与分析员齐心协力共同分析需求,人们研究出一种面向团队的需求收集法,称为简易的应用规格说明技术,现在这种技术已经成为信息系统领域使用的主流技术。实践表明,快速建立软件原型是最准确、最有效和最强大的需求分析技术。快速原型应该具备的基本特性是“快速”和“容易修改”,因此,必须用适当的软件工具支持快速原型技术。通常使用第四代技术、可重用的软件构件及形式化规格说明与原型环境,快速地构建和修改原型。
为了更好地理解问题,人们常常采用建立模型的方法,结构化分析实质上就是一种建模活动,在需求分析阶段通常建立数据模型、功能模型和行为模型。
除了创建分析模型之外,在需求分析阶段还应该写出软件需求规格说明书,经过严格评审并得到用户确认之后,作为这个阶段的最终成果。通常主要从一致性、完整性、现实性和有效性4个方面复审软件需求规格说明书。
多数人习惯于使用实体-联系图建立数据模型,使用数据流图建立功能模型,使用状态图建立行为模型。读者应该掌握这些图形的基本符号,并能正确地使用这些符号建立软件系统的模型。
数据字典描述在数据模型、功能模型和行为模型中出现的数据对象及控制信息的特性,给出它们的准确定义。因此,数据字典成为把3种分析模型粘合在一起的“粘合剂”,是分析模型的“核心”。为了提高可理解性,还可以用层次方框图或Warnier图等图形工具辅助描绘系统中的数据结构。为了减少冗余、简化修改步骤,往往需要规范数据的存储结构。算法也是重要的,分析的基本目的是确定系统必须做什么。概括地说,任何一个计算机系统的基本功能都是把输人数据转变成输出信息,算法定义了转变的规则。因此,没有对算法的了解就不能确切知道系统的功能。IPO图是描述算法的有效工具。
下一章:软件工程——第4章形式化说明技术知识点整理
反反复复,扎扎实实;念念不忘,必有回响!