软件工程——方法与实践课后习题答案.

合集下载

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

软件工程方法与实践课后答案

软件工程方法与实践课后答案

软件工程方法与实践课后答案【篇一:软件工程课后习题答案】软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。

它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。

软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。

常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。

而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。

这些都降低了开发商的信誉,引起用户不满。

(2) 用户对已完成的软件不满意的现象时有发生。

(3) 软件产品的质量往往是靠不住的。

(4) 软件常常是不可维护的。

(5) 软件通常没有适当的文档资料。

文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。

(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。

(7) 开发生产率提高的速度远跟不上计算机应用普及的需求。

软件危机出现的原因:(1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。

(2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。

(3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。

二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。

软件工程---课后习题答案.doc

软件工程---课后习题答案.doc

软件工程---课后习题答案.doc第一章1.1什么是计算机软件?软件的特点是什么?计算机软件是指计算机系统中的程序及其文档软件的特点:●软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算。

●软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大。

●软件的使用没有硬件那样的机械磨损和老化问题。

1.2简述软件的分类,并举例说明1.系统软件系统软件居于计算机系统中最接近硬件的一层,其他软件一般都通过系统软件发挥作用。

例如:编译软件、操作系统。

2.支撑软件支撑软件是支撑软件的开发和维护的软件。

例如:数据库管理系统、网络软件、软件工具、软件开发环境。

3.应用软件应用软件是特定应用领域专用的软件。

例如:工程/科学计算机软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。

1.3简述软件语言的分类,并举例说明。

1.需求定义语言是用于书写软件需求定义的语言。

例如:PSL/PSA。

2.功能性语言是用于书写软件功能规约的语言,通常又称为功能规约语言。

例如:广谱语言、Z语言。

3.设计性语言是用于书写软件设计规约的语言。

例如:PDL。

4.实现性语言也称为程序设计语言,是用于书写计算机程序的语言。

例如:C、java、PROLOG、FORTRAN、COBOL、Modula。

5.文档语言是用于书写软件文档的语言。

通常用自然语言或半形式化语言书写。

1.4什么是软件工程?软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。

软件工程借鉴传统工程的原则、方法,以提高质量、降低成本为目的。

1.5简述软件工程的基本原则。

软件工程原则包括围绕工程设计、工程支持和工程管理所提出的以下4条基本原则。

1.选取适宜的开发模型必须认识需求定义的易变性,采用适宜的开发模型,保证软件产品满足用户的要求。

2.采用合适的设计方法合适的设计方法有助于这些特征的实现,以达到软件工程的目标。

软件工程 课后习题答案

软件工程   课后习题答案

第一章1.1什么是计算机软件?软件的特点是什么?计算机软件是指计算机系统中的程序及其文档软件的特点:软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算。

软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大。

软件的使用没有硬件那样的机械磨损和老化问题。

1.2简述软件的分类,并举例说明1.系统软件系统软件居于计算机系统中最接近硬件的一层,其他软件一般都通过系统软件发挥作用。

例如:编译软件、操作系统。

2.支撑软件支撑软件是支撑软件的开发和维护的软件。

例如:数据库管理系统、网络软件、软件工具、软件开发环境。

3.应用软件应用软件是特定应用领域专用的软件。

例如:工程/科学计算机软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。

1.3简述软件语言的分类,并举例说明。

1.需求定义语言是用于书写软件需求定义的语言。

例如:PSL/PSA。

2.功能性语言是用于书写软件功能规约的语言,通常又称为功能规约语言。

例如:广谱语言、Z语言。

3.设计性语言是用于书写软件设计规约的语言。

例如:PDL。

4.实现性语言也称为程序设计语言,是用于书写计算机程序的语言。

例如:C、java、PROLOG、FORTRAN、COBOL、Modula。

5.文档语言是用于书写软件文档的语言。

通常用自然语言或半形式化语言书写。

1.4什么是软件工程?软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。

软件工程借鉴传统工程的原则、方法,以提高质量、降低成本为目的。

1.5简述软件工程的基本原则。

软件工程原则包括围绕工程设计、工程支持和工程管理所提出的以下4条基本原则。

1.选取适宜的开发模型必须认识需求定义的易变性,采用适宜的开发模型,保证软件产品满足用户的要求。

2.采用合适的设计方法合适的设计方法有助于这些特征的实现,以达到软件工程的目标。

3.提供高质量的工程支撑软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。

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

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

《软件工程——理论与实践》(第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. 软件工具的作用是为了延长软件产品的寿命。

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

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

软件工程方法与实践第三版答案软件工程方法与实践是一门关于软件开发过程中使用的工程方法和实践的学科。

它涵盖了软件项目管理、需求分析、设计、编码、测试、部署和维护等方面。

本文将按照软件开发过程的不同阶段,介绍软件工程方法与实践第三版的答案。

这些答案是针对书中提出的问题和案例进行的详细解答,旨在帮助读者更好地理解和应用软件工程的方法和实践。

一、需求分析阶段答案在软件开发的需求分析阶段,我们需要明确软件系统的功能和性能要求。

以下是几个常见问题的答案:1. 什么是软件需求?答:软件需求是对软件系统的功能、性能、界面、安全性等方面的要求和规格说明。

2. 需求有哪些分类?答:需求可以分为功能需求和非功能需求。

功能需求描述了软件系统应该如何运行,非功能需求描述了软件系统应该具备的性能、可靠性等特性。

3. 如何收集和管理需求?答:需求可以通过面对面的访谈、问卷调查、原型设计等方式进行收集。

需求管理可以通过需求文档、需求变更控制和需求跟踪等方法进行。

二、设计阶段答案在软件开发的设计阶段,我们需要制定软件系统的结构和组件。

以下是几个常见问题的答案:1. 什么是软件设计?答:软件设计是根据需求分析得出的软件系统的功能和性能要求,制定软件系统的结构和组件的过程。

2. 设计过程中有哪些关键任务?答:设计过程中的关键任务包括制定软件架构、设计模块和组件、定义接口、评估设计质量等。

3. 如何评估设计质量?答:可以使用设计评审、设计规范检查、质量度量等方法来评估设计质量,确保设计满足需求并且易于实现和维护。

三、编码和测试阶段答案在软件开发的编码和测试阶段,我们需要实现和验证软件系统的功能。

以下是几个常见问题的答案:1. 什么是软件编码?答:软件编码是将设计好的软件模块转化为具体的计算机程序代码的过程。

2. 编码过程中需要注意哪些问题?答:编码过程中需要注意代码的可读性、可维护性,采用合适的命名规范和编码风格,并进行代码注释和文档编写,以便他人能够理解和使用代码。

软件工程实践题50题和答案解析

软件工程实践题50题和答案解析
(2)公司接收分公司的订单,检验订单,若有库存就供货,则修改库存,给仓库开备货单,并且将订单留底;若库存不足,则进行缺货登记。
(3)根据缺货记录将缺货通知单发给采购部,以便采购。
(4)根据采购部门的进货通知单处理进货,即修改库存,并从缺货记录中取出缺货订单
进行供货处理。
试采用SA方法画出该公司销售管理系统的分层DFD(画出顶层图、0层图、1层图)。
B2;
ENDIF
B3;
ENDWHILE;
7、根据伪码画出PAD图。
START
SWITCH P
CASE 1: A; break;
CASE 2: B; break;
CASE 3: C; break;
Default;
STOP
8、请画出求1+3+5+…+n的PAD图。
9、请使用PAD图描述在数组A(1)~A(10)中找最大数的算法。
18、某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:
(1)报社发行多种刊物,每种刊物通过订单来征订,订单中有代码,名称,订期,单价,份数等项目,订户通过填写订单来订阅报刊。
(2)报社下属多个发行站,每个站负责收集登陆订单、打印收款凭证等事务。
(3)报社负责分类并统计各个发行站送来的报刊订阅信息。
请画出对应于计算托运费比率的判定树和判定表。
14、“计算折扣量”加工逻辑为:如果是国有企业,定购量>100吨的,优惠20%,否则优惠15%,如果是私营企业,定购量>100吨的,优惠15%,否则优惠10%,请画出该加工的判定树和判定表。
15、一台微机有一个显示器,一个主机,一个键盘,一个鼠标,汉王笔可有可无。主机包括一个机箱,一个主板,一个电源,存储器等部件。存储器又分为固定存储器、活动存储器,固定存储器又分为内存和硬盘,活动存储器又分为软盘和光盘。建立微机的对象模型。

软件工程习题附答案

软件工程习题附答案

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

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

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

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

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.什么是软件危机?为什么会产生软件危机? 答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。 (1).软件维护费用急剧上升,直接威胁计算机应用的夸大。 (2).软件生产技术进步缓慢 2. 什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里? 答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。 采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前 能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工 程,同时这也是工程化生产方法。 3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。 答 :( 1)工具和方法,是软件开发技术的两大支柱,它们密切相关。当一种方法提出来并证明有效后 , 往往随之研制出相应的工具,来帮助实现和推行这种方法。新方法在推行初期,总有人不愿接受和采 用。若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。
7.输入三角形的 3 条边长(假定这些边确实能组成一个三角形),用它们来鉴别三角形的性质(等腰、 等边、任意或者直角),并输出结果。试用逐步细化的方法设计这一程序,并用结构化语言(汉语或 英语)写出细化过程中每一步的过程描述。 答:
软件需求分析
1.需求分析的任务是什么?怎样理解分析阶段的任务是决定“做什么”,而不是“怎么做”? 答:需求分析主要有两个任务:第一是通过对问题及其环境的理解、分析和综合建立分析模型;第二 是在完全弄清用户对软件系统的确切要求的基础上,用“软件需求规格说明书”把用户的需求表达出
来。需求分析的任务就是为了明确要开发的是一个什么样的系统,而不是去怎么去实现这个系统。 2.需求分析要经过哪些步骤? 答:需求获取、需求提炼、需求描述、需求验证。 3.有哪两种主要的分析模型,它们有什么联系? 答:面向对象分析模型、结构化分析模型。前者是采用面向对象的思想进行软件需求分析的建模过程 , 而后者模型的核心是 DD,它是设计各种数据对象的总和。他们的模型分别起到了描述数据模型,功能 模型与行为模型的作用。 4.什么是结构化分析?它的“结构化”体现在哪里? 答:是使用 DFD、DD、结构化语言、判定表和判定树等工具,来建立一种新的、称为结构化说明书的 目标文档。 5.什么是面向对象分析?其主要思想是什么? 答: OOA 面向对象的分析是采用面向对象的思想进行软件需求分析建模的过程.主要思想是采用面向对 象的思想。 6. 需求说明(或需求规格说明书)由哪些部分组成?各部分的主要内容是什么? 答:引言、信息描述、功能描述、行为描述、质量描述、接口描述、其他描述。 引言:主要叙述在文体定义阶段确定的关于软件的目标与范围,简要介绍系统背景、盖帽、软件项目 约束和按考资料等。 信息描述:给出对软件所含信息的详细描述,包括信息的内容、关系、数据流向、控制流向和结构等 。 功能描述:对软件功能要求的说明,包括系统功能划分、每个功能的处理说明、限制和控制描述等。 行为描述:包括对系统状态变化及事件和动作的描述,据此可以检查外部事件和软件内部的控制特征 。 质量描述:阐明在软件交付使用前需要进行的共更能测试和性能测试,并且规定源程序和文档应该遵 守的各种标准。 接口描述:包括系统的用户界面、硬件接口、软件接口和通信接口等的说明。 其他描述:阐述系统设计和实现上的限制,系统的假设和依赖等其他需要说明的内容。 7. 为什么 DFD 要分层?画分层 DFD 要遵循哪些原则? 答:大型复杂的软件系统,其 DFD 可能含有数百乃至数千个加工,不能设想一次就将它们全部画齐。 正确的做法是:从系统的基本模型(把整个系统看成一个加工)开始,逐层地对系统进行分解。原则 : 由顶向下,逐步细化。 8. DFD 和 CFD 有什么区别? 答: 9. 什么是系统的行为模型,如何建立? 答:类对象模型所表示的是面向对象分析模型中的静态部分,而对象行为模型则用于描述系统的动态 行为,即系统如何对应外部事件---系统的行为模型。 建立一个对象行为模型一般要经历一些过程:评估所以的用例来理解系统中的交互序列;找出驱动交 互序列的事件;为每个用例创建事件轨迹;为对象创建状态转换图。 10.选一个系统(例如工资处理系统、飞机订票系统、图书馆管理系统等),分别用 SA 方法和 OOA 方 法对它进行分析,并给出分析模型。 答:

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

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

软件工程课后习题参考答案软件工程课后习题参考答案1·软件工程概述1·1 软件工程的定义和特点软件工程是一门研究和应用如何以系统化、规范化、可量化的方法开发和维护软件的学科。

其特点包括软件开发的目标性、可度量性、可管理性和可预测性。

1·2 软件生命周期模型常见的软件生命周期模型包括瀑布模型、迭代模型、螺旋模型和敏捷模型等。

每个生命周期模型都有其适用的场景和优缺点。

2·软件需求工程2·1 软件需求获取软件需求获取方法包括面谈、问卷调查、用户场景模拟等。

需求获取的目的是明确软件系统的功能、性能和约束条件。

2·2 软件需求分析与规格说明软件需求分析的目标是识别和定义系统的需求,包括功能需求、非功能需求和约束条件。

规格说明是将需求转化为精确、清晰和易于验证的文档。

3·软件设计3·1 结构化设计结构化设计将系统分解为模块,确定模块之间的接口和关系,实现模块化、高内聚、低耦合的设计原则。

3·2 面向对象设计面向对象设计将系统抽象为对象,定义对象的属性和方法,并确定对象之间的关系。

常用的面向对象设计方法有UML(统一建模语言)。

4·软件测试4·1 测试基本概念软件测试是通过运行软件来发现错误和缺陷的过程。

测试的基本概念包括测试用例、测试套件、测试目标和测试覆盖度等。

4·2 测试方法和技术常见的软件测试方法和技术有黑盒测试、白盒测试、灰盒测试、单元测试、集成测试和系统测试等。

每种方法和技术都有其适用的场景和优缺点。

5·软件维护与配置管理5·1 软件维护软件维护是指对已有的软件进行修改、优化、修复错误和适应环境变化的过程。

维护活动包括需求分析、设计、实现、测试和文档更新等。

5·2 软件配置管理软件配置管理是指在软件开发和维护过程中,对软件配置项进行识别、控制、追踪和审查,确保软件可以按需发布、升级和回溯。

软件工程方法与实践 智慧树知到网课章节测试答案

软件工程方法与实践 智慧树知到网课章节测试答案

1、选择题:软件项目管理需有效地利用人力、()、技术和工具,使软件系统或软件产品按原定计划和质量要求如期完成。

选项:A:软件B:硬件C:资金D:资源答案: 【资源】2、选择题: 风险分析是()的主要内容之一。

选项:A:瀑布模型B:快速原型模型C:螺旋模型D:喷泉模型答案: 【螺旋模型】3、选择题: 软件项目管理的关注点包括()。

选项:A:人员B:产品C:过程D:项目答案: 【人员;产品;过程;项目】4、选择题:软件过程管理模型包括()。

选项:A:CMMB:TSPC:PSPD:XP答案: 【CMM;TSP;PSP】5、选择题:软件工程是用工程化的方法开发软件。

选项:A:对B:错答案: 【对】1、选择题:为了保证软件的质量,使其具有较好的可维护性,关键在于()。

选项:A:选择合适的程序设计语言B:选择好的程序设计风格C:具有好的数据结构D:选择好的运行环境答案: 【选择好的程序设计风格】2、选择题:下面的()不是一种好的做法。

选项:A:好的注释应解释为什么,而不是怎么样。

B:好的命名应一目了然,不需要读者去猜,甚至不需要注释。

C:如果项目中原有代码不符合新的规范,应允许其存在,同时在新的代码中要延续原有的风格。

D:如果项目中原有代码不符合新的规范,应允许其存在,但不应在新的代码中延续旧的风格。

答案: 【如果项目中原有代码不符合新的规范,应允许其存在,同时在新的代码中要延续原有的风格。

】3、选择题:软件编码实现的主要任务包括()。

选项:A:程序设计B:编写代码与代码走查C:编译代码与运行代码D:设计审查答案: 【程序设计;编写代码与代码走查;编译代码与运行代码】4、选择题:设计审查的主要工作包括()。

选项:A:检查设计结果B:编写代码C:记录发现的设计缺陷D:设计程序代码的结构答案: 【检查设计结果;记录发现的设计缺陷】5、选择题:为了缩短源程序的长度,保持源程序的简洁性,应该删除程序中的注释。

选项:A:对B:错答案: 【错】1、选择题: 软件设计的核心任务是()。

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

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

软件工程课后习题参考答案1.简述软件开发的本质。

答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。

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

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

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

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

答:模型是一个抽象。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6、简述软件需求的分类。

答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可分为性能需求,外部接口需求、设计约束和质量属性需求。

P23 Array 7、举例说明功能需求和非功能需求之间的基本关系。

答:非功能需求可作用于一个或多个功能需求,例如非功能需求可作用于一个或多个功能需求其中,非功能需求1作用于功能需求1和功能需求38、有哪几种常用的初始需求发现技术?答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。

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

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

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) 软件具有可变性,有用的软件需要不断地修改和扩展,但是频繁的修改可能导致软件的 退化;

2020年智慧树知道网课《软件工程方法与实践》课后习题章节测试满分答案

2020年智慧树知道网课《软件工程方法与实践》课后习题章节测试满分答案

第一章测试1【单选题】(1分)软件产品与物质产品有很大区别,软件产品是一种()产品。

A.文档B.消耗C.有形D.逻辑2【单选题】(1分)软件会逐渐退化而不会磨损,其原因在于()。

A.软件通常发生在使用之后B.软件备件很难订购C.软件通常暴露在恶劣的环境下D.不断的变更使组件接口之间引起3【单选题】(1分)软件工程要解决的问题是()。

A.加快软件开发速度B.降低软件开发成本C.以上都是D.提高软件质量4【单选题】(1分)软件工程的基本要素包括方法、工具和()。

A.硬件环境B.软件系统C.人员D.过程5【多选题】(1分)软件一般包括以下()部分。

A.数据B.规程C.程序D.文档第二章测试1【单选题】(1分)基于计算机系统的元素包括软件、硬件、人员、数据库、文档和()。

A.规范B.规程C.规则D.过程2【单选题】(1分)基于计算机的系统本身可以成为一个更大的基于计算机系统中的一个()。

A.软件B.元素C.文档D.硬件3【单选题】(1分)经济可行性分析中的效益包括经济效益和()效益。

A.环境B.成本C.消耗D.社会4【多选题】(1分)在基于计算机系统的元素中,硬件包括()。

A.提供外部世界功能的电子机械设备(如传感器、马达等)B.打印、复印设备C.提供计算能力的电子设备D.支持数据流的互连设备(如网络交换器、电信设备)5【多选题】(1分)系统工程的任务包括()。

A.成本估算及进度安排B.生成系统规格说明C.识别用户的要求D.系统建模和模拟E.可行性分析第三章测试1【单选题】(1分)在软件生存周期中,()阶段主要任务是“弄清楚要做什么?”。

A.需求分析B.软件测试C.软件设计D.编码实现2【单选题】(1分)通常将软件生命周期划分为系统工程、需求分析、软件设计、编码实现、软件测试、运行维护等阶段,每个阶段都有各自侧重的任务和目标,以下不属于需求分析阶段的任务是()。

A.弄清楚怎么做,规划系统体系结构B.弄清楚需要做什么C.通过调研等方式获取需求D.编制软件需求规格说明书3【单选题】(1分)需求规格说明描述了()。

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