第一章 软件工程学简述
Q:软件的定义
A:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。
程序,按事先设计的功能和性能要求执行的指令序列
数据,使程序能正常操纵信息的数据结构
文档,与程序开发,维护和使用有关的图文材料
Q:软件危机的定义
A: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。它包含两方面:
- 如何开发软件以满足对软件日益增长的需求:
- 如何维护数量不断膨胀的已有软件
Q:软件危机的主要表现
A:软件危机有以下七个表现
- 对软件开发成本和进度的估计往往很不准确
- 用户对“已完成的”软件系统不满意的现象经常发生
- 软件产品的质量往往不佳
- 软件常常的不可维护的
- 软件通常没有适当的文档资料
- 软件成本在计算机系统总成本中所占的比例逐年上升
- 软件开发生产率提高的速度往往跟不上计算机应用迅速普及深入的趋势
Q:软件危机出现的原因
A:软件危机的出现有以下三个原因
- 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难
- 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护
- 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心
Q:解决危机的技术途径
A:提出有效的方法和工具支持软件开发
Q:软件工程的定义
A1:软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在实际机器上高效运行的软件。
A2:软件工程是:(1)把系统的、规范的、 可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;(2)研究(1)中提到的途径。
Q:软件工程的特性
A:七个方面
- 软件工程关注于大型程序的构造
- 软件工程的中心课题是控制复杂性
- 软件经常变化
- 开发软件的效率非常重要
- 和谐地合作是开发软件的关键
- 软件必须有效地支持它的用户
- 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人
Q:软件工程基本原理
A:七个方面
- 用分阶段的生命周期计划严格管理
- 坚持进行阶段评审
- 实行严格的产品控制
- 采用现代程序设计技术
- 结果应能清楚地审查
- 开发小组的人员应该少而精
- 承认不断改进软件工程实践的必要性
数据库范式
Q:软件工程方法学三要素
A:方法、工具、过程
Q:软件生命周期模型
A: