【学习】《软件工程》期末考试卷A+参考答案

2023-05-16

2021 福师网院

《软件工程》2020年期末考试卷A

( 参考答案见底部)

1.软件需求分析阶段的工作,可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档以及( )。  

A.总结 B.阶段性报告

C.需求分析评审    D.以上答案都不正确  

2.在结构化分析方法中,用以表达系统内数据的运动情况的工具有( )。  

A.数据流图 B.数据词典      

C.结构化英语 D.判定表与判定树  

3.软件需求分析的任务不应包括(  )。

A.问题分析       B.信息域分析      

C.结构化程序设计 D.确定逻辑模型  

4.进行需求分析可使用多种工具,但(  )是不适用的。

A.数据流图     B.判定表     C.PAD图     D.数据词典  

5.在需求分析中,分析员要从用户那里解决的最重要的问题是(  )。

A.要让软件做什么  

B.要给该软件提供哪些信息  

C.要求软件工作效率如何  

D.要让软件具有什么样的结构  

6.需求规格说明书的内容不应当包括(  )。

A.对重要功能的描述  

B.对算法的详细过程性描述  

C.软件确认准则  

D.软件的性能  

7.需求规格说明书在软件开发中具有重要的作用,但其作用不应当包括(  )。

A.软件设计的依据  

B.用户和开发人员对软件要“做什么”的共同理解  

C.软件验收的依据  

D.软件可行性分析的依据  

8.在结构化分析方法中用状态―迁移图表达系统或对象的行为。在状态―迁移图中,由一个状态和一个事件所决定的下一状态可能会有( )个。

     A.1个      B.2个      C.多个      D.不确定

 

二、多项选择题共20分)

1.(1分)在结构化分析方法中用实体—关系图表达系统中的对象及其关系。在实体―关系图中,表达对象的实例之间的关联有三种类型:(BCD )。

A.多对一联系           B.一对一联系      

C.一对多联系           D.多对多联系

2.(3分)软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。其中,( A )是按事先设计的功能和性能要求执行的指令序列。( B )是使程序能够正确操纵信息的数据结构。( C )是与程序开发、维护和使用有关的图文材料。

  供选择的答案:

A~C:① 软件  ② 程序  ③ 代码  ④ 硬件

⑤ 文档  ⑥ 外设  ⑦ 数据  ⑧ 图表

3.(4分)开发软件时对提高软件开发人员工作效率至关重要的是( A )。软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。

  供选择的答案:

A.① 程序开发环境  ② 操作系统的资源管理功能

③ 程序人员数量  ④ 计算机的并行处理能力

B.① 需求分析  ② 需求调查

③ 可行性分析 ④ 问题定义

C、D. ① 方案设计  ② 代码设计  ③ 概要设计

④ 数据设计  ⑤ 运行设计  ⑥ 详细设计

⑦ 故障处理设计  ⑧ 软件体系结构设计

4.(7分)从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的(  )内。

  有人将软件的发展过程划分为4个阶段:

  第一阶段(1950~20世纪50年代末)称为“程序设计的原始时期”,这时既没有( A① ),也没有( B④ ),程序员只能用机器指令编写程序。

  第二阶段(20世纪50年代末~20世纪60年代末)称为“基本软件期”。出现了( A ),并逐渐普及。随着( B )的发展,编译技术也有较大的发展。

  第三阶段(20世纪60年代末~20世纪70年代中期)称为“程序设计方法时代”。这一时期,与硬件费用下降相反,软件开发费急剧上升。人们提出了( C⑤ )和( D⑧ )等程序设计方法,设法降低软件的开发费用。

  第四阶段(20世纪70年代中期~现在)称为“软件工程时期”。软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E⑤ )、( F④ )、编码、单元测试、综合测试、( G① )及其整体有关的各种管理技术。

  供选择的答案:

A~D:① 汇编语言 ② 操作系统   ③ 虚拟存储器概念

④ 高级语言 ⑤ 结构式程序设计 ⑥ 数据库概念

⑦ 固件   ⑧ 模块化程序设计

E~G:① 使用和维护 ② 兼容性的确认 ③ 完整性的确认

④ 设计    ⑤ 需求定义   ⑥ 图象处理

 

5.(5分)原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A )系统。它从用户界面的开发入手,首先形成(  C ),用户( D ),并就( A )提出意见,它是一种( A )型的设计过程。

①  A.需求不确定性高的      B.需求确定的       

C.管理信息        D.决策支持  

   ②  A.用户界面使用手册      B.用户界面需求分析说明书  

        C.系统界面原型          D.完善的用户界面  

   ③  A.改进用户界面的设计    B.阅读文档资料  

        C.模拟用户界面的运行    D.运行用户界面原型  

④  A.同意什么和不同意什么

 B.使用和不使用哪一种编程语言  

        C.程序的结构            

 D.执行速度是否满足要求  

⑤  A.自外向内 B.自顶向下   

C.自内向外 D.自底向上  

 

三、简答题(27分)

  1. (1分)可行性研究的应从哪几个方面进行研究? 
  2. (1分)可行性研究的目的是什么? 
  3. (1分)可行性研究报告的目的是什么? 
  4. (1分)项目计划书的目的是什么? 
  5. (2分)画出图书馆的借书的系统流图。
  6. (2分)软件工程过程有哪几个基本过程活动?试说明之。
  7. (2分)在软件需求分析时,首先建立当前系统的物理模型,再根据物理模型建立当前系统的逻辑模型。试问:什么是当前系统?当前系统的物理模型与逻辑模型有什么差别? 
  8. (4分)试论述瀑布模型软件开发方法的基本过程。
  9. (4分)软件需求分析是软件工程过程中交换意见最频繁的步骤。为什么交换意见的途径会经常阻塞? 
  10. (4分)数据流图的作用是什么?它有哪些基本成份? 
  11. (5分)数据词典的作用是什么?它有哪些基本词条?

四、论述题(32分)

1. (6分)试说明“软件生存周期”的概念。

2. (6分)软件工程是开发、运行、维护和修复软件的系统化方法,它包含哪些要素?试说明之。

3. (6分)软件工程学的基本原则有哪些?试说明之。

4. (6分)你认为一个系统分析员的理想训练和基础知识是什么?请说明理由。

5. (8分)软件需求分析说明书主要包括哪些内容?

 

五、分析题(13分)

1.(6分)考务处理系统的分层数据流图如下图所示。

该考务处理系统有如下功能:

①对考生送来的报名表进行检查;

②对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生名单送给阅卷站;

③对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者;

④填写考生通知单(内容包含考试成绩及合格∕不合格标志),送给考生;

⑤按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难度分析,产生统计分析表。

  (1)图(c)中,加工1.1的输入数据流是( A ),输出数据流是( B ),图 (b) 中 ,加工2的输出数据流是( C ) ,它是由( D )和( E )组成。

  供选择的答案:

A~E:① 统计分析表 ② 报名表 ③ 准考证

④ 考生通知单 ⑤ 合格报名表 ⑥ 难度分析表

⑦ 错误成绩表 ⑧ 分类统计表

  (2) 图(d)中的文件“试题得分表”是否在图(b)中漏掉了? 回答是( F )。

  供选择的答案:

F: ① “试题得分表”没有在图(b)中画出,是错误的。

② “试题得分表”是图(b)中加工的内部文件,不必在图(b)中画出。

③ “试题得分表”是多余的。

 

2.(7分)阅读下列关于开发人事管理系统的交互式工作方式的叙述,再回答问题。

  某大企业最近决定采用高性能微机开发人事管理系统,将4台联机终端分置于人事处的3个科室。该系统可供操作员和程序员使用,也可供人事处负责人和主管人事的副厂长等查询人事信息用。人事管理系统通过录入人事数据和修改、删除等操作,产生和更新各类人事文件,通过搜索这些文件进行各类人事信息的查询。

  该企业有3000多个工人 、干部和技术人员 ,大体可分成机关科室、生产车间、后勤服务和开发研制部门等几类部门。厂领导决定由计算机应用科来负责协调和开发应用系统。计算机应用科科长指示系统工程师张某负责进行系统分析。

  考虑到人事处有大量的查询信息要求、频繁的人事信息修改和文件存档、查阅等特点,计算机应用科决定认真设计人机交互界面,首先设计好在终端上的交互式会话的方式。

  系统工程师张某通过调查收集到如下10条意见:

  (1) 某程序员认为:系统在屏幕格式、编码等方面应具有一致性和清晰性,否则会影响操作人员的工作效率。

  (2) 某操作人员认为:在交互式会话过程中,操作人员可能会忘记或记错某些事情,系统应当提供HELP功能。

  (3) 某操作人员认为:既然是交互式会话,那么对所有的输入都应当作出响应,不应出现击键后计算机没有任何反应的情况。

  (4) 某操作人员认为:在出错的时候,交互式会话系统应当给出出错信息,并且尽可能告诉我们出错的性质和错在什么地方。

  (5) 某程序员认为:终端会话也应当符合程序员编制程序时的习惯,这样可以更高效地维护人事管理系统。

  (6) 教育科干部甲认为:应当对操作员进行一些必要的培训,让他们掌握交互式会话系统的设计技巧,有助于提高系统的使用效率。

  (7) 教育科干部乙认为:尽管操作人员的指法已经强化训练但在交互式会话时应尽可能缩短和减少操作员输入的信息,以降低出错概率。

  (8) 某程序员认为:由于本企业中有很多较大的文件,文件的查找很费时间,交互式会话系统在响应时间较长时应给予使用者以提示信息。

  (9) 人事处干部丙认为:我们企业的人事资料相当复杂,格式非常之多,希望交互式系统使用十分清晰的格式,并容易对输入数据中的错误进行修改。

  (10)人事处干部丁认为:人事管理系统应当具有相当的保密性和数据安全性 ,因此在屏幕上显示出的信息应该含混一些 ,以免泄密。

系统工程师张某对上述调查情况和其他要求作了分析后,发现收集到的10条意见中有3条意见是不能接受的 ,写出编号并各用40字以内字数叙述理由。

 

 

参考答案(仅供学习参考):

一、单项选择题(每小题1分,共8分)

CACCA BDC

 

二、多项选择题(共20分)

1.BCD

2.A②、B⑦、C⑤

3.A①、B①、C③、D⑥

4.A①、B④、C⑤、D⑧、E⑤、F④、G①

5.①A、②C、③D、④A、⑤A 

 

三、简答题(27分)

1.解:(1)技bai术可行性du,其研究目的是判断新的系统在当前技术条件下能否实现,或某种新技术能否获得。

(2)组织可行性,它是研究所建议的系统能否成功地实现。

(3)时间可行性,研究新系统能否在规定的时间内开发完成。

(4)经济可行性,研究开发的成本和效益,判断系统运行得到的效益是否能高于系统开发的成本,以及能否在规定的时间内收zhi开发的成本。

2.解:用最小的代价在尽可能短的时间内,确定问题是否能够解决,从而确定问题是否值得去解决。

3.解:提醒用户和使用部门仔细审查,从而决定该项目是否进行开发,是否接受可行的实现方案。

4.解:项目生命周期内的所有项目活动的行动基础、项目团队开展和检查项目工作的依据。

5.解:

6.解:软件工程过程的基本过程活动有4步:

· P (Plan) : 软件规格说明。规定软件的功能及其运行的限制;

· D (Do) : 软件开发。产生满足规格说明的软件;

· C (Check) : 软件确认。确认软件能够完成客户提出的要求;

· A (Action) : 软件演进。为满足客户的变更要求,软件必须在使用的过程中演进。

7.解:所谓当前系统可能是需要改进的某个已在计算机上运行的数据处理系统,也可能是一个人工的数据处理过程。当前系统的物理模型客观地反映当前系统实际的工作情况。但在物理模型中有许多物理的因素,随着分析工作的深入,有些非本质的物理因素就成为不必要的负担,因而需要对物理模型进行分析,区分出本质的和非本质的因素,去掉那些非本质的因素即可获得反映系统本质的逻辑模型。所以当前系统的逻辑模型是从当前系统的物理模型抽象出来的。

8.解:瀑布模型规定了各项软件工程活动,包括:制定软件项目计划,进行需求分析和定义,软件设计,程序编码,测试及运行维护。并且规定了他们自上而下,相互衔接的固定次序,如同瀑布流水,逐级下落。然而软件开发的实践表明,上述各项活动之间并非完全是自上而下,呈现性图式。实际情况是,每项开发活动均应具有以下特征:

(1)从上一项活动接受本项活动的工作对象,作为输入;

(2)利用这一输入实施本项活动应完成的内容;

(3)给出本项活动的工作成果,作为输出传给下一项活动;

(4)对本项活动实施的工作进行评审。若其工作得到确认,则继续进行下一项活动,否则返回前项,甚至更前项的活动进行返工。

9.解:软件需求分析过程中,由于最初分析员对要解决的问题了解很少,用户对问题的描述、对目标软件的要求也很凌乱、模糊,再加上分析员和用户共同的知识领域不多,导致相互间通信的需求。但是由于分析员和用户之间需要通信的内容相当多,业务知识上的不足,表达方式的不足,可能对某些需求存在错误解释或误解的可能性,造成需求的模糊性。另外,用户和分析员之间经常存在无意识的“我们和他们”的界限,不是按工作需要组成统一的精干的队伍,而是各自定义自己的“版图”,并通过一系列备忘录、正式的意见书、文档,以及提问和回答来相互通信。历史已经证明,这样会产生大量误解。忽略重要信息,无法建立成功的工作关系

10.解:数据流图的作用是描述数据在系统中如何被传送和变换,以及描述如何对数据流进行变换的功能;成份:加工;数据输入的源点或数据输出的汇点;数据流;数据存储文件。

(2)有外部实体、数据流、处理过程、数据存储

11.解:数据词典的作用是精确、严格地定义了每个与系统相关的数据元素,并以字典式顺序将它们组织起来,使得用户和分析员对所有的输入、输出、存储成份和中间计算有共同的理解。基本词条有:数据流、数据流分量、数据存储和处理。

 

四、论述题(32分)

1. (6分)试说明“软件生存周期”的概念。

解:软件生存周期(Software life cycle)又称为软件生命期,生存期。是指从形成开发软件概念起,所开发的软件使用以后,知道失去使用价值消亡为止的整个过程。一般来说,整个生存周期包括计划(定义)、开发、运行(维护)三个时期,每个时期又划分为若干个阶段。每个阶段有明确的任务。

生命周期阶段:软件计划与可行性分析、需求分析、软件设计、编码、软件测试、运行与维护

2. (6分)软件工程是开发、运行、维护和修复软件的系统化方法,它包含哪些要素?试说明之。

解:软件工程包括三个要素:方法、工具和过程。软件工程方法为软件开发提供了"如何做"的技术;软件工具为软件工程方法提供了自动的或半自动的软件支撑环境;软件工程的过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的木的。

3. (6分)软件工程学的基本原则有哪些?试说明之。

解:

抽象:抽取事物最基本的特性和行为,忽略非基本的细节。采用分层次抽象,自顶向下、逐层细化的方法控制软件开发过程的复杂性。

信息隐蔽:将模块设计成“黑箱”,实现的细节隐藏在模块内部,不让模块的使用者直接访问。这就是信息封装,使用与实现分离的原则。使用者智能通过模块接口访问模块中封装的数据。

模块化:模块是程序中逻辑上相对独立的部分,是独立的编程单位,应有良好的接口定义。如C语言程序中的函数过程,C++语言中的类。模块化有助于信息隐蔽和抽象,有助于表示复杂的系统。

4. (6分)你认为一个系统分析员的理想训练和基础知识是什么?请说明理由。

解:系统分析员处在用bai户和高du级程序员之间,负责沟zhi通用户和开发人员的认识和dao见

解, 起着桥梁的作zhuan用。一方面要协助shu用户对所开发的软件阐明要求, 另一方面还要与高级程

序员交换意见, 探讨用户所提要求的合理性以及实现的可能性。最后还要负责编写软件需求

规格说明和初步的用户手册。

为此要能胜任上述任务, 分析员应当具备如下的素质:

(1 ) 能够熟练地掌握计算机硬、软件的专业知识, 具有一定的系统开发经验。

(2 ) 善于进行抽象的思维和创造性的思维, 善于把握抽象的概念, 并把它们重新整理成

为各种逻辑成分, 并给出简明、清晰的描述。

(3 ) 善于从相互冲突或混淆的原始资料中抽出恰当的条目来。

(4 ) 善于进行调查研究, 能够很快学习用户的专业领域知识, 理解用户的环境条件。

(5 ) 能够倾听他人的意见, 注意发挥其他人员的作用。

(6 ) 具有良好的书面和口头交流表达能力。

5. (8分)软件需求分析说明书主要包括哪些内容?

解:包含如下:

1 前言

  1.1 目的

  1.2 范围

  1.3 定义、缩写词、略语

  1.4 参考资料

  2 软件项目概述

  2.1 软件产品描述

  2.2 软件产品功能概述

  2.3 用户特点

  2.4 一般约束

  2.5 假设和依据

  3 具体需求

  3.1 功能需求

  3.2 外部接口需求

  3.3 性能需求

  3.4 设计约束

  3.5 属性

  3.6 其他需求

  3.6.1 数据库

  3.6.2 操作

  3.6.3 场合适应性

  使用面向对象的分析方法得到的软件需求说明书内容如下:

  (1) 引言

  (2) 信息描述

  (3) 类、对象、类图、对象图、用例概览

  (4) 功能描述及用例模型

  (5) 行为描述及对象行为模型

  (6) 质量保证

  (7) 接口描述

  (8) 其他描述

 

五、分析题(13分)

1.解:A②、B⑤、C①、D⑥、E⑧、F②

2.解:不能接受的3条意见是(5)、(6)、(10)。 

(5)终端会话不需要符合程序员编制程序时的习惯,人机交互界面首先考虑的是用户如何使用起来方便。 

(6)人机交互界面首先考虑的是用户如何使用起来方便,与编程习惯、设计技巧无关。 

(10)屏幕上显示出的信息含混一些是不对的,屏幕上信息应很清晰易懂,安全保密与屏幕显示无关。

 

 

PS:在线考核题目+参考答案,若有错误请联系或留言提醒,一起学习和分享你我他,谢谢你!

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【学习】《软件工程》期末考试卷A+参考答案 的相关文章

随机推荐