软件工程作业答案 下载本文

软件生存周期是指软件产品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程,一般包括计划、分析、设计、实现、测试、集成、交付、维护等阶段。

(1) 计划阶段:确定待开发系统的总体目标和范围,研究系统的可行性和可能的解决方案,对资源、成本及进度进行合理的估算。软件计划的主要内容包括所采用的软件生命周期模型、开发人员的组织、系统解决方案、管理的目标与级别、所用的技术与工具,以及开发的进度、预算和资源分配。

(2) 分析阶段:分析、整理和提炼所收集到的用户需求,建立完整的分析模型,将其编写成软件需求规格说明和初步的用户手册。通过评审需求规格说明,确保对用户需求达到共同的理解与认识。需求规格说明明确地描述了软件的功能,列出软件必须满足的所有约束条件,并定义软件的输入和输出接口。

(3) 设计阶段:设计阶段的目标是决定软件怎么做,设计人员依据软件需求规格说明文档,确定软件的体系结构,进而确定每个模块的实现算法、数据结构和接口等,编写设计说明书,并组织进行设计评审。

(4) 实现阶段:实现阶段是将所设计的各个模块编写成计算机可接受的程序代码,与实现相关的文档就是源程序以及合适的注释。

(5) 测试阶段:在设计测试用例的基础上,测试软件的各个组成模块。然后,将各个模块集成起来,测试整个产品的功能和性能是否满足已有的规格说明。

(6) 维护阶段:一旦产品已交付运行之后,对产品所做的任何修改就是维护。维护是软件过程的一个组成部分,应当在软件的设计和实现阶段充分考虑软件的可维护性。维护阶段需要测试是否正确地实现了所要求的修改,并保证在产品的修改过程中,没有做其他无关的改动。

5.软件产品的特性是什么? 答:

a.软件产品是一种逻辑产品。

b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。

c.软件产品不会用坏,不存在磨损、消耗问题。

d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是\定做\的。 e.软件费用不断增加,成本相当昂贵。 6. 什么是软件危机?其产生的原因是什么? 答:

软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。

在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现在以下几个方面:

a.经费预算经常突破,完成时间一再拖延。 b.开发的软件不通满足用户要求。 c.开发的软件可维护性差。 d. 开发的软件可靠性差。

软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:

a.软件的规模越来越大,结构越来越复杂。 b.软件开发管理困难而复杂。 c.软件开发费用不断增加。

d.软件开发技术落后。 e.生产方式落后。

f.开发工具落后,生产率提高缓慢。

7. 什么是软件工程?它的目标和内容是什么? 答:

软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。

软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标: a.付出较低的开发成本; b.面到要求的软件功能; c.取得较好的软件性能; d.开发的软件易于移植; e.需要较低的维护费用;

f.能按时完成开发任务,及时交付使用; g.开发的软件可靠性高; 软件工程的内容:

1) 软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。 2) 软件开发管理:软件管理学、软件经济学、软件心理学。

8. 软件工程面临的问题是什么? 答:

软件工程面临的问题:

a.软件费用。b.软件可靠性。c.软件维护。d.软件生产率。e.软件重用。

9. 什么是软件生存周期?它有哪几个活动? 答:

软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。

软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等.

10. 什么是软件生存周期模型?有哪些主要模型? 答:

软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。)

软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等

五、问答题

第2章可行性研究

一、选择题

1. 系统定义明确之后,应对系统的可行性进行研究。可行性研究应包括( )。 A.软件环境可行性、技术可行性、经济可行性、社会可行性 B.经济可行性、技术可行性、操作可行性 C.经济可行性、社会可行性、系统可行性 D.经济可行性、实用性、社会可行性 答案:B

2. 研究开发所需要的成本和资源是属于可行性研究中的 ( ) 研究的一方面。 A. 技术可行性 B. 经济可行性 C. 社会可行性 D. 法律可行性 答案:B

3. 设年利率为 i ,若不计复利, n 年后可得钱数为 F ,则这些钱现在的价值是( ) A. F ( 1+in ) B. ( 1+ni ) /F C. F/ ( 1+ni ) D. F/ ( 1+n/ i ) 答案:C

4. 在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于( )。 A.维护时期 B.计划时期 C.运行时期 D.开发时期 答案:B

5. 数据字典是数据流图中所有元素的定义的集合,一般由以下四类条目组成( )。 A.数据说明条目、控制流条目、加工条目、数据存储条目 B.数据流条目、数据项条目、数据存储条目、加工条目 C.数据源条目、数据流条目、数据处理条目、数据文件条目 D.数据流条目、数据文件条目、数据池条目、加工条目 答案:B

6. DFD 图不反映出系统 ( )

A. 系统做什么 B. 系统功能如何实现 C. 系统由谁来做 D. 系统实现的约束条件 答案:B

7. 下列模型属于成本估算方法的有 ( )

A.COCOMO 模型 B.McCall 模型 C.McCabe 度量法 D. 时间估算法 答案:A

8. 软件项目计划一般不包括以下哪项内容( )

A培训计划 B人员安排 C进度安排 D软件开发标准的选择和制定 答案:D

9. 可行性研究的目标是 ( ) 。

A. 开发项目 B. 项目值得开发否 C. 规划项目 D. 维护项目 答案:B

10. 分层 DFD 图是一种比较严格又易于理解的描绘方式,它的顶层图的作用在于 ( ) 。 A. 描绘了系统的实现细节

B. 表明了被开发系统的范围以及它和周围环境的数据交换关系 C. 描绘了系统的抽象

D. 描绘了软件实现的作者和绘制的时间 答案:B

11. DFD主要用来描述 ( ) 。

A. 系统的信息及其联系 B. 系统做什么 C. 系统模拟的动态模型 D. 系统功能如何实现 答案:B

12. 对软件复杂性进行度量时,采用代码行度量法,下列说法不正确的是 ( ) 。 A. 每行代码的出错率与源程序行数之间不存在简单的线性关系

B. 对于少于 100 行语句的小程序,源代码行数与出错率是线性相关的 C. 代码行度量法只是一简单的,估计的很粗糙的方法 D. 随着程序的增大,出错率以线性方式增长 答案:D

13. 软件项目计划范围内容是对软件项目的综合描述,定义其所要做的工作以及性能限制。下列不属于软件项目计划范围内容的有 ( ) 。

A. 硬件资源 B. 成本估算 C. 系统接口 D. 进度安排 答案:C

14.DFD图反映系统( )

A.怎么做 B.对谁做 C.何时做 D.做什么 答案:D

15. 经济可行性研究的范围包括( )

A.资源有效性 B.管理制度 C.效益分析 D.开发风险 答案:C

16. 可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出( )的回答。

A.确定 B.行或不行 C.正确 D.无二义 答案:B

17 . 为高质量地开发软件项目,在软件结构设计时,必须遵循 ( ) 原则。 A .信息隐蔽 B .质量控制 C .程序优化 D .数据共享 答案:A

18 .数据流图( DFD )是_______ 方法中用于表示系统的逻辑模型的一种图形工具。 A . SA B . SD C . SP D . SC 答案:A

19 .需求规格说明书的作用不包括( )

A .软件验收的依据 B .用户与开发人员对软件要做什么的共同理解 C .软件可行性研究的依据 D .软件设计的依据 答案:C

20 .数据字典是用来定义 _________ 中的各个成份的具体含义的。( ) A .流程图 B .功能结构图 C .系统结构图 D .数据流图 答案:D

21. 软件可行性研究实质上是要进行一次( )需求分析、设计过程。 A.简化、压缩的 B.详细的 C.彻底的 D.深入的 答案:A

22.软件计划的具体任务不包括( )

A.确定软件的作用范围 B.解决软件开发的难点

C. 估算开发所需的资源 D.估算软件成本费用和安排进度