第一章 软件工程学概述 知识点小结:
1.软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
*若要解决软件危机,既要有技术措施(方法和工具),又要有必要的组织和管理措施,软件工程正是从管理和技术两方面研究如何更好得开发和维护计算机软件的一门新兴学科。
2.软件工程的概念定义:
2.1 1968年早期定义为:软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。
2.2 1993年更全面定义为:软件工程是:①把系统的,规范的,可度量的途径应用于软件开发,运行和维护过程,也就是把工程应用与软件;②研究①中提到的途径。
3.软件工程本质特性:
3.1 软件工程关注于大型程序的构造。
3.2 软件工程的中心课题是控制复杂性。
3.3 软件经常变化。
3.4 开发软件的效率非常的重要。
3.5 和谐地合作是开发软件的关键。
3.6 软件必须有效地支持它的用户。
3.7 在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品。
4.软件工程基本原理
4.1 用分阶段的生命周期计划严格管理。
4.2 坚持进行阶段评审。
4.3 实行严格的产品控制。
4.4 采用现代程序设计技术。
4.5 结果应能清楚地审查。
4.6 开发小组的人员应该少而精。
4.7 承认不断改进软件工程实践的必要性。
5.软件工程方法学
5.1 传统方法学:又称为生命周期方法学或结构化范型。
5.2 面向对象方法学。
6.软件生命周期:由软件定义,软件开发和运行维护三个时期组成。
*软件定义时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该工程需要的总 资源 和成本,并制定工程进度表。这个时期的工作通常称为系统分析,由系统分析员负责完成。’
*开发时期具体设计和实现在前一个时期定义的软件,通常由下述4各阶段组成:总体设计,详细设计,编码和单元测试,综合测试。前两个阶段称为系统设计,后两个阶 段称为系统实现。
*维护时期的主要任务:使软件持久的满足客户的需要。通常不再进一步划分阶段,但是每一次维护活动本质上都是一次压缩和简化了的定义和开发过程。
以下为具体开发阶段。
6.1 问题定义。
6.2 可行性研究。
6.3 需求分析。
6.4 总体设计。
6.5 详细设计。
6.6 编码和单元测试。
6.7 综合测试。
6.8 软件维护。