一、填空 1、在软件需求分析阶段,分析人员要确定对软件的综合要求,其中最重要的是 。 2、需求分析阶段产生的最主要的文档是 。 3、解决一个复杂的问题,往往采取的策略是 。 4、可行性研究的目的是用 的代价,在尽可能 的时间内,确定该软件项目是否能够 。 5、可行性研究实质上是进行一项 、压缩了的需求分析、 过程。 6、可以从4个方面研究可行性,即 可行性、 可行性、 可行性、 可行性。 7、结构化分析方法从三个方面建模: 建模、 建模、 建模。 8、实体�D关系图用于 建模,它最初用于 设计。 9、数据流图中的每一个加工至少有 个输入数据流和 个输出数据流。 10、状态�D迁移图用于 建模,状态中包含 ,状态因 发生转移。 11、数据词典中有四类条目,分别为 、 、 、 。 二、单项选择 1、软件需求分析阶段的工作可以划分以下四个方面:对问题的识别、分析与综合、制定需求规格说明和____。 A.总结 B. 阶段性报告 C. 需求分析评审 D. 以上答案都不正确 2、各种需求分析方法都有它们共同适用的_____。 A. 说明方法 B. 描述方法 C. 准则 D. 基本原则 3、软件需求分析应从问题的信息域和功能域出发。信息域应包括信息流、信息内容和 ____。 A. 信息项 B. 数据结构 C. 信息结构 D. 信息内容 4、需求分析产生的文档是 ____。 A. 项目开发计划 B. 可行性分析报告 C. 需求规格说明书 D. 软件设计说明书 5、需求分析中,分析人员要从用户那里解决的最重要的问题是____。 A. 要让软件做什么 B. 要给该软件提供什么信息 C. 要求软件工作效率如何 D. 要让该软件具有何种结构 6、可行性研究的目的是____。 A.�开发项目 B.�项目值得开发否 C.�规划项目 D.�维护项目 7、技术可行性要解决____。 A. 存在侵权否 B. 成本效益问题 C. 运行方式可行 D. 技术风险问题 8、研究开发资源的有效性属于 ____ 可行性的一部分。 A. 技术 B. 经济 C. 社会 D. 操作 9、在可行性研究过程中,对每一个合理的候选方案,分析人员都应准备如下资料 _____。 A. 系统流程 B. 组成系统的物理元素清单、成本�D效益分析 C. 实现该系统的进度计划 D. 以上全部 10、软件需求分析的任务不应包括_____。 A. 问题分析 B. 信息域分析 C. 结构化程序设计 D. 确定逻辑模型 11、结构化语言、判定表和判定树属于____规格说明的描述工具。 A. 加工 B. 控制 C. 数据描述 D. 脚本 12、加工激活表属于____规格说明的描述工具。 A. 加工 B. 控制 C. 数据描述 D. 脚本 13、基数和参与性属于_____图的描述工具。 A. 控制流 B. 数据流 C. 实体�D关系 D. 状态�D迁移 14、分层数据流图是一种比较严格又易于理解的描述方式,它的顶层数据流图描述了系统的_____。 A. 细节 B. 输入与输出 C. 软件的作者 D. 绘制的时间 15、对于分层的数据流图,父图与子图的平衡是指子图的输入、输出数据流同父图的输入、输出数据流_____。 A. 必须一致 B. 数目必须相等 C. 名字必须相同 D. 数目必须不等 16、在数据流图的基本图形符号中,加工是以信息结构或____作为加工对象的。 A. 数据结构 B. 信息内容 C. 信息流 D. 数据内容 17、一个局部数据存储当它作为____时就把它画出来。 A. 某些加工的数据接口 B. 某个加工的特定输入 C. 某个加工的特定输出 D. 某些加工的数据接口或某个加工的特定输入/输出 18、软件需求规格说明书的内容不应包括对____的描述。 A. 主要功能 B. 算法的详细过程 C. 用户界面及运行环境 D. 软件的性能 19、需求规格说明书的作用不应包括_____。 A. 软件设计的依据 B. 软件可行性研究的依据 C. 软件验收的依据 D. 用户和开发人员对软件要做什么的共同理解 20、快速原型化思想是在研究_____阶段的方法技术中产生的。 A. 可行性研究 B. 软件设计 C. 程序编码 D. 需求分析 21、用于整个开发阶段,及早提供一个原型系统的是 ____原型。 A. 实验型 B. 探索型 C. 提交型 D. 演化型 22、用于软件设计阶段,考察实现方案是否可行的是_____原型。 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、你认为一个系统分析员的理想训练和基础知识是什么?请说明理由。 4、可行性研究主要研究哪些问题?试说明之。
5、信息和信息结构有什么区别?有没有不存在信息流的系统?有没有不存在信息结构的系统?
6、软件需求分析的操作性原则和需求工程的指导性原则是什么?
7、数据流图的作用是什么?它有哪些基本成份?
8、考务处理系统的分层数据流图如下图所示。 该考务处理系统有如下功能: ① 对考生送来的报名表进行检查; ② 对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生名单送给阅卷站; ③ 对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者; ④ 填写考生通知单(内容包含考试成绩及合格�M不合格标志),送给考生; ⑤ 按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难度分析,产生统计分析表。 (1) 图(c)中,加工1.1的输入数据流是( A ),输出数据流是( B ),图(b)中,加工2的输出数据流是( C ),它是由( D )和( E )组成。 供选择的答案: A~E. ① 统计分析表 ② 报名表 ③ 准考证 ④ 考生通知单 ���⑤ 合格报名表 ⑥ 难度分析表 ⑦ 错误成绩表 ⑧ 分类统计表 (2) 图(d)中的文件“试题得分表”是否在图(b)中漏掉了? 回答是( F )。 供选择的答案: F. ① “试题得分表”没有在图(b)中画出,是错误的。 � ② “试题得分表”是图(b)中加工的内部文件,不必在图(b)中画出。 � ③ “试题得分表”是多余的。 9、Petri网可以描述计算机软件系统的执行。现有一个程序如下(类似于Pascal语言) �L : S1; �WHILE P1 DO ��BEGIN ���IF P2 THEN S2 ������ELSE S3; ���COBEGIN ����S4; ����S5; ����S6; ���COEND ��END; �GOTO L; �其中,P1和P2为逻辑表达式,S1S6是单个执行语句,COBEGIN和COEND是并行执行开始和并行执行结束(即S4,S5和S6语句并行执行)。试用Petri网描述这段程序的执行过程。
10、数据词典的作用是什么?它有哪些基本词条?
11、传统的软件开发模型的缺陷是什么?原型化方法的类型有哪些?原型开发模型的主要优点是什么?
12、试简述原型开发的过程和运用原型化方法的软件开发过程。
13、软件需求分析说明书主要包括哪些内容? 14、阅读下列关于开发人事管理系统的交互式工作方式的叙述,再回答问题。 �某大企业最近决定采用高性能微机开发人事管理系统,将四台联机终端分置于人事处的三个科室。该系统可供操作员和程序员使用,也可供人事处负责人和主管人事的副厂长等查询人事信息用。人事管理系统通过录入人事数据和修改、删除等操作,产生和更新各类人事文件,通过搜索这些文件进行各类人事信息的查询。 �该企业有3000多个工人、干部和技术人员,大体可分成机关科室、生产车间、后勤服务和开发研制部门等几类部门。厂领导决定由计算机应用科来负责协调和开发应用系统。计算机应用科科长指示系统工程师张某负责进行系统分析。 �考虑到人事处有大量的查询信息要求、频繁的人事信息修改和文件存档、查阅等特点,计算机应用科决定认真设计人机交互界面,首先设计好在终端上的交互式会话的方式。 系统工程师张某通过调查收集到如下10条意见: �(1) 某程序员认为:系统在屏幕格式、编码等方面应具有一致性和清晰性,否则会影响操作人员的工作效率。 �(2) 某操作人员认为:在交互式会话过程中,操作人员可能会忘记或记错某些事情,系统应当提供HELP功能。 �(3) 某操作人员认为:既然是交互式会话,那么对所有的输入都应当作出响应,不应出现击键后,计算机没有任何反应的情况。 �(4) 某操作人员认为:在出错的时候,交互式会话系统应当给出出错信息,并且尽可能告诉我们出错的性质和错在什么地方。 �(5) 某程序员认为:终端会话也应当符合程序员编制程序时的习惯,这样可以更高效地维护人事管理系统。 �(6) 教育科干部甲认为:应当对操作员进行一些必要的培训,让他们掌握交互式会话系统的设计技巧,有助于提高系统的使用效率。 �(7) 教育科干部乙认为:尽管操作人员的指法已经强化训练但在交互式会话时应尽可能缩短和减少操作员输入的信息,以降低出错概率。 �(8) 某程序员认为:由于本企业中有很多较大的文件,文件的查找很费时间,交互式会话系统在响应时间较长时应给予使用者以提示信息。 �(9) 人事处干部丙认为:我们企业的人事资料相当复杂,格式非常之多,希望交互式系统使用十分清晰的格式,并容易对输入数据中的错误进行修改。 �(10) 人事处干部丁认为:人事管理系统应当具有相当的保密性和数据安全性,因此在屏幕上显示出的信息应该含混一些,以免泄密。 系统工程师张某对上述调查情况和其他要求作了分析后,发现收集到的10条意见中有3条意见是不能接受的,写出编号并各用40字以内叙述理由。