软件工程模拟卷,

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程综合模拟卷

一、填空题(每空1分,共30分)

1、软件工程包括技术和管理两方面内容,是(技术)与(管理)紧密结合所形成的工程学科。软件工程方法学包含3个要素:

(方法)、(工具)和(过程)。

2、任何计算机系统均由(硬件)和(软件)两部分组成。

3、通常使用软件生命周期模型简洁地描述软件过程。请举出几种典型的软件过程模型如(瀑布模型)、(快速原型模型)、(增量

模型)等等。

4、可行性研究其实质上是要进行一次大大压缩简化了的系统分析和设计过程。一般对可供选择的主要系统实现方案的可行性,

至少应该从(技术可行性)、(经济可行性)和(操作可行性)等3个方面研究每种实现方案的可行性。

5、白盒测试和黑盒测试是软件测试的两类基本方法,通常在测试过程的早期阶段主要使用(白盒测试),而在后期阶段主要

使用(黑盒测试)。

6、软件定义时期通常划分为3个阶段,它们分别是(问题定义)、(可行性研究)和(需求分析)。

7、程序的三种基本控制结构是(顺序)、(选择)和(循环)。

8、软件维护通常包括四类活动即(改正性维护)、(完善性维护)、(适应性维护)和(预防性维护)。

9、大型软件的测试应该分阶段地进行,通常至少分为(单元测试)、(集成测试)和(验收测试)等3个基本阶段。

10、软件成分重用可划分成以下3个级别即(代码重用)、(设计成果重用)和分析结果重用重用。

四、判断题(每题1分,共25分)

1、传统方法学强调自顶向下顺序地完成软件开发的各阶段任务,用面向对象方法学则是一个主动地多次反复迭代的演化过程。(×)

2、软件重用或称为复用仍然是降低软件成本和提高软件质量的唯一合理的方法。(×)

3、在软件设计过程中,对于交互式系统来说,人机界面设计和数据设计、体系结构设计及过程设计一样重要。考虑到现在人机界面在系统中所占比例越来越大的现实,可以将人机界面设计放到软件的编码实现阶段同时考虑,即由程序员基于过程算法完成编码实现的同时,同时按照软件规格说明书和业务逻辑要求实现人机界面,这样就降低了软件的开发代价。(×)

4、即使采用了形式化方法,软件重用仍然是降低软件成本和提高软件质量的唯一合理的方法。(×)

5、模块独立是良好软件设计的关键,而维护又是决定软件质量的关键环节。(×)

6、软件测试的目的是“建设性”的,即为了竭力证明已经建造好的软件系统的正确性和适用性。(×)

7、软件质量是软件工程目标之一,保证模块独立是良好软件设计的关键,而维护又是决定软件质量的关键环节。(×)

8、软件测试一般包括黑盒测试和白盒测试两种方法,测试目的是为了竭力证明已经建造好的软件系统的正确性和适用性。(×)

9、可以用形式化方法证明软件的需求和设计的正确性和合理性,因此,软件重用并不是降低软件成本和提高软件质量的合理方法之一。如果为了降低软件的测试成本和改正错误代价等,可以不用对软件进行测试,也可以保证软件的质量和降低开发成本等软件工程的目标。(×)

10、形式化方法有许多优点,因此在实际软件工作中应该依赖形式化方法来保证开发出的软件绝对正确和降低由于设计缺陷产生的维护代价。(×)

11、开发同一个软件(即LOC固定或功能点)的时候,如果把项目持续时间延长一些,则可降低完成项目所需要的工作量,更加完善了软件的设计工作,提高软件编码的效率。(×)

12、程序员知识、软件可移植性要求、软件应用领域和工程规模及系统用户的要求等是在软件开发中选择程序设计语言的主要实用标准。(√)

13、详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员根据这个蓝图编写实际的代码。(√)

14、在可行性研究过程中只需要找出几种技术方案就可以了,等到需求分析的时候再去考虑成本效益问题。(×)

15、在软件开发中选择程序设计语言的主要实用标准包括程序员知识、软件可移植性要求、软件应用领域和工程规模及系统用户的要求等。(√)

16、采用形式化方法进行软件系统的建模、分析与设计有许多其它方法不可替代的优点,因此在实际软件工作中应该依赖形式化方法来保证开发出的软件绝对正确,并降低由于设计缺陷产生的维护代价。(×)

17、请根据你所学的软件工程原理和常识,判断下述说法是否正确:开发同一个软件(即LOC固定或功能点)的时候,如果把项目持续时间延长一些,则可降低完成项目所需要的工作量,更加完善了软件的设计工作,提高软件编码的效率。(×)

18、必须用评审、测试等其他方法来验证软件正确性,因为无法用形式化方法证明从非形式化需求到形式化规格说明转换是正确的。(√)

19、在软件系统开发中,选择程序设计语言的主要实用标准是依据程序员的知识。(×)

20、通过较长的开发时间可以对复杂问题和软件系统的能够进行深入的分析,因此开发同一个软件(即LOC固定或功能点相同)的时候,如果把项目持续时间延长一些,则可降低完成项目所需要的工作量。(×)

21、无法用形式化方法证明从非形式化需求到形式化规格说明转换是正确的。所以必须用评审、测试等其他方法来验证软件正确性。(√)

22、人机界面是软件开发后期完善的工作内容,无需在设计阶段考虑人机界面问题。(×)

23、判定覆盖必然满足语句覆盖。(√)

24、代码审查方法没有计算机测试方法好。(×)

25、不同程序设计语言在程序的效率上的差异不大。(×)

四、名词解释(每题3分,共15分)

1、软件危机

落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象称为软件危机。

2、软件生命周期

软件生存周期是指软件产品开发的一系列相关活动的整个生命期,即从软件的定义开始,经过软件开发、交付使用到运行与维护,直到最终被废弃的整个时期。

3、数据流图DFD

数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能,是一种功能模型。

4、软件测试

软件测试是指用人工和自动化手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差异,保证软件的质量。

5、软件重用

软件复用(重用)是指用已有的软件的各种成分来开发新软件的方法,包括软件产品复用和过程复用两部分内容。

五、简答题(共30分)

1、软件工程包括哪些基本原理?(4分)

(1)、用分阶段的生命周期计划严格管理

(2)、坚持进行阶段评审

(3)、实行严格的产品控制

(4)、采用现代程序设计技术

(5)、结果应能清楚地审查

(6)、开发小组的人员应该少而精

(7)、承认不断改进软件工作实践的必要性

2、简要说明软件生命周期包括哪三个时期及其任务是什么?各个时期包括哪些阶段活动?简要说明传统瀑布模型软件开发有

哪些特点?(6分)

软件生命周期由软件定义、软件开发和运行维护(软件维护)三个时期组成,每个时期又进一步划分成若干个阶段。

软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。

开发时期由系统设计和系统实现两个阶段即总体设计、详细设计、编码和单元测试和综合测试4个阶段组成。

维护时期不再进一步划分阶段,但是每一次维护活动本质上都是一次压缩和简化了的定义和开发过程。

特点:阶段间具有顺序性和依赖性、推迟实现的观点、质量保证的观点

3、阅读下列说明和图,回答问题1至问题4,将答案填入对应栏中。(10分)

【说明】某学校欲开发图书管理系统,以记录图书馆所藏图书及其借出和归还情况,提供给借阅者借阅图书功能,提供给图书馆管理员管理和定期更新图书表功能。主要功能的具体描述如下:

(1)处理借阅。借阅者要借阅图书时,系统必须对其身份(借阅者ID)进行检查,通过与教务处维护的学生数据库、人事处维护的职工数据库中的数据进行对比,以验证借阅者ID是否合法。若合法,则检查借阅者在逾期未还图书表中是否有逾期未还图书,以及罚金表中的罚金是否超过限额。如果没有逾期未还图书并且罚金未超过限额,则允许借阅图书,更新图书表,并将借阅的图书存入借出图书表。借阅者归还所借图书时,先由图书管理员检查图书是否缺失或损坏,若是,则对借阅者处以相应罚金并存入罚金表;然后,检查所还图书是否逾期,若是,执行:“处理逾期”操作;最后,更新图书表,删除借出图书表中的相应记录。

相关文档
最新文档