第2章开发模型与方法_第1页
第2章开发模型与方法_第2页
第2章开发模型与方法_第3页
第2章开发模型与方法_第4页
第2章开发模型与方法_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本章要点: 软件开发模型 传统软件开发方法 现代软件开发方法 软件工程软件工程 第2章 开发模型与方法 软件开发模型,有: 瀑布模型、原型模型、“空壳”模型、演化模型(增量模型、螺旋模型)、面向对象模型(喷泉模型、构件模型)、智能模型、综合模型等。 软件工程软件工程 2.1 软件开发模型第2章 开发模型与方法 软件工程软件工程2.1.1 瀑布模型 2.1 软件开发模型第2章 开发模型与方法 软件工程软件工程2.1.2 原型模型 2.1 软件开发模型第2章 开发模型与方法原型的开发过程: 软件工程软件工程2.1.2 原型模型 2.1 软件开发模型第2章 开发模型与方法 软件工程软件工程2.1.3

2、 “空壳”模型 2.1 软件开发模型第2章 开发模型与方法 1. 增量模型 软件工程软件工程2.1.4 演化模型 2.1 软件开发模型第2章 开发模型与方法2. 螺旋模型 软件工程软件工程2.1.4 演化模型 2.1 软件开发模型第2章 开发模型与方法 1. 喷泉模型 软件工程软件工程2.1.5 面向对象模型 2.1 软件开发模型第2章 开发模型与方法2. 构件模型 软件工程软件工程2.1.5 面向对象模型 2.1 软件开发模型第2章 开发模型与方法 软件工程软件工程2.1.6 智能模型 2.1 软件开发模型第2章 开发模型与方法 综合模型,又称混合模型。 该模型的开发思路是,结合软件项目的实

3、际,具体情况具体分析,分别情况,综合采用任一或多个最为恰当的模型完成软件开发任务。 该模型的主要适用范围是,相对比较复杂,不同分(子)系统难以用一种模型实现的软件系统。 凡是采用两种以上模型开发的软件系统,称其为综合模型。 软件工程软件工程2.1.7 综合模型 2.1 软件开发模型第2章 开发模型与方法 软件工程软件工程2.1.8 各种模型比较 2.1 软件开发模型第2章 开发模型与方法 软件的开发的方法从大的方面可分为两大类:传统开发方法和现代开发方法。 传统开发方法主要有:结构化方法、面向数据结构的方法、面向问题分析方法、面向对象方法、基于组件、中间件方法、可视化方法、基于重组工程的开发方

4、法等。 软件工程软件工程 2.2 传统软件开发方法第2章 开发模型与方法 结构化开发方法的核心思想是,认为一个程序、一组程序或者一组系统无非是由一组功能操作来构成的,其目标可简单描述为将软件设计为结构相互独立、功能单一的模块,建立系统的模块结构图。 软件工程软件工程2.2.1 结构化方法 2.2 传统软件开发方法第2章 开发模型与方法 面向数据结构方法的本质就是,先建立一个现实模型,然后加入功能性处理,将逻辑系统视图转换为实际设计。 软件工程软件工程2.2.2 面向数据结构方法 2.2 传统软件开发方法第2章 开发模型与方法 面向问题分析方法的基本思想是:考虑输入、输出数据的结构,指导系统的分

5、解,在系统分析指导下逐步综合。 其具体步骤是:从输入、输出数据结构导出基本处理框;分析处理框之间的先后关系;按先后关系逐步综合处理框,直到画出整个系统的PAD图。 软件工程软件工程2.2.3 面向问题分析方法 2.2 传统软件开发方法第2章 开发模型与方法 可视化开发,就是在可视开发工具提供的图形用户界面上,通过操作界面元素,诸如菜单、按钮、对话框、文本编辑框、单选按钮、复选框、列表框和滚动条等,由可视开发工具自动生成应用软件。 软件工程软件工程2.2.4 可视化方法 2.2 传统软件开发方法第2章 开发模型与方法 面向对象思想的实质是,不是从功能或处理问题算法上考虑,而是从系统的组成上进行分

6、解,用更接近人类的思维方式来建立模型。这种开发方法符合人们对客观世界的认识规律,开发出来的软件系统易于维护,体系易于理解、扩充和修改,并且其继承机制有力支持软件复用。因此,面向对象方法很快被运用于系统分析和系统设计中,成为主流开发方法。 软件工程软件工程2.2.5 面向对象方法 2.2 传统软件开发方法第2章 开发模型与方法 所谓的组件方法是指用可重用的软件组件来构造应用程序。软件的组件化不需要代码的重新编译和连接,而是直接作为功能模块在二进制代码级用于软件系统的装配。近些年来,组件方法己成为软件业普遍接受的,用于提高软件质量、可靠性与生产率的有效方法和技术。软件的组件化思想和可重用性以及组件

7、用于Wed应用和分布式处理给软件工程带来了活力。 软件工程软件工程2.2.6 基于组件、中间件的开发方法 2.2 传统软件开发方法第2章 开发模型与方法 软件工程软件工程2.2.6 基于组件、中间件的开发方法 2.2 传统软件开发方法第2章 开发模型与方法 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件,位于用户机/服务器的操作系统之上,管理计算资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件,相互之间仍能交换信息。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台

8、或OS环境。 软件工程软件工程2.2.6 基于组件、中间件的开发方法 2.2 传统软件开发方法第2章 开发模型与方法 重组工程,就是以实际业务工作的需求为牵引,将业务系统、软件系统按照工程的方式进行一一对应组合,在信息技术的支持下对业务系统进行重组,在业务系统的需求下对软件系统进行重新设计,将业务系统与软件系统融合为一体,然后再进行软件的开发。 软件工程软件工程2.2.7 基于重组工程的开发方法 2.2 传统软件开发方法第2章 开发模型与方法 软件工程软件工程2.2.7 基于重组工程的开发方法 2.2 传统软件开发方法第2章 开发模型与方法 现代软件开发方法主要包括: 敏捷软件开发、精益软件开

9、发、 Scrum软件开发、极限编程、 统一过程方法、微软开发方法等。 软件工程软件工程 2.3 现代软件开发方法第2章 开发模型与方法 敏捷开发由几种轻量级的软件开发方法组成,包括:极限编程,Scrum,精益开发,动态系统开发方法,特征驱动开发,水晶开发等。其共同特征是: (1)迭代式开发; (2)增量交付; (3)开发团队和用户反馈推动产品开发; (4)持续集成 ; (5)开发团队自我管理。 软件工程软件工程2.3.1 敏捷开发方法 2.3 现代软件开发方法第2章 开发模型与方法 极限编程的开发过程: 软件工程软件工程2.3.2 极限编程 2.3 现代软件开发方法第2章 开发模型与方法 极限

10、编程的迭代过程: 软件工程软件工程2.3.2 极限编程 2.3 现代软件开发方法第2章 开发模型与方法 精益软件开发的思想: (1)建立顺畅的开发流程; (2)引入首席项目主管负责制; (3)有效技术和工具的支持。 软件工程软件工程2.3.3 精益软件开发 2.3 现代软件开发方法第2章 开发模型与方法 精益软件开发原则: (1)消除浪费; (2)强调学习; (3)尽量延迟决定; (4)快速交付; (5)赋予团队自主权; (6)诚信; (7)全局观。 软件工程软件工程2.3.3 精益软件开发 2.3 现代软件开发方法第2章 开发模型与方法 实施Scrum的过程: (1)Scrum将开发过程分为

11、多个Sprint周期。 (2)召开Sprint计划会,将会预先估计、划分、确定这个Sprint内需要完成的任务,标注任务的优先级并分配给每个成员。 (3)进行一次简短的Daily Scrum meeting,汇报各自的进展情况,提出目前遇到的各种障碍。 (4)召开Sprint review meeting,将成果演示给Product Owner,并进行Sprint审查会议。 (5)召开Sprint retrospective meeting,总结问题和经验。 (6)这样周而复始,按照同样的步骤进行下一次Sprint。 软件工程软件工程2.3.4 Scrum软件开发 2.3 现代软件开发方法第2

12、章 开发模型与方法 其他敏捷开发方法: 1. 动态系统开发方法; 2. 特征驱动开发; 3. 水晶方法。 软件工程软件工程2.3.5 其他敏捷开发 2.3 现代软件开发方法第2章 开发模型与方法 (1)工作阶段 初始阶段:建立业务模型,定义最终产品视图,并且确定项目的范围。 精化阶段:设计并确定系统的体系结构,制定项目计划,确定资源需求。 构建阶段:开发出所有构件和应用程序,集成为用户需要的产品,并且详尽地测试所有功能。 移交阶段:把开发出的产品提交给用户使用。 软件工程软件工程2.3.6 统一过程方法 2.3 现代软件开发方法第2章 开发模型与方法 (2)各工作流程的基本任务 商业建模:了解

13、目标系统的机构及其运作,评估目标系统对使用机构的影响。 需求:捕获用户需求,开发人员和用户达成对需求描述的共识。 分析与设计:把需求分析的结果转化成分析模型与设计模型。 实现:把设计模型转换成实现结果。 测试:验证所有需求是否都被正确地实现。 部署:生成目标系统的可运行的版本。 项目管理:提供项目管理框架,并为风险管理提供框架。 环境:提供软件开发环境,包括过程管理和工具支持。 软件工程软件工程2.3.6 统一过程方法 2.3 现代软件开发方法第2章 开发模型与方法 (一)微软过程准则 (1)制定计划应兼顾未来的不确定因素。 (2)通过风险管理减少不确定因素的影响。 (3)经常生成测试软件的过渡版本。 (4)快速循环、递进的开发过程。 (5)从产品特性和成本控制出发创造性的工作。 (6)确定的项目进度表。 (7)使用小型项目组并发地完成开发工作。 (8)在项目早期把软件配置项基线化。 (9)使用原型验证概念,进行开发前的测试。 (10)把零缺陷作为追求的目标。 (11)切忌相互指责。 软件工程软件工程2.3.7 微软开发方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论