软件工程复习资料(整理) 下载本文

内容发布更新时间 : 2024/6/26 12:20:26星期一 下面是文章的全部内容请认真阅读。

什么是软件?什么叫软件工程?它的目标是什么?

软件:程序与文档。定义一:应用于计算机软件的定义,开发和维护的一整套方法、工具、文档、实践标准和工序。定义二:在软件设计、实现、检查、运行、维护各个过程中适用的立足于科学基础上的实用方法。软件工程目标:用较少的投资获得高质量的软件。

什么是软件危机?主要表现?

软件危机:在计算机软件的开发和维护过程中,所遇到的一系列严重问题,这一系列问题使软件产生了危机。表现在:⑴ 对软件开发成本和进度的估计常常很不准确。⑵ 用户易对“已完成的”软件系统产生不满。⑶ 软件质量不可靠。⑷ 软件常常是不可维护的。⑸ 软件通常没有适当的文档资料。⑹ 软件成本越来越高。⑺ 软件开发生产率提高速度慢,跟不上发展。

可行性研究的目的是什么?

用最小的代价在尽可能短的时间内确定问题是否能够解决。若值得解,则推荐一个较好的方案,并制定一个初步的计划;若无可行解,则建议停止开发工程(以免浪费时间、人力、和金钱)

数据流图的基本要点是什么? 描绘“做什么”,而不考虑“怎样做”。

软件生成期分几个阶段?几阶段的主要工作是?

生命周期各阶段的基本任务:1、问题定义:要解决的问题是什么?2、可行性研究:问题是否有行得通的解决办法?3、需求分析:确定目标系统必须具备哪些功能。4、总体设计:应如何解决这个问题。5、详细设计:如何具体实现这个系统?6、编码和单元测试:写出正确的、容易理解的、容易维护的程序模块,并测试编写出的每一个模块。7、综合测试:通过各种类型的测试使软件达到预定的要求。8、软件维护:通过各种必要的维护活动使系统持久地满足用户的需要。

何为功能模块?设计模块?

功能模块:在分析阶段由系统分析员对该系统应完成的功能进行规定的模块。设计模块:在后面设计阶段对如何实现这些功能进行描述的模块。

HIPO PSL PAD SADT 中文意思

SADT:结构分析设计方法。PSL:问题说明。PSA:问题说明分析器。HIPO:H图加IPO,即层次图加输入/处理/输出图。PAD:问题分析图的英文缩写。

何为模块化?评价好的模块的标准是?

模块化是指把整个系统按照一定的规则分隔成各个模块的过程。评价标准:主要从四方面来评价:模块大小、模块之间的联系程度、模块内的联系程度、模块的信息隐蔽程度。

模块间的调用方式有哪几种?

调用方式一般有二种:直接引用、通过CALL语句调用(实践即为过程调用或子程序调用)

系统设计基础有哪几种?

有两种:以控制为中心的设计、以数据为中心的设计。

结构程序设计的方法采用哪几种结构?画出结构图? 三个基本控制结构是:顺序、选择、重复。

程序设计工程有哪些步骤? 大致可分为六步:⑴了解具体使用的计算机的性能和环境。① 计算机性能② 操作系统③ 程序设计语言 ⑵ 充分理解系统设计的详细规格书。⑶ 考虑程序在机器上的管理方式。⑷ 了解编译程序的特点与规定。⑸ 编码。⑹ 检查

一个正确的软件能否说它是可靠的?为什么?

不能。因为正确性与可靠性是二个不同的概念。正确性是从系统开发者的立场出发,指开发出的软件满足该规格的要求;而可靠性是从用户立场出发,指系统完全满足用户的要求与各种性能指标。

大中小模块的软件开发分析顺序是什么?

大规模软件系统的开发分析顺序:⑴ 问题的初步认识:明确需求的标准,了解问题的结构。⑵ 分析准备:确立系统分析计划,确定分析员,对小组成员与用户方面参加分析的人员进行必要的教育与训练。⑶ 环境分析:明确系统的目的与限制条件。⑷ 物理分析:了解实际业务活动状况。⑸ 功能分析:决定系统的范围,明确该系统应具备的功能,对功能的结构及各功能的相互关系进行分析。⑹ 信息分析:调查信息,明确信息的结构与各信息之间的关系。 ⑺ 动态分析:对系统各部分的动态进行调查与分析。以上⑴——⑺是完成对系统“理解”。⑻ 确立系统方案:把目标逻辑模型描述出来。⑼ 系统基本设计:描述系统的全体映象(基本结构、基本功能、数据结构等)。⑽ 系统需求规格的明确化:进一步明确业务需求、处理需求、人机界面需求、文件需求、硬件需求、系统运行需求。 ⑾ 评价系统方案以及制订计划:评价己确立的系统方案,确定开发方针与目标,制订开发计划。⑿ 作出文档:系统计划书;需求规格书;系统分析报告书。中小系统分析顺序:问题的明确、确立系统方案、系统基本设计、系统需求规格的明确化、系统方案评价、制订系统计划。

什么是测试?测试的目的是什么?

测试的恰当定义是:为了发现错误而执行程序。

测试的目的是:设法使软件发生故障,暴露软件错误。

软件测试由哪些步骤组成?每步骤主要工作?

⑴ 模块测试(单体测试):这一测试发现的问题往往是编码和详细设计的错误。 ⑵ 子系统测试(组合测试):主要测试模块间的接口,也就是模块间的协调和通信。

⑶ 系统测试:这一步发现的问题往往是软件设计中的错误,也可能发现需求说明中的错误。

子系统测试和系统测试都含有检测和组装两重含义,故又叫集成测试或综合测试。 ⑷ 验收测试:使用实际数据进行测试,以验证系统能否满足用户需求。 ⑸ 平行运行:平行运行是一种试运行。

软件维护的内容有哪几类?各自的含义?

维护内容分为修改、适应新环境的变更和改良三类。(1)修正(改正性维护,也叫正确性维

护)改正在开发阶段发生,在测试阶段又没有发现的错误。(2)适应新环境的变更(适应性维护)为适应软件外界环境改变,而对它们进行的修改。(3)更加完善的改良(完善性维护)为扩充功能或改善性能而进行的修改。

什么叫文档?包括哪些内容?

文档:各种规格书、说明书、用户手册等等的总称。

1.可行性研究要进行一次简化、压缩的需求分析。

2.开发软件所需要成本和产品的低质量之间有着尖锐的矛盾。这种现象称作软件危机。 3.模块内聚性最高的是功能内聚。

4.在SD方法中全面指导模块划分最重要的原则是模块的独立性。 5.软件详细设计主要采用的方法是结构化程序设计。

6.黑盒测试在设计测试用例时,主要需要研究需求规格说明与概要设计说明。

7.若有一个计算机类型的程序,它的输入量只有一个x,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001,设计这组测试用例的方法是边界值分析法。 8.下列属于维护阶段的文档是:软件问题报告。

9.快速原型模型的主要特点之一是:及早提供工作软件。

10.因计算机硬件和软件环境的变化二作出的修改软件的过程称为:适应性维护。 11.软件按照设计要求在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为:可靠性。

12.下列文档与维护人员有关的有:概要设计说明书。

13.采用Gantt图表示软件项目进度安排,下列说法中正确的是:能够表示子任务之间的并行和串行关系。

14.下列模型属成本估算方法的有:COCOMO模型。 15.与设计测试用例无关的文档是:项目开发计划。 16.程序的三种基本控制结构是:顺序、选择和重复。 17.在软件开发过程中,为了充分发挥少数经验丰富,技术高超的程序员的作用,程序设计小组可采用主程序员组的组织形式。

18.所谓软件过程的里程碑通常指:基线。 19.提高测试的有效性非常主要,成功测试是指:发现了至今为止尚未发现的错误。 20.软件配置管理的主要任务包括:标识软件配置中的对象、版本控制和变化控制、配置审计、状态报告。

1.使用白盒测试方法时,确定测试数据应根据程序的内部逻辑和指定的覆盖标准。

2.自顶向下结合的渐增性测试法,在组合模块时有两种组策略:深度优先策略和宽度优先策略。

3.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。

4.汇编语言是面向机器的可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。

5.详细设计的任务是确立每一个模块的内部特性,即模块的算法、使用的数据。 6.黑盒测试有称为功能测试,白盒测试也称为结构测试。 7.度量软件规模的常用技术主要有代码行技术和功能点技术。