《软件》课后习题答案

合集下载

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

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

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

以下是软件工程导论第六版课后习题的完整答案。

第一章:软件工程概述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. 什么是软件维护?答:软件维护是指在软件交付后的整个生命周期中对软件进行修改和改进,以满足用户需求和修复错误。

第六章:软件配置管理6.1 问题1. 软件配置管理的目标是什么?答:软件配置管理的目标是确保软件在开发和维护过程中的可控性和可追踪性,以及保持软件配置的稳定性和一致性。

6.2 问题1. 软件版本控制是什么?答:软件版本控制是指对软件的不同版本进行管理,包括版本的创建、检出、合并和更新等操作。

至此,我们完成了软件工程导论第六版课后习题的完整答案。

软件工程 课后习题答案

软件工程 课后习题答案

软件工程课后习题答案软件工程课后习题答案软件工程是一门关于设计、开发和维护软件系统的学科。

在学习软件工程的过程中,课后习题是非常重要的一部分。

通过解答习题,我们可以巩固所学的知识,加深对软件工程的理解。

下面是一些常见的软件工程习题及其答案,供大家参考。

习题一:什么是软件生命周期?它包括哪些阶段?答案:软件生命周期是指软件从开始开发到最终废弃的整个过程。

它包括以下几个阶段:1. 需求分析阶段:确定软件系统的需求,包括功能需求、性能需求、安全需求等。

2. 设计阶段:根据需求分析的结果,设计软件系统的结构和功能。

3. 编码阶段:根据设计阶段的结果,编写代码实现软件系统的功能。

4. 测试阶段:对编写的代码进行测试,确保软件系统的正确性和稳定性。

5. 部署阶段:将测试通过的软件系统部署到生产环境中,供用户使用。

6. 维护阶段:对已经部署的软件系统进行修复漏洞、更新功能等维护工作。

习题二:什么是软件需求?软件需求可以分为哪几类?答案:软件需求是指对软件系统功能和性能的描述。

软件需求可以分为以下几类:1. 功能需求:描述软件系统应该具备的功能,比如用户登录、数据查询等。

2. 性能需求:描述软件系统在运行过程中的性能要求,比如响应时间、并发处理能力等。

3. 安全需求:描述软件系统对数据和系统的安全保护要求,比如用户权限控制、数据加密等。

4. 可靠性需求:描述软件系统的可靠性要求,比如系统的可用性、容错性等。

习题三:什么是软件设计模式?列举几个常见的软件设计模式。

答案:软件设计模式是指在软件设计过程中经常出现的一些问题的解决方案。

常见的软件设计模式包括:1. 单例模式:确保一个类只有一个实例,并提供一个全局访问点。

2. 工厂模式:将对象的创建和使用分离,通过工厂类来创建对象。

3. 观察者模式:定义了一种一对多的依赖关系,当一个对象状态发生改变时,所有依赖它的对象都会收到通知并自动更新。

4. 适配器模式:将一个类的接口转换成客户希望的另一个接口,使得原本由于接口不兼容而不能在一起工作的类可以一起工作。

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

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

《软件工程导论》课后习题详细答案第一章软件工程概论1.什么是软件危机?软件危机是指在运算机软件的开发和爱护过程中所遇到的一系列严峻咨询题。

这些咨询题表现在以下几个方面:(1)用户对开发出的软件专门难中意。

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

(3)一样软件专门难爱护。

(4)软件生产效率专门低。

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

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

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

2.什么缘故会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正明白得软件产品是一个完整的配置组成。

造成开发中制定打算盲目、编程草率,不考虑爱护工作的必要性。

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

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

3.如何样克服软件危机?(1) 充分吸取和借鉴人类长期以来从事各种工程项目中积存的行之有效的有效原理、概念、技术与方法,专门是吸取几十年来人类从事运算机硬件研究和开发的体会教训。

在开发软件的过程中努力作到良好的组织,严格的治理,相互友好的协作。

(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在运算机系统早期进展时期形成的一些错误概念和作法。

(3) 按照不同的应用领域,开发更好的软件工具并使用这些工具。

将软件开发各个时期使用的软件工具集合成一个整体,形成一个专门好的软件开发支环环境。

总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织治理措施。

4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。

5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、爱护到剔除的全过程。

软件工程学课后习题答案

软件工程学课后习题答案

2020/10/27
2020/10/27
2020/10/27
2020/10/27
•作业及解答(第3章)
电话号码=[校内电话号码|校外电话号码] 校内电话号码=非零数字+ 3 位数字 //后面继续定义 校外电话号码=[本市号码|外地号码] 本市号码=数字零+8位数字 外地号码=数字零+3位数字+8位数字 非零数字=[1|2|3|4|5|6|7|8|9] 数字零=0 3位数字=3{数字}3 //3至3个数字 8位数字=非零数字+7位数字 7位数字=7{数字}7 数字=[0|1|2|3|4|5|6|7|8|9]
2020/10/27
•作业及解答(第3章)
2020/10/27
•作业及解答(第3章)
从问题陈述可知,本系统数据源点是“病人”和“护士”,他 们分别提供生理信号和要求病情报告的信息。进一步分析 问题陈述,从系统应该“定时记录病人情况以形成患者日 志”这项要求可以想到,还应该有一个提供日期和时间信 息的“时钟”作为数据源点。
软件工程学课后习题答案
2020/10/27
•作业及解答(第3章)
2-4 医院对患者2监护系统的基本要求是随时接收每个病人 的生理信号(脉搏、体温、血压、心电图等),定时记录病 人情况以形成患者日志,当某个病人的生理信号超出医生 规定的安全范围时向值班护士发出警告信息,此外,护士 在需要时还可以要求系统印出某个指定病人的病情报告。
2020/10/27
1 2 3 4 5 6 7 8 9 10 11 12
人数≤40
TTTT
40<人数≤60
TTTT
人数>60
TT T T
助教
T
T
T

软件项目课后练习题答案

软件项目课后练习题答案

课后练习题答案序-—练习题一、回答问题:1.项目集成管理(Project Integration Management)是什么?➢集成项目管理是项目成功的关键,它贯穿了项目的全过程,包括从初始、计划、执行、管理到结束等过程。

项目集成管理在项目的整个生存期内协调项目管理其他各管理知识域,保证项目总目标的是实现.2.项目管理九大知识域是什么?➢项目管理九大知识域是项目范围管理、项目时间管理、项目成本管理、项目质量管理、项目人力资源管理、项目采购管理、项目沟通管理、项目风险管理、项目集成管理。

3.项目成本管理(Project Cost management)包括哪些过程?➢项目成本管理(Project Cost management)包括成本估算(Cost estimating),成本预算(Cost budgeting),成本控制(Cost control)等过程。

4.项目管理的五个过程组是什么?➢项目管理的五个过程组是启动过程组、计划过程组、执行过程组、控制过程组、收尾过程组。

5.下面活动是项目:●野餐活动●集体婚礼●开发微软的操作系统●神州飞船计划二、判断题:6.项目开发过程中可以无限制地使用资源。

(×)7.项目具有暂时的特征。

(√)8.项目管理核心的三角形是范围、进度、风险.()9.过程管理与项目管理在软件组织中是两项最为重要的管理,项目管理用于保证项目的成功,而过程管理用于管理最佳实践.(√)10.运作管理(Operation Management)是从宏观上帮助企业明确和把握企业发展方向的管理。

(×)第一章练习题一、名词解释1.项目章程➢项目章程(project charter)是指项目执行组织高层批准的一份以书面签署的确认项目存在的文件,包括对项目的确认、对项目经理的授权和项目目标的概述等。

2.项目建议书➢项目建议书是指在项目初期为竞标或签署合同而提交的文档,它是在甲乙双方对相应问题共同认识的基础上,清晰地说明项目的目的以及操作方式,可以决定项目有无足够吸引力或可行不可行。

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

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

1、可行性研究的目的是用最小的代价,在尽可能短的时间,确定该项目是否能够开发。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

答:模型是一个抽象。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

软件工程课后习题答案

软件工程课后习题答案

软件⼯程课后习题答案习题答案习题⼀答案⼀、选择题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. 软件⼯具的作⽤是为了延长软件产品的寿命。

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

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

《软件工程导论》课后习题答案第一章软件工程概论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。

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

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

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

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

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

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

2.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。

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

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

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

+ 软件工程方法学5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。

6.软件生存周期为什么划分成阶段?(1) 任何一个阶段的具体任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。

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

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

7.应该怎样来划分阶段?(1)每一个阶段的任务尽可能独立;(2)同一阶段内的任务性质尽可能相同;(3)每一个阶段任务的开始和结束有严格的标准。

8.软件开发模型有几种?它们的开发方法有可特点?软件开发模型有瀑布型、渐增型和变换型。

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

Software Engineering第8版《软件工程》课后习题答案

Software Engineering第8版《软件工程》课后习题答案

Software Engineering8th editionSolutions to selected exercisesThese solutions are made available for instructional purposes only. They may only be distributed to students and it is a condition of distribution that they are only distributed by accredited instructors using ‘Software Engineering, 8th edition’ as a textbook.. The solutions may be made available to students on a password-protected intranet but must not be made available on a publicly-accessible WWW server.Solutions to the exercises are organised by chapter and I have provided solutions for 6 or 7 exercises for each chapter in the book. In some cases, where the material is likely to be unfamiliar or where I have found students to have particular difficulties, a larger number of solutions are given. Overall, I have provided solutions for about 60% of the exercises. For exercises concerned with ethical issues, there are of course, no definitive solutions. For these exercises, I have included issues that might be addressed.However, the solutions here are simply indications of what might be expected from students attempting the exercises. Many of the exercises have been deliberately designed so that they may be adapted to local situations; therefore they are not specified in a rigid way. Instructors, therefore, may use these solutions as a guide but many other possible, equally valid, solutions may also be generated.There are still a small number of chapters where there are fewer than 6 solutions to exercises. These additional solutions will be available in the next release of this document in October 2006.NOT FOR PUBLIC DISTRIBUTIONChapter 1 IntroductionSolutions provided for Exercises 1.2, 1.3, 1.4, 1.6, 1.7 and 1.8.1.2The essential difference is that in generic software product development, the specification isowned by the product developer. For custom product development, the specification is owned by the customer. Of course, there may be differences in development processes but this is not necessarily the case.1.3For important attributes are maintainability, dependability, performance and usability. Otherattributes that may be significant could be reusability (can it be reused in other applications), distributability (can it be distributed over a network of processors), portability (can it operate on multiple platforms) and inter-operability (can it work with a wide range of other softwaresystems). Decompositions of the 4 key attributes e.g. dependability decomposes to security,safety, availability, etc. are also possible answers.1.4 A software process is what actually goes on when software is developed. A software processmodel is an abstraction and simplification of a process. Process models can be used to helpunderstand real processes and to identify which aspects of these processes could be supported by CASE tools.1.6Method support provided by CASE tools:Editors for specific graphical notations u sedChecking of the 'rules' and guidelines of the methodAdvice to tool users on what to do nextMaintenance of a data dictionary - all names used in the systemAutomatic generation of skeleton code from the system modelsGeneration of reports on the design1.7Problems and challenges for software engineeringDeveloping systems for multicultural useDeveloping systems that can be adapted quickly to new business needsDesigning systems for outsourced developmentDeveloping systems that are resistant to attackDeveloping systems that can be adapted and configured by end-usersFinding ways of testing, validating and maintaining end-user developed systems There are obviously lots of other problems that could be mentioned here.1.9 Advantages of certification•Certification is a signal to employers of some minimum level of competence. •Certification improves the public image of the profession.•Certification generally means establishing and checking educational standards and is thereforea mechanism for ensuring course quality.•Certification implies responsibility in the event of disputes.Certifying body is likely to be accepted at a national and international level as ‘speaking forthe profession’.•Certification may increase the status of software engineers and attract particularly able people into the profession.Disadvantages of certification•Certification tends to lead to protectionism where certified members tend not to protect others from criticism.•Certification does not guarantee competence merely that a minimum standard was reached at the time of certification.•Certification is expensive and will increase costs to individuals and organisations. •Certification tends to stultify change. This is a particular problem in an area where technology developments are very rapid.These are possible discussion points - any discussion on this will tend to be wide ranging and touch on other issues such as the nature of professionalism, etc.NOT FOR PUBLIC DISTRIBUTIONChapter 2 Computer-based system engineeringSolutions provided for Exercises 2.1, 2,2, 2.3, 2.4, 2.6, 2.7, and 2.8.2.1Other systems in the system's environment can have unanticipated effects because they haverelationships with the system over and above whatever formal relationships (e.g. dataexchange) are defined in the system specification. For example, the system may share anelectrical power supply and air conditioning unit, they may be located in the same room (so if there is a fire in one system then the other will be affected) etc.2.2This is an inherently wicked problem because of the uncertainties associated with theproblem. It is impossible to anticipate exactly when and where a disaster will occur, thenumbers of people involved, the effects on the environment, the technology available to theemergency services, etc. Planning can only be in very general terms and detailed softwarespecifications to cope with specific situations are almost impossible to write.2.3When a car is decommissioned, not all of its parts are worn out. Software systems can beinstalled in the car to monitor the different parts and to compute the lifetime which they arelikely to have left. When the car is to be decommissioned, the parts which can potentially bereused can then easily be discovered.2.4An overall architectural description should be produced to identify sub-systems making up thesystem. Once these have been identified, they may be specified in parallel with other systems and the interfaces between sub-systems defined.2.6The key features of the solution are:•Database with different types of data•Video control system•Operator console system•River data collection•Weather system links•Communication control systemSee Figure 2.1.2.7Possible issues covered in the solution might be:•Museums are conservative places and some staff may resent the introduction of new technology.•Existing museum staff may be asked to deal with problems of the equipment not working and may not wish to appear unable to deal with this.•Other areas of the museum may oppose the system because they see it as diverting resources from their work.•Different museums may have different preferred suppliers for the equipment so that all equipment used is not identical thus causing support problems.•The new displays take up a lot of space and this displaces other displays. The maintainers of these displays may oppose the introduction of the system.•Some museums may have no mechanism for providing technical support for the system.NOT FOR PUBLIC DISTRIBUTIONiver sensorsOperator displaysOperator displaymanagerComms controllerContacts data Sensor data collectionWeather info systemResources dataTide tables Site dataRiver data Weather dataMet office.Other servicesSystem databaseFigure 2.1 Block diagram of the flood control system2.8Legacy systems may be critical for the successful operation of a business for two basic reasons • They may be an intrinsic part of one or more processes which are fundamental to the operation of a business. For example, a university has a student admissions process and systems which support this are critical. They must be maintained.• They may incorporate organisational and business knowledge which is simply notdocumented elsewhere. For example, exceptions on student admissions may simply have been coded directly into the system with no paper record of these. Without this system, the organisation loses valuable knowledge.Camera controlsystemcamerasVideo monitorsVide Video switcherOperator communications (phone, radio, etc)Chapter 3 Critical systemsSolutions provided for Exercises 3.2, 3.5, 3.6, 3.7, 3.8, 3.10 and 3.11.3.2Six reasons why dependability is important are:a)Users may not use the system if they don't trust it.b)System failure may lead to a loss of business.c)An undependable system may lose or damage valuable data.d)An undependable system may damage its external environment.d)The reputation of the company who produced the system may be damaged hence affectingother systems.e)The system may be in breach of laws on consumer protection and the fitness of goods forpurpose.3.5Internet server: Availability as failure of availability affects a large number of people,reputation of the supplier and hence its current and future income.A computer-controlled scalpel: Safety as safety-related failures can cause harm to the patient.A directional control system: Reliability as mission failure could result from failure of thesystem to perform to specification.An personal finance management system: Security because of potential losses to users.3.6Possible domestic appliances that may include safety-critical software include:Microwave ovenPower tools such as a drill or electric sawLawnmowerCentral heating furnaceGarbage disposal unitFood processor or blender3.7Ensuring system reliability does not necessarily lead to system safety as reliability isconcerned with meeting the system specification (the system 'shall') whereas safety isconcerned with excluding the possibility of dangerous behavior (the system 'shall not'). If the specification does not explicitly exclude dangerous behavior then a system can be reliable but unsafe.3.8Possible hazard is delivery of too much radiation to a patient. This can arise because of asystem failure where a dose greater than the specified dose is delivered or an operator failurewhere the dose to be delivered is wrongly input.Possible software features to guard against system failure are the delivery of radiation inincrements with a operator display showing the dose delivered and the requirement that theoperator confirm the delivery of the next increment. To reduce the probability of operatorerror, there could be a feature that requires confirmation of the dose to be delivered and thatcompares this to previous doses delivered to that patient. Alternatively, two differentoperators could be required to independently input the dose before the machine could operate.3.10An attack is an exploitation of a system vulnerability. A threat is a circumstance that hasthe potential to cause loss or harm. An attack can lead to a threat if the exploitation of thevulnerability leads to a threat. However, some attacks can be successful but do not lead tothreats as other system features protect the system.3.11The ethics of delivery of a faulty system are complex. We know that this happens all the time,especially with software. Issues that might be discussed include the probability of the faultoccurring and the consequences of the fault – if the fault has potentially seriousconsequences then the decision may be different than if it is a minor, easily recoverable fault.Other issues are the price charged for the system (if its low, then what level of quality is itreasonable for the customer to expect). The recovery mechanisms built into the system and the compensation mechanisms that are in place if consequential damage occurs. Making thecustomer aware of the fault is the honest decision to make but may be unwise from a business perspective.Claims about the reliability of the software should not be made in such circumstances as thesoftware provider does not know how the software will be used and so cannot estimate theprobability of occurrence of the fault.NOT FOR PUBLIC DISTRIBUTIONChapter 4 Software processesSolutions provided for Exercises 4.1, 4.3, 4.7, 4.9, 4.10 and 4.12.4.1(a) Anti-lock braking system Safety-critical system so method based on formaltransformations with proofs of equivalence between each stage.(b)Virtual reality system System whose requirements cannot be predicted in advance soexploratory programming model is appropriate.(c)University accounting system System whose requirements should be stable because ofexisting system therefore waterfall model is appropriate.(d)Interactive timetable System with a complex user interface but which must be stable andreliable. Should be based on throw-away prototyping to find requirements then eitherincremental development or waterfall model.4.3The waterfall model is accommodated where there is a low specification risk and no need forprototyping etc. for risk resolution. The activities in the 2nd quadrant of the spiral model areskipped. The prototyping model is accommodated when the specification phase is limited and the prototyping (risk resolution) phase predominates. The activities in the 3rd quadrant of the spiral model are skipped or reduced in scope.4.4Solution to be added.4.7 Components of a design method are:A defined set of system modelsRules that apply to these modelsGuidelines for design 'good practice'A model of the design processFormats for reports on the design4.9Systems must change because as they are installed in an environment the environment adaptsto them and this adaptation naturally generates new/different system requirements.Furthermore, the system's environment is dynamic and constantly generates new requirements as a consequence of changes to the business, business goals and business policies. Unless the system is adapted to reflect these requirements, its facilities will become out-of-step with thefacilities needed to support the business and, hence, it will become less useful.4.10 A classification scheme can be helpful for system procurement because it helps identify gapsin the CASE tool coverage in an organisation. Procurement may be aimed at filling thesegaps. Alternatively, a classification scheme may be used to find tools which support a rangeof activities - these may represent the most cost effective purchases if funds are limited.4.12 There are obviously different views here and a lot depends on the development of CASEtechnology in the future. A major difference between the introduction of CASE technologyand, for example, the introduction of CAD technology which made draftsmen redundant, isthat the routine elements in the design and development of software are relatively minor parts of the whole development process. Therefore, savings are not that large. However, if AItechnology develops so that truly intelligent tools can be developed than, obviously, thissituation will change.Chapter 5 Project managementSolutions provided for Exercises 5.2, 5.3, 5.6, 5.9,5.10 and 5.11.5.2Management activities such as proposal writing, project planning and personnel selectionrequire a set of skills including presentation and communication skills, organisational skillsand the ability to communicate with other project team members. Programming skills aredistinct from these (indeed, it is a common criticism of programmers that they lack humancommunication skills) so it does not follow that good programmers can re-orient theirabilities to be good managers.5.3Project planning can only be based on available information. At the beginning of a project,there are many uncertainties in the available information and some information about theproject and the product may not be available. As the project develops, more and moreinformation becomes available and uncertainties are resolved. The project plan therefore must be reviewed and updated regularly to reflect this changing information e nvironment.5.6 The activity chart and bar chart are shown as Figures 5.1 and 5.2.5.9Other possible risks are:Technology: Communications network saturates before expected transaction limit is reached.People: Level of skill of available people is lower than expected.Organisational: Organisational changes mean that the project schedule is accelerated.Tools: CASE tools cannot handle the volume of data available for large systems.Requirements: New non-functional requirements are introduced that require changes to thesystem architecture.Estimation: The difficult of the software is underestimated.15M2M11010T1T320M4T4Start10T5M520 35T7 M7 T8 M8M315 15T9M635M910T14M1420T1510M122010M15 T16FinishFigure 5.1 Activity chart 5T10M10T12T11T2T13T6NOT FOR PUBLIC DISTRIBUTIONFigure 5.2 Task bar chartStart M2 M M7 1 M8T14M14 M1 T16T15T12M10 T110 T M9 T8T9 M6 T7T6 T13 3 M4T2M5M1 T5T4 T1 Finish5 1/9/991/8/99 1/7/99 1/6/99 1/5/99 1/4/99 1/2/99 1/3/99 1/1/99 T35.10Fixed price contracts increase the chances of product risks because they remove options fromthe development process. Because the contract is fixed-price, the contractor is naturallyreluctant to increase the effort or time expended on the project as this will reduce their profits on the work. Therefore, if problems arise they will look for ways to reduce the scope of theproduct or to reduce the costs of product development (e.g. by reducing the effort devoted to testing). Both of these factors can lead to products that are not as expected by the customer.5.11Issues which might be covered include the problems of finding a balance between family lifeand organisational demands, whether or organisations should expect people to behave asprofessionals. This perhaps implies working the number of hours required to complete some job but also implies that engineers should have a degree of autonomy about how they arrange their working lives (e.g. they may choose to work from home or their own working hours).Factors which affect this decision might be the financial state of the company, the generalcompany culture and attitude, the availability of alternative local employment, particularpersonal circumstances (e.g. are people single parents, do they have babies which don’t sleep well, etc.)NOT FOR PUBLIC DISTRIBUTIONChapter 6 Software requirementsSolutions provided for Exercises 6.1, 6.3, 6.6, 6.7, 6.8 and 6.9.6.1 Functional requirements that specify some services or functionality to be provided by thesystem.Non-functional requirements that define operational constraints on the behaviour of thesystemDesign requirements that define constraints on the system design and implementationProcess requirements that define constraints on the system development process.6.3 Ambiguities and omissions include:•Can a customer buy several tickets for the same destination together or must they be bought one at a time?•Can customers cancel a request if a mistake has been made?•How should the system respond if an invalid card is input?•What happens if customers try to put their card in before selecting a destination (as they would in ATM machines)?•Must the user press the start button again if they wish to buy another ticket to a different destination?•Should the system only sell tickets between the station where the machine is situated and direct connections or should it include all possible destinations?6.6Note that Figure 6.1 is a top-level requirements definition for the whole system. Figures 6.2and 6.3 are more detailed function definitions.NOT FOR PUBLIC DISTRIBUTION3.If the amount breaches either of these limits, then a message is issued which tells thecustomer of the maximum amount allowed and the transaction is cancelled.4.If the amount is within limits, the requested cash should be dispensed5.The customer’s account b alance and daily card limit should be reduced by the amount ofcash dispensed.Specification : ATM/Customer functionality/FS. Section 2.1The customer inputs the amount of cash requiredThe system checks this against daily card limits and the customer’s overdraft limit. to customers. The amount is requested by the customer but the system may reduce this amount if the customer’s daily limit or overdraft limit is reached. 2.1.1 The sequence of actions to dispense cash should be:1. 2. 2.1 The system must provide a facility which allows a specified amount to cash to be issued Dispensing cash2. 7.2.1 The system shall provide a user-activated facility which checks the spelling of words in the document against spellings in the system dictionary and user-supplied dictionaries.Spell checking7.2Figure 6.1 Requirements for a fuel delivery systemFigure 6.2 ATM system - cash dispensing1. Fuel delivery system1.1 The system should provide an unattended fuel delivery service where a specified amount of fuel is delivered to customers, The cost is deducted from the customer’s credit card account. 1.2 The sequence of actions to dispense fuel should be:1. The customer selects the type of fuel to be delivered.2. The customer inputs either a cash limit or a maximum amount of fuel to be delivered3. The customer validates the transaction by providing credit card account d etails.Rationale : The amount of fuel a llowed depends on the credit limit but customers may wish to ‘fill up’ rather than have a specified amount of fuel. By specifying a maximum, the system can check if credit is available. Note that the definition does not set out how credit card details should be provided.4. The pump is activated and fuel is delivered, under customer control.5. The transaction is terminated either when the pump nozzle is returned to its holster for 15 seconds or when the customers fuel or cash limit is reached.Rationale : Termination should not be immediate when the nozzle is returned as the customer may wish to restart the transaction e.g. to fill a fuel can as well as the car fuel tank. If a pump display is available, it may be appropriate to issue a ‘Please wait for your receipt’ message.6. A receipt is printed for the customer.7. The fuel stock is updated. Specification : PUMP_SYS/FS. Section 1Figure 6.3 Spell checking 6.7There are many possibilities here. Some suggestions are shown in Figure 6.4.Non-functional requirement DescriptionExamplesPerformancePerformance requirements set out limits to the performance expected of the system. These may be expressed in differentways depending on the type of system e.g. number of transactions processed per second, response time to user requests, etc.The system must process at least 150 transactions per second.The maximum response time for any user request should be 2 seconds. ImplementationDefines specific standards or methods which must be used in the development process for the system The system design must be developed using an object-oriented approach based on the UML process.The system must be implemented in C++, Version 3.0.UsabilityDefines requirements which relate to the usability of the system by end-users. All operations which are potentially destructive must include an undo facility which allows users to reverse their action.(This is an example of a functionalrequirement which is associated with a non- functional requirement)All operations which are potentiallydestructive must be highlighted in red in the system user interface.SafetySafety requirements are concerned with the overall safe operation of the systemThe system must be certified according to Health and Safety Regulations XYZ 123. Figure 6.4 Non-functional requirements7.2.3 When a word is discovered which is not in the dictionary, the system should propose 10alternative words based on a match between the word found and those in the dictionaries.Specification : NewWP/Tools/FS. Section 7.2Ignore this instance of the word Ignore all instances of the wordReplace the word with a suggested word from the dictionary Replace the word with user-supplied textIgnore this instance and add the word to a specified dictionarybe issued with the following options:1. 2. 3. 4. 5. 7.2.2 When a word is found in the document which is not in any dictionary, a user query should6.8Possible non-functional requirements for the ticket issuing system include:1.Between 0600 and 2300 in any one day, the total system down time should not exceed 5minutes.2.Between 0600 and 2300 in any one day, the recovery time after a system failure shouldnot exceed 2 minutes.3.Between 2300 and 0600 in any one day, the total system down time should not exceed20 minutes.All these are availability requirements – note that these vary according to the time of day.Failures when most people are traveling are less acceptable than failures when there are fewcustomers.4.After the customer presses a button on the machine, the display should be updated within0.5 seconds.5.The ticket issuing time after credit card validation has been received should not exceed 10seconds.6.When validating credit cards, the display should provide a status message for customersindicating that activity is taking place.This tells customer that the potentially time consuming activity of validation is still inprogress and that the system has not simply failed.7.The maximum acceptable failure rate for ticket issue requests is 1: 10000.Note that this is really ROCOF. I have not specified the acceptable number of incorrect tickets as this depends on whether or not the system includes trace facilities that allow customerrequests to be logged. If so, a relatively high failure rate is acceptable as customers cancomplain and get refunds. If not, only a very low failure rate is acceptable.6.9Keeping track of the relationships between functional and non-functional requirements isdifficult because non-functional requirements are sometimes system level requirements ratherthan requirements which are specific to a single function or group of functions.One approach that can be used is to explicitly identify system-level non-functionalrequirements and list them separately. All system requirements which are relevant for eachfunctional requirement should be listed. Then produce a table of requirements as shown inFigure 6.5.Figure 6.5 Functional and non-functional requirementsNotice that in this example, the system non-functional requirement would normally takeprecedence over the timing requirement which applied to the specific operation.NOT FOR PUBLIC DISTRIBUTIONChapter 7 Requirements engineering processes Solutions provided for Exercises 7.1, 7.4, 7.6, and 7.9.7.1The stakeholders in a student records system include:•University central administration including those responsible for registration, payment of fees, examinations and assessment and graduation.•The students whose details are recorded in the system.•University departmental administrators who supply information to the system and use information from it.•Academic staff who use information from the system.•Data protection officers (local and national).•Potential employers of students (who may require information from the system).7.2Solution to be added.7.3You can tackle this problem using a brainstorming approach. Obviously, there are manyalternatives to the solutions suggested here. Note the printing conflict is deliberate.Viewpoint: Library managerRequirement: Access to the LIBSYS system shall be restricted to accredited users of thelibrary.Requirement: The LIBSYS system shall provide a reporting facility that allows usagereports (who used the system, how often, what libraries were accessed) to be created andprinted.Requirement: The LIBSYS system shall be configured so that only document printing onspecific library servers is permitted.Viewpoint: UsersRequirement: The LIBSYS system shall be accessible from any location, includinglocations away from the university campus.Requirement: It shall be possible to save LIBSYS queries, recall them and modify themfor subsequent use.Requirement: The LIBSYS system shall allow documents to be printed on user printers.Viewpoint: System managersRequirement: The restart time of the LIBSYS system after failure shall not exceed 5minutes.Requirement: The LIBSYS system shall provide a backup facility for user’s personalworkspaces.Requirement: The LIBSYS system shall be available for a range of platforms includingWindows 2000, Windows XP and Mac OS X.7.4Important non-functional attributes for the cataloging services might be:•Availability (because the system may be required at any time)•Security (because the books data base musn’t be corrupted)•Efficiency (because the system must respond quickly to each transaction)For the browsing services, usability is also very important as these services should be easy to use without extensive training.。

软件工程课后习题答案(第八版)

软件工程课后习题答案(第八版)

软件工程课后习题:⏹What are the differences between generic software product development and custom software development?⏹Solution:The essential difference is that in generic software product development, the specification is owned by the product developer. For custom product development, the specification is owned by the customer. Of course, there may be differences in development processes but this is not necessarily the case.重要区别为:在通用软件的开发过程中,详细说明(规格说明书)由产品开发者来制定,在定制软件产品开发过程中,详细说明(规格说明书)由客户来制定。

⏹What are the four important attributes which all software products should have? Suggest four other attributes that may sometimes be significant.⏹Solution:For important attributes are maintainability可维护性,dependability 可靠性, performance(efficiency)有效性andusability可用性.Other attributes that may be significant could be reusability可复用性 (can it be reused in other applications),distributability 可分发性(can it be distributed over a networkof processors), portability可移植性 (can it operate onmultiple platforms) and inter-operability互用性 (can it workwith a wide range of other software systems).⏹What is the difference between a software process model and a software process? Suggest two ways in which a software process model might be helpful in identifying possible process improvements.⏹Solution:A software process is what actually goes on when software isdeveloped. A software process model is an abstraction andsimplification of a process. Process models can be used to helpunderstand real processes and to identify which aspects of theseprocesses could be supported by CASE tools. 软件过程就是指在软件开发过程中所做的一些事情。

软件工程第十版课后习题答案(中文版)

软件工程第十版课后习题答案(中文版)

第一章概述1.2 通用的软件产品开发和定制化软件开发之间最重要的区别是什么?这在实践中对于通用软件产品的用户意味着什么?根本区别在于,在通用软件产品开发中,规范由产品开发者拥有。

对于定制产品开发,规范由客户拥有和控制。

这一点的影响是重大的——开发者可以根据一些外部变化(例如竞争产品)迅速决定更改规范,但当客户拥有规范时,更改必须在客户和开发者之间进行协商,并且可能会产生合同影响。

对于通用产品的用户,这意味着他们无法控制软件规范,因此无法控制产品的演变。

开发者可能会决定包含/排除功能并更改用户界面。

这可能会对用户的业务流程产生影响,并在安装新版本的系统时增加额外的培训成本。

这也可能会限制客户改变自己业务流程的灵活性。

1.3 软件产品应该具有的4个重要属性是什么?另外举出4个可能有意义的属性。

四个重要的属性是可维护性、可靠性和安全性、效率和可接受性。

其他可能重要的属性可能是可重用性(它是否可以在其他应用程序中重用)、可分布性(它是否可以分布在处理器网络上)、可移植性(它是否可以在多个平台上运行,例如笔记本电脑和移动平台)和互操作性(它是否可以与广泛的其他软件系统一起工作)。

对 4 个关键属性的分解,例如可靠性分解为安全性、安全性、可用性等,也是这个问题的有效答案。

1.4 除了异构性、企业和社会的变革、可信和信息安全之外,说一说软件工程在21世纪有可能面对的其他问题和挑战(提示:想一想环境)。

软件工程面临的问题与挑战众多,主要包括:1.开发节能系统,以提升其在低功耗移动设备上的适用性,并减少IT设备的整体碳排放。

2.开发模拟系统的验证技术,这对于预测和应对气候变化的程度至关重要。

3.开发适合多文化背景用户使用的系统。

4.开发能够迅速适应新商业需求的灵活系统。

5.设计便于外包开发的系统架构。

6.开发具有高安全性的系统,能够抵御各种攻击。

7.开发易于最终用户调整和配置的系统。

8.探索测试、验证和维护最终用户开发系统的有效方法。

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

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

《软件工程导论》课后习题详细答案第一章软件工程概论1.什么是软件危机?软件危机是指在运算机软件的开发和爱护过程中所遇到的一系列严峻咨询题。

这些咨询题表现在以下几个方面:(1)用户对开发出的软件专门难中意。

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

(3)一样软件专门难爱护。

(4)软件生产效率专门低。

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

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

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

2.什么缘故会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正明白得软件产品是一个完整的配置组成。

造成开发中制定打算盲目、编程草率,不考虑爱护工作的必要性。

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

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

3.如何样克服软件危机?(1) 充分吸取和借鉴人类长期以来从事各种工程项目中积存的行之有效的有效原理、概念、技术与方法,专门是吸取几十年来人类从事运算机硬件研究和开发的体会教训。

在开发软件的过程中努力作到良好的组织,严格的治理,相互友好的协作。

(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在运算机系统早期进展时期形成的一些错误概念和作法。

(3) 按照不同的应用领域,开发更好的软件工具并使用这些工具。

将软件开发各个时期使用的软件工具集合成一个整体,形成一个专门好的软件开发支环环境。

总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织治理措施。

4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。

5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、爱护到剔除的全过程。

(优选)软件工程学第三版课后习题答案

(优选)软件工程学第三版课后习题答案
M 4080e0.28(19951960) 73,577,679(字) 4080e9.8
如果字长为32位,则这个存储器的价格是:
P 0.00332 0.7219951974 73577679 7,127(美元)
如果一条指令为一个字长,则为使存储器装满程序共需 73,577,679条指令。
在上列公式中Y代表年份,M是存储容量(字数),P1和P2代 表价格。
基于上述假设可以比较计算机硬件和软件成本的变化趋势。 要求计算:
作业及解答(第1-2章)
(1) 在1985年对计算机存储容量的需求估计是多少?如果字 长为16位,这个存储器的价格是多少?
(2) 假设在1985年一名程序员每天可开发出10条指令,程 序员的平均工资是每月4000美元。如果一条指令为一个 字长,计算使存储器装满程序所需用的成本。
如果字长为16位,则这个存储器的价格是
P 0.048 0.7219851974 4474263 5,789(美元)
(2)如果一条指令的长度为一个字,则使存储器装满程序共 需4474263条指令。
在1985年一名程序员每天可开发出10条指令,如果每月 有20个工作日,则每人每月可开发出10×20条指令。
为了开发出4474263条指令以装满存储器,需要的工作量
是: 4474263 22,371(人月) 200
作业及解答(第1-2章)
程序员的月平均工资是4000美元, 开发出4474263条指
令的成本是 22371 4000 89,484,000(美元)
(3)在1995年对存储容量的需求估计为:
(3) 假设在1995年存储器字长为32位,一名程序员每天可 开发出30条指令,程序员的月平均工资为6000美元,重 复(1)、(2)题。

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

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

软件工程概论课后习题答案第一题:答案:软件危机是指在软件开发过程中所遇到的一系列问题和挑战。

具体表现为软件项目超过预算、延迟交付、功能缺陷等现象。

造成软件危机的原因包括需求不明确、项目管理不善、技术问题等。

解决软件危机的方法包括引入软件工程的概念和方法、改善需求管理、加强项目管理等。

第二题:答案:软件生命周期是指软件从被提出需求到废弃的整个过程。

常见的软件生命周期模型包括瀑布模型、迭代模型、螺旋模型等。

瀑布模型是最经典的软件生命周期模型,按照顺序划分为需求分析、系统设计、编码、测试、运维等阶段。

迭代模型是将开发过程划分为多个迭代周期,并在每个迭代周期中完成需求分析、设计、编码、测试等工作。

螺旋模型则是将开发过程划分为多个风险评估和迭代的阶段,将风险管理纳入软件开发的全过程。

第三题:答案:软件过程是一组相互关联的活动,用于开发和维护软件系统。

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

瀑布模型是将软件开发过程划分为需求分析、系统设计、编码、测试、运维等阶段,按照顺序逐个进行。

迭代模型则是将软件开发过程划分为多个迭代周期,每个迭代周期都包含需求分析、设计、编码、测试等活动。

敏捷开发则是一种以人和交互为核心的开发方法,强调迭代开发和灵活响应变化。

第四题:答案:软件质量是指软件产品满足用户需求和期望的程度。

常见的软件质量特性包括正确性、健壮性、可靠性、可维护性、可移植性等。

正确性是指软件是否满足用户需求和规格说明。

健壮性是指软件在异常情况下的容错能力。

可靠性是指软件在一定条件下的稳定性和可信度。

可维护性是指软件是否容易进行修改和维护。

可移植性是指软件在不同环境下的可移植性和兼容性。

第五题:答案:软件测试是通过对软件进行测试活动,检测和预防软件中的缺陷和错误。

常见的软件测试方法包括黑盒测试、白盒测试、灰盒测试等。

黑盒测试是基于需求规格说明进行测试,主要检查软件的功能是否满足需求。

白盒测试是基于软件内部结构进行测试,主要检查软件的代码是否符合规范和逻辑正确。

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

《软件》课后习题答案第一章1.什么是程序,程序有哪些特性?程序:是一个用计算机语言描述的某一问题的解决步骤,它的表示是静态的。

特性:静态与动态属性,由程序语言抽象的符号表达,是对数据施行算法的过程,是分层嵌套的。

2.软件有哪些特性?特性:功能、性能相对完备的程序系统,具有使用性能的软设备,软件是信息商品,易大批量生产、成本低,是极具竞争性的商品,投入的资金主要是人工费,是只有过时而无“磨损”的商品。

3.什么是群件,目前常见的群件产品有哪些?群件:是近几年开发的一种基于电子邮件的应急系统软件,它拓宽了电子邮件的的内涵,涵盖了很多通信协调功能。

目前常见的群件产品有:IBM公司的lotus Note、Microsoft公司的Exchange Server 、Novell公司的Group Wise等4.计算机的软件是由哪几部分组成的,各自的作用是什么?软件由:软件程序(解题步骤)+数据(描述事物的属性和状态)+文档(功能性能的说明性信息)组成。

码,比较灵活,小巧。

解释器不大,工作空间也不大,且能根据程序的执行情况决定下一步需做什么。

缺:一句一句的难于优化,效率低)2.结构化程序设计语言有那几种基本控制结构?顺序、选择、循环。

3.为什么要引进过程,过程和函数的区别有哪些?引进了过程或函数可以让程序语言更清晰,可以多次调用。

使用过程还可以降低程序的复杂性,使程序结构变得清晰明了。

过程是不带返回值,函数是带返回值。

4.什么是全局变量,什么是局部变量?全局变量:出了程序便失去定义,作用范围,整个程序。

局部变量:局部的程序块中有定义。

5. 什么是指针变量?指向数据的地址的变量。

6.过程参数传递的方式有哪几种,各有什么特点?传值:优:很安全,不会改变全局变量的值。

缺:占用双倍存储单元,传值时不能带回值。

引用:优:能带返回值,存储空间小。

缺;局部有可能改变全局变量的值。

7.简述变量的生命期及变量的种类.程序中变量的生命期随其声明时所在的程序块而异。

程序执行完它的所有数据变量后均会失去意义。

种类:持久变量,全局变量,静态局变量,自动变量,循环控制变量。

8.简述面对对象程序设计语言的基本特点。

类和对象9.到目前为止,程序设计语言一共分为4代,试简述每一代语言的特点并举出有代表性的语言。

把面向机器编程的第一代语言:机器码、汇编语言排除在外。

第二代语言:早期的高级程序设计语言。

第三代语言:结构化程序设计语言(面向算法过程的)。

第四代语言:数据库查询语言(只描述程序应“做什么”,而不必编写“怎么做”的实现模块)10.简述Internet环境编程语言的一些基本特性。

1、平台无关2、编译—解释执行3更为纯粹的面向程序语言4、支持网络安全5、支持多线程6、接口作为类型7、支持网络上分布式应用。

11.简述程序分裂出过程(子例程)、过程/函数的型构和体的显示分离以及接口类和类分离对软件技术发展的影响。

12.为什么说Java的即时编译是当前编译技术的最新发展?对于多次重复或耗时较长的段落进行编译后,作为模块暂存,下次遇到时则直接执行目标码。

第三章1.算法、数据结构和程序程序=算法+数据结构2.什么是算法,它所包含的两个要素是什么?算法:一个有穷规则的集合,规定了解决某段问题的运算序列。

它是有穷的、确定的、能行的,并有0到多个1到多个输出。

所包含的两个要素:方法,步骤。

3.算法的控制结构有哪些形式?算法的控制结构的形式:顺序、选择、循环。

4.算法的表述有哪几种方式?自然语言、伪代码、流程图。

5.什么是数据结构,它所研究的内容包括几方面?数据结构是相互有关联的数据元素的集合。

方面:算法、逻辑结构和物理结构,数据结构的图形表示。

6.线性和非线性数据结构的主要区别是什么,各包括哪些数据结构?线性:栈、队、链表、顺序表。

非线性:树、图、文件。

7.试用类VC语言写出单链表的插入及删除算法。

8.一棵度为2的树与一棵二叉树有何区别?度为2的树:树的最大结点的度为2二叉树:不存在度大于2的结点.五种基本形态:空二叉树,仅有根节点的二叉树,左子树为空的二叉树,右子树为空的二叉树,左右子树均不为空的二叉数10.已知某二叉树的前序遍历序列为ABDEGCFHIJ,中序遍历为DBGEAHFIJC,写出该二叉树后序遍历的序列DGEBHJIFCA11.试用VC语言写出起泡排序的算法#include <stdio.h>int sort(int n){ int i,j,temp;for (i=1;i<n;i++)for (j=0;j<n-i;j++)if (a[j]>a[j+1]) {temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}int main(void){ int i,n;scanf("%d",&n);int *a=new int[n];for (i=0;i<n;i++)scanf("%d",&n);sort(n);for (i=0;i<n;i++)printf("%d ",a[i]);return 0;}12.试分别说明堆栈、队列和数组之间的相同于不同点。

相同:都是线性。

不同:堆栈只在一端操作。

第五章1.什么是多媒体,它由哪些信息表示元素组成?通过计算机技术,把文字,图形,图像,动画,音频,视频等信息表示元素集成起来而形成的一种新的数字化信息表示媒体。

2.多媒体有哪些特性?集成性,数字化,时间相关性,交互性,数据量大3.对于多媒体的应用,做了简单的讨论后,试再举出几个多媒体应用的例子教育培训,演示系统,电子出版物,企业应用4.什么是多媒体计算机系统,多媒体计算机与一般计算机的差别是什么?多媒体计算机系统:能综合处理多种媒体信息,包括文字,图形,图像,音频,视频,动画等,使多种信息建立联系,并且具有交互性的计算机系统。

多媒体计算机有一般的计算机相比:处理的数据量大,各种媒体要综合处理。

5.用于多媒体计算机的外部设备有哪些,各有什么用途?音频设备:实现模拟音频与数字音频之间的转换视频设备:存储光盘:6.多媒体应用系统的制作过程与一般应用系统的制作有什么不同?与传统的开发计算机应用程序方法不同,多媒体程序开发是一种现代计算机应用软件开发与创意相结合的崭新制作方式,也是人民正在实践与探索的研究课题。

多媒体应用程序制作一般要经过项目的需求分析、脚本编写、软件结构设计、采集和制作多媒体素材、代码编写、运行测试等几个环节,最后才能完成一个多媒体应用程序的制作。

第六章1.操作系统主要功能是什么?1)处理器管理 2)存储器管理3)设备管理 4)文件管理 5)作业管理。

2.简述操作系统与计算机硬件和其他软件的关系1.)操作系统是加到计算机硬件上的第一层软件,它是直接操作计算机硬件的软件,其它的所有软件,都是以操作系统为基础运行的虚拟机上。

只有首先运行操作系统之后,才能运行其它软件。

2.)操作系统是管理和操纵计算机硬件的软件3)操作系统是用户与计算机硬件设备之间的接口。

3.操作系统有哪些基本特性,为什么?1并发性:所谓“并发”是指两个或两个以上的事件在同一时间间隔中发生。

2共享性:资源的共享是指计算机系统中的硬件资源和软件资源不仅为某一程序或者某一用户所独享,多个拥有授权的程序或用户也可以使用。

3虚拟性:所谓“虚拟”就是把物理实体映射为一个或者多个逻辑实体。

物理实体是实际存在的,而逻辑实体则是“虚拟”的,只是用户的一种看法和感觉。

4.操作系统的体系结构有哪几种,各有什么优缺点?1)整体式结构:2)层次式结构:3)客户/服务器式结构:5.简述进程与程序的区别与联系以及线程的概念进程是一个可并发执行的程序在其数据集上的一次运行,是操作系统进行资源分配的单位和运行单位。

程序静态的进程,进程是动态的程序执行。

进程是一个能够独立运行的基本单位。

线程:线程是是进程内的一个可调度实体,是一个执行单元,是更小的轻量级的进程。

6.内存管理的功能有哪些?1)存储空间的分配和回收;2)地址映射,即把程序使用的地址映射成内存空间地址;3)内存的保护,即系统必须保证内存中的进程不会相互干扰,影响整个系统的稳定性、可靠性。

7.设备驱动程序的功能有哪些?负责接收和分析从设备分配程序转来的信息以及设备控制表中的信息,并结合设备特性进行信息格式转换,把执行信息转换成设备能够执行的形式,驱动设备进行I/O操作,进行必要的错误处理。

8.文件的存储方式有哪几种,各有哪些优缺点?1)连续分配:优点:比较简单,易于实现,只需记录每一个文件用到的第一个磁盘块。

文件系统的性能比较高缺点:必须在创建文件时就确定文件的长度,否则无法分配磁盘空间2)链接分配:优点:磁盘利用率高,实现简单缺点:文件随机读取的效率比较低3)索引分配:缺点:每次操作都要首先从磁盘上从头读取链表查找到正确的数据块所在的位置4)i-结点分配:9.目录的用途是什么,采用树形目录有哪些好处?目录的用途:用来归类文件的,它描述了文件系统中文件的存储结构。

采用树形目录有哪些好处:10.简述UNIX系统的结构和特性。

结构具体可分为两大部分:一部分是由是由用户程序和系统提供的服务构成,称为外核程序。

另一部分是操作系统内核,其中两个最主要的部分是文件子系统和进程控制子系统。

特性:1是一个分时的,多用户,多任务操作系统。

2系统大部分是用高级语言编写,可移植性好。

3提供了丰富的经过精心挑选的系统调用。

4系统提供了功能强大的可编写Shell语言(即外壳语言)作为用户界面。

5系统采用的是属树形文件系统,有基本的文件系统和若干子文件系统组成。

6系统对文件和设备进行统一的处理。

7系统提供了多种通信机制。

8系统包括了丰富的外核程序。

11.常见的UXIX系统主要有哪些,各有什么特性?常见的UNIX系统:IBM公司的AIX系统、SUN的SunOS 系统、HP公司的HP-UX系统、Compaq公司的Digital UNIX系统等常见UNIX系统的特性:Solaris:使用SUN公司自己的RISC芯片的工作站和服务器上。

有不同寻常的装载能力和高性能。

HP-UX:为公司网络运行和严格管理提供一个高稳定、高可靠的具有标准功能的设计目标;它有良好的开放性、互操作性和出色的软件功能。

Open Server:以优良的多任务多用户环境,支持大量的输入、输出操作。

Digital:全部按照POSIX标准而实现的64位UNIX操作系统,它害支持FDDI、ATM等网络协议。

12.Linux系统有哪些特性?1系统源代码公开 2系统完全免费 3 系统稳定性好 4系统可移植性好 5系统具有良好的用户界面 6系统具有很好的网络功能13.智能手机系统有几类,各是什么?智能手机系统:Symbian操作系统,Windows Mobile操作系统,Linux手机操作系统,Palm操作系统。

相关文档
最新文档