(一)第一章 软件工程学概述
第一章主要是对软件工程过程的概述,对于软件的分类,软件的特点,软件的生存周期以及软件开发的各种模型做了简单的介绍。其中还阐述了什么是软件危机(指在计算机软件的开发和维护过程中所遇到的一系列严重问题)以及解决软件危机的有效途径。除此之外还指明了软件工程的最高目标:以较少的投资获得易维护、易理解、可靠、高效率的软件产品。
其中我感觉比较重要的就是软件开发模型,软件开发模型是跨越整个软件生存周期的系统开发、运行、维护所实施的全部工作和任务的结构框架。它涵盖了软件开发的6个生存周期:制定计划、可行性研究及需求分析、软件设计、编码、测试和维护。比较常用的模型有5中:瀑布模型、原型模型、渐增模型、螺旋模型、喷泉模型。感觉其中最经典的就是瀑布模型那张图,列出了软件的生存周期和三个主要阶段:
下面是几种瀑布模型的对比:
瀑布模型:是最传统的模型,它的优点在于严格规定了每个阶段必须要提交的文档,是规范的、文档驱动的方法。但这也是它的缺点,由于开发阶段缺少和用户的交流,与用户见面晚,成功率较低。
快速原型模型:为了克服瀑布模型的缺点而提出来的。它通过快速构建一个原型系统,让用户试用原型并收集用户反馈意见的办法,获取用户的真实需求。一旦需求确定了,原型将被抛弃。
增量模型(渐增模型):同样是对于瀑布模型的改进,它能分批地逐步向用户提交产品,整个软件产品被分解成许多个增量构件。这样能在较短时间内向用户提交可完成部分工作的产品。它不同于快速原型的是:在把每个新的增量构件集成到现有软件体系结构中时,不能破坏原来已经开发出的产品。
螺旋模型:主要适用于内部开发的大型软件项目,但是,只有在开发人员具有风险分析和排除风险的经验及专门知识时,使用这种模型才会成功。
喷泉模型 :体现了面向对象软件开发过程无缝迭代的特性,是典型的面向对象的软件过程模型之一。总结:以上就是第一章的主要内容,由于它涵盖的面比较广,从整体概括了软件开发的几个主要阶段,所以单另出来做一个总结。里面比较重要的就是软件工程的生存周期的6个步骤以及跨越整个软件生存周期的5种软件开发模型。每个模型都有自己的优点,需要根据实际情况来选择合适的开发模型。