软件工程阶段性总结(一)——概述

心已入冬 提交于 2019-12-06 12:22:57
           现阶段正在看软工视频,大概看了十几集。第一感觉就是乱,我相信很多人第一遍看过去的时候都理不清头绪,很多的名词和图片,说的人天花乱坠。看完后感觉就像是狗熊掰棒子,掰一个扔一个,实在是让人绝望。不过还好有米老师的那句话在支撑着我,记是记不住的,你看过一遍至少有个印象。况且里面的一些知识理解不了也是正常的,这只是理论阶段的学习,后面还要写文档,等用到的时候再回过头来看一眼就可以了。随着视频集数的增加,难度也在变大,需要有前面的知识做基础,所以,阶段性的总结一下还是很有必要的。这样到最后再大总结时也不会太吃力。

      (一)第一章 软件工程学概述

            第一章主要是对软件工程过程的概述,对于软件的分类,软件的特点,软件的生存周期以及软件开发的各种模型做了简单的介绍。其中还阐述了什么是软件危机(指在计算机软件的开发和维护过程中所遇到的一系列严重问题)以及解决软件危机的有效途径。除此之外还指明了软件工程的最高目标:以较少的投资获得易维护、易理解、可靠、高效率的软件产品。

       其中我感觉比较重要的就是软件开发模型,软件开发模型是跨越整个软件生存周期的系统开发、运行、维护所实施的全部工作和任务的结构框架。它涵盖了软件开发的6个生存周期:制定计划、可行性研究及需求分析、软件设计、编码、测试和维护。比较常用的模型有5中:瀑布模型、原型模型、渐增模型、螺旋模型、喷泉模型。感觉其中最经典的就是瀑布模型那张图,列出了软件的生存周期和三个主要阶段:

                      

       下面是几种瀑布模型的对比:

       瀑布模型:是最传统的模型,它的优点在于严格规定了每个阶段必须要提交的文档,是规范的、文档驱动的方法。但这也是它的缺点,由于开发阶段缺少和用户的交流,与用户见面晚,成功率较低。

       快速原型模型:为了克服瀑布模型的缺点而提出来的。它通过快速构建一个原型系统,让用户试用原型并收集用户反馈意见的办法,获取用户的真实需求。一旦需求确定了,原型将被抛弃。

           增量模型(渐增模型):同样是对于瀑布模型的改进,它能分批地逐步向用户提交产品,整个软件产品被分解成许多个增量构件。这样能在较短时间内向用户提交可完成部分工作的产品。它不同于快速原型的是:在把每个新的增量构件集成到现有软件体系结构中时,不能破坏原来已经开发出的产品。

       螺旋模型:主要适用于内部开发的大型软件项目,但是,只有在开发人员具有风险分析和排除风险的经验及专门知识时,使用这种模型才会成功。

       喷泉模型:体现了面向对象软件开发过程无缝迭代的特性,是典型的面向对象的软件过程模型之一。

          总结以上就是第一章的主要内容,由于它涵盖的面比较广,从整体概括了软件开发的几个主要阶段,所以单另出来做一个总结。里面比较重要的就是软件工程的生存周期的6个步骤以及跨越整个软件生存周期的5种软件开发模型。每个模型都有自己的优点,需要根据实际情况来选择合适的开发模型。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!