《软件工程》第四章需求获取习题.docx
- 文档编号:23328281
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:25
- 大小:200.42KB
《软件工程》第四章需求获取习题.docx
《《软件工程》第四章需求获取习题.docx》由会员分享,可在线阅读,更多相关《《软件工程》第四章需求获取习题.docx(25页珍藏版)》请在冰豆网上搜索。
《软件工程》第四章需求获取习题
《软件工程》第四章习题
一、填空题
1、在软件需求分析阶段,分析人员要确定对软件的综合要求,其中最重要的是(功能要求) 。
2、需求分析阶段产生的最主要的文档是(需求规格说明书)。
3、解决一个复杂的问题,往往采取的策略是(分解)。
4、可行性研究的目的是用(最小)的代价,在尽可能(短)的时间内,确定该软件项目是否能够(开发)。
5、可行性研究实质上是进行一项(简化)、压缩了的需求分析、(设计)过程。
6、可以从4个方面研究可行性,即 (技术经济)可行性、(经济)可行性、(社会)可行性、(解决方案)可行性。
7、结构化分析方法从三个方面建模:
(数据)建模、(功能)建模、(行为)建模。
8、实体―关系图用于(数据)建模,它最初用于(数据库)设计。
9、数据流图中的每一个加工至少有
(一)个输入数据流和
(一)个输出数据流。
10、状态―迁移图用于(行为)建模,状态中包含(活动),状态因 (事件)发生转移。
11、数据词典中有四类条目,分别为(数据流)、(加工)、(数据存储)、(外部实体)。
二、单项选择题
1、软件需求分析阶段的工作可以划分以下四个方面:
对问题的识别、分析与综合、制定需求规格说明和__C__。
A.总结
B.阶段性报告
C.需求分析评审
D.以上答案都不正确
2、各种需求分析方法都有它们共同适用的__D___。
A.说明方法
B.描述方法
C.准则
D.基本原则
3、软件需求分析应从问题的信息域和功能域出发。
信息域应包括信息流、信息内容和 __C__。
A.信息项
B.数据结构
C.信息结构
D.信息内容
4、需求分析产生的文档是 __C__。
A.项目开发计划
B.可行性分析报告
C.需求规格说明书
D.软件设计说明书
5、需求分析中,分析人员要从用户那里解决的最重要的问题是__A__。
A.要让软件做什么
B.要给该软件提供什么信息
C.要求软件工作效率如何
D.要让该软件具有何种结构
6、可行性研究的目的是__B__。
A. 开发项目
B. 项目值得开发否
C. 规划项目
D. 维护项目
7、技术可行性要解决_D__。
A.存在侵权否
B.成本效益问题
C.运行方式可行
D.技术风险问题
8、研究开发资源的有效性属于 _A__可行性的一部分。
A.技术
B.经济
C.社会
D.操作
9、在可行性研究过程中,对每一个合理的候选方案,分析人员都应准备如下资料 __D__。
A.系统流程
B.组成系统的物理元素清单、成本―效益分析
C.实现该系统的进度计划
D.以上全部
10、软件需求分析的任务不应包括__C__。
A.问题分析
B.信息域分析
C.结构化程序设计
D.确定逻辑模型
11、结构化语言、判定表和判定树属于__A__规格说明的描述工具。
A.加工
B.控制
C.数据描述
D.脚本
12、分层数据流图是一种比较严格又易于理解的描述方式,它的顶层数据流图描述了系统的__B__。
A.细节
B.输入与输出
C.软件的作者
D.绘制的时间
13、对于分层的数据流图,父图与子图的平衡是指子图的输入、输出数据流同父图的输入、输出数据流__A__。
A.必须一致
B.数目必须相等
C.名字必须相同
D.数目必须不等
14、在数据流图的基本图形符号中,加工是以信息结构或__B__作为加工对象的。
A.数据结构
B.信息内容
C.信息流
D.数据内容
15、一个局部数据存储当它作为__D__时就把它画出来。
A.某些加工的数据接口
B.某个加工的特定输入
C.某个加工的特定输出
D.某些加工的数据接口或某个加工的特定输入/输出
16、软件需求规格说明书的内容不应包括对__B__的描述。
A.主要功能
B.算法的详细过程
C.用户界面及运行环境
D.软件的性能
17、需求规格说明书的作用不应包括__B___。
A.软件设计的依据
B.软件可行性研究的依据
C.软件验收的依据
D.用户和开发人员对软件要做什么的共同理解
28、快速原型化思想是在研究_D__阶段的方法技术中产生的。
A.可行性研究
B.软件设计
C.程序编码
D.需求分析
19、用于整个开发阶段,及早提供一个原型系统的是 _D___原型。
A.实验型
B.探索型
C.提交型
D.演化型
20、用于软件设计阶段,考察实现方案是否可行的是__C___原型。
A.探索型
B.演化型
C.实验型
D.增量型
三、选择填空
1、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧( )内。
软件需求分析的任务不应包括( A,③ )。
进行需求分析可使用多种工具,但( B,③)是不适用的。
在需求分析中,分析员要从用户那里解决的最重要的问题是( C, ①)。
需求规格说明书的内容不应当包括( D , ②)。
该文档在软件开发中具有重要的作用,但其作用不应当包括( E , ④ )。
供选择的答案:
A. ①问题分析 ②信息域分析 ③结构化程序设计 ④确定逻辑模型
B. ①数据流图 ②判定表 ③PAD图 ④数据词典
C. ①要让软件做什么 ②要给该软件提供哪些信息③要求软件工作效率如何 ④要让软件具有什么样的结构
D. ①对重要功能的描述 ②对算法的详细过程性描述③软件确认准则 ④软件的性能
E. ①软件设计的依据 ②用户和开发人员对软件要“做什么”的共同理解 ③软件验收的依据 ④软件可行性分析的依据
2、当前系统的( A,②)模型描述现行系统的实际业务处理过程,反映了现行系统具体( B, ①)的现实。
当前系统的( C , ⑤)模型描述现行系统的功能结构、数据组织以及动态行为,反映了现行系统( D , ③)的本质。
目标系统是指待开发的新系统。
根据计算机系统的特点,分析、比较目标系统和当前系统逻辑上的差别,确定目标系统的软件工作范围,采用自顶向下逐步分解的分析策略,确定目标系统的功能结构、数据组织以及动态行为,从而建立起目标系统的( E , ⑤ )模型。
供选择的答案:
A,C,E:
①对象 ②物理 ③服务 ④过程 ⑤逻辑
B,D:
①怎么做 ②何时做 ③做什么 ④为何做 ⑤谁来做
3、结构化分析模型从多视角来描述系统。
在分析模型的核心是( A ,②),它描述了所有在目标系统中使用和生成的数据对象。
围绕着这个核心有三种图:
( B , ⑧)、( C, ④ )和( D,③)。
(B , ⑧)描述数据对象及其关系,用于建立数据模型;(C, ④)描述数据在系统中如何被传递和变换,用于建立功能模型,同时还需要给出加工规格说明;( D,③)描述系统对外部事件如何响应,用于建立行为模型,同时还需要给出控制规格说明。
Petri网主要用于描述相互独立,协同操作的处理系统,即(E, ①)的处理系统。
供选择的答案:
A~D:
①对象图 ②数据词典 ③状态迁移图 ④数据流程图 ⑤时序图 ⑥事件追踪图 ⑦控制流程图 ⑧实体关系图 ⑨仿真图 ⑩行为图
E:
①并发执行 ②事件驱动 ③时钟驱动 ④随机执行 ⑤顺序执行
4、 软件需求分析方法必须能够理解和表达问题领域的信息域和功能域。
信息域包括( A ,⑦)、( B, ②)和(C ,⑥)。
( A ,⑦))表示数据和控制在系统中传递时的变化方式。
输入对象首先被变换成数据和控制的( D , ③)信息,然后再变换成输出结果信息。
(B, ②)表示信息在计算机中的组织形式。
各种数据和控制对象按什么逻辑关系组织在一起,又按什么物理关系存储在计算机中,必须靠(B, ②)分析来解决。
( C ,⑥)可以利用数据词典明确地表示,也可以通过数据或数据对象的层次结构隐含地表示。
对数据进行变换就是程序所表现的功能。
两个功能之间的数据传递确定了功能之间的( E , ② )。
供选择的答案:
A~C:
①信息属性 ②信息结构 ③信息服务 ④信息通信 ⑤信息抽象 ⑥信息内容 ⑦信息流 ⑧信息层次 ⑨信息项 ⑩信息行为
D~E:
①连接 ②接口 ③中间 ④通讯 ⑤联系
5、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A,① )系统。
它从用户界面的开发入手,首先形成( B ,③ ),用户( C,④ ),并就( D,① )提出意见,它是一种( E,①)型的设计过程。
供选择的答案:
A. ①需求不确定性高的 ②需求确定的 ③管理信息 ④决策支持
B. ①用户界面使用手册 ②用户界面需求分析说明书 ③系统界面原型 ④完善的用户界面
C. ①改进用户界面的设计 ②阅读文档资料 ③模拟用户界面的运行 ④运行用户界面原型
D.①同意什么和不同意什么 ②使用和不使用哪一种编程语言 ③程序的结构 ④执行速度是否满足要求
E.①自外向内 ②自顶向下 ③自内向外 ④自底向上
四、问答题
1、在软件需求分析时,首先建立当前系统的物理模型,再根据物理模型建立当前系统的逻辑模型。
试问:
什么是当前系统?
当前系统的物理模型与逻辑模型有什么差别?
所谓当前系统可能是需要改进的某个已在计算机上运行的数据处理系统,也可能是一个人工的数据处理过程。
当前系统的物理模型客观地反映当前系统实际的工作情况。
但在物理模型中有许多物理的因素,随着分析工作的深入,有些非本质的物理因素就成为不必要的负担,因而需要对物理模型进行分析,区分出本质的和非本质的因素,去掉那些非本质的因素即可获得反映系统本质的逻辑模型。
所以当前系统的逻辑模型是从当前系统的物理模型抽象出来的。
2、软件需求分析是软件工程过程中交换意见最频繁的步骤。
为什么交换意见的途径会经常阻塞?
软件需求分析过程中,由于最初分析员对要解决的问题了解很少,用户对问题的描述、对目标软件的要求也很凌乱、模糊,再加上分析员和用户共同的知识领域不多,导致相互间通信的需求。
但是由于分析员和用户之间需要通信的内容相当多,业务知识上的不足,表达方式的不足,可能对某些需求存在错误解释或误解的可能性,造成需求的模糊性。
另外,用户和分析员之间经常存在无意识的“我们和他们”的界限,不是按工作需要组成统一的精干的队伍,而是各自定义自己的“版图”,并通过一系列备忘录、正式的意见书、文档,以及提问和回答来相互通信。
历史已经证明,这样会产生大量误解。
忽略重要信息,无法建立成功的工作关系。
3、你认为一个系统分析员的理想训练和基础知识是什么?
请说明理由。
系统分析员处在用户和高级程序员之间,负责沟通用户和开发人员的认识和见解,起着桥梁的作用。
一方面要协助用户对所开发的软件阐明要求,另一方面还要与高级程序员交换意见,探讨用户所提要求的合理性以及实现的可能性。
最后还要负责编写软件需求规格说明和初步的用户手册。
为能胜任上述任务,分析员应当具备如下的素质:
(1)能够熟练地掌握计算机硬、软件的专业知识,具有一定的系统开发经验。
(2)善于进行抽象的思维和创造性的思维,善于把握抽象的概念,并把它们重新整理成为各种逻辑成分,并给出简明、清晰的描述。
(3)善于从相互冲突或混淆的原始资料中抽出恰当的条目来。
(4)善于进行调查研究,能够很快学习用户的专业领域知识,理解用户的环境条件。
(5)能够倾听他人的意见,注意发挥其它人员的作用。
(6)具有良好的书面和口头交流表达能力。
4、可行性研究主要研究哪些问题?
试说明之。
可行性研究主要做4个方面的研究:
经济可行性:
进行成本∕效益分析。
从经济角度判断系统开发是否“合算”。
技术可行性:
进行技术风险评价。
从开发者的技术实力、以往工作基础、问题的复杂性等出发,判断系统开发在时间、费用等限制条件下成功的可能性。
法律可行性:
确定系统开发可能导致的任何侵权、妨碍和责任。
方案的选择:
评价系统或产品开发的几个可能的候选方案。
最后给出结论意见。
5、信息和信息结构有什么区别?
有没有不存在信息流的系统?
有没有不存在信息结构的系统?
信息是宇宙三要素(物质、能量、信息)之一。
它是现实世界各种事物在人们头脑中的反映。
此外,人们通过科学仪器能够认识到的也是信息。
信息的特征为:
可识别、可存储、可变换、可处理、可传递、可再生、可压缩、可利用、可共享。
信息域就是对信息的多视角考虑。
信息域包含3个不同的视图:
信息内容和关系、信息流和信息结构。
为了完全理解信息域,必须了解每一个视图。
信息结构:
它是信息在计算机中的组织形式。
一般表示了各种数据和控制对象的内部组织。
数据和控制对象是被组织成n维表格,还是组织成有层次的树型结构?
在结构中信息与其它哪些信息相关?
所有信息是在一个信息结构中,还是在几个信息结构中?
一个结构中的信息与其它结构中的信息如何联系?
这些问题都由信息结构的分析来解决。
信息流:
表示数据和控制在系统中传递时的变化方式。
输入对象首先被变换成中间信息(数据或控制),然后再变换成输出结果信息。
沿着变换路径,可能从已有的数据存储(如磁盘文件或内存缓冲区)中引入附加的信息。
对数据进行变换是程序中应有的功能或子功能。
两个变换功能之间的数据传递就确定了功能间的接口。
所以,没有信息流的系统相当于没有功能的系统,这样的系统的存在是毫无意义的。
而没有信息结构的系统是没有信息的系统,这样的系统不是计算机能够处理的系统。
6、有人说:
软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。
对否?
请解释你的回答。
软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。
这个说法是对的。
在1970年代,GTE、TRW和IBM等三家公司对此问题做了独立研究,最后它们得到相似的结论:
从表中可以看出,在需求分析阶段检查和修复一个错误所需的代价只有编码阶段所需代价的1/5到1/10,而在维护阶段做同样的工作所付出的代价却是编码阶段的20倍。
7、软件需求分析的操作性原则和需求工程的指导性原则是什么?
软件需求分析的操作性原则指所有的需求分析方法都与一组操作性原则相关联:
必须理解和表示问题的信息域。
必须定义软件将完成的功能。
必须表示软件的行为(作为外部事件的结果)。
必须对描述信息、功能和行为的模型进行分解,能够以层次方式揭示其细节。
分析过程应当从要素信息转向细节的实现。
通过使用这些原则,分析员可以系统地处理问题。
首先检查信息域以便更完整地理解目标软件的功能,再使用模型以简洁的方式表达目标软件的功能和行为,并利用自顶向下、逐层分解的手段来降低问题的复杂性。
在这些处理过程中,因处理需求带来的逻辑约束和因其它系统元素带来的物理约束需要通过软件要素和视图的实现加以检验和确认。
Davis建议了一组针对“需求工程”的指导性原则:
在开始建立分析模型之前应当先理解问题。
如果问题没有很好理解就急于求成,常常会产生一个解决错误问题的完美的软件。
强力推荐使用原型。
这样做可以使用户了解将如何与计算机交互,而人们对软件质量的认识常常是基于对界面“友好性”的切身体会。
记录每一个需求的起源和原因。
这是建立对用户要求的可追溯性的第一步。
使用多个视图,建立系统的数据、功能和行为模型。
这样做可帮助分析员从多方面分析和理解问题,减少遗漏,识别可能的不一致之处。
给需求赋予优先级。
因为过短的时限会减少实现所有软件需求的可能性。
因此,对需求排定一个优先次序,标识哪些需求先实现,哪些需求后实现。
注意消除歧义性。
因为大多数需求都是以自然语言描述,存在叙述的歧义性问题,造成遗漏和误解。
采用正式的技术评审是发现和消除歧义性的好方法。
遵循以上原则,就可能做好软件需求规格说明,为软件设计奠定基础。
8、数据流图的作用是什么?
它有哪些基本成份?
数据流图可以用来抽象地表示系统或软件。
它从信息传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程,同时可以按自顶向下、逐步分解的方法表示内容不断增加的数据流和功能细节。
因此,数据流图既提供了功能建模的机制,也提供了信息流建模的机制,从而可以建立起系统或软件的功能模型。
数据流图的基本成份有4种:
9、Petri网可以描述计算机软件系统的执行。
现有一个程序如下(类似于Pascal语言)
L:
S1;
WHILE P1 DO
BEGIN
IF P2 THEN S2
ELSE S3;
COBEGIN
S4;
S5;
S6;
COEND
END;
GOTO L;
S6是单个执行语句,COBEGIN和COEND是并行执行开始和并行执行结束(即S4,S5和S6语句并行执行)。
试用Petri网描述这段程序的执行过程。
采用条件∕事件网(C∕E网,C―Condition,E―Event)式Petri网。
10、数据词典的作用是什么?
它有哪些基本词条?
分析模型中包含了对数据对象、功能和控制的表示。
在每一种表示中,数据对象和控制项都扮演一定的角色。
为表示每个数据对象和控制项的特性,建立了数据词典。
数据词典精确地、严格地定义了每一个与系统相关的数据元素,并以字典式顺序将它们组织起来,使得用户和分析员对所有的输入、输出、存储成分和中间计算有共同的理解。
在数据词典的每一个词条中应包含以下信息:
名称:
数据对象或控制项、数据存储或外部实体的名字。
别名或编号。
分类:
数据对象?
加工?
数据流?
数据文件?
外部实体?
控制项(事件∕状态)?
描述:
描述内容或数据结构等。
何处使用:
使用该词条(数据或控制项)的加工。
11、软件需求分析说明书主要包括哪些内容?
软件需求规格说明是分析任务的最终产物,通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需求。
软件需求规格说明的框架如下:
12、考务处理系统的分层数据流图如下图所示。
该考务处理系统有如下功能:
对考生送来的报名表进行检查;
对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生名单送给阅卷站;对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者;
填写考生通知单(内容包含考试成绩及合格∕不合格标志),送给考生;
按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难度分析,产生统计分析表。
(1)图(c)中,加工1.1的输入数据流是( A ②),输出数据流是( B ⑤),图(b)中,加工2的输出数据流是( C ① ),它是由( D ⑥)和( E ⑧ )组成。
供选择的答案:
A~E. ①统计分析表 ②报名表 ③准考证 ④考生通知单 ⑤合格报名表 ⑥难度分析表 ⑦错误成绩表 ⑧分类统计表
(2)图(d)中的文件“试题得分表”是否在图(b)中漏掉了?
回答是( F ②)。
供选择的答案:
F:
①“试题得分表”没有在图(b)中画出,是错误的。
②“试题得分表”是图(b)中加工的内部文件,不必在图(b)中画出。
③“试题得分表”是多余的。
应注意的问题:
①适当地为数据流、加工、文件、数据的源∕汇点命名。
名字应反映该元素的实际含义,避免空洞的名字。
如数据、信息处理、计算等名字都不好。
②画数据流时不要夹带控制流。
数据流图中各种数据的加工没有考虑时序关系,引入控制流后,加工之间就有了时序关系,这与画数据流图不考虑实现细节的初衷相违背。
③一个加工的输出数据流不要与该加工的输入数据流重名,即使它们的组成成分相同。
例如图(c)中加工1.1的输入数据流“报名表”与输出数据流“合格报名表”。
④允许一个加工有多个数据流流向另一个加工,也允许一个加工有两个相同的输出数据流流向两个不同的加工。
⑤保持父图与子图的平衡。
就是说,父图与它的子图的输入数据流与输出数据流应当在数量与名字上都相同。
特别的是,如果父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,但子图中这几个数据流中的数据项合起来正好是父图中的那个数据流,这时它们还算是平衡的。
例如,图(b)中加工2的输出数据流“统计分析表”是由“难度分析表”和“分类统计表”组成,那么图(b)与图(d)仍满足父图与子图平衡的条件。
⑥在自顶向下的分解过程中,若一个文件首次出现时只与一个加工有关,那么这个文件应作为这个加工的内部文件而不必画出。
例如,图(d)中的文件“试题得分表”就是图(b)中加工的内部文件,所以在图(b)中没有画出。
⑦保持数据守恒。
就是说,一个加工的所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工产生的数据。
13、阅读下列关于开发人事管理系统的交互式工作方式的叙述,再回答问题。
某大企业最近决定采用高性能微机开发人事管理系统,将四台联机终端分置于人事处的三个科室。
该系统可供操作员和程序员使用,也可供人事处负责人和主管人事的副厂长等查询人事信息用。
人事管理系统通过录入人事数据和修改、删除等操作,产生和更新各类人事文件,通过搜索这些文件进行各类人事信息的查询。
该企业有3000多个工人、干部和技术人员,大体可分成机关科室、生产车间、后勤服务和开发研制部门等几类部门。
厂领导决定由计算机应用科来负责协调和开发应用系统。
计算机应用科科长指示系统工程师张某负责进行系统分析。
考虑到人事处有大量的查询信息要求、频繁的人事信息修改和文件存档、查阅等特点,计算机应用科决定认真设计人机交互界面,首先设计好在终端上的交互式会话的方式。
系统工程师张某通过调查收集到如下10条意见:
(1) 某程序员认为:
系统在屏幕格式、编码等方面应具有一致性和清晰性,否则会影响操作人员的工作效率。
(2) 某操作人员认为:
在交互式会话过程中,操作人员可能会忘记或记错某些事情,系统应当提供HELP功能。
(3) 某操作人员认为:
既然是交互式会话,那么对所有的输入都应当作出响应,不应出现击键后,计算机没有任何反应的情况。
(4) 某操作人员认为:
在出错的时候,交互式会话系统应当给出出错信息,并且尽可能告诉我们出错的性质和错在什么地方。
(5) 某程序员认为:
终端会话也应当符合程序员编制程序时的习惯,这样可以更高效地维护人事管理系统。
(6) 教育科干部甲认为:
应当对操作员进行一些必要的培训,让他们掌握交互式会话系统的设计技巧,有助于提高系统的使用效率。
(7) 教育科干部乙认为:
尽管操作人员的指法已经强化训练但在交互式会话时应尽可能缩短和减少操作员输入的信息,以降低出错概率。
(8) 某程序员认为:
由于本企业中有很多较大的文件,文件的查找很费时间,交互式会话系统在响应时间较长时应给予使用者以提示信息。
(9) 人事处干部丙认为:
我们企业的人事资料相当复杂,格式非常之多,希望交互式系统使用十分清晰的格式,并容易对输入数据中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 第四 需求 获取 习题
![提示](https://static.bdocx.com/images/bang_tan.gif)