软件开发方法:FDD、精益开发与Scrum深度解析
在软件开发领域,选择合适的开发方法至关重要。不同的开发方法有着各自的特点和适用场景,下面将详细介绍特征驱动开发(Feature - Driven Development,FDD)、精益软件开发(Lean Software Development)和Scrum这三种方法。
特征驱动开发(FDD)
FDD与其他敏捷方法的不同之处在于它更注重前期设计和规划。从FDD的过程图可以看出,对象模型、特征列表和规划在项目开始时一次性完成,迭代本质上是对已识别特征的增量构建。不过,这并不意味着模型、特征列表和计划永远不会改变,只是这些元素的演变并非该方法的固有部分。
FDD有以下八项实践:
1. 领域对象建模 :FDD从为待构建系统构建相对详细的对象模型开始。该模型并非要提供特征的所有设计细节,而是要让所有利益相关者的假设公开化,并为项目提供路线图。虽然初始对象模型在项目开始时构建,但随着开发的推进,每次增量都会对其进行更新。
2. 按特征开发 :对象模型识别系统中所有预期的类,但开发不是按类进行,而是一次开发一个特征。FDD将特征定义为一个小的、对客户有价值的功能,通常以“<动作><结果> <对象>”的形式表达,例如“检索患者的病历”。一个特征通常较小,开发时间在几小时到几天之间,FDD规定特征大小的上限为两周。
3. 类(代码)所有权 :FDD规定每个类由单个开发人员拥有,这与极限编程(XP)的“集体所有权”实践截然相反。其理念是类所有者对其类的功能和内容有全面而
超级会员免费看
订阅专栏 解锁全文
1136

被折叠的 条评论
为什么被折叠?



