当前位置:文档之家› 软件工程概论复习总结

软件工程概论复习总结

第一章软件和软件工程的概念
(1)计算机软件的定义与组成部分;
软件是程序、数据及先挂文档的完整集合。

软件=程序+相关文档+数据+领域知识
(2)软件危机的典型表现:
1.缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作的计划很难制定。

2.软件人员与用户交流存在障碍,缺少合适的交流的工具。

3.软件开发过程不规范,缺少方法论和规范的指导。

4.随着软件规模的增大,其复杂性往往会成指数级升高。

5.缺少有效地软件评测手段,提交用户的软件质量差,运行中暴露出大量的问题。

(3)软件工程的概念与性质;
IEEE的定义:软件工程是开发、运行、维护、和修复软件的系统方法。

(4)软件工程的目标;
运用先进的软件开发技术和管理方法来提高软件的质量和生产率。

(5)软件生命周期的概念和组成阶段;
软件生命周期是由软件定义、软件开发和运行维护三个时期组成。

软件定义:问题定义、可行性研究、需求分析;
开发时期:概要设计、详细设计、编码和测试;
维护时期:改正性维护,适应性维护,完善性维护,预防性维护。

(6)软件生存期模型;
瀑布模型、快速模型、增量模型、螺旋模型喷泉模型。

第二章软件工程方法和工具
(1)软件工程三要素:
软件工程从方法角度来看的三要素:方法、工具、过程。

(2)类与对象:
类可以看成是对象的抽象,代表了此类对象所具有的共有属性和行为。

类与对象的关系:类是对象的抽象和模板,对象是类的实例。

对象是包含现实世界物体特征的抽象实体,它反映了系统位置保存信息和与它交互的能力。

可以将现实生活中的对象经过抽象,,映射为程序中大的对象。

对象在程序中是通过一种抽象数据类型描述的,则中抽象数据类型称为类。

(3)封装、继承和多态
封装的定义:
1)清楚地辩解,所有对象的内部信息被限定在这个边界内;
2)接口,即对象向外界提供的方法,外界可以通过这些方法与对象进行交互;
3)受保护的内部实现,即软件对象功能的实现细节,实现细节不能从类外访问。

继承是一种联接类的层次模型,味蕾的重用提供了方便,它提供了明确表述不同类之间共性的方法。

多态是指一个程序中同名的不同方法共存的情况。

主要通过子类对父类方法的覆盖来实现多态。

(4)UML建模语言的理解;
无论在计算机学术界、软件产业还是在商业界,UML已经成为人们为各种系统建模、描述系统结构和商业过程是使用的统一工具,而且在实践过程中人们还在不断扩展它的应用领域。

UML的特点:统一标准、面向对象、可视化,表达能力强大、独立于过程、容易使用、与编程语言的关系。

第3 章:软件需求获取与结构化分析方法
(1)需求获取的主要任务;
1.发下和分析问题,并分析问题的原因、结果关系;
2.与用户进行各种方式的交流,并使用调查研究方法收集信息;
3.按照三个成分即数据、过程和接口观察问题的不同侧面。

4.将获取的需求文档化,形式有用例,决策表、决策树。

(2)获取并理解用户的需求是软件工程师所面对的最困难的任务之一的原因。

(3)软件需求分析的4个阶段:
需求获取、需求分析、需求定义、需求验证。

(4)可行性分析主要考虑哪些方面的可行性:
技术可行性、经济可行性、社会可行性(操作可行性、时间可行性)
(5)实体—联系图
数据对象:用矩形表示。

属性:用椭圆或圆角矩形表示,并用无向边将属性与相关的数据对象连接在一起。

关系:一对一、一对多、多对多。

下面的图只是举个例子。

(6)结构化分析模型的相关内容:
结构化分析方法是一种建模技术,它建立的分析模型如图所示。

该模型的核心是数据字典,包括在目标系统中使用和生成的所有数据对象。

围绕这个核心有3中途图:数据流图(DFD)描述数据在系统中如何被传送或变换,以及描述如何对
数据流进行表换的功能,用于功能建模;实体-关系图(ER图)描述数据对象及数据对象之间的关系,用于数据建模;状态-迁移图(STD)描述系统对外不是件如何响应、如何动作,用于行为建模。

(7)数据字典中,如何描述一个事物的数据结构(如何定义相关符号的定义)在数据字典的编制中,分析员最常用的描述数据结构的方式有定义式、Warnier图等。

(1)定义式。

在数据流图中,数据流和数据文件都具有一定的数据结构,因此,必须以
一种清晰、准确、无二义性的方式来描述数据结构。

(2)Warnier图。

Warnier图是表示数据结构的另一种图形工具,它用树形结构来描绘数
据结构。

这个考点的重点在于考察对事物的数据结构的表示,要求会用图形化的模式表示数据结构!(8)决策表和决策树的画法。

蒋老师考试的时候会出怎样画决策树。

自己看吧。

第4、5章不做重点
第6章软件测试的方法
(1)软件测试的基本概念
软件测试是在软件投入生产性运行之前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量控制的关键步骤。

(2)黑盒测试与白盒测试的基本概念,联系和区别。

黑盒测试是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。

白盒测试是对软件的过程性细节做细致的检查。

这一方法是把测试对象看做一个打开的盒子或透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。

通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。

因此,白盒测试又称为结构测试或逻辑驱动测试。

(3)确认和验证的基本概念、联系和区别。

确认是一系列的活动和过程,其目的是想证实在一个给定的外部环境中软件的逻辑正确性。

验证则试图证明在软件生存期各个阶段,以及阶段间的逻辑协调性、完备性和正确性。

确认和验证的区别:
验证是检验开发出来的软件产品和设计规格书的一致性,即是否满足软件厂商生产要求,确认是检验产品功能有效性,即是否满足用户的真正需求。

确认和验证的联系;
确认要求更高,要能保证所凶狠铲的软件可追溯到用户需求的一系列活动。

确认过程提供证据,表明软件是否满足客户需求并解决了相应问题。

验证是否满足生命周期过程中的标准、时间和约定;验证为判断每一个设革命周期活动是否已经完成,以及是否可以启动其他生命周期活动建立一个新的基准。

(4)软件测试的基本流程
单元测试、组装测试、确认测试和系统测试。

第7章统一建模语言概述
(1)UML的基本内容(了解)应该不用背吧!
UML符号为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。

这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。

UML模型由事物、关系和图组成。

(2)掌握UML的关系并结合类与对象,分析问题。

没有可总结的。

(3)用例图。

你要会画图,会写描述。

总之课本P169,P170看看。

第8章面向对象的分析
(1)建立用例模型的基本过程
①确定业务参与者──标识目标系统将支持的不同类型的用户,可以是人、事件或其
他系统。

②确定业务需求用例──参与者需要系统提供的完整功能。

③创建用例图──标识参与者与用例之间、用例与用例之间的关系。

(2)熟练使用Rose工具,设计各种UML图
……
第10章不做重点
第12章软件过程与软件过程的改进
(1)软件过程的定义
软件过程是解决软件问题的重要一步,以按计划生产产品,同时提高软件组织的能力,以利于生产出好的产品为目标,可预测的,用以开发软件产品的一套工具、方法和实践。

(2)软件过程的三个组成要素:
人员、技术、过程。

(3)软件过程的成熟度的概念:
一个特定软件过程得到清晰的定义、管理、测量、控制的有效程度。

(4)CMM模型的5个成熟度等级:
初始级(ML1)
已管理级( ML2)
已定义级(ML3)
已量化管理级(ML4)
优化级(ML5)
第13章项目管理
(1)成功项目的标志
达到项目预期的软件产品功能和性能要求、时限要求
项目开销限制在预算之内。

(2)项目策划与估算,项目估算的重要意义。

(不确定,再看看书核对一下)项目策划是项目开展初期阶段的重要工作,主要目标是得到项目计划,或者说计划是策划的结果。

项目估算是项目策划的重要内容,缺少了这两项工作制定出计划必定是盲目的,也是脱离实际情况的。

(3)软件规模估算
P297到P301自己看吧!
(4)PERT图,根据题目化PERT图,并且找出关键路径。

一定要会。

相关主题