SlideShare a Scribd company logo
选择怎样的开发模式

选择开发模式前首先要理解开发模式.

许多工作者根据经验的积累,将一些通用的解决方案提炼出来,就形成了“模式”。
“开发模式”就是开发过程中的一系列通用方案。

4 种常见的开发模式:
 a.串行式开发模式.
 b.迭代式开发模式.
 c.增量式开发模式.
 d.并行式开发模式.

1.串行式开发模式
串行式开发模式的典型代表就是“瀑布式开发模式”。
瀑布式开发模式流行于 20 世纪 70 年代,它描绘了一个整体的软件生命周期,勾画了软件生命周期中每一个阶段
层层推进。
瀑布式开发模式有以下 3 个缺点:
a.没人会严格地遵守规范,即一个阶段完成后,再做下一个阶段的工作。
b.在需求变更时,响应和分析变得十分困难。
c.瀑布式开发的文档数量会大很多。

2.迭代式开发模式
迭代式开发模式的典型代表就是“螺旋式开发模式”。
螺旋式开发模式中,将软件生命周期的分析、设计等大的阶段分为了若干个小阶段,并引入了原型和风险分析这
两个重要的阶段,注重了客户的参与。
它的优点在于:它认识到一个事实,即常常需要重新进入项目的每个阶段,并通过原型让客户也参与到整个项目
中来。
它的两个缺点:
a.螺旋式迭代开发非常复杂,难以安排进度和预估。
b.螺旋式迭代开发很难确定项目的提交产物。

3.增量式开发模式
增量式开发模式要求将项目的产品作为多个版本进行发布,而每个版本都包含优先级不同的需求。
通常增量式开发模式只作为一种辅助的开发模式来工作,与串行和迭代式开发模式都可以搭配一起进行。
它的优点在于能降低风险和提高效率。
缺点在于需要客户的“耐心”为基础(通常客户是这么想的,既然这个版本都已经完成了,另一恐怕不要多久)。

4.并行式开发模式
并行式开发模式将项目分成多个“线程”同时进行。
并行式开发模式的作法需要以下几步:
a.给出构架建模的方案。
b.给出开发指南、需求文档指南、设计文档指南和编码规范以及各种一致性约定。
c.团队沟通的方式。
d.软件配置管理的过程。
它的缺点:
a.由于是并行的开发,所以人力和物力就要分配得相当到位,否则每个并行的线程将不能在预期的时间范围内完
成。
b.团队成员的沟通也必须有良好的方式,否则每个并行的线程间一旦有交互的地方,将无法控制风险。
c.同事更新同一份文档非常多,配置管理将变得困难。

More Related Content

More from wensheng wei

几米语录(1)
几米语录(1)几米语录(1)
几米语录(1)wensheng wei
 
Installation of Subversion on Ubuntu,...
Installation of Subversion on Ubuntu,...Installation of Subversion on Ubuntu,...
Installation of Subversion on Ubuntu,...
wensheng wei
 
高级PHP应用程序漏洞审核技术
高级PHP应用程序漏洞审核技术高级PHP应用程序漏洞审核技术
高级PHP应用程序漏洞审核技术wensheng wei
 
存储过程编写经验和优化措施
存储过程编写经验和优化措施存储过程编写经验和优化措施
存储过程编写经验和优化措施wensheng wei
 
CentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 ZendCentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 Zendwensheng wei
 
Happiness is a Journey
Happiness is a JourneyHappiness is a Journey
Happiness is a Journey
wensheng wei
 
Java JNI 编程进阶
Java JNI 编程进阶     Java JNI 编程进阶
Java JNI 编程进阶 wensheng wei
 
Linux Shortcuts and Commands:
Linux Shortcuts and Commands:Linux Shortcuts and Commands:
Linux Shortcuts and Commands:
wensheng wei
 
Java正则表达式详解
Java正则表达式详解Java正则表达式详解
Java正则表达式详解wensheng wei
 
Linux Security Quick Reference Guide
Linux Security Quick Reference GuideLinux Security Quick Reference Guide
Linux Security Quick Reference Guide
wensheng wei
 
issue35 zh-CN
issue35 zh-CNissue35 zh-CN
issue35 zh-CN
wensheng wei
 
Android模拟器SD Card映像文件使用方法
Android模拟器SD Card映像文件使用方法Android模拟器SD Card映像文件使用方法
Android模拟器SD Card映像文件使用方法wensheng wei
 
如何硬盘安装ubuntu8.10
如何硬盘安装ubuntu8.10如何硬盘安装ubuntu8.10
如何硬盘安装ubuntu8.10wensheng wei
 
ubunturef
ubunturefubunturef
ubunturef
wensheng wei
 
数据库设计方法、规范与技巧
数据库设计方法、规范与技巧数据库设计方法、规范与技巧
数据库设计方法、规范与技巧wensheng wei
 
揭秘全球最大网站Facebook背后的那些软件
揭秘全球最大网站Facebook背后的那些软件揭秘全球最大网站Facebook背后的那些软件
揭秘全球最大网站Facebook背后的那些软件wensheng wei
 
mysql的字符串函数
mysql的字符串函数mysql的字符串函数
mysql的字符串函数wensheng wei
 
入门-Java运行环境变量的图文教程
入门-Java运行环境变量的图文教程入门-Java运行环境变量的图文教程
入门-Java运行环境变量的图文教程wensheng wei
 

More from wensheng wei (20)

几米语录(1)
几米语录(1)几米语录(1)
几米语录(1)
 
我的简历
我的简历我的简历
我的简历
 
Installation of Subversion on Ubuntu,...
Installation of Subversion on Ubuntu,...Installation of Subversion on Ubuntu,...
Installation of Subversion on Ubuntu,...
 
高级PHP应用程序漏洞审核技术
高级PHP应用程序漏洞审核技术高级PHP应用程序漏洞审核技术
高级PHP应用程序漏洞审核技术
 
存储过程编写经验和优化措施
存储过程编写经验和优化措施存储过程编写经验和优化措施
存储过程编写经验和优化措施
 
CentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 ZendCentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 Zend
 
Happiness is a Journey
Happiness is a JourneyHappiness is a Journey
Happiness is a Journey
 
Java JNI 编程进阶
Java JNI 编程进阶     Java JNI 编程进阶
Java JNI 编程进阶
 
Linux Shortcuts and Commands:
Linux Shortcuts and Commands:Linux Shortcuts and Commands:
Linux Shortcuts and Commands:
 
Java正则表达式详解
Java正则表达式详解Java正则表达式详解
Java正则表达式详解
 
Linux Security Quick Reference Guide
Linux Security Quick Reference GuideLinux Security Quick Reference Guide
Linux Security Quick Reference Guide
 
issue35 zh-CN
issue35 zh-CNissue35 zh-CN
issue35 zh-CN
 
Android模拟器SD Card映像文件使用方法
Android模拟器SD Card映像文件使用方法Android模拟器SD Card映像文件使用方法
Android模拟器SD Card映像文件使用方法
 
Subversion FAQ
Subversion FAQSubversion FAQ
Subversion FAQ
 
如何硬盘安装ubuntu8.10
如何硬盘安装ubuntu8.10如何硬盘安装ubuntu8.10
如何硬盘安装ubuntu8.10
 
ubunturef
ubunturefubunturef
ubunturef
 
数据库设计方法、规范与技巧
数据库设计方法、规范与技巧数据库设计方法、规范与技巧
数据库设计方法、规范与技巧
 
揭秘全球最大网站Facebook背后的那些软件
揭秘全球最大网站Facebook背后的那些软件揭秘全球最大网站Facebook背后的那些软件
揭秘全球最大网站Facebook背后的那些软件
 
mysql的字符串函数
mysql的字符串函数mysql的字符串函数
mysql的字符串函数
 
入门-Java运行环境变量的图文教程
入门-Java运行环境变量的图文教程入门-Java运行环境变量的图文教程
入门-Java运行环境变量的图文教程
 

选择怎样的开发模式

  • 1. 选择怎样的开发模式 选择开发模式前首先要理解开发模式. 许多工作者根据经验的积累,将一些通用的解决方案提炼出来,就形成了“模式”。 “开发模式”就是开发过程中的一系列通用方案。 4 种常见的开发模式: a.串行式开发模式. b.迭代式开发模式. c.增量式开发模式. d.并行式开发模式. 1.串行式开发模式 串行式开发模式的典型代表就是“瀑布式开发模式”。 瀑布式开发模式流行于 20 世纪 70 年代,它描绘了一个整体的软件生命周期,勾画了软件生命周期中每一个阶段 层层推进。 瀑布式开发模式有以下 3 个缺点: a.没人会严格地遵守规范,即一个阶段完成后,再做下一个阶段的工作。 b.在需求变更时,响应和分析变得十分困难。 c.瀑布式开发的文档数量会大很多。 2.迭代式开发模式 迭代式开发模式的典型代表就是“螺旋式开发模式”。 螺旋式开发模式中,将软件生命周期的分析、设计等大的阶段分为了若干个小阶段,并引入了原型和风险分析这 两个重要的阶段,注重了客户的参与。 它的优点在于:它认识到一个事实,即常常需要重新进入项目的每个阶段,并通过原型让客户也参与到整个项目 中来。 它的两个缺点: a.螺旋式迭代开发非常复杂,难以安排进度和预估。 b.螺旋式迭代开发很难确定项目的提交产物。 3.增量式开发模式 增量式开发模式要求将项目的产品作为多个版本进行发布,而每个版本都包含优先级不同的需求。 通常增量式开发模式只作为一种辅助的开发模式来工作,与串行和迭代式开发模式都可以搭配一起进行。 它的优点在于能降低风险和提高效率。 缺点在于需要客户的“耐心”为基础(通常客户是这么想的,既然这个版本都已经完成了,另一恐怕不要多久)。 4.并行式开发模式 并行式开发模式将项目分成多个“线程”同时进行。 并行式开发模式的作法需要以下几步: a.给出构架建模的方案。 b.给出开发指南、需求文档指南、设计文档指南和编码规范以及各种一致性约定。 c.团队沟通的方式。 d.软件配置管理的过程。 它的缺点: a.由于是并行的开发,所以人力和物力就要分配得相当到位,否则每个并行的线程将不能在预期的时间范围内完 成。 b.团队成员的沟通也必须有良好的方式,否则每个并行的线程间一旦有交互的地方,将无法控制风险。 c.同事更新同一份文档非常多,配置管理将变得困难。