灵活,可靠的软件 使用设计模式和敏捷开发
2013-03-02 21:42
465 查看
灵活,可靠的软件 使用设计模式和敏捷开发
敏捷开发流程学习目标
在这一章中,学习的目的是了解敏捷开发的主要思想。一个特别且有影响力的称做极限编程的敏捷方法将用比较详细的介绍。一些极限编程中的技术方法和实践将在本书后面详细讨论。因此这一章节主要创造一些便于了解他们的上下文。
1.1 软件开发方法
不管你怎么开发软件,你总会用到一些特定的软件开发流程,将其施加于你实施的工作和活动之上去制作一个符合客户期望的软件。一个软件开发流程需要制定一些去处理开发中的活动和步骤的方法,这些步骤一般会包含
需求: 你怎样收集和文档化用户和客户对于软件的期望,也就是说软件该做什么
设计: 你怎么划分和结构化软件,以及怎么交流这个软件结构
实现: 开发人员怎么去编写满足需求且符合设计的软件
测试: 你怎么验证执行的系统怎么真正满足需求和用户期望
部署: 你怎么确保开发的软件系统运行在客户那边正确的环境中
维护: 你怎么确保系统在用户找到缺陷时有被纠正,或者系统在新的功能需求被添加时有被增强
对于这些步骤的定义和工具的严格程度取决于一个项目的大小:一个有数百开发人员参与的飞机控制软件项目需要比两个朋友用业余时间开发的游戏严格得多。
两年来一些软件工程研究人员和实践者描述和测试了大量的开发流程,有很长一段时间他们倾向于用重量级的流程。他们强调严格的交流和流程规范,编写许多详细的文档且不会在前一个活动没有被详细分析和了解前开始下一个活动。这其中一个就是瀑布试模型。如梗概图1.1中所示,其中一个活动到另一个活动是纯顺序关系,你在设计前把所有的需求都详细记录在文档中,你不会在设计完成前做代码实现,等等。
因为使错误提前在流程中发现将会更廉价, 后来很快又被人们认识到要完善某一阶段再进行下一步甚至对于小项目都不现实。很多时候需求和设计直到用户测试可运行的系统时才部分地被了解,在普遍的模型中这些对系统的深入了解在后面的阶段被发现得太迟,导致前些阶段的投资都没有价值。
敏捷开发流程被归为轻量级的,能确保对系统深入了解, 以及能使在没有价值的东西上投入尽可能少的一种方式。
翻译自书籍:Flexible, Reliable Software Using Patterns and Agile Development, Henrik Baerbak Christensen
后面的翻译将陆续更新… 下一篇,1.2 敏捷方法
相关文章推荐
- 章节 1.3 极限编程 – 灵活,可靠的软件 使用设计模式和敏捷开发
- 敏捷方法 – 灵活,可靠的软件 使用设计模式和敏捷开发
- 章节 1.1 软件开发方法 – 灵活,可靠的软件 使用设计模式和敏捷开发
- 章节 1.2 敏捷方法 – 灵活,可靠的软件 使用设计模式和敏捷开发
- 章节 2.1 可靠的软件 – 灵活,可靠的软件 使用设计模式和敏捷开发
- 敏捷软件开发:原则、模式与实践——第7章 什么是敏捷设计
- 包的设计原则,读敏捷软件开发 原则、模式和事件总结
- 《敏捷软件开发 原则、模式与时间》读后感 - 敏捷设计原则
- 敏捷软件开发:原则、模式与实践——第14章 使用UML
- 《敏捷软件开发 原则、模式与时间》读后感 - 敏捷设计原则
- 《敏捷软件开发-原则、模式与实践》-第七章 什么是敏捷设计
- 【敏捷软件开发:原则、模式与实践】之敏捷设计的几个原则
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 对象设计器使用帮助
- 面向对象的设计原则【敏捷软件开发 原则、模式与实践】里面摘录
- 演进式架构设计在敏捷开发中的使用
- 对《敏捷软件开发:原则、模式与实践》中保龄球程序重构的一些思考
- 敏捷软件开发、模式、原则与实践摘录
- 手机软件开发管理过程中,如何采用敏捷开发模式
- 敏捷软件开发:原则、模式与实践——第13章 写给C#程序员的UML概述
- 需要大量设计的软件如何进行敏捷开发