您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页软件工程课后题答案

软件工程课后题答案

来源:华佗小知识


第1章

2.为什么说软件工程的发展可以在一定程度上解决软件危机的各种弊端?

软件工程的提出是为了解决软件危机所带来的各种弊端。具体地讲,软件工程的目标主要包括以下几点:

1)使软件开发的成本能够控制在预计的合理范围内。

2)使软件产品的各项功能额性能能够满足用户需求。

3)提高软件产品的质量。

4)提高软件产品的可靠性。

5)使生产出来的软件产品易于移植、维护、升级、和使用。

6)使软件产品的开发周期能够控制在预计的合理实践范围内。

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

1)将软件的生命周期划分为多个阶段,对各个阶段实行严格的项目管理。

2)坚持阶段评审制度,以确保软件产品的质量。

3)实施严格的产品控制,以适应软件规格的变更。在软件开发的过程中,用户需求可

能不断发生变化。

4)采用现代程序设计技术。

5)开发出来的软件产品应该能够清楚地被审查。

6)合理地安排软件开发小组的人员,并且开发小组的人员少而精。

4.简述软件工程研究的内容。

软件工程研究的内容主要包括以下两部分:

1) 软件开发技术。主要研究软件开发方法、软件开发过程、软件开发工具和环境。

2) 软件开发过程管理。主要研究软件工程经济学和软件管理学。

随着人们对软件系统研究的逐渐深入,软件工程研究的内容也在不断跟新和发展。

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

软件工程以关注质量为目标,其中过程、方法、工具是软件过程的3要素。

6.简述软件工程的目标。

软件工程的基本目标如下:

1)达到要求的软件功能;

2)取得较好的软件性能;

3)开发出高质量的软件;

4)付出较低的开发成本;

5)需要较低的维护费用;

6)能按时完成开发工作,及时交付使用。

7.通常有哪几种软件工程开发方法?

通常有四种开发方法:1)结构化方法;2)面向数据结构方法;3)面向对象方法;4)形式化方法。此外还有问题分析法,可视化开发方法。

第2章

2.请对比瀑布模型、快速原型模型、增量模型和螺旋模型。

瀑布模型的优点:过程模型简单,执行容易。

缺点:无法适应变更。

使用范围:1)用户的需求非常清楚全面,且在开发过程中没有或很少变化,对软件的应

用领域很熟悉;2)用户的使用环境非常稳定;3)开发工作对用户参与的要求很低。

快速原型模型的优点:1)可以得到比较良好的需求定义,容易适应需求的变化;2)有利于开发与培训的同步;3)费用低、开发周期短且对用户更友好。

缺点:1)客户与开发者对原型理解不同;2)准确的原型设计比较困难;3)不利于开发人员的创新。

使用范围:1)已有产品或产品原型,只需客户化的工程项目。2)简单而熟悉的行业或领域。3)有快速原型开发工具。4)进行产品移植或升级。

增量模型的优点:1)将待开发的软件系统模块化,可以分批次提交软件产品,使用户可以及时了解软件项目的进展。2)以组件为单位进行开发降低了开发的风险。一个开发周期内的错误不会影响到整个软件系统。3)开发顺序灵活。

缺点:要求待开发的软件系统可以被模块化。

使用范围:1)产品可以分批次交付。2)待开发的软件系统能够被模块化。3)软件开发人员对应用领域不熟悉,难以一次性地开发系统。4)项目管理人员把握全局的水平较高。

螺旋模型的优点:将风险分析扩展到各个阶段中,大幅度降低了软件开发的风险。

缺点:这种模型的控制管理较为复杂,可操作性不强,对项目管理人员的要求较高。

使用范围:只适合于大规模的软件项目。

4.当需求不能一次搞清楚,且系统需求比较复杂时,应选用那种开发模型比较合适?

开发模型不是孤立或排斥的,他们之间需要相互借鉴和参考。螺旋模型是一种综合性的模型,适合比较复杂的系统。

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

软件工程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。概括地说,软件工程描述了为开发出客户需要的软件,什么人(who)、在什么时候(when)、做什么事(what)和怎样(how)做这些事以实现某一个特定的具体目标。它是软件工程方法学的3个重要组成部分之一。软件工程方法学包含:方法、工具、过程。

第3章

1、可行性研究的任务有哪些?

主要包括:战略可行性、操作可行性、计划可行性、技术可行性、社会可行性、市场可行性、经济可行性、风险可行性。

5、如何估算软件的成本?

项目开发费用即是软件开发成本。我们在对一个软件项目的成本进行估算时,应该从这个项目立项开始直到项目研发活动结束所花费的资源总和,并且可以按阶段进行估算。软件成本的估算可以进一步细分为估算软件规模、估算项目工作量、估算软件工期和估算软件成本。其中成本估算需要对直接人力成本、间接人力成本、间接非人力成本及直接非

人力成本分别进行估算。我们常用的软件研发成本估算公式为:软件研发成本=工作量×平均人力成本费率(含直接人力成本、间接成本)+直接非人力成本。此公式基本包含了软件研发成本估算的内容和过程。估算的方法常用的有类比法、类推法,方程法。

7、经过可行性研究之后,一个项目如果值得开发,为什么还要制定项目开发计划?

在可行性研究之后,就可得知一个项目是否值得开发。如果值得开发,则应制定相应的项目开发计划。项目开发计划涉及所要开发项目的各个环节。计划的合理性和准确性往往关系着项目对成功与否。计划应考虑周全,要考虑到一些未知因素和不确定因素以及可能的修改。计划也应尽量准确,尽可能提高数据可靠性。

第4章

1、如何理解需求分析的作用和重要性?

为了开发出真正满足用户需要的软件产品,明确地了解用户需求是关键。虽然在可行性研究中,已经对用户需求有了初步的了解,但是很多细节还没有考虑到。可行性研究的目的是评估系统是否值得去开发,问题是否能够解决,而不是对需求进行定义。如果说可行性分析是要决定“做还是不做”,那么需求分析就是要回答“系统必须做什么”这个问题。

需求分析是一个非常重要的过程,它完成的好坏直接影响了后续软件开发的质量。

3、如何理解结构化需求分析方法的基本思想?

结构化分析方法是一种从问题空间到某种表示的映射方法,其逻辑模型由数据流图和

数据词典构成并表示。它是一种面向数据流的需求分析方法。它主要适用于数据处理领域问题。

其中数据作为实体转换,数据建模定义了数据的属性和关系,操作数据的处理建模表明当数据在系统流动时处理如何转换数据。

4、简述数据流图的作用是什么?

1)便于用户表达功能需求和数据需求及其联系。

2)便于两类人员共同理解现行系统和规则系统的框架。

3)清晰表达数据流的情况。

4)有利于系统建模

应用题:

4、(1)1)顶层图:对于图书管理系统,外部用户有读者和管理工作人员。读者分为第一次借书的 读者和多次借书的读者,第一次借书的读者需要在借书文件上建立档案才能借书。工作人员 需要对借书文件、库存数目文件进行修改,也能查阅读者情况、图书借阅情况、库存情况。 系统顶层图如图C-1所示。

3)画E-R图:

第5章

2.简述软件设计的目标和任务?

软件设计的目标就是要回答“怎么做”才能实现软件系统的问题,软件设计的任务就是把软件系统能“做什么”的逻辑模型转换为“怎么做”的物理模型。

3.简述在软件设计的过程中需要遵循的规则?

为了活动高质量的软件设计结果,遵循模块化、抽象、逐步求精、信息隐藏、复用性设计、灵活性设计等基本设计原则。

5.什么是模块、模块化?软件设计为什么要模块化?

模块是数据说明、可执行语句等程序对象的集合,是构成程序的基本构件,可以单独命名并通过名称来访问。模块化就是把系统或程序划分为命名并且可以访问的模

块,每个模块完成一个特定的子功能。因为模块集成起来可以构成一个整体,完成特定的功能,进而满足用户需求。模块化可以

7.简述面向数据流的设计方法的主要思想?

面向数据流的设计方法常用的结构化设计方法,多在概要设计阶段使用。它主要是指依据一定的映射规则,将需求分析阶段得到的数据描述从系统的输入端到输出端所经历的一系列变换或处理的数据流图转换为目标系统的结构描述。

10.为什么说“高内聚、低耦合”的设计有利于提高系统的性?

内聚和耦合往往密切相关,模块的高内聚通常意味着低耦合。低耦合因为模块之间的耦合程度越低,相互影响就越小,发生异常后产生连锁反应的概率就越低;在修改一个模块时,低耦合的系统可以把修改范围尽量控制在最小的范围内;对一个模块进行维护时,其他模块的内部程序的正常运行不会受到较大的影响。

第6章

3.什么是面向对象技术?面向对象方法的特点有哪些?

面向对象技术的特征是:

1)把数据和操作封装在一起,形成对象。对象是构成软件系统的基本构件。

2)把特征相似的对象抽象为类。

3)类之间可以存在继承或被继承的关系,形成软件系统的层次结构。

4)对象之间通过发送消息进行通信。

5)将对象的私有信息封装起来。外界不能直接访问对象的内部信息,而必须是发送相应的消息后,通过有限的接口来访问。

面向对象方法的特点是:

1) 符合人类的思维习惯;

2) 稳定性好;

3) 可复用性好;

4) 可维护性好。

4,什么是类?类和传统的数据类型有什么关系?

类是具有相似内部状态和运动规律的实体抽象。类可以由基本数据类型的变量组成,它是一个构造数据类型,具有数据的封装性,有自己所特有的方法,而传统数据类型则没有。

9.类间的外部关系有哪几种类型?每种关系表达式什么语义?

有继承、封装、多态。继承是类不同抽象级别之间的关系。面向对象的类是封装良好

的模块,类定义将其说明与实现显示地分开,其内部实现按其具体定义的作用域提供保护。类是封装的最基本的单位。多态是指同名的方法可在不同的类中具有不同的运动规律。

应用题

(2)

(3)

第7章

2. 类间的外部关系有哪几种类型?每种关系表达式什么语义?

有继承、封装、多态。继承是类不同抽象级别之间的关系。面向对象的类是封装良好的模块,类定义将其说明与实现显示地分开,其内部实现按其具体定义的作用域提供保护。类是封装的最基本的单位。多态是指同名的方法可在不同的类中具有不同的运动规律。

3.简述面向对象分析的原则?

1)定义有实际意义的对象

2)模型的描述要规范、准确

3)共享性

4)封装性

4.简述面向对象分析的过程?

1)获取需求2)建立用例模型3)识别分析类(对象)4)定义类之间的关系5)定义交互行为6)建立分析模型

应用题 2

第9章

2.简述面向对象设计的启发规则?

面向对象设计的启发规则是人们在长期的基于面向对象思想的软件开发实践中总结出来的经验,有利于提高开发人员进行软件设计的质量,启发规则具体如下:

1)设计结果应该清晰易懂

2)类等级深度应该适当

3)要尽量设计简单的类

4)使用简单的协议

5)使用简单的操作

6)把设计的变动减至最小

应用题

(1)

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务