欢迎来到天天文库
浏览记录
ID:40268375
大小:1.40 MB
页数:54页
时间:2019-07-29
《第一部分软件工程与过程软件过程模型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件工程方法与实践(机械工业出版社)高等院校计算机课程案例教程系列窦万峰编著主讲:曾婕13767792699zjoancn77@163.com上一章回顾软件生命周期是什么?分为哪几个阶段什么是CMM,分为几个级别什么是敏捷过程?什么是XP?什么是结对编程?进入本章学习1.现代软件工程(国家示范性软件学院系列教材)张家浩/东南大学机械工业出版社2009.12.软件工程—理论与实践许家珆曾翎彭德中编著高等教育出版社2004.73.软件工程-实践者的研究方法(美)RogerS.Pressman著郑人杰等译机械工
2、业出版社2008.64.SoftwareEngineering,6thEditionSommerville.I.(影印版)机械工业出版社2003.4主要参考书:总目录第1章软件工程学概述(2学时)第2章软件过程(2学时)第3章软件过程模型(4学时)第4章案例研究(2学时)第5章软件需求分析过程(4学时)第6章结构化分析建模(4学时)第7章面向对象分析(6学时)第8章软件设计(4学时)第9章结构化设计方法(4学时)总目录第10章面向对象设计(4学时)第11章软件实现(2学时)第12章软件测试(4学时)第13
3、章软件维护(2学时)第14章软件项目管理(2学时)第15章软件项目估算(1学时)第16章软件项目计划与管理(1学时)第3章软件过程模型3.1瀑布模型3.2增量模型3.3螺旋模型3.4协同开发模型3.5面向对象模型3.6面向方面的软件开发3.7思考习题3.8习题也称线性顺序模型。在20世纪80年代之前,瀑布模型一直是惟一被广泛采用的生命周期模型,现在它仍然是软件工程中应用得最广泛的过程模型,它提供了软件开发的基本框架。其过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容,
4、给出该项活动的工作成果,并作为输出传给下一项项。同时,评审该项活动的实施若确认,则继续下一项活动;否则,返回前面甚至更前面的活动。传统软件工程方法学的软件过程,基本上可以用瀑布模型来描述。3.1瀑布模型图3.1传统的瀑布模型瀑布模型将软件生命周期划分为软件计划、需求分析和定义、软件设计、软件实现、软件测试、软件运行和维护这6个阶段,规定了它们自上而下、相互衔接的固定次序,如同瀑布流水逐级下落而得名。传统的瀑布模型有下述的几个特点:阶段间具有顺序性和依赖性顺序性是指:只有等前一阶段的工作完成以后,后一阶段的
5、工作才能开始;前一阶段的输出文档,就是后一阶段的输入文档。依赖性是指只有前一阶段有正确的输出时,后一阶段才可能有正确的结果。2.推迟实现的观点过早地考虑程序的实现,常常导致大量返工,有时甚至给开发人员带来灾难性的后果。瀑布模型在编码以前安排了分析阶段和设计阶段,并且明确宣布,这两个阶段都只考虑目标系统的逻辑模型,不涉及软件的物理实现。把逻辑设计与物理设计清楚地划分开来,尽可能推迟程序的物理实现,这是瀑布型软件开发的一条重要的指导思想。3.质量保证的观点为了保证质量,瀑布型软件开发在各个阶段坚持了两个重要的
6、做法:(1)每一阶段都要完成规定的文档。没有完成文档,就认为没有完成该阶段的任务。(2)每一阶段都要对完成的文档进行复审,以便尽早发现问题,消除隐患。4.是一种线性模型5.强调文档的作用瀑布模型所带来的问题:1、不适应需求经常发生变更的环境:在项目的开发过程中,变更可能会引起混乱。所以,有人形象地把采用线性模型进行商业软件工程称之为“在沙滩上盖楼房”。2、瀑布模型也经常不能接受项目开始阶段自然存在的不确定性:在采用线性顺序模型的时候,用户只有到项目的开发晚期才能够得到程序的可运行版本。大的错误如果到这时才
7、被发现,那么造成的后果往往是灾难性的。3、线性顺序模型每一步的工作都必须以前一阶段的输出为输入,这种特征会导致工作中发生“阻塞”状态。因此,瀑布模型的成功在很大程度上是由于它基本上是一种文档驱动的模型。但是,“瀑布模型是由文档驱动的”这个事实也是它的一个主要缺点。图3.2实际的带“反馈环”的瀑布模型特点:当在后一阶段发现前一阶段的错误时,需要沿着图中左侧的反馈线,返回前一阶段,修正前一阶段的产品之后,再回来继续完成后面阶段的任务。实线表示开发阶段虚线表示维护阶段图3.3上下阶段间循环图3.4具有维护阶段循
8、环的软件生存期的瀑布模型问题背景:由于传统的瀑布模型本身存在的不足,在开发过程中不论怎样严格,终究难以接近理想目标,考虑能否将整个软件一部分一部分地开发?解决方案:在需求难以完全明确的情况下,快速分析并构造一个小的原型系统,满足用户的某些要求后,使用户在使用过程中受其启发,逐步确定各种需求。即所谓的增量模型。增量模型也称为渐增模型,使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试,融合了线性顺序模
此文档下载收益归作者所有