软件工程复习资料(推荐)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“软件工程复习资料参考”。
1.软件工程是什么?
软件工程是一项解决问题的工程活动,通过分析对问题进行研究, 将问题分解成可以理解并能够处理的若干小部分。
软件工程是一项建模活动,通过抽象找到事物的重要特征而忽略非 本质的细节,从不同侧面建立系统模型,有效地简化和处理复杂性。
软件工程是一项受软件工程原理指导的活动,软件工程师要捕捉和 理解一个系统的基本原理模型,并根据评价标准提出合理开发决策。
2.软件危机的概念
落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。3.软件危机的表现
(1)软件开发费用和进度失控。(2)软件的可靠性差。
(3)生产出来的软件难以维护。
(4)用户对“已完成”的系统不满意现象经常发生。
(5)软件产品质量难以保证。
(6)软件文档不完备,并且存在文档内容与软件产品不符情况。4.软件危机的原因
软件本身的特点(如:软件规模庞大)导致开发和维护困难
软件开发的方法不正确
开发人员与管理人员重视开发而轻视问题的定义和软件维护 软件开发技术落后
5.软件管理技术差从软件开发危机的种种表现和软件开发作为逻辑产品的特殊性可以发现软件开发危机的原因:(1)用户需求不明确
(2)缺乏正确的理论指导(3)软件开发规模越来越大(4)软件开发复杂度越来越高
6.解决软件危机的途径:软件工程学 采用工程化方法和工程途径来研制与维护软件
采用先进的技术、方法与工具来开发与设计软件
采用必要的组织管理措施 7.软件生存周期
从一个软件开始立项起,到废弃不用止 一个周期被划分为计划、开发、运行3个时期
计划时期:问题定义——可行性分析 开发时期:需求分析——软件分析——软件设计——编码(测试)——测试 运行时期:软件维护8.软件可行性研究的步骤
(1)对当前系统进行调查和研究(2)导出新系统的解决方案(3)提出推荐的方案
(4)编写可行性论证报告(系统概述、可
行性分析、结论意见)9.面向对象开发的有点
(1)提高软件系统的可复用性
可复用性是面向对象开发的核心思路。软件复用的途径主要包括:创建类的实例对象;从已有类派生新的子类。派生类既可以继承其父类的属性、方法、也可以添加新的属性和方法。
(2)提高软件系统的可拓展性
开发人员可以根据对用户需求的理解,不断地修改及完善有关类的描述。既可以利用继承对新的类添加属性和方法;或者在征求用户意见后加入新的累以及类的方法与属性等。
(3)提高软件系统的可维护性
一个系统是由对象组成的。当系统的功能需求发生变化时,通常仅需修改与之相关的对象或者类。10.软件测试目的测试是一个为了发现错误而执行程序的过程 一个好的测试用例是指很可能找到迄今为至尚未发现的错误的测试用例
一个成功的测试是指揭示了迄今为至尚未发现的错误的测试 11.测试方法
黑盒测试:已经知道了软件产品应该具有的功能,通过测试来检验是否每个功能都能正常使用。这种测试方法又称功能测试。白盒测试:知道软件产品内部的工作过程,通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。这种测试方法又称结构测试。
12.软件维护的定义
什么是软件维护
是指软件系统交付使用以后,为了改正错误或满足新的需要而修改软件的过程软件维护的种类:
纠错性维护:为了改正软件系统中的错误,使软件能够满足预期的正常运行状态的要求而进行的维护
适应性维护:为了使软件适应内部或外部环境变化,而去修改软件的过程
改善性维护:满足使用过程中用户提出增加新功能或修改已有功能的建议维护 预防性维护:为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础而修改软件的活动
选择题:1、软件是一种(B)产品A、有形B、逻辑C、物质D、消耗2、软件的主要功能和结构是在(A)阶段觉决定的A、分析设计B、编程C、测试D、维护3、软件工程学的目的应该是解决软件生......
1.软件是( 程序及其文档 )。2.从事物的组成部件及每个部件的属性、功能来认识事物。这种方法被称为(面向对象 )的方法。3.程序的三种基本控制结构是( 顺序、选择和重复)。4.根据......
软件工程复习资料一、熟悉和理解(一) 软件工程概述1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动,关键不足在于不能适应需求的动态变更。 2.软件不只是用程序设计......
第一章 软件工程概述1﹑软件产品的特性是什么? 产品特性: ⑴是一种逻辑产品,与物质产品有很大的区别。⑵软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复......
什么是软件?软件是能够完成预定功能和性能,可执行计算机程序和使程序正常执行所需要的数据,加上描述程序的操作和使用文档。(程序+数据+文档)软件的特点?①软件是一种逻辑实体,而不......