第1章:软件工程的范畴。
1掌握以下概念:软件工程、软件危机、生命周期。
2【重点】了解软件工程的传统生命周期模型(瀑布模型)的阶段划分和各阶段的主要任务。
3【难点】了解维护的3种分类并能够结合具体例子进行判断。
4理解传统的维护观念与现代的维护观念之间的区别。
5了解各个阶段花费的成本之间的对比。
6了解纠错与成本之间的关系。
7【难点】理解小组编程方面出现的问题。
8理解为什么没有计划阶段、测试阶段和文档阶段。
9【重点】理解面向对象范型与传统范型在生命周期模型方面的比较。
10【难点】了解以下术语的区别:客户、开发者和用户;内部软件、合同软件、商用现货软件(即cots软件)和开源软件;过错、差错和故障。
11了解以下术语:属性、方法、向对象发送一条消息。
第2章:软件生命周期模型。
1了解理论上的软件开发模型图。
2【难点】了解winburg小型实例研究以及进化树生命周期模型图,并理解基准这个概念。
3了解野鸭拖拉机公司小型实例研究,并理解移动目标问题这个概念。
4【重点】理解迭代和递增的区别,掌握米勒法则和逐步求精法这两个概念,了解迭代递增模型的五个核心工作流以及它们何时在迭代递增模型的生命周期中占据主导地位。
5了解修订的winburg小型实例研究以及3次递增时产生的维护类型。
6【重点】掌握编码-修补模型、瀑布模型、快速原型开发模型、开源模型、敏捷过程模型、同步-稳定模型、螺旋模型等这些模型的模型图(如果有图的话)以及优缺点和适用场合。
7【难点】了解以下概念:文档驱动、测试驱动、结对编程、时光盒技术、站立会议技术、同步-稳定技术、风险驱动。
第3章:软件过程。
1【难点】了解以下概念:软件过程、软件过程的五个工作流、统一过程、统一建模语言uml
2【重点】掌握每个工作流(包括需求流、分析流、设计流、实现流、测试流)的目标。
3掌握需求流的每个步骤(了解应用领域、建立业务模型、找出限制条件),了解主要限制条件(包括最终期限、可靠性、成本),掌握以下观点:开发者能够给予客户的应该是客户需要的而不是客户想要的。
4掌握规格说明文档中可能出现的问题(包括模糊、不完备和矛盾),掌握软件项目管理计划的组成部分(包括可交付的东西、里程碑和预算)
5掌握设计流的两个步骤:结构设计和详细设计。
6【重点】掌握测试流在各种制品中的体现形式,了解以下概念:可追踪性、评审、走查、审查、单元测试、集成测试、产品测试、验收测试、对cots软件产品进行测试的特点。
7掌握交付后维护阶段**现的问题,了解回归测试。
8了解软件退役的各种原因。
9【重点】【难点】了解统一过程的四个阶段以及每个阶段的目标。
10了解一维和二维生命周期模型。
11了解能力成熟度模型(即cmm)的五种分类。
12了解用于软件的cmm(即sw-cmm)的五个级别。
第4章:软件小组。
1了解组织开发小组时可能出现的问题,掌握布鲁克斯法则,了解组织开发小组的两种极端方法。
2【重点】掌握民主小组、传统的主程序员小组、现代分级编程小组、同步稳定小组、敏捷过程小组以及开源编程小组这些小组组织方式的优缺点以及适用场合。
3【难点】了解以下概念:无我编程、专业化、等级性、主程序员、后备程序员、编程秘书、程序员、小组领导、小组经理、结对编程。
4掌握传统的主程序员小组中各个角色负责的任务。
5掌握现代分级编程小组中小组领导和小组经理负责的区域。
第5章:软件工程工具。
1了解两种类型的软件工程工具(即理论分析工具和软件工具)
2【重点】掌握逐步求精法,了解逐步求精法小型实例研究**现的每一次求精,了解前瞻技术,掌握逐步求精法的难点。
3【难点】了解成本效益分析法以及使用时的难点。
4【重点】掌握软件度量的两种分类(即产品度量和过程度量)以及度量时用到的具体指标(例如:**行、每千行**检测出的错误数、平均故障间隔时间等等),掌握五种基本度量(即规模、成本、持续时间、工作量、质量)
5【重点】掌握case工具的概念以及分类(即高端与低端,工具与工作平台与环境),了解具体的case工具。
6掌握软件版本的两种分类(即修订版和变种版)以及这两种分类的区别。
7【难点】掌握版本控制过程**现的问题和用到的技术(包括文件命名技术和增量技术)
8了解配置控制工具以及基准和冻结这两个概念,了解建造工具。
第6章:测试。
1了解验证和确认的区别,掌握测试的两种分类。
2掌握质量的定义以及软件质量保证小组(即sqa小组)的责任,了解开发小组与sqa小组之间应该保持管理独立的重要性。
3了解非执行测试的定义和方法(包括评审、用数学方法分析)
4【重点】【难点】了解走查时小组成员的构成、走查清单的构成、走查的两个步骤、走查的两种方式以及这两种方式之间的区别。
5【重点】了解审查时小组成员的构成、审查的五个步骤。
6【重点】掌握走查与审查之间的区别,掌握评审的优缺点以及适用场合。
7了解审查时的度量指标。
8了解执行测试的定义以及定义中不明确的三个部分。
9【重点】掌握需要测试的五个行为特性(即实用性、可靠性、健壮性、性能和正确性)的定义以及相关度量指标(如平均故障间隔时间、平均修复时间)
10了解正确性与产品的可用性之间的关系。
11【难点】掌握使用正确性证明方法来证明**段的功能,了解输入规格说明、输出规格说明、循环不变式以及断言。
12了解执行测试应该由谁来完成,了解测试何时应该停止。
第7章:从模块到对象。
1掌握以下概念的定义:模块、模块内聚、模块耦合,了解以下概念:模块操作、模块逻辑、模块背景。
2【重点】【难点】掌握内聚的七个等级分类(即偶然性、逻辑性、时间性、过程性、通信性、功能性以及信息性)以及每个等级的定义,并能够结合具体例子判断内聚等级。
3【重点】【难点】掌握耦合的五个等级分类(即内容、共用、控制、印记以及数据)以及每个等级的定义,并能够结合具体例子判断耦合等级。
4了解时间性、过程性、通信性内聚之间的共同点,了解逻辑性内聚和控制耦合之间的联系。
5【难点】了解以下概念:抽象、封装、信息隐藏、抽象数据类型、数据封装、类、对象、多态、动态绑定。
6【重点】掌握uml图标:注释、继承、聚合、关联。
7了解面向对象范型的缺点(包括脆弱的基类问题、继承树中低层对象的数据存储问题、多态和动态绑定在维护时带来的负面问题)
第8章:可重用性和可移植性。
1【重点】掌握可移植和重用的定义。
2了解重用的两种类型(偶然重用和有意重用)以及重用时出现的障碍,了解不在此开发综合症。
3【难点】了解设计时重用的四种类型(库或工具包、框架、设计模式、软件体系结构)
4了解不兼容性的四个方面(硬件、操作系统、数值计算软件、编译器)
第10章:需求。
1了解在确定客户需求时出现的三种问题(客户不知道需求、客户不知道如何表达需求、客户弄错了需求)
2【重点】掌握需求流的步骤(包括理解应用域、建立业务模型、找出限制条件),了解在每个步骤中需要的技术(包括构建术语表、访谈、发放调查问卷、检查业务**、直接观察用户、绘制用例图)
3了解访谈的两种类型(即程式化的访谈和非程式化的访谈)以及它们之间的区别。
4【重点】掌握用例图的四个基本组成部分以及用例图的绘制过程。
5了解需求的两种类型(功能性需求和非功能性需求)
6【难点】了解传统需求阶段中建立快速原型的好处,了解在建立快速原型时需要考虑的要求(包括用户友好、图形用户界面、人的因素、外观一致性)
7了解快速原型发挥作用之后被丢弃的原因,了解确保丢弃快速原型的方法。
8了解需求流中用到的case工具、度量指标和面临的挑战。
第11章:传统的分析。
1了解规格说明文档必须满足的两个相互矛盾的要求(既是非技术性的又是技术性的)
2【重点】掌握按照形式化的程度对已知的编写规格说明文档的技术(自然语言、实体-关系模型、结构化系统分析、有穷状态机、petri网)进行的三种分类(非形式化、半形式化以及形式化)
3掌握使用非形式化技术编写规格说明文档时出现的三种问题。
4【难点】了解结构化系统分析技术的九个步骤以及某些步骤所需要的图形或者**(包括数据流图、数据字典、判决树、数据实时访问图)
5【重点】掌握数据流图的四种基本要素(源或者目的地、流、处理、存储)的图形和含义,掌握简单的数据流图的绘制。
6【重点】掌握判决树的绘制。
7掌握实体关系模型**现的关系的三种种类(一对。
一、一对多、多对多)
8【难点】掌握有穷状态机的五个基本组成部分(状态集、输入集、转换函数、初始状态和最终状态集)的图形和含义。
9【难点】掌握petri网的四个基本组成部分(位置集、转换集、输入函数和输出函数)的图形和含义,了解令牌的作用,了解禁止弧和常规弧的区别,掌握在简单的petri网上激发转换时令牌的变化情况。
10【重点】掌握三种编写规格说明文档的技术的优缺点。
11了解在传统的分析阶段用到的测试技术、case工具、度量指标和面临的挑战。
第12章:面向对象分析。
1掌握面向对象分析技术的形式化程度。
2【重点】掌握统一过程中需要抽取出的三种类(实体类、边界类和控制类)的定义。
3【重点】掌握抽取实体类的三个步骤(功能建模、实体类建模、动态建模)
4了解正常场景与异常场景的区别。
5了解实体类建模的两种技术(名词提取法、crc卡片法)
6【重点】掌握名词提取法的两个阶段以及对于简单案例进行的名词提取过程。
7了解crc卡片法的名称含义。
8【难点】了解动态建模时绘制的状态图。
9了解边界类和控制类的抽取方法。
10了解在传统的分析阶段用到的case工具和面临的挑战。
第13章:设计。
1了解设计的三种类别(面向操作设计、面向数据设计、面向对象设计)
2了解传统的设计阶段中的三个活动(结构设计、详细设计、设计测试)
3【重点】掌握数据流分析这种面向操作设计技术的使用过程,掌握在数据流图中寻找输入的最高抽象点与输出的最高抽象点的方法。
4了解依据抽象点将产品划分成的三个模块(输入、转换、输出)
5了解伪**(即程序描述语言pdl)的用处。
6【难点】了解事物分析这种面向操作设计技术中的两个概念:分析器与分配器。
7【重点】掌握面向对象分析技术(ood技术)的两个关键步骤。
8了解在设计阶段用到的测试技术、case工具、度量指标和面临的挑战。
第14章:实现。
1了解在确定编程语言时需要考虑的情况。
2【重点】掌握编程语言发展历程**现的四代,并能够结合具体编程语言判断出属于哪一代。
3【重点】掌握良好的编程习惯(包括在命名变量、编写注释、使用常量、**编排、嵌套语句方面的习惯)
软件工程复习大纲
1 软件工程定义,本质特性,出现背景。软件工程是指导计算机软件开发和维护的一门工程学科。软件工程是 把系统的 规范的 可度量的途径应用于软件开发 运行和维护过程,也就是把工程应用于软件 研究中提到的途径。本质特性 1 软件工程关注于大型程序的构造。2 软件工程的中心课题是控制复杂性。3 软件经常变化...
软件工程复习大纲
考试题型。名词解释 填空 简答题 应用题 分析 设计 测试等 重点内容。第1章软件与软件工程的概念。1.了解与软件相关的基本概念,包括软件 程序 数据 文档。2.了解软件危机的表现及发生的原因。3.掌握软件工程的概念。4.软件生命周期由哪三个时期组成,每个时期又可划分为哪些阶段?每个阶段的主要任务是...
软件工程复习大纲
软件工程概论复习大纲。一 选用教材 软件工程导论 张海藩清华大学出版社 第5版 课程负责人 马丽。授课教师 08 软件工程1 3班马丽。二 考试方法。一 考试方法 笔试,闭卷,满分100分。二 考试时间 110分钟。三 试卷结构 一 题型及分数比例。选择题20 填空题 10 判断题 10 简答题20...