第4章软件需求分析与概念模型.docx
- 文档编号:12994112
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:57
- 大小:244.26KB
第4章软件需求分析与概念模型.docx
《第4章软件需求分析与概念模型.docx》由会员分享,可在线阅读,更多相关《第4章软件需求分析与概念模型.docx(57页珍藏版)》请在冰点文库上搜索。
第4章软件需求分析与概念模型
第四章软件需求分析与概念模型
需求分析是软件定义时期的最后一个阶段,其基本任务是回答“系统必须做什么”这个问题。
本章内容主要包括:
需求分析的概念,需求分析的基本原则,需求分析的基本任务,结构化分析方法,结构化分析的步骤,数据流图,数据字典,加工逻辑的描述及IDEF的方法。
4.1基础知识
4.1.1需求分析的概念
需求分析是指开发人员要进行细致的调查分析,准确理解用户的要求。
将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能的过程。
需求分析虽处于软件开发过程的开始阶段,但它对整个软件开发过程以及软件成品质量是至关重要的。
4.1.2需求分析的基本原则
为使需求分析的科学化,对软件工程的分析阶段中提出了许多需求分析方法。
在已提出许多软件需求分析与说明的方法中,每一种分析方法都有独特的观点和表示法,但都适用下面的基本原则:
(1)可以把一个复杂问题按功能进行分解并可逐层细化。
通常,如果软件要处理的问涉及面太大,关系太复杂就要很难理解。
若划分成若干部分,并确定个部分间的接口,那么就可完成整体功能。
在需求分析过程中,软件领域中的数据,功能和行为都可以划分。
(2)必须能够表达和理解问题的数据领域和功能领域。
数据域包括数据流,数据内容和数据结构。
其中数据流是数据通过一个系统时的变化方式。
功能域则是反映数据流,数据内容和数据结构三方面的控制信息。
(3)建立模型。
所谓模型就是所研究对象的一种表达形式。
因此,模型可以帮助分析人员更好地理解软件系统的信息,功能和行为,这些模型也是软件设计的基础。
在软件工程中著名的结构化分析方法和面对对象分析方法都遵循以上原则。
4.1.3需求分析的基本任务需求分析的基本任务是要准确地理解旧系统,定义新系统的目标。
为了满足用户需要,回答系统必须“做什么”的问题。
本阶段要进行以下几方面的工作:
1..问题明确定义在可行性研究的基础上,双方通过交流,对问题都有进一步的认识。
所以可确定对问题的综合需求。
这些需求包括:
功能需求,性能需求,环境需求和用户界面需求。
另外还有系统的可靠性,安全性,可移植性和可维护性等方面的需求。
双方在讨论这些需求内容时一般通过双方交流,调查研究来获取,并达到共同的理解。
2.导出软件的逻辑模型分析人员根据前面获取的需求资料,要进行一致性的分析检查,在分析,综合中逐步细化软件功能,划分成各个子功能。
同时对数据域进行理解,并分配到各个子功能上,以确定系统的构成及主要成分。
最后要用图文结合的形式,建立起新系统的逻辑模型。
3.编写文档
通过分析确定了系统必须具备的功能和性能,定义了系统中的数据,描述了数据处理的主
要算法。
应该把分析的结果用正式的文件(“需求规格说明书”)记录下来,作为最终软件的
部分材料。
4.1.4结构化的分析方法
在结构化方法的发展历程上,它是随着结构化程序设计(StructuredProgramming,简称
SP)方法的提出、结构化设计和结构化程序设计。
它也是一种实用的软件开发方法。
在应用这种方法中,根据某种原理,应用一定的工具,按照特定步骤工作的软件开发方法。
它遵循的原理是自顶向下、逐步求精,使用的工具有数据流图(DFD)、数据字典、判定表、判定树和结构化语言等。
4.1.5结构化分析的步骤
1.建立现行系统的物理模型
通过了解现行系统的工作过程,对现行系统的详细调查,收集资料。
将看到的、听到的、收集到的信息和情况使用图形或文字描述出来。
也就是用一个模型来反映自己对现行系统
。
这一模型包含了许多具体因素,反映现实世界的
的理解,如画系统流程图(后面介绍)实际情况。
2.抽象出现行系统的逻辑模型
要构造新的逻辑模型就要去掉物理模型中的非本质的因素(如物理因素)
因素。
所谓本质的因素是系统固有的、不依赖环境变化而变化的因素,
模型进行认真的分析,区别本质因素和非本质因素,去掉非本质因素,形成现行系统的逻辑模型。
这种逻辑模型反映了现行系统“做什么”的功能。
3.建立目标系统的逻辑模型
比较其差异,即在
有了现行系统的逻辑模型后,就将目标系统和现行系统逻辑进行分析、
现行系统的基础上决定变化的范围,把那些要改变的部分找出来,将变化的部分抽象出一
个加工,这个加工的外部环境及输入输出就确定了。
然后对“变化的部分”重新分解,分析人员根据自己的经验,采用自顶向下逐步求精的分析策略,逐步确定变化的部分的内部
结构,从而建立目标系统的逻辑模型。
4.进一步补充和优化
目标系统的逻辑模型只是一个主体,为了完整地描述目标系统,还要做一些补充。
补充的
内容包括它所处的应用环境及它与外界环境的相互联系;说明目标系统的人机界面;说明
至今尚未详细考虑的环节。
如出错处理、输入输出格式、存储容量和响应时间等性能要求与限制。
4.1.6数据流图
数据流图(DataFlowDiagram,简称DFD)是结构化分析的最基本的工具。
数据流图描述
系统的分解,即描述系统由哪几部分组成,各部分间有什么联系等。
它以图形的方式描绘数据在系统中流动和处理的过程。
由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。
数据由数据流、加工、数据存储、数据源点或终点四种基本成分组成。
(1)数据流。
数据流是数据在系统内传播的路径,由一组成分固定的数据项组成。
除
了与数据存储间的数据流不用命名外,数据流应该用名词或名词短语命名。
(2)加工。
加工也称为数据处理,数据处理也称为变换,是对数据进行处理的单元。
(3)数据存储。
数据存储为数据处理提供数据处理所需要的输入流或为数据处理的输出数据流提供储存“仓库”。
数据存储指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。
(4)数据源点和终点。
数据源点和终点是软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称外部实体。
它们是为了帮助理解系统界面而引入的,一般只出现在数据流图的顶层图中,表示了系统中数据的来源和去处。
有时为了表达较为复杂的问题的数据处理过程,用一张数据流图是不够的。
要按照问题的
层次结构进行逐步分解,并以一套分层的数据流图反映这种结构关系。
4.1.7数据字典
数据字典(DataDictionary,简称DD)是用于数据的信息的集合,是对数据流图中包含的所有元素的定义的集合。
它定义了数据流图中的数据各加工。
它是数据流条目、数据存储条目、数据项条目和基本加工条目的汇集。
数据字典用来定义数据流图中的各个成分的具体一致的定义和详细的描述。
它和数据流图共同构成了系统的逻辑模型,是“需求说明书”的主要组成部分。
数据字典有以下4类条目:
数据流、数据项、数据存储及基本加工。
其中数据项是组成数据流和数据存储的最小元素。
数据流图中的源点、终点不在系统之内,故一般不在数据字典中说明。
4.1.8加工逻辑的描述
描述加工逻辑一般用以下三种工具:
结构化语言、判定表、判定树。
(1)结构化语言。
结构化语言介于自然语言和形式化语言之间的一种类自然语言。
结构化语言语法结构包括内外两层。
内部语法则比较灵活,可以使用数据字典中定义过的词汇、易于理解的一些名词、运算符和关系符,可以使用数据字典中定义过的词汇、易于理解的一些名词、运算符和关系符;外层语法具有较固
定的格式,设定一组符号如IF、THEN、ELSE、DOWHILE,ENDWHILE、
DOCASS,ENDASS等,用于描述顺序、选择和重复的控制结构。
(2)判定表。
判定表也是在设计中常用的技术。
在有些情况下,数据流图中的某个加工的一组动作依赖于多个逻辑条件的取值。
这时,用自然语言或结构化语言都不易清楚的描述出来,而用判定表就能够清楚的表示复杂的条件组合与应做的动作之间的对应关系
判定表(DecisionTable)是判定树表格形式,包括四部分:
条件定义、条件组合、动作定义和条件组合下的动作。
判定表的结构如图4-1所示。
条件定义条件组合
动作定义条件组合下的动作
图4-1
(3)判定树。
判定树是判定表的变形,一般情况下它比判定表更直观,且易于理解和使
用。
上述三种描述加工逻辑的工具各有优缺点,对于顺序执行和循环执行的动作,用结构化
语言描述;对于存在多个条件复杂组合的判定问题,用判定表和判定树。
判定树较判定表直观易读,判定表进行逻辑验证较严格,能把所有的可能性全部都考虑到。
可将两种工具结合起来,先用判定表做底稿,在此基础上产生判定树。
4.1.9IDEF方法
IDEF方法是用于进行复杂系统分析和设计的方法,是在结构化分析与设计技术的基础上提出来的。
它在集成化的计算机辅助制造的工程项目中特别有效。
IDEF是ICAMDefinitiond
的缩写。
IDEF方法分为三部分:
(1)IDEF0:
由于集成化的计算机辅助制造项目中,系统分析与设计的重点是活动与联系。
因此这种方法用来描述系统的功能活动及其联系,建立系统的功能模型。
(2)IDEF1:
在集成化的计算机辅助制造项目中,信息的活动与联系也是分析与设计的重点。
所以它用来描述系统的信息及其联系,建立系统的信息模型。
(3)IDEF2:
用来进行系统模拟,建立系统的动态模型。
系统的IDEF0功能模型的分析方法,反映系统“做什么”的功能。
用IDEF0方法建立
功能模型的基本方法有4步:
(1)确立建模的范围、观点及目的。
(2)建立系统的内外关系图一一A-0图。
该图用来抽象地描述所研究的问题及其边界或数据接口。
(3)建立顶层图一一A0图。
把A-0图分解为3~6个主要部分便得到A0图,它清楚地表达了A-0图在同样信息范围内的细节。
(4)建立低层次的图形。
按照自顶向下的方法,从A0图开始逐层分解,建立一系
列的活动图形,直到最低层为止。
4.2单元练习
4.1.2填空题
1.需要分析的基本任务是要准确的定义,为了满足用户的需要,回答系统
必须的问题。
2.在需求分析阶段,首先进行问题识别,即双方确定对问题的综合需求,这些需
求包括:
、、、。
另外还有可靠性、安全性、保密性、可
维护性等
方面的需求。
3.数据流图有四个基本成分:
、、、。
4.在进行可行性研究和计划以后,如果确认开发一个新的软件系统是必要的而且是可能的,
那么就进入阶段。
5.数据字典中的加工逻辑主要描述该加工的,即实现加工的策略,而不是实现加
工的细节,它描述如何把输入数据流变量变换为输出数据流的。
6.需求分析是指,开发人员要准确理解,进行细致的,将用户非形式
的需求陈述转化为,再由转换到相应的形式功能规约(需求规格说
明)的过程。
7.需求分析阶段需要编写的文档有:
、、。
8.流向数据存储的数据流可理解为文件或文件,从数据存储流出的数
据可理解为从文件数据或得到结果。
9.SA方法利用图形等半形式化的描述方法表达需求,简明易懂,用它们形成需求说明书
的主要部分。
这些描述工具是、、、、。
10.在SA的需求描述工具中,描述系统的分解,即描述系统由哪几部分组成,各
部分之间有什么联系等。
定义了数据流图中每一个图形元素。
结构化语言、判
定表和判定树则详细描述数据流图中不能再分解的。
11.需求分析的困难主要表现在四个方面:
问题的复杂性、、、需求易
变性。
12.在数据流图中,是数据在系统中传播的路径,因此由一组组成。
加
工(又称数据处理),是对数据流进行某些。
13.数据字典就是用来定义数据流图中的的。
它和数据流图共同构成了系统的
,是的主要组成部分。
14.数据字典有以下四类条目:
、、、。
是组成数据流和数据库存储的最小元素。
15.在分析需求阶段要进行以下几方面的工作:
问题识别、、、。
16.加工逻辑也称“小聪明”,常用的加工逻辑的描述工具有:
、、
17.结构化语言是介于自然语言(英语和汉语)和形式化语言之间的一种半形式语言。
它的
结构可分成外层和内层两层,外层用来描述,采用、、
三种基本结构。
18.三种描述加工逻辑的工具各有优缺点,对于顺序执行和循环执行的动作,用
描述。
对于存在多个条件复杂的判断问题,用和。
19.IDEF方法分为三部分:
IDEFO:
用来描述系统的,建立系统的。
IDEF1:
用来描述系统的,建立系统的。
IDEF2:
用来描述系统的,建立系统的。
20.传统的SA方法主要用于的问题,主要工具DFD体现了系统的功能,
但它仅是一个,没有处理的顺序,即。
21.形式化是软件自动发展的基础。
形式化方法是将需求规格说明用来描述。
典型
的有及。
22.IDEFO方法中,将系统功能称为,将表示系统功能的图形称为。
在
活动图形中,用和表示系统的各种活动及相互间的关系。
在系统分
解的某一层次,可能有多个活动,每个活动编号注在。
23.由于数据库流动中的数据,所以必须有。
除了与之间的数据流不用
名外,数据流应该用名词短语命名。
24.建立数据字典一般有两种形式是和。
25.数据存储条目的主要内容有、、、、、
26.近几年来已提出许多软件分析与说明的方法,第一个分析方法必须能够表达和理解问题
的数据域和功能域。
数据域包括、和,而功能域反映上述
三方面的。
27.数据项条目的主要内容有、、、、
及含义。
28.结构化分析方法是面积进行需求分析的方法。
29.在有些情况下数据流图中某个加工的一组动作信赖于多个逻辑条件的取值。
这时,用自
然语言或结构化语言都不易清楚地描述出来。
而用就能够清楚地表示复杂的条
件组合与应做的动作之间的对应关系。
30.经过需求分析,开发人员已经基本上理解了用户的要求,确定了目标系统的功能,定义
了系统的数据,描述了处理这些数据的基本策略。
将这些共同的理解进行整理,最后形成文档。
4.2.2选择题
1.需求分析是()。
A.要回答“软件必须做什么?
”
B.可概括为:
“理解、分解、表达”六个字
C.要求编写需求规格说明书
D.以上都对
2.进行需求分析可使用多种工具,但()是不适用的。
A.数据流图B.判定表
C.PAD图D.数据字典
3.需求分析阶段研究的对象是软件项目的()。
A.用户要求B.合理要求
C.模糊要求
4.数据字典的任务是对于数据流图中出现的所有被命名的数据元素,在数据字典中作为
个词条加以定义,使得每一个图形元素的名字都有一个确切的()。
A.对象B.解释
C.符号D.描述
5.在数据流图中,有名字及方向的成分是()。
A.控制流B.信息流
C.数据流D.信号流
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
在数据流图中,不能被计算机处理的成分是()。
A.控制流B.结点
C.数据流D.数据源/终点
在结构化分析方法中,用以表达系统内部数据的运行情况工具有()。
A.数据流图B.数据字典
C.结构化英语D.判定树与判定表
软件需求分析阶段的工作,可以分成以下的四个方面:
对问题的识别、分析与综合、制定规格说明以及()。
A.总结B.实践性报告
C.需求分析评审
D.以上答案都不对
以下说法错误的是()O
A.结构化语言层中的顺序结构是一组祈使语句、选择语句、重复语句的顺序排列
B.结构化语言外层中的选择结构使用IF-THEN-ELSE-ENDIF等关键字
C.
结构化语言的内层可以采用祈使语句的自然语言短语
A.对于顺序执行和循环执行的动作,用判定表和判定树
B.对于存在多个条件复杂组合的判断问题,用结构化语言描述
C.判定表较判定树直观易读,判定树进行逻辑验证较严格
D.可将判定表和判定树两者结合起来,先用判定表作底稿,在此甚而上产生判定树需求规格说明书的任用不应包括()O
A.软件设计的依据
B.用户与开发人员对软件要做什么的共同理解
C.软件验收的依据
D.软件可行性研究的依据
软件需求规格说明书的内容不应包括对()的描述。
A.主要功能B.算法的详细过程
C.用户界面及运行环境D.软件的性能
在结构化分析方法(SA)中,与数据流图配合使用的()o
A.网络图B.实体联系图
C.数据字典D.程序流程图
通过()可以完成数据流图的细化。
B.功能分解
D.系统分解
A.结构分解
C.数据分解
16
17
18
19
20
21
22
23
24
25
26
求分析过程中,对算法的简单描述记录在()中
A:
层次图B烽据字典
C:
数据流图D:
IPO图
分层DFD是一种比较严格又易于理解的描述方法式,它的顶岐图描述了系统的()
A:
细节B:
输入与输出
C:
软件的作者D:
绘制的时间
数据存储和数据流都是()仅仅所处的状态不同
A:
分析结果B:
事件
C:
动作D:
数据
在数据图的基本图形符号中,加工是以数据结构或()作为加工对象的。
A:
数据内容B:
信息内容
C:
信息结构D:
信息流
数据字典中,一般不包括下列选项中的()条目。
A:
数据流B:
数据存储
C:
加工D:
源点与终点
在软件需求分析中,开发人员要从用户那里解决的最重要的问题是()
需求分析阶段不适于描述加工逻辑的工具是()
A:
结构化语言B:
判定表
C:
判定树D:
流程图
27
28
29
30
31
32
33
34
35
结构化分析方法(SA)啊为常见的图形工具是()
A:
程序流程图
C:
数据流图
SA方法的基本思想是(
A:
自底向上逐步抽象
C:
自顶向下逐步分解
B:
实体联系图
D:
结构图
)
B:
自底向上逐小分解
D:
自顶向下逐步抽象
,控制和机制,
IDEFOr的图形表示中,连在方框上的箭头有四种类型:
输入,输出下列说法正确的是()
A:
输入指完成某项活动所需的数据,用连在方框右边的箭头表示B:
输出指执行活动时产生的数据,用连在方框左边的箭头表示
C:
控制活动指活动是由谁来完成的,用连在方框上边的箭头表示
D:
控制活动指活动是由谁来完成的,用连在方框上边产箭头表示
E:
当无法区分输入和控制时可将输入看作控制,一个活动可无输入,但必须至少有一个控制
下面错误的说法是()
A:
每个数据流必须用名词或名词短语命名B:
每个加工必须有名字,通常是动词短语
C:
每个数据存储必须用名词或名词短语D:
每个数据源点或终点必须有名字
F面错误的说法是()
A:
判定表能够把在什么条件下系统应做什么动作准确无误地表示出来
B:
判定表能够描述循环的处理特性
C:
结构化语言同样能够描述循环的处理特性
D:
判定树是判定表的变形,一般情况下它比判定表更直观,且易于理解和使用
软件需求说明书是软件需求分析阶段的得要文件,下述()是其应包含的内容
1数据描述②功能描述
③模块描述④性能描述
A②B:
③④
C:
:
①②③D:
①②④
软件需求说明书在软件开发中具有重要的作用,但其作用不应包括()
A:
软件设计的依据
B:
用户和开发人员对软件要做什么的共同理解
C:
软件验收的依据
D:
软件可行性分析的依据
软件需求分析方法中,结构化分析是一种常用的方法,结构化分析产生的系统说明书是由一套分层的(A)图,一本(B),—组(C及补充材料组成的,在结构化设计
阶段产生的文档是()
A:
①流程
③软件结构
B:
①结构说明
③数据字典
C:
①小说明
③模块接口
D:
①系统模型说明书
③系统功能说明书
2数据流
④事力转换
2用户需求
④数据流程
2索引
④层次结构
2程序流程图
④模块结构图和模块说明书
36结构化设计方法把软件结构划分为(A)和(B)两在类,并提出了对应于以上两类结构的分析方法。
A:
①控制型②变换型
3模拟型④处理型
B:
①事务型②分析型
3通信型④功能型
37软件设计在一般将用到图形工具,下列()要用伯设计的图形工具。
1结构图
2实体联系图
3IPO图
4层次图
A:
①②B:
③④
C:
①②④D:
全部
(),面向对象的分析方法等
()和信息结构。
38常用的需求分析方法有面向数据流的结构化分析方法,
A:
面向数据结构的垫板方法
B:
面向时序问题的分析
C:
面向事务的分析方法
39对于计算机程序处理的数据,其信息域应包括信息流,
A:
信息项B:
数据项
C:
信息内容D:
结构流
40软件设计将涉及软件的结构,过程和模块的设计,其中软件过程是指()
A:
模块间的关系B:
模块的操作
C:
软件层次结构D:
软件开发过程
41模块独立性是软件模块化所提出的要求,衡量极其可怕独立性的度量标准是模块的()
A:
抽象和信息隐蔽B:
局部化和封装化
C:
内聚性和耦合性D:
激活机制和控制方法
42模块的独立性是由内聚性和耦合性来度量的,其中内聚性是()
A:
模块间的联系程度B:
模块的功能强度
C:
信息隐蔽程度D:
接口的复杂程度
)不属于对模块关系的描述。
43软件结构是软件模块间关系的表示,下列术语中(
A:
调用关系B:
从属关系
44软件设计中划分模块的一个准则是(A),两模块之间的耦合方式中,(B)的耦合的耦合度最高
45在面向娄据流的软件高方法中,一般将信息流分为()
A:
变换流和事力流B:
变换流和控制流
C:
事力流和控制流D:
数据流和控制流
③顺序必丙聚④功能性内聚
B:
①非直接耦合②数据耦合
③特征耦合④控制耦合
48各种分析方法都有它们共同适用的()
A:
说明方法,B:
描述方法
C:
准则
D:
基本原则
49结构化分析主法使用的描述工具()描述系统由哪几个鄣分组成,各部分之间有
什么联系等等
B:
数据字典
D:
判定树
A:
数据流图
C:
判定表
WhichphaseofthesoftwareengineeringprocessresultsintheSoftwareRequirements
Specification?
()
A:
definitionphaseB:
engineeringphase
B:
maintenancephaseD:
developmentphase
数据扁的任务是对于数据流图中出现的所有被命名的数据元素,在数据词典中作为一个词条加以定义,使得每一个图形的名字都有一个确切的()
A:
对象B:
解释
C:
符号D:
描述
对软件的过程分解,必然导致()
A:
模块的独立性变差B:
接口的复杂程度增加
C:
软件开发的总工作量增加D:
以上都正确
在需求分析中,开发人员要从用户那里解决的最重要的问题是(
A:
要让软件做什么B:
要得供哪些信息
C:
要求软件工作效率怎样D:
要让软件具有何种结构
需求规范说明书的内容不应包括()
A:
对重要功能的描述B:
对算法的详细过程描述
C:
软件确认准则D:
软件的功能
50
51
52
53
54
55
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 需求 分析 概念 模型