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

合集下载

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

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

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

一、选择题

1. 答案:B

解析:选择题解析

2. 答案:A

解析:选择题解析

二、判断题

1. 答案:对

解析:判断题解析

2. 答案:错

解析:判断题解析

三、填空题

1. 答案:软件工程

解析:填空题解析

2. 答案:开发、维护

解析:填空题解析

四、简答题

1. 答案:软件需求分析是软件工程的第一步,它主要是通过对用户

需求的调查和分析,确定软件系统需要具备的功能和性能以及相关约

束条件。

解析:简答题解析

2. 答案:软件开发过程中的质量保证主要包括软件测试和代码评审

两个方面。软件测试是通过运行和验证软件系统的过程,以确定其是

否满足预期的需求和标准。代码评审则是对软件代码进行审查和评估,在开发过程中发现和修复潜在的问题和错误。

解析:简答题解析

五、计算题

1. 答案:20

解析:计算题解析

2. 答案:1000

解析:计算题解析

六、案例分析题

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. 什么是软件维护?

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

软件工程导论课后习题大题

软件工程导论课后习题大题

习题2-2

为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统。如果是存款,系统记录存款人姓名、住址、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并打印出存款单给储户。如果是取款,并且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并打印出利息清单给储户。

功能级数据流图:

对象模型:

习题2-3

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

数据流图:

习题2-4

目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请写出数据流图。

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

习题3-6

复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。

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

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

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

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. 请简要说明为什么软件工程是一门多学科交叉的学科?

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

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

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

第一章

1-1 什么是软件危机?

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

1-3 什么是软件工程?

答:是指导计算机软件开发和维护的一门工程学科。

1-4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。

答:目前使用得最广泛的软件工程方法学有2种:

传统方法学:也称为生命周期方法学或结构化范型。

优点:把软件生命周期划分成若干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。

缺点:当软件规模庞大时,或者对软件的需求是模糊的或会随着时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。

面向对象方法学:

优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。

1-5、根据历史数据可以做出如下的假设:

对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:

M = 4080 e0.28(Y-1960)

存储器的价格按下面公式描述的趋势逐年下降:

P1 = 0.3×0.72Y-1974(美分/位)

如果计算机字长为16位,则存储器价格下降的趋势为:

P2 = 0.048×0.72Y-1974(美元/字)

在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算:

(1) 在1985年对计算机存储容量的需求估计是多少?如果字长为16位,这个存储器的价格是多少?

(2) 假设在1985年一名程序员每天可开发出10条指令,程序员的平均工资是每月4000美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。

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

软件工程导论_课后部分习题答案
✓软件过程是软件工程方法学的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 定时取样 生理信号

软件工程课后习题答案第五版

软件工程课后习题答案第五版

软件工程课后习题答案第五版

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

第一章软件工程概论

1.什么是软件危机?

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

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

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

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

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

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

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

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

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

(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置

组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。

(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、

公认的方法论和规范指导,造成软件维护困难。

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

3.怎样克服软件危机?

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

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

和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。

(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使

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

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

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

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

在软件工程导论课中,习题是帮助学生巩固所学知识的重要方式。通过解答习题,学生可以更好地理解软件工程的基本概念和方法。下面是一些常见的软件

工程导论课后习题及其答案,希望能对大家的学习有所帮助。

1. 什么是软件工程?

答案:软件工程是一门研究如何以系统化的、规范化的、可度量的方法开发和

维护软件的学科。它涉及软件开发的各个阶段,包括需求分析、设计、编码、

测试和维护等。

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

答案:软件生命周期指软件从开始开发到最终退役的整个过程。它包括需求分析、设计、编码、测试、发布和维护等阶段。软件生命周期的目标是确保软件

按照既定的质量标准和进度要求完成。

3. 什么是软件需求?

答案:软件需求是对软件系统功能、性能和约束条件的描述。它包括用户需求、系统需求和软件需求规格等。软件需求是软件开发的基础,对于软件项目的成

功至关重要。

4. 什么是软件设计?

答案:软件设计是将软件需求转化为软件结构的过程。它包括软件体系结构设计、模块设计和接口设计等。软件设计要求结构清晰、模块化、可扩展和可维护。

5. 什么是软件测试?

答案:软件测试是通过运行软件系统,发现并修复其中的错误和缺陷的过程。

它包括单元测试、集成测试和系统测试等。软件测试旨在确保软件的质量和可

靠性。

6. 什么是软件维护?

答案:软件维护是在软件交付后对其进行修改和改进的过程。它包括错误修复、性能优化和功能扩展等。软件维护的目标是确保软件持续满足用户的需求。

7. 什么是软件配置管理?

答案:软件配置管理是对软件开发过程中的各种配置项进行管理和控制的过程。它包括配置项的标识、变更控制和版本管理等。软件配置管理能够确保软件开

软件工程导论-张海藩-第五版课后习题答案

软件工程导论-张海藩-第五版课后习题答案
软件工程的发展
软件工程自20世纪60年代末诞生以来,经历了多个发展阶段。从最初的程序设计阶段,到后来的软件工程阶段, 再到现在的软件复用和软件产品线阶段,软件工程的关注点逐渐从单一的软件开发过程扩展到整个软件生命周期 的管理和优化。
软件生命周期模型
瀑布模型
瀑布模型是一种线性的软件开发过程模型,它按照固定的顺序进行各个阶段的工作,每个 阶段都有明确的输入和输出。瀑布模型强调文档的重要性,要求在每个阶段结束后都要进 行严格的评审。
敏捷开发过程
敏捷开发过程是一种灵活、快速响应变化的软件开发过程,它强调团队合作、持续集成和持续交付。敏 捷开发过程包括多个实践,如短迭代周期、每日站会、用户故事和自动化测试等。
02 需求分析
需求获取与整理
01
通过与用户交流、观察用户操作、分析用户需求文档等方式获 取需求。
02
对获取的需求进行整理、分类和优先级排序,形成清晰的需求
THANKS FOR WATCHING
感谢您的观看
可扩展性
系统设计应该考虑未来的需求变化, 能够方便地添加新功能或修改现有功 能。
易用性
系统应该提供友好的用户界面和易于 使用的操作方式。
详细设计工具与技术
流程图
用于描述系统或模块的流程, 包括数据流程图和控制流程图

数据结构图
用于描述系统中数据的组织方 式和存储结构。

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

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

第一章

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

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

软件危机的典型表现:

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

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

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

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

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

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

软件危机出现的原因:

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

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

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

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

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

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

第一章

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

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

软件危机的典型表现:

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

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

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

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

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

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

软件危机出现的原因:

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

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

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

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

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

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

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

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

第一章课后习题答案

习题1.1

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

习题1.2

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

习题1.3

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

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

习题1.4

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

习题1.5

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

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

《软件工程导论》课后习题详细答案
122629 6000 735,776,790(美元)
6.软件生存周期为什么划分成阶段? (1) 任何一个阶段的具体任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发 工作的困难程度。(2) 可以降低每个阶段任务的复杂程度,简化不同阶段的联系,有利于工程的组织管理, 也便于采用良好的技术方法。(3) 使软件开发的全过程以一种有条不紊的方式进行,保证软件的质量,特 别是提高了软件的可维护性。 6-1..开发上述程序的成本为: 1-6 什么是软件过程?它与软件工程方法学有何关系? 软件过程是为了开发出高质量的软件产品所需完成的一系列任务的框架, 它规定了完成各项任务 的工作步骤。 软件过程定义了运用技术方法的顺序、应该交付的文档资料、为保证软件质量和协调软件变化必 须采取的管理措施,以及标志完成了相应开发活动的里程碑。 软件过程是软件工程方法学的 3 个重要组成部分之一。 7.应该怎样来划分阶段?(1)每一个阶段的任务尽可能独立;(2)同一阶段内的任务性质尽可能相同;(3) 每一个阶段任务的开始和结束有严格的标准。 8.软件开发模型有几种?它们的开发方法有可特点? 软件开发模型有瀑布型、渐增型和变换型。 瀑布型开发方法是按照软件生存周期的划分依次实施,每一个阶段有明确规定的任务。它的特点: (1)各个阶段的顺序性和依赖性;(2)划分逻辑设计与物理设计,尽可能推迟程序的物理实现;(3)每个 阶段必须完成规定的文档,对其中问题通过复审及早发现,及早解决。 渐增型开发方法及特点:(1) 从部分需求出发,先建立一个不完全的系统,通过测试运行该系统取得经验 和信息反馈,加深对软件需求的理解,进一步使系统扩充和完善。如此反复,直至软件人员和用户对所设 计完成的软件系统满意为止。(2) 在渐增型开发下的软件是随软件开发的过程而逐渐形成的。(3) 渐增型 开发方法适合于知识型软件的开发,设计系统时对用户需求的认识开始不是很清楚的,需要在开发过程中 不断认识、不断获得新的知识去丰富和完善系统。多数研究性质的试验软件,一般采用此方法。 变换型开发方法及特点: (1)从软件需求的形式化规格说明出发,经过一系列的程序变换,得到最终的程序系统。(2)该方法 必须有严格的数学理论和形式化技术的支持。 9.什么是软件工程? 软件工程是指导计算机软件开发和维护的工程学科。 (1) 它采用工程的概念、原理、技术和方法来开发和维护软件;(2) 它将管理技术与当前经过时间 考验的而证明是正确的技术方法结合起来;(3) 它强调使用生存周期方法学和结构分析和结构技术; (4) 经过人们长期的努力和探索, 围绕着实现软件优质高产这个目标,从技术到管理两个方面做了大量的努 力,逐渐形成了"软件工程学"这一新的学科。 10.什么是软件工程环境: 方法与工具的结合,加上配套的软、硬件支持称为软件工程环境。它能支持开发者按照软件工程的方 法,全面完成生存周期中的各项任务。 第二章 可行性研究 习题答案

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

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

第一章

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

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

软件危机的典型表现:

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

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

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

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

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

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

软件危机出现的原因:

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

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

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

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

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

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

习题2-2

为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统。如果是存款,系统记录存款人姓名、住址、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并打印出存款单给储户。如果是取款,并且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并打印出利息清单给储户。

功能级数据流图:

对象模型:

习题2-3

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

数据流图:

习题2-4

目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请写出数据流图。

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

习题3-6

复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。

状态转换图:

下面是自动售货机系统的需求陈述,试建立它的对象模型、动态模型和功能模型:

自动售货机系统是一种无人售货系统。售货时,顾客把硬币投入机器的投币口中,机器检查硬币的大小、重量、厚度及边缘类型。有效的硬币是一元币、五角币、五分币、二分币、一分币。其他货币被认为是假币。机器拒绝接受假币,并将其从退币孔退出。当机器接受了有效的硬币之后,就把硬币送入硬币储藏器中。顾客支付的货币根据硬币的面值进行累加。

自动售货机装有货物分配器。每个货物分配器中包含零个或多个价格相同的货物。顾客通过选择货物分配器来选择货物。如果货物分配器中有货物,而且顾客支付的货币值不小于该货物的价格,货物将被分配到货物传送孔送给顾客,并将适当的零钱返还到退币孔。如果分配器是空的,则和顾客支付的货币值相等的硬币将被送回到退币孔。如果顾客支付的货币值少

于所选择的分配器中货物的价格,机器将等待顾客投进更多的货币。如果顾客决定不买所选择的货物,他投放进的货币将从退币孔中退出。

相关文档
最新文档