100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 软件工程——第五章(敏捷开发)

软件工程——第五章(敏捷开发)

时间:2023-04-14 15:01:00

相关推荐

软件工程——第五章(敏捷开发)

1.敏捷软件开发的宣言

“我们正在通过亲身实践以及帮助他人实践的方式来揭示更好的软件开发之路,通过这项工作,我们认识到:

个人和这些人之间的交流胜过了开发过程和工具

可运行的软件胜过了宽泛的文档

客户合作胜过了合同谈判

对变更的良好响应胜过了按部就班地遵循计划

也就是说,虽然上述右边的各项很有价值,但我们认为左边的各项具有更大的价值。”

2.什么是敏捷?

有效的(快速并适应)响应变更

所有利益相关者中的有效沟通

吸引客户到团队

组织团队使其控制工作执行

产品…

快速、增量交付的软件

?问题:敏捷是如何提出的?是否所有项目适合敏捷?什么样的项目适合敏捷?是否完全对立于传统软件过程实践

3.敏捷及变更成本的费用

4.敏捷过程

是由客户对他们需求的描述驱动的(场景)

意识到计划是短期的

着重强调构建活动的软件迭代开发

交付多个软件增量

适应变更的出现

5.敏捷原则

敏捷原则- I

1.我们最优先要做的是通过尽早、持续地交付有价值的软件来使客户满意。

2.即使在开发的后期,也欢迎需求的变更。敏捷过程利用变更为客户创造竞争优势。

3.经常交付可运行软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。

4.在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。

5.围绕有积极性的个人构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作。

6.在开发团队内部,最富有效果和效率的信息传递方法是面对面交谈。

敏捷原则- II

7.可运行软件是进步的首要衡量标准。

8.敏捷过程提倡可持续的开发。责任人、开发者和用户应该能够长期保持步调一致。

9.不断关注优秀的技能和好的设计会增强敏捷能力。

10. 简单——使不必做的工作最大化的艺术——是必要的。

11. 最好的架构、需求和设计出自于自组织团队。

12. 每隔一定时间,团队会反省如何才能更有效地工作,并相应调整自己的行为。

6.人的因素

满足人员及团队需求的过程模型,而非周围其他过程模型

敏捷开发团队成员及团队本身必须具备的关键特征:

竞争能力

共同目标

精诚合作

决策能力

模糊问题解决能力

相互信任和尊重

自组织

极限编程(XP)

使用最广泛的敏捷过程,最初由Kent Beck提出。

XP 策划

以“用户故事”产生开始

敏捷团队评估每个故事和分配成本

将故事分组到一个可交付增量

承诺交付日期

在第一个软件增量交付之后,项目速度用于帮助确定后续发行版本的交付日期

XP 设计

遵循KIS(保持简洁)原则

鼓励使用CRC卡(参见第8章)

对于困难的设计问题,提出建立“spike解决方案”——一种设计原型

鼓励“重构”——内部程序设计的迭代改进

XP 编码

在编码之前,对于每一个软件增量建议构建一个单元测试

鼓励“结对编程”

XP 测试

每天执行所有单元测试

验收测试由客户定义,并由客户执行评估客户可见的功能特征

自适应软件开发

最初由 Jim Highsmith提出

ASD ——区分特征

任务驱动规划

基于组件的焦点

使用“时间段” (参见第24章)

明确风险考虑

强调需求收集协作

强调整个过程的“学习”

动态系统开发方法

由 DSDM 协会提出 ()

DSDM——区分特征

在很多方面类似XP或ASD

九条指导原则

活跃的用户参与是必不可少的。

DSDM 团队必须有权作出决定。

注重多次产品交付。

适应商业目的是交付产品验收的基本标准。

迭代和增量开发有必要聚集在一个精确的业务解决方案。

开发期间所有的变更都是可逆的。

需求基线是高水准的。

测试集中在整个生命周期。

DSDM Life Cycle (with permission of the DSDM consortium)

DSDM生命周期(DSDM协会许可)

Scrum

最初由Schwaber 和Beedle提出

Scrum——区分特征

开发工作划分为“包”

测试和文档在构建产品过程中是持续的

工作任务称为一个“冲刺”,并来自现有需求的一个“待办项”

会议非常短暂,甚至有时开会都不用椅子

演示是在分配的时间段内向客户交付软件增量

Scrum过程流(使用许可)

Crystal

由 Cockburn 和 Highsmith提出

Crystal——区分特征

实际上,一个过程模型的大家庭允许根据问题特点来操作

强调面对面的沟通

建议使用“反思研讨会”审查团队的工作习惯

特征驱动开发

最初由Peter Coad及其同事提出

FDD——区分特征

强调特征定义

特征“是可以在2周或更短时间实现的具有客户价值的功能”

使用特征模版

<action> the <result> <by | for | of | to> a(n) <object>

创建一个特征列表并实施“特征计划”

在FDD中合并设计和构建

敏捷建模

最初由 Scott Ambler提出

提出一系列敏捷建模原则

有目的的模型

使用多个模型

轻装上阵

内容重于表现形式

理解模型及构件工具

适应本地需要

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。