软件工程阶段性总结(一)——概述
来源:互联网 发布:网络经常听的dj 编辑:程序博客网 时间:2024/04/30 13:02
(一)第一章 软件工程学概述
第一章主要是对软件工程过程的概述,对于软件的分类,软件的特点,软件的生存周期以及软件开发的各种模型做了简单的介绍。其中还阐述了什么是软件危机(指在计算机软件的开发和维护过程中所遇到的一系列严重问题)以及解决软件危机的有效途径。除此之外还指明了软件工程的最高目标:以较少的投资获得易维护、易理解、可靠、高效率的软件产品。
其中我感觉比较重要的就是软件开发模型,软件开发模型是跨越整个软件生存周期的系统开发、运行、维护所实施的全部工作和任务的结构框架。它涵盖了软件开发的6个生存周期:制定计划、可行性研究及需求分析、软件设计、编码、测试和维护。比较常用的模型有5中:瀑布模型、原型模型、渐增模型、螺旋模型、喷泉模型。感觉其中最经典的就是瀑布模型那张图,列出了软件的生存周期和三个主要阶段:
下面是几种瀑布模型的对比:
瀑布模型:是最传统的模型,它的优点在于严格规定了每个阶段必须要提交的文档,是规范的、文档驱动的方法。但这也是它的缺点,由于开发阶段缺少和用户的交流,与用户见面晚,成功率较低。
快速原型模型:为了克服瀑布模型的缺点而提出来的。它通过快速构建一个原型系统,让用户试用原型并收集用户反馈意见的办法,获取用户的真实需求。一旦需求确定了,原型将被抛弃。
增量模型(渐增模型):同样是对于瀑布模型的改进,它能分批地逐步向用户提交产品,整个软件产品被分解成许多个增量构件。这样能在较短时间内向用户提交可完成部分工作的产品。它不同于快速原型的是:在把每个新的增量构件集成到现有软件体系结构中时,不能破坏原来已经开发出的产品。
螺旋模型:主要适用于内部开发的大型软件项目,但是,只有在开发人员具有风险分析和排除风险的经验及专门知识时,使用这种模型才会成功。
喷泉模型:体现了面向对象软件开发过程无缝迭代的特性,是典型的面向对象的软件过程模型之一。总结:以上就是第一章的主要内容,由于它涵盖的面比较广,从整体概括了软件开发的几个主要阶段,所以单另出来做一个总结。里面比较重要的就是软件工程的生存周期的6个步骤以及跨越整个软件生存周期的5种软件开发模型。每个模型都有自己的优点,需要根据实际情况来选择合适的开发模型。
- 软件工程阶段性总结(一)——概述
- 软件工程阶段性总结(三)——软件设计和编码
- 软件工程阶段性总结(四)——测试和维护
- 软件工程阶段性总结(二)——软件计划和需求分析
- 软件工程总结一:软件工程的概述
- html阶段性总结(一)
- Hibernate阶段性总结(一)
- 软工导图总结——软件工程概述
- 软件工程(一)——宏观总结
- 阶段性总结(从软件工程到分层架构)
- zz: LeetCode 阶段性总结(一)
- python入门学习阶段性总结(一)
- 阶段性总结——自考
- 阶段性总结(一)
- 软件工程——概述
- 软件工程——概述
- 软件工程总结(一)
- 软件工程学习软件工程概述(一)
- 在一台机器上搭多个redis实例
- HDU1232
- linux下定时重启tomcat
- OpenCV图像处理篇之边缘检测算子
- Android开发之MediaPlayer详解
- 软件工程阶段性总结(一)——概述
- 最短路径—Dijkstra算法和Floyd算法
- LigerUI
- 根据pox和pyretic的例子,写自己的firewall
- Block传值
- 数组循环移位
- 关于字符数组的初始化
- U3D第二天学习心得
- 第12周项目3-输出输入的数的二进制形式