本节书摘来自华章出版社《软件工程方法与实践》一 书中的第1章,第1.6节,作者窦万峰,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.6 小结
软件是计算机系统中与硬件相对应的另一部分,是一系列程序、数据及其相关文档的集合。软件具有复杂性、一致性、退化性、易变性、移植性和高成本等特征。软件工程是由于软件危机的出现而被提出的,其主旨是以工程化的思想进行软件的开发与维护,目的是高效率地生产出高质量的软件。
软件工程化思想的核心是,把软件看作一个需要通过需求分析、设计、实现、测试、管理和维护的工程产品。软件工程的基本原理包括推迟实现、逐步求精、分解与抽象、信息隐蔽、质量保证等原理。软件工程的基本原则包括分阶段的软件开发、坚持进行阶段评审、实行严格的产品控制、采用先进的程序设计技术、明确责任、开发小组的人员应少而精和不断改进开发过程这7条原则。
目前使用得较广泛的软件工程开发方法学,分别是结构化开发方法学和面向对象开发方法学。结构化开发方法学采用数据与行为分开的原则,包括结构化分析、结构化设计、结构化编程、结构化测试等技术。面向对象开发方法学采用封装数据与行为的对象的原则,包括面向对象的分析、设计实现、测试和维护等过程。
习题
1.什么是软件工程化思想?软件有哪些特征?
2.通过资料分析伦敦救护车系统存在的问题。
3.通过分析淘宝网的主要功能来说明现代商务系统平台的复杂性。
4.软件工程的两大方法学分别是什么?它们有什么不同?
5.软件工程的基本原理是什么?
6.软件工程有哪些基本原则?
7.请举例说明软件危机的存在。
8.分解与抽象的关系是什么?