软件工程理论与实践习题答案

合集下载

《软件工程》各章课后习题答案

《软件工程》各章课后习题答案

《软件工程》各章课后习题答案软件工程是计算机科学与技术的一门重要学科,旨在研究和应用工程原则和方法来开发高质量的软件系统。

课程中的习题对于加深学生对软件工程理论和实践的理解至关重要。

下面是对《软件工程》各章课后习题的答案,希望能够帮助你更好地掌握软件工程的知识。

第一章:软件工程导论1. 软件工程的定义:答:软件工程是通过应用系统化、规范化和可量化的方法进行软件开发、运行和维护的学科。

2. 软件工程的目标:答:软件工程的目标是提高软件开发的质量、效率和可靠性,使得软件能够满足用户的需求和期望。

3. 软件生命周期模型:答:常见的软件生命周期模型包括瀑布模型、迭代模型、敏捷模型等。

每个模型都有其独特的特点和适用场景。

4. 软件过程模型:答:软件过程模型描述了软件开发过程中的一系列活动和阶段,常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。

5. 软件工程的基本原则:答:常见的软件工程基本原则包括分阶段、逐步求精、持续集成、迭代开发、需求优先等。

第二章:软件项目管理1. 软件项目管理的定义:答:软件项目管理是指对软件开发过程中的资源、进度、质量等进行有效管理,以确保软件项目能够按时、按质地完成。

2. 软件项目管理的内容:答:软件项目管理包括项目计划、需求管理、项目进度管理、资源管理、风险管理等方面。

3. 软件项目管理的方法:答:常见的软件项目管理方法包括敏捷项目管理、水平项目管理、里程碑项目管理等。

4. 软件项目管理的工具:答:常用的软件项目管理工具包括甘特图、PERT/CPM网络图、项目管理软件等。

第三章:软件需求分析与规格说明1. 软件需求的定义:答:软件需求是指用户对软件系统的要求和期望,包括功能需求、性能需求、接口需求等方面。

2. 软件需求分析的方法:答:常用的软件需求分析方法包括面向对象分析法、数据流图法、用例分析法等。

3. 软件需求规格说明的格式:答:常见的软件需求规格说明的格式包括自然语言描述、结构化描述、图形描述等。

软件工程实践题50题及答案

软件工程实践题50题及答案

1、完善性维护一个已有的库存清单系统,新增一个能在每天送给采购员一份订货报表的功能。

新增该功能共投资了5000元,系统维护后能及时订货,消除零件短缺问题,每年可节约2500元,若系统生存期为5年,年利率为5%,请计算:①.货币的时间价值;②纯收入。

注:不计复利。

2、假设某软件生命周期为5年。

现在投资20万,年利率为3%。

从每一年年底收入5万元,请计算该项目的①.货币的时间价值;②投资回收期(保留小数点后两位)。

注:不计复利。

3、某计算机系统投入使用后,5年内每年可节省人民币 2O0O元,假设系统的投资额为5000元,年利率为 12%。

试计算投资回收期和纯收入。

(保留小数点后两位)。

注:要求计算复利。

4、某计算机系统共投资了5.5万元,系统投入使用后每年可节约2万元,若系统生存期为4年,年利率为5%,请计算:①.货币的时间价值;②.投资回收期;③.纯收入。

注:要求计算复利。

5、画出下面用PDL写出的程序的PAD图。

WHILE P DOIF A >O THEN A1 ELSE A2 ENDIF;S1;IF B>0 THEN B1;WHILE C DO S2;S3 ENDWHILE;ELSE B2ENDIF;B3ENDWHILE;6、画出下面用PDL写出的程序的PAD图WHILE C DOIF A>0A1;ELSEA2;ENDIFIF B>0B1;IF C>0C1;ELSEC2;ENDIFELSEB2;ENDIFB3;ENDWHILE;7、根据伪码画出PAD图。

STARTSWITCH PCASE 1: A; break;CASE 2: B; break;CASE 3: C; break;Default;STOP8、请画出求1 + 3 + 5 +…+ n的PAD图。

9、请使用PAD图描述在数组A(1)~A(10)中找最大数的算法。

10、某商场在“五一”期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于100元,按A类标准收费(不打折),一次购物累计多于或等于100元,按B类标准收费(打9折);会员顾客一次购物累计少于1000元,按C类标准收费(打8折),一次购物累计等于或多于1000元,按D类标准收费(打7折)。

软件工程—方法与实践(许家珆)

软件工程—方法与实践(许家珆)

《软件工程——理论与实践》(第2 版)习题答案习题答案习题一答案一、选择题1. 软件的主要特性是(A B C)。

A) 无形B) 高成本C) 包括程序和文档D) 可独立构成计算机系统2. 软件工程三要素是(B)。

A) 技术、方法和工具B) 方法、工具和过程C) 方法、对象和类D) 过程、模型、方法3. 包含风险分析的软件工程模型是(A)。

A) 螺旋模型B) 瀑布模型C) 增量模型D) 喷泉模型4. 软件工程的主要目标是(C)。

A) 软件需求B) 软件设计C) 风险分析D) 软件实现5. 下列属于面向对象开发方法的是(A B C D)。

A) Booch B) UML C) Coad D) OMT6. 软件危机的主要表现是(B D)。

A) 软件成本太高B) 软件产品的质量低劣C) 软件开发人员明显不足D) 软件生产率低下7. 软件开发方法的主要工作模型有(A B C)A) 螺旋模型B) 循环模型C) 瀑布模型D) 专家模型8. 软件工程的目标有(A B C)。

A) 易于维护B) 低的开发成本C) 高性能D) 短的开发期9. 软件工程学的目的和意义是(A D)。

A) 应用科学的方法和工程化的规范管理来指导软件开发B) 克服软件危机C) 作好软件开发的培训工作D) 以较低的成本开发出高质量的软件二、判断题1. 软件就是程序,编写软件就是编写程序。

(×)2. 瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。

(×)3. 结构化方法的工作模型是使用螺旋模型进行开发。

(×)4. 结构化方法和OO 方法都是一种面向过程的软件开发方法。

(×)5. 原型化开发方法包括生成原型和实现原型两个步骤。

(×)6. 面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。

( √)7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。

(×)8. 软件工具的作用是为了延长软件产品的寿命。

软件工程理论与实践考核试卷

软件工程理论与实践考核试卷
9.在软件项目管理中,以下哪种方法用于评估项目进度和剩余工作量?()
A.甘特图
B.思维导图
C.PERT图
D. Gantt图
10.以下哪种编程范式强调程序组件的复用?()
A.面向对象编程
B.过程式编程
C.函数式编程
D.逻辑式编程
11.在软件架构中,以下哪个概念用于描述不同模块之间的依赖关系?()
A.接口
9.可靠性
10.版本控制
四、判断题
1. ×
2. √
3. ×
4. √
5. √
6. ×
7. ×
8. ×
9. √
10. ×
五、主观题(参考)
1.软件工程的基本目标是开发出具有高效性、可靠性和可维护性的软件产品。这些目标在软件开发过程中至关重要,因为它们确保了软件的质量,减少了开发成本和时间,并提高了用户满意度。
7.软件开发生命周期中的“V”模型主要强调的是测试阶段与开发阶段的____关系。
8.在软件设计中,____原则指导我们不应该对扩展开放的对象进行修改。
9.软件可维护性的衡量标准包括可理解性、可适应性、可扩展性和____。
10.软件配置管理(SCM)的主要职责是管理软件变更和____。
四、判断题(本题共10小题,每题1分,共10分,正确的请在答题括号中画√,错误的画×)
A.可理解性
B.可适应性
C.可扩展性
D.可靠性
12.在面向对象设计模式中,以下哪些属于结构型模式?()
A.装饰器模式
B.适配器模式
C.桥接模式
D.策略模式
13.以下哪些方法可以用来评估软件项目的成本?()
A.功能点分析
B.行业标准
C.专家判断

软件工程习题附答案

软件工程习题附答案

软件工程习题附答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。

以下是一些与软件工程相关的习题及答案,希望能帮助您更好地理解这门学科。

一、选择题1、软件生存周期中,解决软件“做什么”的阶段是()A 需求分析B 软件设计C 软件实现D 软件测试答案:A解析:需求分析阶段主要是确定软件系统需要完成的功能和性能,解决软件“做什么”的问题。

2、下面不属于软件设计原则的是()A 抽象B 模块化C 自底向上D 信息隐藏答案:C解析:软件设计的原则通常包括抽象、模块化、信息隐藏等,自底向上一般不是软件设计的原则,常见的是自顶向下的设计方法。

3、软件测试的目的是()A 证明软件没有错误B 发现软件中的错误C 改正软件中的错误D 优化软件的性能答案:B解析:软件测试的目的是为了发现软件中存在的错误,而不是证明软件没有错误或直接改正错误、优化性能。

4、下列模型中,不属于软件生命周期模型的是()A 瀑布模型B 快速原型模型C 增量模型D 螺旋模型E 喷泉模型答案:E解析:瀑布模型、快速原型模型、增量模型和螺旋模型都属于常见的软件生命周期模型,喷泉模型则主要强调软件对象之间的无缝迭代。

5、软件维护中,因修改软件而导致出现新错误的维护属于()A 改正性维护B 适应性维护C 完善性维护D 预防性维护答案:A解析:改正性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。

在这种维护中,可能会因为修改软件而引入新的错误。

二、填空题1、软件工程包括()、()和()三个要素。

答案:方法、工具、过程2、软件需求分析阶段的工作,可以分为四个方面:()、()、()和()。

答案:需求获取、需求分析、编写需求规格说明书、需求评审3、软件测试的步骤主要包括()、()、()和()。

答案:单元测试、集成测试、系统测试、验收测试4、面向对象的三大特性是()、()和()。

软件工程习题及参考答案

软件工程习题及参考答案

软件工程习题及参考答案软件工程习题及部分参考答案判断题软件也会磨损和老化。

(X)完善性维护是提高或完善软件的性能。

(√)数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。

(X)软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。

(X)软件模块之间的耦合性越弱越好。

(√)如果通过软件测试没有发现错误,则说明软件是正确的。

(X)快速原型模型可以有效地适应用户需求的动态变化。

(√)模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。

(√)集成测试主要由用户来完成。

(X)确认测试计划应该在可行性研究阶段制定(X)白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。

(X)?软件概要设计包括软件系统结构设计以及数据结构和数据库设计。

(√)软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。

(√)系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。

(╳)?模块越多,开发成本越小。

(╳)软件测试的目的就是证明软件没有错。

(╳)PAD图在设置了五种基本的控制结构后,还允许递归使用。

(√)在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。

(×)SA法是面向数据流,建立在数据封闭原则上的需求分析方法。

(√)HIPO 法既是需求分析方法,又是软件设计方法。

(√)在面向对象的需求分析方法中,建立动态模型是最主要的任务。

(×)加工小说明是对系统流程图中的加工进行说明。

(×)判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。

(×)需求分析的主要方法有SD 法、OOA 法及HIPO 法等。

(×)分层的DFD 图可以用于可行性分析阶段,描述系统的物理结构。

《软件工程实践》期末考试试卷附答案

《软件工程实践》期末考试试卷附答案

《软件工程实践》期末考试试卷附答案《软件工程实践》期末考试试卷及答案一、选择题(每题2分,共20分)1. 软件工程的主要目标是()。

A. 提高软件开发的效率B. 提高软件的可靠性C. 提高软件的开发质量D. 以上都是答案:D2. 在软件开发过程中,需求分析是在()。

A. 概要设计阶段B. 详细设计阶段C. 编码阶段D. 测试阶段答案:A3. 下列哪一项不是软件工程的基本活动?()A. 软件规格B. 软件设计和实现C. 软件验证D. 软件评估答案:D4. 下列哪个工具通常用于软件项目的进度监控?()A. Gantt图B. flowchart图C. UML图D. 风险矩阵答案:A5. 下列哪个方法不是软件质量保证的主要方法?()A. 代码审查B. 单元测试C. 静态测试D. 需求评审答案:D二、填空题(每题2分,共20分)1. 软件工程包括三个主要过程,分别是________、________和________。

答案:软件规格、软件设计和实现、软件验证2. 在软件开发过程中,需求规格说明书的主要目的是________。

答案:描述软件的功能和性能要求3. 结构化分析方法的核心是________。

答案:数据流图(DFD)4. 软件验证的主要目的是________。

答案:确保软件满足需求规格说明书的各项要求5. 软件风险管理的主要任务是________。

答案:识别、评估和制定应对软件项目风险的策略三、简答题(每题5分,共30分)1. 请简述软件生命周期的主要阶段及其任务。

答案:软件生命周期包括以下主要阶段:(1)需求分析:收集和分析用户需求,形成需求规格说明书;(2)概要设计:根据需求规格说明书,设计软件的整体架构和模块划分;(3)详细设计:为每个模块设计详细的接口、数据结构和算法;(4)编码:根据详细设计文档,编写代码;(5)测试:验证代码的正确性和性能;(6)运行和维护:软件上线后进行运行维护和持续优化。

软件工程习题附答案

软件工程习题附答案

软件工程习题附答案软件工程是一门研究如何以系统性的、规范化的、可定量的方法开发和维护软件的学科。

在软件工程的学习和实践中,习题是一种重要的学习方法,通过解答习题可以加深对知识的理解和应用。

本文将为您提供一些关于软件工程的习题,并附带答案。

请注意,下文中的答案仅供参考,具体情况还需根据实际情况进行判断和调整。

1. 什么是软件工程?答案:软件工程是一门研究如何以系统性的、规范化的、可定量的方法开发和维护软件的学科。

2. 软件工程的核心原则是什么?答案:软件工程的核心原则是系统分析、设计、编程、测试和维护各个阶段严格按照规范进行,并强调团队协作和项目管理的重要性。

3. 软件生命周期包括哪些阶段?答案:软件生命周期包括问题定义、需求分析、系统设计、编码、测试和维护等阶段。

4. 请简要描述软件工程的开发流程。

答案:软件工程的开发流程一般包括需求分析、系统设计、编码、测试和维护等阶段。

具体而言,首先需要明确需求,然后进行系统设计,确定软件的整体结构和功能。

接着进行编码,将设计好的软件实现为代码。

随后进行测试,检查软件是否符合需求并修复潜在的问题。

最后是维护阶段,对软件进行更新和修复,以保证其长期有效运行。

5. 请列举几种常用的软件开发方法。

答案:常用的软件开发方法包括瀑布模型、迭代模型、敏捷开发等。

6. 什么是瀑布模型?答案:瀑布模型是一种线性顺序型的软件开发方法,各个阶段严格按照顺序进行,上一个阶段的输出作为下一个阶段的输入。

7. 什么是迭代模型?答案:迭代模型是一种反复迭代、循环演化的软件开发方法,每次迭代都会增加新的功能或修复问题。

8. 请简要介绍敏捷开发方法。

答案:敏捷开发方法是一种轻量级的软件开发方法,强调迭代、灵活和快速响应变化。

它鼓励团队协作、自我组织和持续改进。

9. 请列举几种常用的软件测试方法。

答案:常用的软件测试方法包括单元测试、集成测试、系统测试和验收测试等。

10. 什么是单元测试?答案:单元测试是针对软件开发的最小单位——单元(如函数、方法等)进行的测试,用于检查该单元是否符合预期的功能和设计要求。

软件工程课后习题参考答案

软件工程课后习题参考答案

软件工程课后习题参考答案软件工程课后习题参考答案1.简答题1.1 什么是软件工程?软件工程是一门研究和应用如何以系统化、规范化、可量化的方式开发和维护软件的学科,涉及到软件的设计、构建、测试、部署和维护等全生命周期的过程。

1.2 软件工程的目标是什么?软件工程的目标是提高软件开发过程的效率和质量,确保软件项目按时、按需求交付,并且能够满足用户的期望。

1.3 软件生命周期有哪些阶段?常见的软件生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。

1.4 什么是软件需求?软件需求是指对于软件系统所需满足的问题或需求的描述,包括功能需求、性能需求、接口需求等。

1.5 软件开发过程有哪些模型?常见的软件开发过程模型包括瀑布模型、迭代模型、螺旋模型、敏捷开发等。

2.客观题2.1 软件测试的目的是什么?a) 发现软件中的错误和缺陷b) 验证软件是否符合需求和规格c) 提高软件的可靠性和质量d) 以上皆是答案:d) 以上皆是2.2 瀑布模型的特点是什么?a) 瀑布模型是一种线性顺序的软件开发过程模型b) 各个开发阶段是相互独立的c) 开发过程按照需求分析、设计、编码、测试等顺序进行d) 以上皆是答案:d) 以上皆是2.3 敏捷开发的原则是什么?a) 个体和交互胜过流程和工具b) 可工作的软件胜过详尽的文档c) 客户合作胜过合同谈判d) 响应变化胜过遵循计划e) 以上皆是答案:e) 以上皆是3.计算题3.1 请计算以下代码的覆盖率:(假设代码行数为100行,已执行代码行数为80行)覆盖率 = 已执行代码行数 / 代码行数 100% = 80 / 100 100% = 80%3.2 请计算以下缺陷密度的值:(假设代码行数为1000行,代码中的缺陷数为10个)缺陷密度 = 缺陷数 / 代码行数 1000 = 10 / 1000 1000 = 103.3 请计算以下代码的复杂度:(假设代码中包含的判断语句有20个,循环语句有5个)复杂度 = 判断语句数 2 + 循环语句数 3 = 20 2 + 5 3 = 40 + 15 = 554.附件本文档涉及附件:无5.法律名词及注释本文涉及的法律名词及注释:无。

软件工程理论与实践课后习题

软件工程理论与实践课后习题

软件工程理论与实践课后习题1、下列要素中,不属于DFD的是()。

[单选题] *A、加工B、数据流C、数据存储D、联系(正确答案)2、当使用DFD对一个工资系统进行建模时,()可以被认定为外部实体。

[单选题] *A、接收工资单的银行(正确答案)B、工资系统源代码程序C、工资单D、工资数据库的维护3、采用瀑布模型进行系统开发的过程中,每个阶段都会产生不同的文档。

以下关于产生这些文档的描述中,正确的是() [单选题] *A、外部设计评审报告在概要设计阶段产生B、集成测试计划在程序设计阶段产生C、系统计划和需求说明在详细设计阶段产生D、在进行编码的同时,独立的设计单位测试计划(正确答案)4、在UML提供的图中,()用于描述系统与外部系统及用户之间的交互。

[单选题] *A、用例图(正确答案)B、类图C、对象图D、部署图5、在UML提供的图中,()用于按时间顺序描述对象间的交互。

[单选题] *A、网络图B、状态图C、协助图D、序列图(正确答案)6、在开发一个系统时,如果用户对系统的目标不是很清楚,难以定义需求,这时最好使用()。

[单选题] *A、原型法(正确答案)B、瀑布模型C、V-模型D、螺旋模型7、应该在()阶段制定系统测试计划。

[单选题] *A、需求分析(正确答案)B、概要设计C、详细设计D、系统测试8、在软件项目管理中可以使用各种图形工具来辅助决策,下面对Gantt图的描述不正确的是()。

[单选题] *A、Gantt图表现各个活动的顺序和它们之间的因果关系(正确答案)B、Gantt图表现哪些活动可以并行进行C、Gantt图表现了各个活动的起始时间D、Gantt图表现了各个活动完成的进度9、以下内容中,()应写入操作手册。

[单选题] *A、描述系统对各种输入数据的处理方法B、说明系统升级时厂商提供的服务C、描述系统处理过程的各个界面(正确答案)D、说明系统各部分之间的接口关系10、耦合度描述了()。

软件工程方法与实践第三版答案

软件工程方法与实践第三版答案

软件工程方法与实践第三版答案一、选择题1.软件的主要特性是(ABC)。

A无形B)高成本C包括程序和文档D)可独立构成计算机系统2.软件工程三要素是(CD)A技术、方法和工具B)方法、工具和过程C)方法、对象和类D)过程、模型、方法3.包含风险分析的软件工程模型是(A)。

A螺旋模型B)瀑布模型C)增量模型D)喷泉模型4.软件工程的主要目标是(C)。

A软件需求B)软件设计C)风险分析D)软件实现5.下列属于面向对象开发方法的是(ABCD)。

ABooch B)UML C)Coad D)OMT6.软件危机的主要表现是(BD)。

A)软件成本太高B)软件产品的质量低劣C)软件开发人员明显不足D)软件生产率低下7.软件开发方法的主要工作模型有(ABC)A螺旋模型B)循环模型C)瀑布模型D)专家模型8.软件工程的目标有(ABC)。

A易于维护B)低的开发成本©)高性能D)短的开发期9.软件工程学的目的和意义是()A应用科学的方法和工程化的规范管理来指导软件开发B)克服软件危机C)作好软件开发的培训工作D)以较低的成本开发出高质量的软件二、判断题1.软件就是程序,编写软件就是编写程序。

()2.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。

()3.结构化方法的工作模型是使用螺旋模型进行开发。

(~)4.结构化方法和JSP方法都不适合于大型软件的开发。

()5.原型化开发方法包括生成原型和实现原型两个步骤。

(~)6.面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。

()7.软件危机的主要表现是软件的需求量迅速增加,软件价格上升。

()8.软件工具的作用是为了延长软件产品的寿命。

()9.软件工程过程应该以软件设计为中心,关键是编写程序。

()10.RCP法与RSP法的主要区别是前者采用循环渐进的开发方式,原型将成为最终的产品,而后者将被废弃。

()三、简答题1.软件产品的特性是什么?答:·软件是一种逻辑产品,具有无形性:·软件产品的生产主要是研制:·软件不存在磨损和老化问题,但存在退化问题:。

软件工程习题(附答案)

软件工程习题(附答案)

软件工程习题(附答案)软件工程习题(附答案)1.概述1.1 介绍本文档是一份软件工程习题文档,包含了一系列关于软件工程的习题及其对应的答案。

这些习题涵盖了软件工程的各个方面,旨在帮助读者巩固和扩展自己的软件工程知识。

1.2 目的本文档的目的是提供一份全面而详细的习题文档,供软件工程学习者参考和学习。

每个习题都配有答案,以便读者可以自行对比答案和解答过程,提高自己的理解和运用能力。

2.软件需求工程2.1 需求获取2.1.1 什么是需求获取?为什么它在软件工程中非常重要?答案:需求获取是指在软件开发过程中,获取并理解用户对软件系统所需功能和约束的过程。

它在软件工程中非常重要,因为一个完整、清晰、准确的需求基础是成功软件开发的关键,它直接影响着软件系统的功能、性能和质量。

2.1.2 几种常见的需求获取方法。

答案:常见的需求获取方法包括面谈、问卷调查、观察、原型展示等。

2.2 需求分析与规格2.2.1 什么是需求分析?它的目标是什么?答案:需求分析是指对需求进行深入的分析和理解,以确定需求的准确性、完整性和一致性。

它的目标是明确系统需求,并将其规格化,为软件开发提供指导和依据。

2.2.2 需求分析的主要步骤有哪些?答案:需求分析的主要步骤包括需求获取与识别、需求验证与确认、需求排序与组织、需求规格化等。

3.软件设计3.1 结构化设计3.1.1 什么是结构化设计?答案:结构化设计是指将系统进行层次化和模块化分解,定义各个模块之间的接口和关系,从而使系统具有更好的可维护性、可扩展性和可重用性。

3.1.2 结构化设计的原则有哪些?答案:结构化设计的原则包括模块化原则、信息隐藏原则、高内聚低耦合原则等。

3.2 面向对象设计3.2.1 什么是面向对象设计?答案:面向对象设计是一种基于对象的思维方式,将系统分解为各个独立的对象,通过对象之间的交互和协作来实现系统的功能。

3.2.2 面向对象设计的主要特点是什么?答案:面向对象设计的主要特点包括封装、继承、多态等。

软件工程与实践考试题及答案

软件工程与实践考试题及答案

《软件工程与项目管理》复习资料一、选择题1、经济可行性研究的范围包括( C )。

A.资源有效性B.管理制度C.效益分析 D.开发风险2、结构化设计方法在软件开发中用于( A )。

A.概要设计B.详细设计C.程序设计D.测试用例设计3、程序的三种基本控制结构是( B )。

A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移4、软件测试中,白盒法是通过分析程序的( B )来设计测试用例的。

A. 应用范围B. 内部逻辑C. 功能D. 输入数据5、软件开发生命周期中,( D )耗费的工作量最大。

A. 需求阶段B. 设计阶段C. 测试阶段D. 维护阶段6、模块的内聚性最高的是( D )。

A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚7、原型化方法是用户和设计者之间执行的一种交互构成,适用于( A )系统。

A.需求不确定性高的 B.需求确定的C.管理信息D.实时8、( D )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。

A. 软件过程B. 软件工具C. 质量保证D. 软件工程9、下列关于瀑布模型的描述正确的是( D )。

A.利用瀑布模型,如果发现问题修改的代价很低B.瀑布模型的核心是按照软件开发的时间顺序将问题简化C.瀑布模型具有良好的灵活性D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开10、总体设计的目的是确定整个系统的( B )。

A.规模 B.功能及模块结构C.费用 D.测试方案11、快速原型模型的主要特点之一是 ( D )。

A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件12、两个模块彼此传递的信息中有控制信息,这种耦合称为( D )。

A. 数据耦合B. 公共环境耦合C. 内容耦合D. 控制耦合13、为了提高模块的独立性,模块之间最好是( D ) 。

软件工程与实践考试题及答案

软件工程与实践考试题及答案

《软件工程与项目管理》复习资料一、选择题1、经济可行性研究的范围包括( C)。

A.资源有效性 B.管理制度 C.效益分析 D.开发风险2、结构化设计方法在软件开发中用于(A)。

A.概要设计B.详细设计C.程序设计D.测试用例设计3、程序的三种基本控制结构是( B )。

A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移4、软件测试中,白盒法是通过分析程序的(B)来设计测试用例的。

A.应用范围B.内部逻辑C.功能D.输入数据5、软件开发生命周期中,(D)耗费的工作量最大。

A.需求阶段B.设计阶段C.测试阶段D.维护阶段6、模块的内聚性最高的是( D )。

A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚7、原型化方法是用户和设计者之间执行的一种交互构成,适用于( A )系统。

A.需求不确定性高的B.需求确定的C.管理信息D.实时8、(D)是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。

A.软件过程B.软件工具C.质量保证D.软件工程9、下列关于瀑布模型的描述正确的是(D)。

A.利用瀑布模型,如果发现问题修改的代价很低B.瀑布模型的核心是按照软件开发的时间顺序将问题简化C.瀑布模型具有良好的灵活性D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开10、总体设计的目的是确定整个系统的(B)。

A.规模B.功能及模块结构C.费用D.测试方案11、快速原型模型的主要特点之一是(D)。

A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件12、两个模块彼此传递的信息中有控制信息,这种耦合称为( D )。

A. 数据耦合B. 公共环境耦合C. 内容耦合D. 控制耦合13、为了提高模块的独立性,模块之间最好是(D) 。

A. 控制耦合B. 公共耦合C. 内容耦合D. 数据耦合14、单元测试的测试用例主要根据(D)的结果来设计。

软件工程--理论、方法与实践课后习题答案

软件工程--理论、方法与实践课后习题答案

B. 适用于客户需求难以清楚定义的情况
C. 最适合于大规模团队开发的项目
D. 很难产生有意义产品的一种冒险模型
7. 演进式软件过程模型(
)。(D)
A. 本质上是迭代的
B. 可以很容易适应需求的变化
C. 通常不会抛弃所产生的系统
D. 以上所有选项
8. 螺旋模型(
)。(C)
A. 在软件产品发布时结束
B. 比增量模型更加混乱
(4) 形式化方法模型 项目举例:某公司开发一个汽车防抱死刹车控制系统。 选用分析:由于该系统对安全性和可靠性要求极高,需要在系统运行之前进行相关性能的检 验,因此适合采用形式化方法开发该系统。 阶段说明:略。
(5) 基于组件的开发模型 项目举例:某公司开发企业管理 ERP 系统,包括销售、库存、生产、财务、物流、人力资 源等部分,在系统实施过程中不同的企业具有一定的需求差异。 选用分析:企业 ERP 系统具有组件化的结构,在不同企业实施时应该尽量重用已有的组件, 因此适合采用基于组件的开发模型开发该系统,在直接应用或者修改使用的基础上,最终进 行组件开发和系统集成。 阶段说明:略。
)准则。(E)
A. 从来不为个人获利而窃取数据
B. 从来不散布或出售项目中自己工作的信息
C. 从来不故意毁坏或修改别人的程序、文件或数据
D. 从来不侵犯个人、小组或组织的隐私
E. 以上所有选项
[练习题]
1.
软件与其他工程学科所产生的制品有什么根本区别?
答案要点: (1) 软件是人类思维和智能所延伸的产物,其数据、状态和逻辑关系的组合以及人类思维的 复杂性和不确定性导致它本身具有极高的复杂性; (2) 软件具有不可见性,它是抽象的,形式化和逻辑化的。 (3) 软件具有可变性,有用的软件需要不断地修改和扩展,但是频繁的修改可能导致软件的 退化;

软件工程理论与实践习题答案

软件工程理论与实践习题答案

软件特征:只有程序、程序设计概念,不重视程序设计方法。 ② 程序系统阶段。
硬件特征: 速度、容量及工作可靠性有明显提高, 价格降低, 销售有爆炸性增长 。
软件特征:程序员数量猛增,开发人员素质低。 ③ 软件工程阶段。
硬件特征:向超高速、大容量、微型化及网络化方向发展。 软件特征:开发技术有很大进步, 但未获得突破性进展,软件价格不断上升,未 完全摆脱软件危机。
(2) 模拟和分析需求 需求分析和模拟又包含三个层次的工作。首先是需求建模。需
求模型的表现形式有自然语言、半形式化 (如图、表、结构化英语等 )和形式化表示等三
种。需求概念模型的要求包括实现的独立性
:不模拟数据的表示和内部组织等;需求模
拟技术又分为企业模拟、功能需求模拟和非功能需求模拟等。
(3) 传递需求 传递需求的主要任务是书写软件需求规格说明。 (4) 认可需求 就是对需求规格说明达成一致,其主要任务是冲突求解,包括定义冲 突和冲突求解两方面。常用的冲突求解方法有:协商、竞争、仲裁、强制、教育等,其
9. 软件工程学的目的和意义是 ( ) 。
A) 应用科学的方法和工程化的规范管理来指导软件开发
B) 克服软件危机
C) 作好软件开发的培训工作
D) 以较低的成本开发出高质量的软件
二、 判断题 1. 软件就是程序,编写软件就是编写程序。 ( ×)
2. 瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
5. 考察下图中子图、父图的平衡。
图1
图2
参考答案: 显然,图 1 中子图与父图不平衡。改正如下: 如果有如下数据条目: 订货单 =客户 +账号 +数量 则子、父图平衡 6. 画出银行取款过程的 DFD 图。问题描述为:储户用存折取款,首先填写取款单,
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A) 螺旋模型
B) 瀑布模型
C) 增量模型 D) 喷泉模型
4. 软件工程的主要目标是 (C) 。
A) 软件需求
B) 软件设计
C) 风险分析 D) 软件实 现
5. 下列属于面向对象开发方法的是 (A B C D) 。
A) Booch
B) UML
C) Coad
D) OMT
6. 软件危机的主要表现是 (B D) 。
● 软件不存在磨损和老化问题,但存在退化问题; ● 软件产品的生产主要是脑力劳动; ● 软件产品的成本非常昂贵,其开发方式目前尚未完全摆脱手工生产方式;
● 软件具有 “复杂性 ”,其开发和运行常受到计算机系统的限制。 2. 软件发展有几个阶段?各有何特征? 答: ① 程序设计阶段。 硬件特征:价格贵、存储容量小、运行可靠性差。
D) 数据流封闭的原则 6. 在 E-R 模型中,包含以下基本成分
A) 数据、对象、实体
(C)。
B) 控制、联系、对象 C) 实体、联系、属性
D) 实体、属性、联系 7. 画 DFD 图的主要目的是 (A D) 。
A) 作为需求分析阶段用户与开发者之间交流信息的工具 B) 对系统的数据结构进行描述 C) 对目标系统的层次结构进行描述
软件特征:只有程序、程序设计概念,不重视程序设计方法。 ② 程序系统阶段。
硬件特征: 速度、容量及工作可靠性有明显提高, 价格降低, 销售有爆炸性增长 。
软件特征:程序员数量猛增,开发人员素质低。 ③ 软件工程阶段。
硬件特征:向超高速、大容量、微型化及网络化方向发展。 软件特征:开发技术有很大进步, 但未获得突破性进展,软件价格不断上升,未 完全摆脱软件危机。
2. 需求分析的主要方法有 (C D )。 A) 形式化分析方法 C) 结构化分析 (SA) 方法
3. 面向对象的分析方法主要是建立三类模型,即 A) 系统模型、 ER 模型、应用模型
B) PAD 图描述 D) OOA 法
(D)。
B) 对象模型、动态模型、应用模型 C) E -R模型、对象模型、功能模型
9. 软件工程学的目的和意义是 ( ) 。
A) 应用科学的方法和工程化的规范管理来指导软件开发
B) 克服软件危机
C) 作好软件开发的培训工作
D) 以较低的成本开发出高质量的软件
二、 判断题 1. 软件就是程序,编写软件就是编写程序。 ( ×)
2. 瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
D) 对象模型、动态模型、功能模型 4. SA法的主要描述手段有 (B )。
A) 系统流程图和模块图
B) DFD图、数据词典、加工说明 C) 软件结构图、加工说明
D) 功能结构图、加工说明 5. 画分层DFD图的基本原则有
A) 数据守恒原则
(A C D )。
B) 分解的可靠性原则 C) 子、父图平衡的原则
● 测试 (发现并改正错误,分为模块测试、集成测试和系统联调三级
);
● 运行维护 (扩充功能、纠错等 )。
2
《软件工程——理论与实践》习题答案
习题二答案
一、 选择题
1. 需求分析的主要目的是 (B C )。 A) 系统开发的具体方案
B) 进一步确定用户的需求 C) 解决系统是 “做什么的问题 ” D) 解决系统是 “如何做的问题 ”
《软件工程——理论与实践》习题答案
习题答案
习题一答案
一、选择题
1. 软件的主要特性是 (A B C) 。
A) 无形
B) 高成本
C) 包括程序和文档
D) 可独立构成计算机系统
2. 软件工程三要素是 (C D) 。
A) 技术、方法和工具
B) 方法、工具和过程
C) 方法、对象和类
D) 过程、模型、方法
3. 包含风险分析的软件工程模型是 (A) 。
( ×)
3. 结构化方法的工作模型是使用螺旋模型进行开发。
( ×)
4. 结构化方法和 JSP方法都不适合于大型软件的开发。 ( √)
5. 原型化开发方法包括生成原型和实现原型两个步骤。
( ×)
6. 面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序 设计。 ( √)
7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。
(1) 软件产品质量低劣,甚至开发过程就夭折。 (2) 软件生产率低,不能满足需要。 4. 什么是软件生存周期模型?它有哪些主要模型? 答:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。 包括:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型。
主要模型
5. 有哪些主要的软件开发方法?
( ×)
8. 软件工具的作用是为了延长软件产品的寿命。
( ×)
9. 软件工程过程应该以软件设计为中心,关键是编写程序。
( ×)
1
《软件工程——理论与实践》习题答案
10. RCP 法与 RSP 法的主要区别是前者采用循环渐进的开发方式,原型将成为最 终的产品,而后者将被废弃。 ( √)
三、简答题
1. 软件产品的特性是什么? 答: ● 软件是一种逻辑产品,具有无形性; ● 软件产品的生产主要是研制;
答:主要的软件开发方法有:结构化开发方法、
Jackson(JSபைடு நூலகம்、 JSD)方法、原型化开
发方 法、维也纳开发方法 (VDM) 和面向对象的开发方法。
6. 软件生命期各阶段的任务是什么? 答:软件生命期瀑布模型分为六个阶段: ● 可行性研究与计划 (确定系统的目标和规模,分析项目的可行性 ); ● 需求分析与规格说明 (明确系统的规格和要求 ); ● 设计 (包括概要设计和详细设计,将系统分解为模块 ); ● 编程 (用程序语言实现每个模块,简单容易 );
3. 什么是软件危机?其产生的原因是什么? 答: “软件危机 ” (SoftwareCrisis) 的出现是由于软件的规模越来越大,复杂度不断增 加,软件需求量增大。 而软件开发过程是一种高密集度的脑力劳动, 软件开发的模式及 技术 不能适应软件发展的需要。致使大量质量低劣的软件涌向市场,有的花费大量人 力、财力, 而在开发过程中就夭折。软件危机主要表现在两个方面:
A) 软件成本太高
B) 软件产品的质量低劣
C) 软件开发人员明显不足
D) 软件生产率低下
7. 软件开发方法的主要工作模型有 (A B C)
A) 螺旋模型
B) 循环模型
C) 瀑布模型
D) 专家模型
8. 软件工程的目标有 (A B C) 。
A) 易于维护 C) 高性能
B) 低的开发成本 D) 短的开发期
相关文档
最新文档