软件工程课后题目

合集下载

软件工程导论(第六版)部分课后习题-答案

软件工程导论(第六版)部分课后习题-答案

软件工程导论(第六版)部分课后习题-答案软件工程导论(第六版)部分课后习题-答案一、选择题1. 答案:B解析:选择题解析2. 答案:A解析:选择题解析二、判断题1. 答案:对解析:判断题解析2. 答案:错解析:判断题解析三、填空题1. 答案:软件工程解析:填空题解析2. 答案:开发、维护解析:填空题解析四、简答题1. 答案:软件需求分析是软件工程的第一步,它主要是通过对用户需求的调查和分析,确定软件系统需要具备的功能和性能以及相关约束条件。

解析:简答题解析2. 答案:软件开发过程中的质量保证主要包括软件测试和代码评审两个方面。

软件测试是通过运行和验证软件系统的过程,以确定其是否满足预期的需求和标准。

代码评审则是对软件代码进行审查和评估,在开发过程中发现和修复潜在的问题和错误。

解析:简答题解析五、计算题1. 答案:20解析:计算题解析2. 答案:1000解析:计算题解析六、案例分析题1. 答案:软件项目管理是指对软件项目进行规划、组织、分配和控制的过程。

它包括项目范围管理、时间管理、成本管理、质量管理、风险管理等方面。

在一个项目中,软件项目经理负责整体的项目管理工作,包括资源的分配、进度的控制、风险的管理等。

解析:案例分析题解析2. 答案:敏捷开发是一种迭代、逐步增量的软件开发方法。

它强调快速、灵活地响应用户需求的变化,通过频繁的迭代和持续的反馈来逐步完善软件系统。

敏捷开发方法注重团队合作、交流和高效的沟通,通过直接面对面的沟通取代冗长的文档和繁琐的流程,提高软件开发的效率和质量。

解析:案例分析题解析总结:本文主要针对《软件工程导论(第六版)》部分课后习题提供了答案和解析。

其中包括选择题、判断题、填空题、简答题、计算题和案例分析题等多个题型。

通过解答这些习题,读者可以进一步加深对软件工程的理解和掌握。

希望本文对读者有所帮助,谢谢阅读。

软件工程课后作业总

软件工程课后作业总

软件工程是采用工程化的概念、原理、技术和方法指导计算机(C )的工程学科。

A、软件开发B、管理技术C、软件开发和维护D、程序设计【单选题】在软件生命周期法中,用户的参与主要在(A)。

A、软件定义期B、软件开发期C、软件维护期D、整个软件生命周期过程中生存周期的瀑布模型一般包括问题定义、可行性研究、( B )、设计、编码、测试、维护等几个阶段。

A、问题定义B、需求分析C、总体设计D、数据库设计软件工程把经过时间考验而证明正确的管理技术和当前能够得到的最好的__D__结合起来。

A、软件开发B、管理方法C、开发环境D、技术方法【单选题】生存周期的瀑布模型一般包括:问题定义、可行性研究、系统设计、编码、测试、__D 等几个阶段。

A、需求分析B、可行性分析C、程序设计D、维护【单选题】快速原型模型的主要特点之一是( D )。

A、开发完毕才见到产品B、及早提供全部完整的软件产品C、开发完毕后才见到工作软件D、及早提供可工作的软件开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )。

A、软件工程B、软件周期C、软件危机D、软件产生【单选题】瀑布模型把软件生命周期划分为软件定义、软件开发与( C )3个阶段,而每一个阶段又可细分为若干个更小的阶段。

A、详细设计B、可行性分析C、运行维护D、测试与排错划分软件生存周期的阶段时所应遵循的基本原则是( B )。

A、各阶段的任务尽可能相关性B、各阶段的任务尽可能相对独立C、各阶段的任务在时间上连续D、各阶段的任务在时间上相对独立【单选题】系统定义明确之后,应对系统的可行性进行研究。

可行性研究应包括(B )。

A、软件环境可行性、技术可行性、经济可行性B、经济可行性、技术可行性、操作可行性C、经济可行性、社会可行性、系统可行性D、经济可行性、实用性、社会可行性软件可行性分析是着重确定系统的目标和规模。

对功能、性能以及约束条件的分析应属于下列之中的_ B _。

软件工程(李军国等)课后习题原题

软件工程(李军国等)课后习题原题

软件工程习题习题1一、判断题1.程序是按事前设计的功能和性能要求执行的指令序列。

2.数据是使程序能够正确操纵信息的数据结构。

3.文档是与程序开发、保护和利用有关的图文材料。

4.软件开发时,一个错误发现得越晚,为更正它所付出的代价就越大。

5.增量模型的特点是文档驱动。

6.瀑布模型的特点是文档驱动。

7.瀑布模型是一种软件生存周期模型。

8.在软件生存周期中,用户主如果在软件开发期参与软件开发。

9.瀑布模型的主要问题是靠得住性低。

10.软件生存周期中时间最长的阶段是需求分析。

11.原型化方式适用于需求已肯定的系统。

12.瀑布模型本质上是一种线性顺序模型。

13.原型化方式是用户和软件开发人员之间进行的一种交互进程,适用于需求不肯定性高的系统。

二、填空题1.软件工程是开发、运行、保护和修复软件的系统化方式,它包括的三个要素指的是:(A )(B )和(C )2.软件是计算机系统中与硬件彼此依存的另一部份,它是包括(A )(B )及(C )的完整集合。

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

4.软件发展进程的第一阶段称为“程序设计的原始时期”,这时既没有(A ),也没有(B ),程序员只能用机械指令编写程序。

5.软件发展进程的第二阶段称为“大体软件期”,出现了(A),并逐渐普及,随着(B )的发展,编译技术也有较大的发展。

6.软件发展进程的第三阶段称为“程序设计方式时期”,这一时期,与硬件费用下降相反,软件开发费急剧上升。

人们提出了(A )和(B )等程序设计方式,设法降低软件的开发费用。

7.软件发展进程的第四阶段称为“软件工程时期”,软件开发技术再也不单单是程序设计技术,而是包括与软件开发的各个阶段,如(A )、(B )、编码、单元测试、综合测试、(C )及其整体有关的各类管理技术。

软件工程课后题答案

软件工程课后题答案

软件工程课后题答案第一章软件工程引论1. 在下列选项中,(D )不是软件的特征。

A .系统性与复制性 B. 可靠性与一致性 C. 抽象性与智能型 D.有形性与可控性2. 软件是一种(B )产品。

A .有形 B. 逻辑 C. 物质 D. 消耗3. 软件工程是一种(A )分阶段实现的软件程序开发方法。

A. 自顶向下B. 自底向上C. 逐步求精D. 面向数据流4. 与计算机科学的理论研究不同,软件工程是一门(B )学科。

A .理论性 B. 工程性 C. 原理性 D. 心理性5. 软件工程与计算机科学性质不同,软件工程着重于(C )。

A .原理探讨 B. 理论研究 C. 建造软件系统 D. 原理性的理论6. 下列说法正确的是(B )A. 软件工程的概念于20世纪50年代提出B. 软件工程的概念于20世纪60年代提出C. 20世纪70年代出现了客户机/服务器技术D. 20世纪80年代软件工程学科达到成熟7. 软件工程方法学中的软件工程管理是其中的一个重要内容,它包括软件管理学和软件工程经济学,它要达到的目标是(D )A .管理开发人员,以开发良好的软件B .采用先进的软件开发工具,开发优秀的软件C .消除软件危机,达到软件生产的规模效益D .以基本的社会效益为基础,工程化生产软件第二章软件生命周期及开发模型1. 软件生命周期包括可行性分析和项目开发计划、需求分析、总体设计、详细分析、编码、(B )、维护等活动。

A .应用 B. 测试 C. 检测 D. 以上答案都不正确2. 软件生命周期模型有多中,下列项目中,(C )不是软件生命周期模型。

A .螺旋模型 B. 增量模型 C. 功能模型 D. 瀑布模型3. 软件生命周期中时间最长的阶段时(D )A .需求分析阶段 B. 总体设计阶段 C. 测试阶段 D. 维护阶段4. 瀑布模型是一种(D )A. 软件开发方法B.软件生存周期C.程序设计方法学D.软件生存周期模型5. 软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A )A. 瀑布模型B.对象模型C.螺旋模型D.层次模型6. 在结构化的瀑布模型中,(D )阶段定义的标准将成为软件测试中系统测试阶段的目标A. 详细设计阶段B.总体设计阶段C.可行性研究阶段D.需求分析7. 增量模型是一种(B )的模型A. 整体开发B.非整体开发C.灵活性差D.较晚产生工作软件8. (C )是指模拟某种产品的原始模型A. 模型B.最初模型C.原型D.进化模型9. 建立原型的目的不同,实现原型的途径也有所不同,下列不正确的类型是(B )A. 用于验证软件需求的原型B.垂直原型C.用于验证设计方案的原型D.用于演化出目标系统的原型10. 原型化方法是一种(A )型的设计过程。

软件工程第三版课后习题

软件工程第三版课后习题

第一章一、判断题1.S WE B O KV3分两大类,共有15个知识域。

(Y)2.软件工程的提出起源于软件危机,其目的是最终解决软件的生产工程化。

(Y)3.软件工程学一般包括软件开发技术和软件工程管理两方面的内容,软件开发方法学和软件工程环境属于软件开发技术的内容,软件工程经济学属于软件工程管理。

(N)4.软件开发中的最大问题不是管理问题,而是技术问题。

(N)5.X P(e X t r e me P r o g r a mm i n g,极限编程)是由K e n t B e c k提出的一套针对业务需求和软件开发实践的规则,包括13个核心实践。

(Y)二、选择题1.下列所述不是敏捷生存期模型的是(C)。

A.S c r u mB.X PC.V模型D.O P E NU P2.软件工程的出现主要是由于(C)。

A.程序设计方法学的影响C.软件危机的出现B.其他工程学科的影响D.计算机的发展3.以下(C)不是软件危机的表现形式。

A.开发的软件不满足用户的需要B.开发的软件可维护性差C.开发的软件价格便宜D.开发的软件可靠性差4.以下不是S WE B O KV3的软件工程实践中的知识域的是(B)。

A.软件需求B.工程基础C.软件构造D.软件设计5.下列所述不是软件组成的是(D)。

A.程序B.数据C.界面D.文档6.下列对“计算机软件”描述正确的是(A)。

A.是计算机系统的组成部分B.不能作为商品参加交易C.是在计算机硬件设备生产过程中生产出来的D.之存在语计算机系统工作时7.软件工程方法的提出源于软件危机,其目的应该是最终解决软件的(D)问题。

A.软件危机B.质量保证C.开发效率D.生产工程化8.软件工程设计软件开发技术和项目管理等方面内容,下述内容中(D)不属于开发技术的范畴。

A.软件开发方法B.软件开发工具C.软件工程环境D.软件工程经济第二章一、判断题1.面向对象开发过程是多次重复和迭代的演化过程,(需要补充:面向对象开发方法是)在概念和表示方法是的一致性保证了各项开发活动之间的平滑过渡。

软件工程课后习题(含答案)

软件工程课后习题(含答案)

第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。

2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。

二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。

可靠性是衡量软件质量的一个重要目标。

2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。

可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。

三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。

(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。

2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。

(2)软件开发简单,易学、易上手。

(3)专业或非专业人员都能参与软件开发活动。

第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。

2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。

3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。

4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。

二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。

2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。

2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。

3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

软件工程习题及课后答案

软件工程习题及课后答案

第2章软件过程(习题与参考答案)[选择题]1. ()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。

()A. 软件过程B. 软件工具C. 软件产品D. 软件工程2. 软件过程的基本活动是()。

()A. 分析、设计、实现、测试、演化B. 沟通、计划、建模、构造、部署C. 计划、分析、设计、实现、调试D. 沟通、风险管理、度量、产品化、评审3. ()软件需求规格说明书在软件开发过程中具有重要的作用,它是软件可行性分析的依据。

()A. 真B. 假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. 不能支持可重用组件的开发C. 在面向对象技术获得支持的情况下应用得更好D. 增加了开发风险和成本10. 形式化方法模型是将数学方法用于()。

()A. 定义计算机系统的规格说明B. 开发无错误的计算机系统C. 验证计算机系统的正确性D. 以上所有选项11. 下面的()不是RUP模型的阶段。

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

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

软件工程理论与实践课后习题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、耦合度描述了()。

软件工程课后习题及其答案

软件工程课后习题及其答案

软件工程习题软件工程习题CH1一、填空题1、软件工程需要解决的问题包括:、软件工程需要解决的问题包括: 费用费用 、 可靠性可靠性 、 可维护性可维护性 、 生产率生产率 和 重用重用。

2、到目前为止,软件生产的发展经历了三个阶段,即 程序设计程序设计程序设计 、 程序系统程序系统和 软件工程件工程。

3、计算机科学中的研究曾国均可用于软件工程,计算机科学中的研究曾国均可用于软件工程,但计算机科学侧重于但计算机科学侧重于但计算机科学侧重于 原理和理论原理和理论,而软件工程侧重于软件工程侧重于 软件系统构造软件系统构造。

4、软件工程有用管理科学的方法和原理进行、软件工程有用管理科学的方法和原理进行 软件生产的管理软件生产的管理。

5、软件工程是用科学知识和技术原理来、软件工程是用科学知识和技术原理来 定义定义 、 开发开发 、 维护维护 软件的一门科学。

软件的一门科学。

软件的一门科学。

6、软件工程研究的主要内容包括软件开发技术和软件开发管理技术两个方面。

在软件开发技术方面,技术方面,主要研究主要研究主要研究 开发方法、开发方法、开发方法、 开发过程、开发过程、 开发工具开发工具。

在软件开发管理技术方面主要研究研究 管理学管理学管理学 、 经济学经济学经济学 、 心理学心理学心理学 。

7、作为一门交叉学科,软件工程具有很强的综合性,它涉及 计算机科学计算机科学计算机科学 、 工程科工程科学 、 管理科学管理科学管理科学 、 数学数学 等领域。

等领域。

8、软件生产周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。

通常包括包括 问题定义、可行性研究问题定义、可行性研究 、需求分析、需求分析 、 总体设计总体设计总体设计 、 详细设计详细设计详细设计 、 编码编码 、测试测试 、 维护维护维护 等活动,可以将这些活动以适当方式分配到不同阶段去完成。

等活动,可以将这些活动以适当方式分配到不同阶段去完成。

软件工程课后题答案大全(详细)

软件工程课后题答案大全(详细)

软件工程习题解答第一章概述1.软件产品的特性是什么?a.软件产品是一种逻辑产品。

b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。

c.软件产品不会用坏,不存在磨损、消耗问题。

d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是"定做"的。

e.软件费用不断增加,成本相当昂贵。

2.软件产品有几个阶段?各有何特征?阶段 A.程序设计时代(1946-1956) B.程序系统时代(1956-1968) C.软件工程时代(1968-今)生产方式个体手工劳动作坊式小集团合作生产工程化的生产工具机器语言、汇编高级语言数据库、开发工具、开发环境、网络、分布式、面向对象技术开发方法追求编和技巧,追求程序运行效率个人技巧,开始提出结构化方法硬件特征价格贵、存储容量小、运行可靠性差速度、容量、工作可靠性有明显提高,价格降低,销售有爆炸性增长向超高速、大容量、微型化以及网络化方软件特征只有程序、程序设计概念,不重视程序设计方法程序员数量猛增,已意识到软件开发的重要性,开发技术没有新的突破,大量软件开发的需求已提出,开发人员的素质和工程兵的开发技术不适应规模大、结构复杂的软件开发,产生了尖锐矛盾,导致软件危机的产生开发技术有很大进步,但未能获得突破性进展,软件价格不断上升,没有完全摆脱软件危机3.什么是软件危机?其产生的原因是什么?软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。

一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。

在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。

主要表现在以下几个方面:a.经费预算经常突破,完成时间一再拖延。

b.开发的软件不通满足用户要求。

c.开发的软件可维护性差。

d. 开发的软件可靠性差。

软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:a.软件的规模越来越大,结构越来越复杂。

软件工程课后习题答案

软件工程课后习题答案

习题答案习题一答案一、选择题1. 软件的主要特性是(A B C)。

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

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

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

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

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

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

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

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

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

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

软件工程课后题答案

软件工程课后题答案

软件工程课后题答案1. 简答题1.1 软件过程模型软件过程模型是一种描述软件开发过程中活动、任务和工作产品之间关系的抽象模型。

常见的软件过程模型包括瀑布模型、迭代模型、增量模型和敏捷开发模型等。

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

1.2 软件需求软件需求是指用户对软件系统的功能、性能等方面的要求和约束。

需求分析是软件开发过程中非常重要的一步,它包括需求获取、需求分析、需求规格说明等活动。

需求分析的目标是理解用户需求,为软件开发提供指导。

1.3 需求规格说明需求规格说明是对软件需求进行详细描述和说明的文档。

它包括功能需求、性能需求、界面需求以及其他约束条件等。

需求规格说明的编写要求准确、清晰、可验证,并且要与用户和开发人员达成一致。

1.4 软件设计原则软件设计原则是指在软件设计过程中应该遵循的一些基本原则,以提高软件系统的可维护性、可扩展性和可重用性。

常见的软件设计原则包括单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则和迪米特法则等。

2.1 敏捷开发方法敏捷开发是一种迭代、逐步开发软件的方法。

它强调快速响应用户需求的变化,通过频繁发布可用的软件版本来获得反馈,并根据反馈进行调整。

敏捷开发方法更加灵活,适用于需求变化频繁的项目。

2.2 结构化程序设计结构化程序设计是一种通过模块化和流程控制来组织程序的方法。

它强调程序应该具有清晰的结构,模块之间的耦合度应该尽量低。

结构化程序设计可以提高程序的可读性和可维护性,减少错误引入的可能性。

2.3 UML建模UML是一种用于面向对象系统开发的建模语言。

它提供了一套丰富的图形符号和建模工具,用于描述系统的结构、行为和交互。

UML建模可以帮助开发人员清晰地表达设计意图,提高沟通效率,并且可以生成可执行代码。

2.4 软件测试技术软件测试是评估软件质量的过程,旨在发现软件中的缺陷和错误。

常见的软件测试技术包括黑盒测试和白盒测试。

黑盒测试关注软件功能是否符合需求,白盒测试则关注程序内部的逻辑结构和代码覆盖率。

软件工程(第二版)课后习题

软件工程(第二版)课后习题

第一d ìy ī章zhāng1.什么s hén me 是s h ì软件ru ǎnjiàn 危机w ēi j ī?为什么w èi s h én m e 会h u ì产生ch ǎnsh ēng 软件ru ǎnjiàn 危机w ēi j ī?答d á:软件ru ǎnjiàn 危机w ēi j ī是s h ì指z h ǐ在z ài 计算机j ìs u àn j ī软件ru ǎnjiàn 的d e 开发k āi f ā和h é维护w éi h ù过程guòchéng 中zh ōng 遇到y ùd ào 的一系列严重问题。

(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。

(2).软件生产技术进步缓慢 2. 什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里?答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。

采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。

3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。

答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。

当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。

新方法在推行初期,总有人不愿接受和采用。

若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。

(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。

软件工程习题及课后答案

软件工程习题及课后答案

第8章面向对象设计(习题与参考答案)[选择题]1. ()面向对象设计是在分析模型的基础上,运用面向对象技术生成软件实现环境下的设计模型。

A. 真B. 假2. ()系统设计的主要任务是细化分析模型,最终形成系统的设计模型。

A. 真B. 假3. ()关系数据库可以完全支持面向对象的概念,面向对象设计中的类可以直接对应到关系数据库中的表。

A. 真B. 假4. ()用户界面设计对于一个系统的成功是至关重要的,一个设计得很差的用户界面可能导致用户拒绝使用该系统。

A. 真B. 假5. 内聚表示一个模块()的程度,耦合表示一个模块()的程度。

A. 可以被更加细化B. 仅关注在一件事情上C. 能够适时地完成其功能D. 联接其他模块和外部世界6. 良好设计的特征是()。

A. 模块之间呈现高耦合B. 实现分析模型中的所有需求C. 包括所有组件的测试用例D. 提供软件的完整描述E. 选项B和DF. 选项B、C和D7. ()是选择合适的解决方案策略,并将系统划分成若干子系统,从而建立整个系统的体系结构;( )细化原有的分析对象,确定一些新的对象、对每一个子系统接口和类进行准确详细的说明。

A. 系统设计B. 对象设计C. 数据库设计D.用户界面设计8.下面的( )界面设计原则不允许用户保持对计算机交互的控制。

A. 允许交互中断B. 允许交互操作取消C. 对临时用户隐藏技术内部信息D.只提供一种规定的方法完成任务[练习题]1. 面向对象设计与面向对象分析的区别是什么?设计包括哪些活动? 答案要点:面向对象分析是重点考虑系统“做什么”的问题,即运用面向对象方法对问题域进行分析和理解,建立系统的分析模型;面向对象设计重点考虑系统“怎样做”的问题,即在分析模型的基础上形成实现环境下的设计模型。

面向对象设计主要涉及系统设计、对象设计(或详细设计)、数据库设计和用户界面设计等活动。

2. 3. 课程在类设计中,为什么建议使用set 方法和get 方法进行属性设置和读取? 答案要点:目的在于降低类之间的耦合度。

软件工程课后习题_第1,2,3章

软件工程课后习题_第1,2,3章

第一章:一.判断题:1.软件就程序,编软件就是编写程序。

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

()3.软件工程科学出现的主要原因是软件危机的出现。

()4.与计算机科学的理论研究不同,软件工程是一门原理性学科()二.选择题1.在下列选项中,()不是软件的特征A系统性与复杂性 B 可靠性与一致性C 抽象性与智能性D 有形性与可控性2.软件危机的主要原因是:A软件工具落后 B 软件生产能力不足C 对软件的认识不够D 软件本身的特点及开发方法3.下列说法正确是的是A 20世纪50年代提出了软件工程的概念B 20世纪60年代提出了软件工程的概念C 20世纪70年代提出了客户机/服务器技术D 20世纪80年代软件工程学达到成熟4.( )是将系统化的规范的可定量的方法应用于软件的开发,运行和维护的过程。

它包括方法、工具和过程三个要素A 软件生命周期B 软件测试C 软件工程D 软件过程5.在下列选项中,()不属于软件工程学科索要研究的基本内容。

A 软件工程材料B 软件工程目标C 软件工程原理D 软件工程过程6.软件工程的三要素是()A技术,方法和工具 B 方法,对象和类 C 方法,工具和过程 D 过程,模型和方法7.用来辅助软件开发,运行,维护,管理,支持等过程中的活动的软件成为软件开发工具,通常也称为()工具A CADB CAIC CAMD CASE三简答题1.与计算机硬件相比,计算机软件有哪些特点?2.软件就是程序吗?如何定义软件?3.什么是软件危机?是什么原因导致了软件危机?4.为什么说软件工程的开发能在一定程度上解决软件危机的各种弊端?5.请简述软件工程的研究内容。

6.请简述软件工程的三要素。

7.请简述软件工程的目标,过程和原则。

8.请简述软件工程的基本原则。

9.请简述现代软件工程与传统软件工程显著的区别与改进。

第二章:一判断题1.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。

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

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

软件工程课后习题参考答案1.简述软件开发的本质答: 软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。

P192.简述实施软件开发的基本途径。

答: 实施软件开发的基本途径是系统建模。

所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。

P193.简述何谓模型以及软件开发中所涉及的模型。

答: 模型是一个抽象。

该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。

软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。

4.简述软件开发所涉及的两大类技术。

答: 软件开发所涉及的两大类技术为: 一是求解软件的开发逻辑,二是求解软件的开发手段。

5、简述需求与需求规约的基本性质。

答:需求的基本性质:1) 必要的,该需求是用户所要求的。

2) 无歧义的,该需求只能用一种方式解释。

3) 可测的,该需求是可进行测试的。

4) 可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。

5) 可测量的,该需求是可测量的。

需求规约的基本性质:1) 重要性和稳定性程度: 按需求的重要性和稳定性,对需求进行分级。

2) 可修改的: 在不过多地影响其他需求的前提下,可以容易地修改一个单一需求。

3)完整的:没有被遗漏的需求。

4)一致的:不存在互斥的需求。

6、简述软件需求的分类答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可分为性能需求,外部接口需求、功能需求7、举例说明功能需求和非功能需求之间的基本关系。

答:非功能需求可作用于一个或多个功能需求,例如非功能需求可作用于一个或多个功能需求其中,非功能需求1作用于功能需求1和功能需求3等;非功能需求2作用于功能需求2等。

P248、有哪几种常用的初始需求发现技术?答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。

软件工程课后题答案

软件工程课后题答案

软件工程课后题答案1、可行性研究的目的是用最小的代价,在尽可能短的时间内,确定该项目是否能够开发。

2、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是工程化。

3、喷泉模型是一种以需求分析为动力,以对象为驱动的模型。

4、需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求。

5、可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性、经济可行性、社会可行性。

6、可行性研究的目的不是去开发一个软件项目,而是研究这个软件项目是否值得开发,其中的问题能否解决。

7、判定树较判定表直观易读,判定表进行逻辑验证较严格,能把所有的可能性全部都考虑到。

可将两种工具结合起来,先用判定表做底稿,在此基础上产生判定树。

8、软件工具的发展特点是软件工具有单一工具向多个工具集成化方向发展。

重视用户界面的设计,不断的采用新理论和新技术。

软件工具的商品化推动了软件产业的发展,而软件产业的发展,又增加了对软件工具的需求,促进了软件工具的商品化进程。

9、环境集成主要有数据集成、界面集成、控制集成、平台集成、过程集成。

10、可行性研究实质上是进行一项简化、压缩了的需求分析、设计过程。

11、结构化方法有结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。

12、投资回收期就是累计的经济效益等于最初的项目投资所需的时间。

13、详细描述处理过程常用三种描述工具:图形、表格和语言。

14、数据流图中,每个加工至少有一个输入流和一个输出流。

15、结构化设计以数据流为基础映射成软件结构。

16、当数据流图中某个加工的一组动作存在着多个条件复杂组合的判断时,使用判定表或判定树较好。

17、由于运用原型的目的和方式不同,在使用原型时也采取不同的策略,有抛弃策略和附加策略。

18、有两类维护技术:在开发阶段是用来减少错误、提高软件可维护性面向维护的技术,在维护阶段用来提高维护的效率和质量的维护支援技术。

软件工程第三版课后习题

软件工程第三版课后习题

C.单出口 D.随意跳转
2.软件调试的目的是( B )。
A.发现错误 B.改正错误 C.改善软件的性能 D.挖掘软件的潜能
3.将每个模块的控制结构转换成计算机可接受的程序代码时( A )阶段的任务。
A.编码 B.需求分析 C.详细设计 D.测试
4.编码高效率原则包括提高运行效率、提高储存效率和提高( A )。
B.确定系统的性能要求
D.确定系统是否满足开发人员需要
6.在需求分析阶段,需求分析人员需要了解用户的需求,认真仔细地调研、分析,
最终应建立目标系统的逻辑模型并写出( B )。
A.模块说明书 B.需求规格说明书 C.项目开发设计D.合同文档
7.软件需求阶段需要解决的问题是( A )。
A.软件做什么
C.软件采用什么结构
简介的怨言来描述软件系统模型。
A.DFD图 B.PAD图 C.HIPO图 D.数据字典
第四章
一、判断题
1、软件设计是软件工程的重要阶段,是一个把软件需求转换为软件代码的过程。
(N)
2、软件设计说明书是软件概要设计的主要成果。( Y )
3、软件设计中设计复审和设计本身一样重要,其主要作用是避免后期付出高代
8、以对象、类、继承和通信为基础的面向对象设计方法也是常见的软件概要设计
方法之一。( N )
二、选择题
1.内聚是从功能角度来度量模块内的凉席,按照特定次序执行元素的模块属于
( C )。
A.逻辑内聚 B.时间内聚 C.过程内聚 D.顺序内聚
2.概要设计是软件工程中很重要的技术活动,下列不是概要设计任务的是( B )。
第一章
一、判断题
1.SWEBOKV3分两大类,共有 15个知识域。( Y )
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第四章软件项目估计19、已知一个软件项目的记录,开发人员M=3人,其代码行数=12.1KLOC,工作量E=24PM,成本S=168000美元,错误数N=29,文档页数Pd=365页。

试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D。

0201解:1.软件开发的生产率P为:P = L / E = 12.1×103LOC / 24PM = 504 LOC/PM2.开发每行代码的平均成本C为:C = S / L = 168000美元/ 12100LOC=13.9美元/LOC3.代码出错率EQR为:EQR = N / L = 29个/12.1KLOC=2.4个/KLOC4.软件的文档率D为:D = Pd / L = 365页/ 12.1KLOC = 30页/ KLOC20、使用COCOMOⅡ模型来估算建造一个简单的ATM软件(产生12个屏幕、10个报表、大约需要80个软件构件)所需的工作量。

假设平均复杂度(即屏幕的权为2,报表的权为5,构件的权为10)和平均开发者/环境成熟度(即平均生产率为13NOP/人.月),复用的百分比为40%。

使用基于对象点的应用组装模型。

试完成以下计算:1) 计算项目新的对象点数NOP。

(NOP=对象点×(1-复用%))2) 根据NOP值进行工作量估算(人月)。

3) 软件人员劳动力平均价格是每月4000人民币,求每个NOP的成本。

(5分)971) 对象点=12×2+10×5+80×10=874NOP=874×(1-40%)=524.42) 估算工作量=NOP/PROD=524.4/13=40(人月)3) 每个NOP成本=4000/13=308(元/NOP)21假设各项加权因子均为5,不考虑复杂度调整值(即)试完成以下计算1)计算项目的功能点的总计数值FP2)设平均生产率为10FP/pm,软件人员劳动力平均价格是每月5000人民币,求每个FP 的成本3)根据FP值计算总的项目成本,并进行工作量估算(人月)【答】1)FP=(10+12+15+8+8)*5*0.65=172.252)5000/10=500(人民币)3)500*172.25=86125人民币(总项目成本)172.3/10=17.2(人月)23、下表是某公司的一个项目的历史数据,假设评价时间为08年4月1日,试计算获得值分析(10分):工作任务估计工作量成本(人天)实际工作量成本估计完成日期实际完成日期1 5 10 08-1-25 08-2-12 20 15 08-2-15 08-2-153 50 6 08-5-154 40 50 08-4-15 08-4-15 60 50 08-7-16 80 70 08-9-1试计算:(1)预计工作的预算成本BCWS=【答】BCWS=5+20=25(2)已完成工作的预算成本BCWP=【答】BCWP=5+20+40=65(3)完成工作的预算成本BAC=【答】BAC=5+20+50+40+60+80=255(4)已完成工作的实际成本ACWP=【答】ACWP=10+15+50=7525、某个固定资产投资项目需要原始投资1000万元,有A、B、C、D 四个互相排斥的备选方案可供选择,各方案的净现值指标分别为420.89万元,511.72万元,620.60万元和556.26万元。

按净现值法进行比较决策。

答:因为A、B、C、D各个备选项目方案的NPV均大于零,所以这些方案均具备财务可行性。

又因为620.60>556.26>511.72>420.89,所以C方案最优,其次为D 方案,再次为B方案,最差为A方案。

27、某公司准备购置一台设备,有甲、乙两种可供选择,甲设备比乙设备高5 030元,但每年使用费可节约600元。

该设备可以使用10年,假设年利率为6%。

请问:该公司应选择使用哪一种设备?答:每年节约费用可视为现金流入,将其折为现值,然后与5 000元比较,若高于5 000元,就选择甲设备,否则选择乙设备。

P=A×(P/A,6%,10)=600×(P/A,6%,10)=600×7.3601=4 416.06(元)因为小于5 000元,所以应该选择乙设备。

第六章软件风险管理19、某软件小组计划项目中采用50个可复用的构件,每个构件平均是100 LOC,本地每个LOC的成本是13元人民币。

以下是该小组定义的一个项目风险。

①风险识别:预定要复用的软件构件中只有50%将被集成到应用中,剩余功能必须定制开发。

②风险概率:60%。

③该项目风险的风险曝光度是(19500元)。

解析:风险曝光度(Risk Exposure,RE)的计算公式为:RE=P×C。

其中,P是风险发生的概率,C是风险发生时带来的项目成本。

该软件小组计划采用50个可复用的构件,如果只有50%可能被使用,则25个构件必须从头开发。

由于构件平均是100 LOC,每个LOC的成本是13元人民币,则开发构件的整体成本C=25×100×13=32 500元人民币。

因此RE=0.6×32 500=19 500元人民币。

20、某公司历史数据表明:每KLOC的错误率为0.36%,每个错误平均损失10000元。

考虑对该项目使用附加评审方法,每评审100KLOC的程序需花费1000元,可以减少50%的错误,当前项目的大小估算为50KLOC。

试计算风险预期,该附加评审方法值得采用吗?没有采用评审技术:50×0.36%×10000=1800(元)采用评审技术:50×0.36%×50%×10000+1000×50/100=1400(元)值得采用附加评审方法21、在一项目中,计划有60个可复用的软件构件,平均每个构件的程序行数是100LOC。

本地数据表明,每LOC的成本是50元。

现已知存在一种项目风险,即计划复用的软件构件中可能只有60%将集成到应用系统中,这种风险发生的概率是80%。

试计算分险预期值。

解:风险预期值= 风险概率* 项目影响= 80% * (40% * 60 * 100 * 50)= 96000(元)22、已知甲方案投资收益率的期望值为15%,乙方案投资收益率的期望值为12%,两个方案都存在投资风险。

比较甲、乙两方案风险大小应采用的指标是?答:需要采用标准离差率。

因为标准离差仅适用于期望值相同的情况,在期望值相同的情况下,标准离差越大,风险越大;标准离差率适用于期望值相同或不同的情况,在期望值不同的情况下,标准离差率越大,风险越大。

24、某企业有甲、乙两个投资项目,计划投资额均为1000万元,其收益率的概率分布如下要求:(1)分别计算甲乙两个项目收益率的期望值。

(2)分别计算甲乙两个项目收益率的标准差、标准离差率。

(3)若你是该项目的决策者,你会选择哪个方案?[答案](1)甲项目收益率的期望值=0.3×20%+0.5×10%+0.2×5%=12%乙项目收益率的期望值=0.3×30%+0.5×10%+0.2×(-5%)=13%(2)甲项目收益率的标准差=[(20%-12%)2×0.3+(10%-12%)2×0.5+(5%-12%)2×0.2]1/2=5.57%乙项目收益率的标准差=[(30%-13%)2×0.3+(10%-13%)2×0.5+(-5%-13%)2×0.2]1/2=12.49%(3)因为甲乙两个项目的期望值不同,所以应当比较二者的标准离差率进而比较风险的大小甲项目的标准离差率=5.57%/12%×100%=46.42%乙项目的标准离差率=12.49%/13%×100%=96.08%因为乙项目的标准离差率大于甲项目的标准离差率,所以乙项目的风险大于甲项目。

第七章面向过程的结构化分析678第八章面向过程的结构化设计1.储户将填好的存款单(或取款单)、存折交银行,银行工作人员做如下处理:根据存(取)款单选择存款还是取款操作;如果是存款则进行存款处理;如果是取款则进行取款处理;存(取)款后打印存折。

要求画出该系统的分层数据流图,并将其转换为软件结构图。

例:欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取款单和存折交给银行工作人员,然后由系统作以下处理;(1)业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理;(2)存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户;(3)取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。

绘制该系统的数据流图和软件结构图.6、邮寄包裹收费标准如下:若收件地点在1000公里以内,普通件每公斤2元,挂号件每公斤3元。

若收件地点在1000公里以外,普通件每公斤2.5元,挂号件每公斤3.5元;若重量大于30公斤,超过部分每公斤加收0.5元。

请绘制确定收费的判定表和判定树。

(1)提取条件:地点,邮件类型,重量。

(2)标出各种条件在问题中的取值范围条件名取值取值数2地点<=1000>10002邮件类型普通件挂号件2重量<=30公斤>30公斤规则重量w<=30公斤 收费=2元/公斤普通件重量w>30公斤 收费=2元/公斤(另(w-30)*0.5元)地点〈=10000重量w<=30公斤 收费=3元/公斤挂号件重量w>30公斤 收费=3元/公斤(另(w-30)*0.5元) 邮寄包裹收费标准 重量w<=30公斤 收费=2.5元/公斤普通件重量w>30公斤 收费=2.5元/公斤 (另(w-30)*0.5元)10000重量w<=30公斤 收费=3.5元/公斤挂号件重量w>30公斤 收费=3.5元/公斤(另(w-30)*0.5元)4.某系统体系结构图如右下所示,完成如下要求:1)求出该体系结构的深度; 2)求出该体系结构的宽度;3)求出其中模块m 的扇入和的扇出。

(1)5 (2)7(3)扇入1 扇出4(补充习题)请把下面的DFD图转换为SC(软件结构图)“判定三角形类别”程序算法用等价类划分设计测试用例,并检查逻辑覆盖标准。

26. 某个固定资产投资项目需要原始投资1000万元,有A、B、C、D 四个互相排斥的备选方案可供选择,各方案的净现值指标分别为420.89万元,511.72万元,620.60万元和556.26万元。

相关文档
最新文档