第一章
1、软件危机
概念:
软件危机是指在计算机软件的开发和维护中所遇到的一系列严重问题。
产生的原因:
一方面与软件本身的特点有关,另一方面也和软件开发和维护的方法不正确有关。
2、软件工程
概念
软件工程是指导计算机软件开发和维护的一门工程学科。
基本原理:
- 用分阶段的生命周期计划严格管理
- 坚持进行阶段评审
- 实行严格的产品控制
- 采用现代程序设计技术
- 结果应能清楚地审查
- 开发小组的人员应该少而精
- 承认不断改进软件工程实践的必要性
3、软件工程方法学包含的三要素:
方法、工具和过程
4、软件生命周期的 三个时期:
软件定义: 3个阶段,问题定义、可行性研究、需求分析
软件开发: 4个阶段,总体设计,详细设计,编码和单元测试,综合测试
运行维护: 1个 软件维护
5、软件过程的几个模型(选择)
瀑布模型、快速原型模型、螺旋模型、喷泉模型
第二章
1、可行性研究实质
可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。
2、系统流程图符号
P39
3、数据流图的特点
数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。
4、数据字典的定义
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。
5、数据字典由四类元素定义组成
①数据流②数据流分量(数据元素)③数据存储④处理
6、成本效益分析的目的
成本/效益分析的目的正是要从经济角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地做出是否投资于这项开发工程的决定。
7、3种成分估计技术
①代码行技术②任务分解技术③自动估计成本技术
8、货币的时间价值的计算
P51
第三章
1、模型是什么?
所谓模型,就是为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图形符号和组织这些符号的规则组成。
2、结构化分析实质:
结构化分析实质是一种创建模型的活动
3、需求分析过程应建立的三种模型是:
数据模型 功能模型 行为模型
4、数据模型中包含的三种相互关联的信息
数据对象、数据对象的属性 以及 数据对象彼此间相互连接的关系。
5、验证软件需求的方法
①验证需求的一致性
②验证需求的现实性
③验证需求的完整性和有效性
第五章
1、总体设计的两个阶段
系统设计阶段:确定系统的具体实现方案
结构设计阶段:确定软件结构
2、总体设计中,划分出组成系统的物理元素有
程序 文件 数据库 人工过程 文档
3、模块是构成程序的基本条件
4、什么是抽象?
人类在认识复杂现象的过程中使用的最强有力的思维工具是抽象。
5、信息隐藏还来的好处
绝大多数数据和过程对于软件的其他部分而言是隐藏的,在修改期间由于疏忽而引入的错误就很少可能传到软件的其他部分。
6、模块独立的概念
模块独立的概念是模块化、抽象、信息隐藏和局部化概念的直接结果。
7、耦合
①数据耦合(低耦合): 如果两个模块彼此间通过参数交换信息,而且交换的信息仅仅是数据
②控制耦合(中等程度的耦合):如果传递的信息中有控制信息,则是控制耦合
③特征耦合: 当把数据结构作为参数传递而被调用的模块只需要使用其中一部分数据元素时,就出现了特征耦合
④公共环境耦合(介于数据耦合和控制耦合之间): 如果两个模块共享的数据很多,都通过参数传递可能很不方便,这时可以利用公共环境耦合
⑤内容耦合(最高程度的耦合): 出现下列情况之一,就发生了内容耦合
{
Ⅰ 一个模块访问另一个模块的内部数据
Ⅱ 一个模块不通过正常入口而转到另一个模块的内部
Ⅲ 两个模块有一部分程序代码重叠
Ⅳ 一个模块有多个入口
}
8、耦合设计原则
尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合。
9、内聚
概念:内聚标志着一个模块内各个元素彼此结合的紧密程度,他是信息隐藏和局部化概念的自然扩展。
几种内聚的区分:
①偶然内聚:各个元素没有实质性联系。
②逻辑内聚:不同功能混在一起,合用部分程序代码。
③时间内聚:一个模块包含的任务必须在同一段时间内执行
④过程内聚:模块内必须以特定次序执行。
⑤通信内聚:所有元素都使用同一个输入数据产生同一个输出数据。
⑥顺序内聚:处理必须顺序执行。
⑦功能内聚:所有元素处理属于一个整体,完成一个单一的功能。
7重内聚的优劣评分:
功能内聚 10分
顺序内聚 9分
通信内聚 7分
过程内聚 5分
时间内聚 3分
逻辑内聚 1分
偶然内聚 0 分
10、扇出的定义:
扇出是一个模块直接控制(调用)的模块数目。
11、几种图形工具的区别
(选择题)
层次图和HIPO图 结构图