270 likes | 386 Views
软件过程. 制作小组:曾繁德、朱财荣、陈嘉豪、 陈家林、李晓彬、吴东霖. 概 要. 瀑布模型 快速原型模型 增量模型 螺旋模型(重点) 喷泉模型 Rational统一过程 敏捷过程与极限编程 微软过程. 软件过程. 软件过程是近十年来人们关注的焦点。软件过程是为开发高质量软件所需要完成的任务的框架。软件工程是有创造力、有知识的人在定义好的、成熟的软件过程框架中进行的。. 软件过程. 过程:为实现一个给定目标而进行的一系列运作步骤。 过程具有一系列的性质:时间性、并发性、嵌套性和度量性等。
E N D
软件过程 制作小组:曾繁德、朱财荣、陈嘉豪、 陈家林、李晓彬、吴东霖
概 要 • 瀑布模型 • 快速原型模型 • 增量模型 • 螺旋模型(重点) • 喷泉模型 • Rational统一过程 • 敏捷过程与极限编程 • 微软过程
软件过程 软件过程是近十年来人们关注的焦点。软件过程是为开发高质量软件所需要完成的任务的框架。软件工程是有创造力、有知识的人在定义好的、成熟的软件过程框架中进行的。
软件过程 • 过程:为实现一个给定目标而进行的一系列运作步骤。 • 过程具有一系列的性质:时间性、并发性、嵌套性和度量性等。 • 软件过程:开发和维护软件及其相关产品所设及的一系列活动。过程是活动的集合;活动是任务的集合;任务是把输入转换为输出的操作。
软件过程 软件工程层次图 工具 方法 过程 质量焦点
软件过程 • 软件工程的方法层 提供了为开发软件在技术上需要“如何做”。方法涵盖了一系列的任务:需求分析、设计、编程、测试和维护。软件工程方法依赖于一组原则,这些原则控制了每一个技术区域,且包含建模活动和其他描述技术。
软件过程模型 软件过程模型是软件开发的指导思想和全局性框架,软件过程模型的提出和发展反映了人们对软件过程的某种认识观,体现了人们对软件过程认识的提高和飞跃。
软件过程模型 瀑布模型 强调阶段的划分 及其顺序性、各阶段工作 及其文档的完备性,是一种严格线性的、 按阶段顺序的、逐步细化的开发模式。 定义 分析 设计 编码 测试 维护
软件过程模型 瀑布模型的特点: • 结构简单明了;历史较长、应用面广泛、为广大软件工作者所熟悉;已有与之配套的一组十分成熟的开发方法和丰富的支撑工具。 • 确定了需求分析的绝对重要性,但是在实践中要想获得完善的需求说明是非常困难的;反馈信息慢。
软件过程模型 快速原型模型 听取用户意见 建造/修改 原型 用户测试 运行原型
软件过程模型 快速原型模型的特点: • 原型作为标识软件需求的一种机制,原型被建造仅是为了定义需求,之后就该被抛弃(或至少部分抛弃); • 实际的软件在充分考虑了质量和可维护性之后才被开发。
软件过程模型 增量模型 增量1 分析 设计 编码 测试 增量2 分析 设计 编码 测试 增量3 分析 设计 编码 测试
软件过程模型 增量模型的特点: • 以功能递增的方式进行软件开发 • 能较快地产生可操作的系统; • 在每一步递增中,都可以把用户/开发者的经验结合到不断求精的产品中; • 可改善测试效果和降低软件开发总成本。
软件过程模型 需求定义 风险分析 螺旋模型 评审 工程实现
软件过程模型 螺旋模型的特点: • 把软件开过程组成为一个逐步细化的定义周期(螺旋周期)序列,每经历一个周期,系统就得到进一步的细化和完善; • 本质上,具有上述特征的螺旋是一直运转的直到软件退役。有时这个过程处于睡眠状态,但任何时候出现了改变,过程都会从合适的入口点开始;
软件过程模型 螺旋模型的特点: • 紧密围绕开发中的风险问题,用风险分析推动软件设计向深一层扩展、求精; • 强调持续地判断、确定和修改用户任务目标,并按成本、效益来分析候选的软件产品性质对任务目标的贡献; • 可结合采用多种软件开发方法,但究竟结合哪一种方法仍由风险分析来决定。
软件过程模型 喷泉模型
软件过程模型 喷泉模型的特点: • 无间隙,指在各项活动之间无明显边界,如分析、设计和编码之间没有明显的界限。 • 喷泉模型在系统某个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的系统
Rational统一过程 Rational统一过程(RUP)是Rational软件公司(现在Rational公司被IBM并购)创造的软件工程方法。RUP描述了如何有效地利用商业的可靠的方法开发和部署软件,是一种重量级过程(也被称作厚方法学),因此特别适用于大型软件团队开发大型项目。
Rational统一过程 最佳实践: 1、迭代式开发 2、管理需求 3、使用基于构件的体系结构 4、可视化建模 5、验证软件质量 6、控制软件变更
Rational统一过程 RUP软件开发生命周期: 1、核心工作流:业务建模、需求、分析与设计、实验、测试、部署、配置与变更管理、项目管理、环境 2、工作阶段:初始阶段、精化阶段、构建阶段、移交阶段 3、RUP迭代式开发
敏捷过程与极限编程 敏捷过程体现的价值观: 1、个体交互胜过过程和工具 2、可以工作的软件胜过面面俱到的文档 3、客户合作胜过合作谈判 4、响应变化胜过遵循计划
敏捷过程与极限编程 1、极限编程的有效实践:客户作为开发团队的成员、使用用户素材、短交付周期、验收测试、结对编程、测试驱动开发、集体所有、持续集成、可持续的开发速度、开发的工作空间、及时调整计划、简单的设计、重建、使用隐喻 2、极限编程的整体开发过程 3、极限编程的迭代过程
微软过程 • 1、微软过程准则 • 2、微软软件生命周期 • (1)规划阶段 • (2)设计阶段 • (3)开发阶段 • (4)稳定阶段 • (5)发布阶段 • 3、微软过程模型