- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 软件过程2.1 软件过程概述2.2 软件过程模型2.3 软件项目的过程管理2.4 软件过程评估
2.2 软件过程模型软件过程模型软件过程模型是软件开发全部过程、活动和任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。对任何软件的开发项目,都需要选择合适的软件过程模型,这种选择基于软件项目和应用的性质、采用的方法、需要的控制,以及要交付的产品的特点。
2.2 软件过程模型软件过程模型瀑布模型演化过程模型增量过程模型专用过程模型Rational统一过程敏捷过程与极限编程微软软件过程
2.2 软件过程模型瀑布模型瀑布模型(Waterfall Model)也称软件生存周期模型或线性顺序过程模型。瀑布模型是一种线性模型。瀑布模型提出了系统开发 系统化的顺序方法。将软件 生存周期各活动规定为线性 顺序连接的若干阶段,规定 了它们自上而下、相互衔接 的固定次序。
2.2 软件过程模型瀑布模型特点:阶段间具有顺序性和依赖性推迟实现的观点质量保证的观点瀑布模型缺陷是将充满回溯且相互重叠的软件开发过程硬性地分为多个阶段,随着开发软件规模的增加,造成的危害大增。
2.2 软件过程模型演化过程模型演化过程模型是一种全局的软件生存周期模型,属于迭代开发的模型。根据用户的基本需求,通过快速分析构造出该软件的原型,然后根据用户在使用原型过程中提出的意见和建议对原型进行改进,获得原型的新版本。重复这一过程,最终可以得到令用户满意的软件产品。演化过程模型主要有原型模型﹑螺旋模型与协同开发模型。
2.2 软件过程模型原型模型开发者在初步了解用户需求的基础上设计和开发一个实在的软件初始模型(原型),利用原型模型进行软件开发。
2.2 软件过程模型原型模型优点:减少设计中的错误和开发中的风险,减少对用户培训的时间;逐步求精完善原型,使得原型能够快速开发,避免了像瀑布模型一样难以对用户的反馈作出快速响应;原型模型通过“样品”不断改进,降低了成本;原型模型的应用使人们对需求有了渐进的认识,使软件开发更有针对性。原型模型的应用充分利用了最新的软件工具,使软件开发效率大为提高。
2.2 软件过程模型螺旋模型:将瀑布模型和快速原型模型结合,强调其他模型所忽视的风险分析,吸收了“演化”的概念,可使开发人员和客户对每个演化层的风险有所了解,继而做出应有反应。将开发过程划分为制定计划、风险分析、实施工程和客户评估四类活动。将沿着螺旋线继续进行,自内向外逐步延伸,最终得到满意的软件产品。
2.2 软件过程模型协同模型:协同就是通过将一组主动的片断黏合起来的方式来构建程序的过程。程序=协同+计算,倡导在分布式程序设计中将分布的协同与局部的计算分离的思想。
2.2 软件过程模型增量过程模型增量过程模型融合了线性顺序模型的基本成分和原型模型的迭代特征,采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。
2.2 软件过程模型专用过程模型基于构件的开发模型:复用已有构件库中的软构件,逐步完成系统设计及实现。形式化系统开发模型:基于形式化数学变换的软件开发方法。面向方面的开发模型:将系统的横切关注点和核心关注点分开,避免横切关注点散乱分布在系统的多个类中。
2.2 软件过程模型Rational统一过程将软件生存周期分解为一个个周期,每一个周期又划分为4个连续的阶段:初始阶段 为系统建立商业案例和确定项目的边界。精化阶段 分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。构建阶段 管理资源和控制运作以优化成本、日程、质量的生产过程。交付阶段 将软件产品交付给用户。
2.2 软件过程模型敏捷过程敏捷过程是一种以人为核心、迭代、循序渐进的开发过程。个体与互动 胜于 过程与工具可工作软件 胜于 复杂文档用户协作 胜于 合同谈判响应变化 胜于 遵循计划
2.2 软件过程模型极限编程是敏捷软件开发中可能是最富有成效的方法学之一,与传统方法学的本质不同在于它更强调可适应性以及面临的困难。加强开发者与用户的沟通需求,让客户全面参与软件的开发设计,保证变化的需求及时得到修正。主要目标在于降低因需求变更而带来的成本。把软件开发过程重新定义为聆听、测试、编码、设计的迭代循环过程。
2.2 软件过程模型微软软件过程微软过程的每个生存周期发布一个递进的软件版本,各生存周期持续、快速地循环。
课堂讨论1. 假如客户需求很模糊,或者他不是很了解软件开发的一些概念,这时,你拟采用什么软件过程模型?为什么? 2. 微软软件过程模型中,迭代和里程碑是重要主题。其中,用里程碑来计划和监控项目的进程;代码、文档、设计、计划和其他的工作成果都是以迭代的形式出现的。试分析模型中的主里程碑,以及迭代方法。 。
问题思考1.什么是软件
文档评论(0)