软件工程导论作业答案

合集下载

《软件工程导论》参考答案

《软件工程导论》参考答案

参考答案(范村长下载的)

第1章

一、选择题

1. D

2. C

3. B

4. D

5. B

6. A

7. D

二、填空题

1. 程序文档数据

2. 抽象模块化信息隐蔽局部化一致性完备性可验证性

3. 问题定义可行性研究需求分析

4. 软件生命周期模型顺序性依赖性

5. 制定计划风险分析实施工程客户评价

6. 结构化分析结构化设计结构化程序设计数据流自顶向下,逐步求精功能的分解与抽象

三、思考题

1. 答:软件产品是一种无形的逻辑产品,是人们脑力劳动的结晶。软件产品只能以程序、数据和文档的形式出现。其存储介质是磁盘、磁带或光盘。通过计算机的执行才能体现出来。与硬件产品的制造不同,软件产品的成本主要花在研制上,而产品的制造实质上是所开发产品的拷贝。软件产品不会像硬件产品一样磨损,但仍然需要维护,而且维护的成本很高。软件产品的开发主要靠脑力劳动,所以产品研制的成本很高,很难像硬件产品那样实现工业化生产。

2. 答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件的日益增长的需求;如何维护数量不断膨胀的软件。具体来说,软件危机主要有以下一些典型表现。对软件开发成本和进度的估计常常很不准确。用户对所交付的软件系统不满意的现象时有发生。软件产品的质量往往靠不住。软件常常是不可维护的。软件文档资料通常不完整、不合格。软件的价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升。软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上日益增长的软件需求。

软件工程导论第六版课后习题答案完整版

软件工程导论第六版课后习题答案完整版

软件工程导论第六版课后习题答案完整版首先,感谢您对软件工程导论课后习题答案的需求。以下是软件工程导论第六版课后习题的完整答案。

第一章:软件工程概述

1.1 问题

1. 什么是软件工程?

答:软件工程是一种应用工程原理、方法和工具来开发和维护高质量软件的学科。

1.2 问题

1. 什么是软件?

答:软件是一系列按照特定顺序组织的计算机数据和指令。

第二章:软件过程模型

2.1 问题

1. 软件过程模型有哪些类型?

答:常见的软件过程模型包括瀑布模型、迭代模型、螺旋模型和敏捷开发模型等。

2.2 问题

1. 瀑布模型的特点是什么?

答:瀑布模型是一种线性顺序模型,以阶段划分为基础,每个阶段的任务在进入下一个阶段前必须完成。

第三章:需求分析与规格说明

3.1 问题

1. 软件需求描述包括哪些方面的内容?

答:软件需求描述需要包括功能性需求、非功能性需求、用户需求和系统需求等。

3.2 问题

1. 什么是需求跟踪?

答:需求跟踪是指在软件开发过程中,通过建立需求和软件项目中其他相关工件之间的关联,确保需求的准确实现和变更的有效管理。

第四章:软件设计

4.1 问题

1. 软件设计的目标是什么?

答:软件设计的目标是通过确定软件的整体结构和组成部分,确保软件满足需求并具有良好的可维护性和可重用性。

第五章:软件测试与维护

5.1 问题

1. 什么是软件测试?

答:软件测试是一种评估和改进软件质量的过程,目的是发现错误并提高软件的可靠性和可用性。

5.2 问题

1. 什么是软件维护?

答:软件维护是指在软件交付后的整个生命周期中对软件进行修改和改进,以满足用户需求和修复错误。

《软件工程导论》课后习题答案

《软件工程导论》课后习题答案

作业及解答( 作业及解答(第3章)
3-3 银行计算机储蓄系统的工作过程大致如下: 储户填写的存款单或取款单由业务员键入系统, 如果是存款则系统记录存款人姓名、住址(或 电话号码)、身份证号码、存款类型、存款日 期、到期日期、利率及密码(可选)等信息,并 印出存单给储户;如果是取款而且存款时留有 密码,则系统首先核对储户密码,若密码正确 或存款时未留密码,则系统计算利息并印出利 息清单给储户。
作业及解答( 作业及解答(第1-2章)
122629 • 开发上述程序的成本为: × 6000 ≈ 735,776,790(美元) 1-6 什么是软件过程?它与软件工程方法学有 何关系?
– 软件过程是为了开发出高质量的软件产品所需完成 的一系列任务的框架,它规定了完成各项任务的工 作步骤。 – 软件过程定义了运用技术方法的顺序、应该交付的 文档资料、为保证软件质量和协调软件变化必须采 取的管理措施,以及标志完成了相应开发活动的里 程碑。 – 软件过程是软件工程方法学的3个重要组成部分之 23:59:38 一。 重庆工学院计算机科学与工程学院 李梁(liliang@cqit.edu.cn) 李梁
作业及解答( 作业及解答(第1-2章)
1-5 根据历史数据可以做出如下的假设 : 对计算机存储容量的需求大致按下面公式描述的 趋势逐年增加:M=4080e0.28(Y-1960) 存储器的价格按下面公式描述的趋势逐年下降: P1=0.3×0.72Y-1974(美分/位) 如果计算机字长为16位,则存储器价格下降的趋 势为:P2=0.048×0.72Y-1974(美元/字) 在上列公式中Y代表年份,M是存储容量(字数), P1和P2代表价格。 基于上述假设可以比较计算机硬件和软件成本的 重庆工学院计算机科学与工程学院 李梁(liliang@cqit.edu.cn) 李梁

软件工程导论课后习题答案

软件工程导论课后习题答案

软件工程导论课后习题答案

1. 什么是软件工程?

软件工程是将系统化、规范化的方法应用于软件的开发、运行和维护的一门学科。它包括软件需求分析、软件设计、软件开发、软件测试、软件维护等工作,旨在提高软件开发过程的效率和质量。

2. 软件生命周期是什么?

软件生命周期是指软件从概念到退役的整个过程。它通常包括以下阶段:需求分析、软件设计、编码、测试、部署、运维和退役。

3. 软件需求分析的目的是什么?

软件需求分析的目的是理解客户和用户的需求,明确软件系统应具备的功能和性能要求,并以此为基础,为后续的设计、开发和测试工作提供准确的需求规格说明。

4. 软件设计的原则有哪些?

•模块化原则:将软件划分为多个模块,每个模块负责一个特定的功能,以实现代码的复用和可维护性的提高。

•高内聚低耦合原则:模块内部的元素之间高度相关,而模块之间的依赖关系要尽量降低。

•封装原则:隐藏实现细节,将内部数据和操作通过接口封装起来,提供对外的访问方式。

•可读性原则:代码要易于阅读和理解,一致的命名和简洁的代码结构能提高代码的可读性。

•可测试性原则:设计要有良好的可测试性,便于进行单元测试和集成测试。

5. 软件开发过程中的常用模型有哪些?

•瀑布模型:按照线性流程顺序依次完成需求分析、设计、开发、测试和部署等阶段。

•敏捷开发模型:采用迭代和增量的方式进行开发,快速响应需求变化。

•喷泉模型:将软件生命周期看做是连续不断的循环,在每个循环内快速迭代开发、测试和部署。

6. 软件测试的目的是什么?

软件测试的目的是为了发现软件中的缺陷和错误,并尽早地修复这些问题,以确保软件的质量和可靠性。通过测试,可以评估软件的功能是否满足需求,并验证软件是否在各种工作环境中正常工作。

《软件工程导论》课后习题详细答案

《软件工程导论》课后习题详细答案

《软件工程导论》课后习题详细答案第一章软件工程概论

1.什么是软件危机?

软件危机是指在运算机软件的开发和爱护过程中所遇到的一系列严峻咨询题。这些咨询题表现在以下几个方面:(1)用户对开发出的软件专门难中意。(2)软件产品的质量往往靠不住。(3)一样软件专门难爱护。(4)软件生产效率专门低。(5)软件开发成本越来越大。(6)软件成本与开发进度难以估量。(7)软件技术的进展远远满足不了运算机应用的普及与深入的需要。

2.什么缘故会产生软件危机?

(1) 开发人员方面,对软件产品缺乏正确认识,没有真正明白得软件产品是一个完整的配置组成。造成开发中制定打算盲目、编程草率,不考虑爱护工作的必要性。(2) 软件本身方面,关于运算机系统来讲,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件爱护困难。(3) 专门是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估量、爱护困难等一系列咨询题更为突出,技术的进展差不多远远不能适应社会需求。

3.如何样克服软件危机?

(1) 充分吸取和借鉴人类长期以来从事各种工程项目中积存的行之有效的有效原理、概念、技术与方法,专门是吸取几十年来人类从事运算机硬件研究和开发的体会教训。在开发软件的过程中努力作到良好的组织,严格的治理,相互友好的协作。(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在运算机系统早期进展时期形成的一些错误概念和作法。(3) 按照不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个时期使用的软件工具集合成一个整体,形成一个专门好的软件开发支环环境。总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织治理措施。

《软件工程导论》试题及答案

《软件工程导论》试题及答案

《软件工程导论》试题及答案

软件工程导论试题及答案

一、选择题

1. 软件工程是一门多学科交叉的学科,其中包括以下哪些学科?

A. 计算机科学

B. 电子工程

C. 数学

D. 管理学

E. 心理学

答案:A、B、C、D

2. 软件工程的目标是什么?

A. 提高软件开发效率

B. 提高软件质量

C. 提高软件可靠性

D. 提高软件维护性

E. 提高软件安全性

答案:A、B、C、D、E

3. 软件过程模型是指软件开发过程中的一种抽象表示方法,常用的软件过程模型有哪些?

A. 瀑布模型

B. 增量模型

C. 螺旋模型

D. 敏捷模型

E. 喷泉模型

答案:A、B、C、D

4. 以下哪个开发方式可以在软件开发过程中提供更多的灵活性和快速反馈?

A. 瀑布模型

B. 增量模型

C. 螺旋模型

D. 敏捷模型

答案:D

5. 软件需求分析的主要任务是什么?

A. 确定软件的功能和性能需求

B. 定义软件系统的架构

C. 设计软件的用户界面

D. 实施软件测试

答案:A

二、填空题

1. 软件工程的核心目标是提高软件的 ______ 和 ______ 。

答案:质量、可靠性

2. 软件工程中的四个基本活动是需求分析、设计、 ______ 和

______ 。

答案:实现、维护

3. 瀑布模型的五个阶段依次是:需求分析、设计、编码、 ______ 和 ______ 。

答案:测试、维护

4. “快速原型”开发模型注重 ______ 。

答案:用户参与

5. 敏捷开发模型的核心原则是 ______ 。

答案:迭代开发

三、简答题

1. 请简要说明为什么软件工程是一门多学科交叉的学科?

答:软件工程在开发软件的过程中需要结合计算机科学的知识来实

软件工程导论_课后部分习题答案

软件工程导论_课后部分习题答案
✓软件过程是软件工程方法学的3个重要组成部分之一。
13:07:42
作业及解答(第3章)
2-4 目前住院病人主要由护士护理,这样做不仅需要大量护 士,而且由于不能随时观察危重病人的病情变化,还会延 误抢救时机。某医院打算开发一个以计算机为中心的患者 监护系统,请分层次地画出描述本系统功能的数据流图。
补充1:请为某仓库的管理设计一个ER模型。该仓库主要管 理零件的订购和供应等事项。仓库向工程项目供应零件, 并且根据需要向供应商订购零件。
13:07:42
作业及解答(第5章)
本问题中共有三类实体,分别是“零件”、“工程项目” 和“供应商”。
一种零件可供应多个工程项目,一个工程项目需要使用多 种零件,因此,零件与工程项目之间的联系“供应”,是 多对多( M ' N )联系;类似地,零件与供应商之间的联 系“订购”,也是多对多( M ' N )联系。
P6 产生病情报告
E2 病人
P2 分析信号
F2生理信号 F5安全范围
危及病人信息 D2患者安全范围
P3 产生警告信息
F2生理信号
D3生理信息
F4警告信息
F2生理信号
P1 接收信号
定时的生理信号
P5 更新日志
F2生理信号 定时的 生理信号
E1 护士
E3 时钟
F3日前、时间
P4 定时取样 生理信号

《软件工程导论》课后习题答案

《软件工程导论》课后习题答案
需求分析
讨论如何进行需求分析,包括需求建模、功能需求和非功能需求等方面。
需wenku.baidu.com规格化
描述如何将需求规格化为精确和可测量的需求规范,以便后续的实施和验证。
第三章习题答案
本节将提供《软件工程导论》第三章习题的详细解答,包括软件设计原则、设计模式和架构设计等内容。
1
设计模式
2
深入研究常见的设计模式,如工厂模式、
2 学习策略
运用合适的学习策略,如分解问题、归纳总结和主动探索等,提高解题效率。
3 反馈和改进
解答习题后,及时获取反馈和纠正错误,以不断改进解题能力。
总结
通过本次《软件工程导论》课后习题答案演示文稿,我们希望能够加深您对 软件工程的理解,并提供解题技巧和方法,帮助您提高解答习题的能力。
软件开发生命周期
深入探讨软件开发的不同阶段, 包括需求分析、设计、编码和测 试等。
软件质量保证
介绍软件质量保证的方法和技术, 以及如何确保软件的质量和可靠 性。
第二章习题答案
本节将提供《软件工程导论》第二章习题的详细解答,包括需求工程、需求分析和需求规格化等 内容。
需求获取
介绍不同的需求获取方法,如面谈、问卷调查和观察等,以获得准确的需求信息。
观察者模式和策略模式等。
3
软件设计原则
介绍常用的软件设计原则,如单一职责 原则、开闭原则和里氏替换原则等。

软件工程导论答案(第二章)

软件工程导论答案(第二章)

习题2

2-1在软件开发的早期阶段为什么要进行可行性分析研究?应该从哪些方面研究目标系统的可行性?

可行性分析是要进行一次大大压缩简化系统分析和设计过程,避免时间、资源、人力和金钱的浪费。

技术上的可行性——使用现有的技术能实现这个系统吗?

经济上的可行性——这个系统的经济效益能超过它的开发成本吗?(投资与效益)操作可行性——系统的操作方式在这个用户组织内行得通吗?

社会、政策允许的可行性

2-2 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。请画出此系统的数据流图。

2-3为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统核对无误即印出机票给旅客。请画出系统的数据流图。

2-4 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危险病人的病情变化,还可能会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并且分析开发这个系统的可行性。

医院对患者监护系统的基本要求是随时接受每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以及形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。请画出系统的数据流图。

软件工程导论习题答案

软件工程导论习题答案

软件工程导论习题答案

《软件工程导论》课后习题答案

第一章软件工程概论

1.什么是软件危机?

软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面:

(1)用户对开发出的软件很难满意。

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

(3)一般软件很难维护。

(4)软件生产效率很低。

(5)软件开发成本越来越大。

(6)软件成本与开发进度难以估计。

(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。

4.构成软件项目的最终产品:

应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。

5.什么是软件生存周期?

软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。

6.软件生存周期为什么划分成阶段?

(1) 任何一个阶段的具体任务不仅独立,而且简单,便于不同人员

分工协作,从而降低整个软件开发工作的困难程度。

(2) 可以降低每个阶段任务的复杂程度,简化不同阶段的联系,有利于工程的组织管理,也便于采用良好的技术方法。

(3) 使软件开发的全过程以一种有条不紊的方式进行,保证软件的质量,特别是提高了软件的可维护性。

7.应该怎样来划分阶段?

(1)每一个阶段的任务尽可能独立;

(2)同一阶段内的任务性质尽可能相同;

(3)每一个阶段任务的开始和结束有严格的标准。

8.软件开发模型有几种?它们的开发方法有可特点?

软件开发模型有瀑布型、渐增型和变换型。

瀑布型开发方法是按照软件生存周期的划分依次实施,每一个阶段有明确规定的任务。它的特点:

(1)各个阶段的顺序性和依赖性;

(2)划分逻辑设计与物理设计,尽可能推迟程序的物理实现;

软件工程导论课后习题答案.

软件工程导论课后习题答案.

第一章

一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?

软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。

软件危机的典型表现:

(1) 对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。

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

(3) 软件产品的质量往往是靠不住的。(4) 软件常常是不可维护的。

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

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

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

软件危机出现的原因:

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

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

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

二、什么是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机?

1993年IEEE的定义:软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。

软件工程导论习题答案

软件工程导论习题答案

《软件工程导论》课后习题答案第一章 软件工程概论1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面: (1)用户对开发出的软件很难满意。 (2)软件产品的质量往往靠不住。 (3)一般软件很难维护。 (4)软件生产效率很低。 (5)软件开发成本越来越大。 (6)软件成本与开发进度难以估计。 (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。4.构成软件项目的最终产品: 应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。5.什么是软件生存周期? 软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。6.软件生存周期为什么划分成阶段? (1) 任何一个阶段的具体任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。 (2) 可以降低每个阶段任务的复杂程度,简化不同阶段的联系,有利于工程的组织管理,也便于采用良好的技术方法。 (3) 使软件开发的全过程以一种有条不紊的方式进行,保证软件的质量,特别是提高了软件的可维护性。7.应该怎样来划分阶段? (1)每一个阶段的任务尽可能独立; (2)同一阶段内的任务性质尽可能相同; (3)每一个阶段任务的开始和结束有严格的标准。8.软件开发模型有几种?它们的开发方法有可特点? 软件开发模型有瀑布型、渐增型和变换型。 瀑布型开发方法是按照软件生存周期的划分依次实施,每一个阶段有明确规定的任务。它的特点: (1)各个阶段的顺序性和依赖性; (2)划分逻辑设计与物理设计,尽可能推迟程序的物理实现; (3)每个阶段必须完成规定的文档,对其中问题通过复审及早发现,及早解决。 渐增型开发方法及特点: (1) 从部分需求出发,先建立一个不完全的系统,通过测试运行该系统取得经验和信息反馈,加深对软件需求的理解,进一步使系统扩充和完善。如此反复,直至软件人员和用户对所设计完成的软件系统满意为止。 (2) 在渐增型开发下的软件是随软件开发的过程而逐渐形成的。 (3) 渐增型开发方法适合于知识型软件的开发,设计系统时对用户需求的认识开始不是很清楚的,需要在开发过程中不断认识、不断获得新的知识去丰富和完善系统。多数研究性质的试验软件,一般采用此方法。 变换型开发方法及特点: (1)从软件需求的形式化规

《软件工程导论》的答案

《软件工程导论》的答案

《软件工程导论》的答案

《软件工程导论》课后习题答案

第一章软件工程概论

1.什么是软件危机?

软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面:

(1)用户对开发出的软件很难满意。

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

(3)一般软件很难维护。

(4)软件生产效率很低。

(5)软件开发成本越来越大。

(6)软件成本与开发进度难以估计。

(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。

2.为什么会产生软件危机?

(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。

(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。

(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。

3.怎样克服软件危机?

(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。

(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研

究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。

(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。

软件工程导论答案

软件工程导论答案

软件工程导论答案

1. 软件是()

A.设计开发的(正确答案)

B.程序员编写代码实现的

C.项目经理组织实施的

D.软件项目组制造的

2. 与硬件产品相比()

A.软件可以用备用部件替换

B.软件会退化(正确答案)

C.软件会磨损

D.软件失效遵守盆形曲线

3. 软件工程是一种层次化的技术,支持软件工程的根基在于()

A.软件工程过程模型

B.软件工程工具

C.软件生命周期模型

D.质量关注点(正确答案)

4. “软件危机”是指()

A.计算机病毒的出现

B.软件开发和软件维护中出现的一系列问题(正确答案)

C.利用计算机系统进行经济犯罪

D.人们过分迷恋计算机系统

5. 下列那种做法符合软件工程师的职业道德?()

A.不在私人电脑上编辑公司的项目源代码和文档。(正确答案)

B.把公司项目中完全由自己开发的模块封装为小软件,发布到网络牟利。

C.过于夸大自己的技术水平,从而得到一份超出自己能力范围的工作。

D.在客户现场进行技术维护休息期间,在客户的电脑上打游戏。

6. 构成软件工程基础的是()

A.工具

B.设计

C.方法

D.过程(正确答案)

7. 对软件的描述正确的是()

A.软件质量依赖于程序员的个人水平。

B.软件测试是一项比较简单的工作。

C.具有技术和文化的双重属性。(正确答案)

D.软件是没有附加价值的产品。

8. 下列对软件的描述错误的是()

A.软件的文档是用于记录软件的活动和中间制品,如需求规约、源程序等。

B.软件=程序+数据+文档,为了突出其功能和性能,可扩展为:软件=知识+程序+数据+文档

C.能够完成预定的功能和性能,并对相应数据进行加工的程序,及描述程序、操作的文档。

《软件工程导论》试题及答案

《软件工程导论》试题及答案

一, 判断题(正确的在括号内打上"√",错误的打上"×".每题1.5分,共15分)

Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.(×)

PAD图在设置了五种基本控制结构后,还允许递归调用. (×)

为了加快软件维护作业的进度,应尽可能增加维护人员的数目.(×)

当验收测试通过,软件开发就完成了.(×)

完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×)

在进行总体设计时应加强模块间的联系.(×)

系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.(×)

用黑盒法测试时,测试用例是根据程序内部逻辑设计的.(×)

在程序调试时,找出错误的位置和性质比改正该错误更难.(√)

以对象,类,继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一.(√)

二,单项选择题(每小题2分,共10分)

试判断下列叙述中,哪个(些)是正确的(D)

a,软件系统中所有的信息流都可以认为是事务流

b,软件系统中所有的信息流都可以认为是变换流

c,事务分析和变换分析的设计步骤是基本相似的

A,a B,b C,c D,b和c

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

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

在详细设计阶段,经常采用的工具有(A).

A,PAD B,SA C,SC D,DFD

详细设计的结果基本决定了最终程序的(C)

A,代码的规模B,运行速度C,质量D,可维护性

使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准.

A,程序的内部逻辑B,程序的复杂程度

软件工程导论第六版课后习题答案

软件工程导论第六版课后习题答案

软件工程导论第六版课后习题答案

第一章课后习题答案

习题1.1

答案:软件工程是使用工程化思维和方法来开发、维护和管理软件的一门学科。它涵盖了软件开发的全过程,包括需求分析、设计、编码、测试、维护等各个阶段,以及与软件开发相关的项目管理、质量保证等方面。

习题1.2

答案:软件是由计算机程序和相关文档组成的,而计算机程序是一组指令的集合,用来描述计算机在某种语言中执行的操作。因此,软件和计算机程序是密切相关的,但并不完全等同。软件是包含程序和相关文档的更广泛的概念,它包括了程序的编写、测试、维护等全过程。

习题1.3

答案:软件工程的目标是提高软件的质量、可靠性、可维护性和可重用性。通过使用工程化的方法和技术,软件工程可以使软件开发过程更加系统化、规范化,从而提高软件开发的

效率和质量。软件工程还关注与软件开发相关的项目管理和质量保证等方面,以确保软件能够按时、按预算、按要求的开发和交付。

习题1.4

答案:软件工程的主要内容包括需求分析、软件设计、软件编码、软件测试和软件维护等方面。需求分析是确定软件的功能和性能需求,为后续的设计和编码工作提供基础。软件设计是根据需求分析的结果,制定软件系统的结构和组织方式,以便于后续的编码和测试。软件编码是实现软件设计的过程,将设计的概念转化为具体的程序代码。软件测试是验证软件的正确性和完整性的过程,通过各种测试方法和工具,发现并纠正软件中的错误。软件维护是对软件进行更新、修复、优化等操作,以确保软件能够长期稳定地运行。

习题1.5

答案:软件工程的活动包括项目管理、需求管理、设计管理、配置管理、质量管理等方面。项目管理是对软件开发项目进行计划、组织和控制的活动,包括项目目标的设定、进度的控制、资源的分配等。需求管理是对软件需求进行跟踪、分析和管理的活动,包括需求变更的管理、需求优先级的确定等。设计管理是对软件设计进行管理和控制的活动,包括设计文档

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

学号_31009210** 姓名_朱某某班级_软件10* 作业一

1.什么是软件危机?它有哪些典型表现?为什么会出现软件危机?

“软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。这些问题不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。

“软件危机”包含两方面的问题:

(1)如何开发软件,以满足对软件日益增长的需求;

(2)如何维护数量不断膨胀的已有软件。

它们有以下表现:

(1)对软件开发成本和进度的估计常常很不准确;

(2)用户对“已完成的”软件系统不满意的现象经常发生;

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

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

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

(6)软件成本在计算机系统总成本中所占的比例逐年上升;

(7)软件开发生产速率提高的速度,远远跟不上计算机应用普及深入的趋势。

出现软件危机的原因

(1)开发人员与客户认识之间的矛盾

(2)开发人员能力与开发目标之间的矛盾

(3)预估与实际工作量之间的矛盾

(4)客户认识的提高与软件维护之间的矛盾

(5)遗产系统与实施软件之间的矛盾

2.假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?

在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面比较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价俱增。在软件“已经完成”时再引入变动,当然付出的代价更高。一个故障时代码错误造成的,有时这种错误时不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。

3.什么是软件工程?他有哪些本质特征?怎样用软件工程消除软件危机?

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

本质特征:

软件工程关注于大型软件的构造

软件工程的中心课题是控制复杂性

软件经常变化

开发软件的效率非常重要

和谐地合作是开发软件的关键

软件必须有效支持它用户

在软件工程领域通常由一种文化背景的人代替另一种文化背景的人创造产品

消除软件危机的原理:

用分阶段的生命周期计划严格管理

坚持进行阶段评审

实行严格的产品控制

采用现代程序设计技术

结果应能清楚的审查

开发小组的人员应该少而精

承认不断改进软件工程实践的必要性

6.什么是软件过程?它与软件工程方法学有何关系?

软件过程是为了开发出高质量的软件产品所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

软件过程定义了运用技术方法的顺序、应该交付的文档资料、为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。

软件过程是软件工程方法学的3个重要组成部分之一。

相关文档
最新文档