开发方法

敏捷开发技术】

敏捷的主要原则:

增量式移交(最优先要做的是尽早、持续地交付有价值的软件来使客户满意);

接受变更(即使到了开发的后期,也欢迎改变需求,利用变化为客户创造竞争优势);

经常性交付可以工作的软件,时间间隔越短越好,但不要求每次交付的都是系统的完整功能;

团队内部,最有效的信息传递方法是面对面的交谈。

客户参与

 

敏捷的四大价值观:

个体和交互胜过过程和工具;

可以工作的软件胜过面面俱到的文档;

客户合作胜过合同谈判;

响应变化胜过遵循计划。

适合情况:

1)规模较小项目;(2)项目经常发生变更;(3)高风险项目实施;(4)组织文化(支持谈判、彼此信任、人少精干、开发人员决定易认可,成员间快速沟通);

 

影响较大的敏捷方法论包括:

XP极限编程:强调人为中心,而不是流程为中心

软件开始初期无需做出很多文档;

测试先行,测试驱动;

四大价值观:沟通、简单、反馈、勇气。

12种最佳实践:计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对编程、集体代码所有制、程序集成、每周工作40小时、现场客户、编码标准。

包括规划、设计、编码和测试4个框架活动的规则和实践。

极限编程中使用的重要技术是重构,即包括设计技术的重构,也包括构建技术的重构;

提倡在基本设计完成后,团队不应该直接开始编码,而是开发一系列用于检测本次发布的包括所有故事的单元测试(测试先行)。

关键概念之一是“结对编程”(开发人员成对工作,检查彼此工作,相互提供支持)。。

极限编程过程中建立的单元测试应当使用一个可以自动实施的框架,支持代码修改后即使的回归测试策略。

 

SCRUM

迭代的增量化过程,用于产品开发或工作管理。可以集合各种开发实践的经验化过程框架。

发布产品的重要性高过一切;

旨在寻求充分发挥面向对象和构建技术的开发方法,是对迭代式面向对象方法的改进。

 

Crystal Methods

20世纪90年代末提出,是个系列,因为创始人相信不同的项目需要不同的方法。

 

FDD特性驱动开发

针对中小型项目。

模型驱动的快速迭代开发过程;

强调简化、实用、易于被开发团队接受、适用于需求经常变动的项目。

 

ASD

强调开发方法的适应性

 

DSDM动态系统开发

以业务为核心,快速而有效地进行系统开发。在英国称为应用最为广泛的快速应用开发方法。

DSDM不仅遵循了敏捷方法的原理,而且也适合那些成熟的传统开发方法有坚实基础的软件组织。

 

RUP

RUP是个过程框架,它可以包容许多不同类型的过程,Craig Larman极力主张以敏捷型方式来使用RUP

 

【结构化开发方法】

·5个阶段:

初始研究、问题分析、需求分析、逻辑建模、方案分析

注:系统逻辑设计阶段产生的图表和文档是最后一次验证系统功能需求。

【面向对象开发方法】

【结构化和面向对象开发方法对比】

结构化开发方法:关注系统功能,强调业务过程的数据流和控制流,采用模块化,自顶向下、逐步求精的过程。各阶段相对独立、结构清晰,利于提高软件质量。适合规模较大,结构化程度较高的系统开发;

面向对象开发方法:关注处理的数据,以对象为中心,对象能够将数据及其行为统一,对象间通过消息交换印发对象行为。对象模型提高了数据和功能复用,简化开发过程,可维护性得到改善。

 

posted on 2018-07-13 10:24  似水似墨  阅读(237)  评论(0编辑  收藏  举报