第3讲软件生命周期模型 The Software Life_Cycle Models
时间:2026-01-22
时间:2026-01-22
软件生命周期模型
王少华 武汉大学国际软件学院huazimail@http://
2012年3月1日星期四
Software Life-Cycle Models LifeThe series of steps through which the software product progresses from a vague concept is called the Software Life-Cycle Models.软件产品从模糊概念开始开发过程 中的一系列步骤称为“软件生命周期模型” Life-cycle model (formerly, process model) The steps through which the product progressesRequirements phase Specification phase Design phase Implementation phase Integration phase Maintenance phase Retirement2012年3月1日星期四
软件工程的生命周期方法学软件工程采用的生命周期方法学就 是从时间角度对软件开发和维护的 复杂问题进行分解,把软件生成的 漫长周期依次划分为若干个阶段, 每个阶段有相对独立的任务,然后 逐步完成每个阶段的任务。
2012年3月1日星期四
软件生命周期模型-建筑-修补模型( 软件生命周期模型-建筑-修补模型( Build and Fix Model) Model)Problems No specifications No design Totally unsatisfactory Need a life-cycle model “Game plan” 策略规划 Phases Milestones Several iterations of building and reviewing are typically required. 反复进行创建与评 审是其固有特征
2012年3月1日星期四
软件生命周期模型-瀑布模型( 软件生命周期模型-瀑布模型(Waterfall Model) Model)Until the 1980s, the only widely accepted life-cycle model of software development was the Waterfall Model (直到80年代初,瀑布模型是唯一 被广泛接受的生命周期模型。 Royce于1970年首先提出 Characterized by 客户和SQA Feedback loops(动态模型、反 馈环)The key feature of the waterfallmodel is that it supports feedback from later phases to earlier phases.
Documentation-driven文档驱动 分阶段开发、评审 Advantages Documentation Maintenance easier Disadvantages Specification document 交付的产品可能不符合客户要 求 在交付前没有一个阶段是完整 的(反复修改)2012年3月1日星期四
The waterfall model includes the full set of development phases (Requirements, Specification, Design, Implementation, Integration, Operation, and Retirement). The phases are arranged sequentially in the order given. When each phase is completed, it is capped by a Verify or Test activity, which implies that each phase must be approved by a Software Quality Assurance (SQA) group before it is considered done. For some types of software development (especially contract software development for an external customer), the Verification step may also include a formal review or test performed by the customer.瀑布模型包括全套开发阶段(需求,规格说 明,设计,实施,集成,运行和退休)。 阶段按照给 定顺序安排。 当每个阶段被完成时执行验证或者测 试,每个阶段都须软件质量保证(SQA)组织批准。 对于
一些类型软件开发(尤其为外部用户开发的合同 软件开发)来说, 验证包括用户参与正式的评审或者 测试工作。2012年3月1日星期四
瀑布模型传统的生命周期方法学可以用瀑布型(Waterfall model) 来模拟 几个特点: (1) 阶段间具有顺序性和依赖性 (2) 推迟实现的观点清楚区分逻辑设计与物理设计,尽可能推迟程序的物 理实现,是按照瀑布模型开发软件的一条重要的旨导思想。 (3) 质量保证的观点 第一, 每个阶段都必须完成规定的文档,没有交出合格 的文档就是没有完成该阶段的任务。 第二, 每个阶段结束前都要对所完成的文档进行评审。
2012年3月1日星期四
软件生命周期模型-快速原型法( 软件生命周期模型-快速原型法(Rapid Prototyping Model) Model)
A Rapid Prototype is a working model functionally equivalent to a subset of the product(快速原型 是一个产品自己功 能上相同的工作模 型) Linear model(从 快速原型到交付的 产品基本是线性的、 减少了反馈) “Rapid”快速确定 用户需求,选择能 快速修改满足用户 需求的编程语言2012年3月1日星期四
Do not turn the rapid prototype into the product Rapid prototyping may replace the specification phase—never the design phase快速原型的唯一用 途是确定用户的真正需求。 If the final product is developed by successively refining the prototype, then the rapid prototyping degenerates into the Build-and-fix model 如果对原 型进行精化可能退化为Build-and-fix model ,只 用来收集需求 Comparison: Waterfall model—try to get it right the first time Rapid prototyping—frequent change, then discard2012年3月1日星期四
Three Key Points
Waterfall and Rapid Prototyping Models Waterfall modelMany successes Client’s needs
Rapid prototyping modelNot proved (没有证明他毫无问题) Has its own problems
Solution(集成)Rapid prototyping for the requirements phase Waterfall model for the rest of the life cycle
2012年3月1日星期四
软件生命周期模型-增量模型( 软件生命周期模型-增量模型(Incremental Model) Model)Software is built, not written. Software is constructed step by step. 软件的开发特性是在工程上渐增实 现的 Divide project into builds(部件) CBD 、SOA In the incremental model, a single product is split up into a set of successive releases. The development cycle makes a distinction between the “core product” and various incremental enhancements to the core product. Each incremental enhancement is a fully operational product.在增量模 型里,一种单个的产品被分解成一 系列连续的版本。开发周期中对彻 底使在这种“核心产品”和增加到 核心部分的增量部分。每增加的提 高都是一种完全运行的产品。 完整的产品被划分为构件, …… 此处隐藏:3584字,全部文档内容请下载后查看。喜欢就下载吧 ……