软工复习大纲
- 选择 10:10
- 填空 10:10
- 名词解释 3:10
- 简答 6:40
- 分析设计三个 3:30
第一章
-
软件:定义
- 定义:软件是能够完成预定功能和性能的可执行的计算机程序和使程序正常执行所需要得数据,加上描述程序的操作和使用的文档。
-
软件危机:定义、原因、解决方法
定义:计算机软件开发和维护过程所遇到的一系列严重问题 。
原因:
-
软件维护费用急剧上升,直接威胁计算机应用的扩大。
修改程序困难,抽调大量人员,影响其他软件开发等。
越晚发现错误,改正的成本就越高(因此强调重视需求)。 -
软件生产技术进步缓慢,是加剧软件危机的重要原因。(软件开发理念和手段与客观实际存在的差异)
-
① 对软件本身的认识存在差异————
软件技术的发展过程————层次上
个人活动与整个项目的关系————规范、现代化
对软件产品的认识————软件的特点与维护② 对软件的服务对象认识不足 ————
存在问题 —— 以开发者为中心
实际应该是 —— 用户需求+专业知识+开发者深刻理解
对实际问题的理解和认识已成为软件开发成败的关键所在
(很多游戏开发者本身就是游戏人)③ 对软件开发缺乏科学管理
现代软件开发过程是一个复杂的系统工程,具有明显的工程特征和较高的技术含量。一般管理方法不适于软件开发。④ 软件开发手段落后
软件开发工具过于原始,往往只是辅助性的、单方面的。———尤其在软件的分析、设计阶段缺少有效的工具。
解决途径:
1.技术措施
使用更好的软件开发技术、开发工具。
2.组织管理措施
(1)创造良好的组织、严密的管理与协调工作的机制软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。
(2)摆脱软件危机的主要出路是,按工程化的原则和方法组织软件的开发工作。
(3)强调文档的重要性。 “口说无凭,立字为据!”是解决软件危机的格言。 -
-
软件工程学的范畴
-
软件工程的发展
-
三种编程范型
-
三代软件工程
第二章
-
软工生存周期:定义、阶段各阶段工作划分
-
各种开发模型:定义、思想(特点)、模型的问题(优缺点)
-
统一过程:定义、阶段划分、阶段活动
-
可行性研究:内容、步骤
-
风险分析:三项活动
第三章
- 结构化分析:定义
- 结构化设计:定义
- 结构化分析模型:构成(p45)的内容及其作用
- 数据流图:什么,怎么用
- 数据词典:数据流、数据文件、数据项
- 加工规格说明
- 结构化语言
- 判定表⭐
- 判定树⭐
- SD模型描述工具:SC图
- 结构化设计方法:方法有哪些及其特点
- DFD到SD图转换:变换型和事务型
- 优化指导原则理解
- 模块化设计原则和方法:理解
- 表达工具:哪几种,
第四章
- 面向对象的基本特征
- UML(选填名词解释):9类图、视图有几种
- 三种建模方式:它们各用什么图
- 静态建模:用例图、类图、包图(了解)
- 动态建模:状态图、时序图、协作图、活动图(了解)
- 掌握图的应用
第五章
- 软件需求:定义、哪两个方面理解(包含着在软件需求定义中)、三个层次
- 需求分析和建模:需求分析步骤(⭐)
- 需求模型(结构化需求模型、面向对象需求模型):内容
- 软件需求描述:需求规格说明中的内容
- 需求管理:定义
第六章
-
面向对象分析:步骤
-
面向对象分析模型:组成,辨析结构化分析模型和面向对象分析模型
-
面向对象分析建模:面向对象分析步骤(3)
(1)分析类:有哪些,什么图符
第七章 面向对象设计
- 软件设计的四个基本概念(掌握)
- 面向对象设计的任务
- 模块化设计思想(分解、模块独立性)
- 进行软件设计的目标(高内聚、低耦合)
- 内聚:几种内聚的强度、对应的模块独立性变化(偶然内聚->功能内聚,内聚越来越强)
- 耦合:区分耦合的强度、判断对应的模块独立性
- 面向对象设计的任务
第八章 测试223
- 软件测试:定义 8.4、四个特性、种类(动态(黑盒、百合 )、静态)
- 测试文档:包含内容
- 测试用例:内容
- 测试结果:内容
- 黑盒测试的几种方法
- 白盒测试的两种方法:第一种:区分盖标准的覆盖程度
- 测试的四个层次(单元、集成):
- 集成测试策略(自底向上、自顶向下、混合)