- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9敏捷开发管理工具.ppt
在CRC建模中,用户、设计者、开发人员都有参与,完成对整个面向对象工程的设计。 CRC卡是一个标准索引卡集合,每一张卡片表示一个类。 类(Class) 代表一系列对象的集合,这些对象是对系统设计的抽象建模,可以是一个人、一件物品等等,类名写在整个CRC卡的最上方。 职责)Responsibility) 包括这个类对自身信息的了解,以及这些信息将如何运用。诸如,一个人,他知道他的电话号码、地址、性别等属性,并且他知道他可以说话、行走的行为能力。这个部分在CRC卡的左边。 协作(collaborator) 指代另一个类,我们通过这个类获取我们想要的信息或者相关操作。这个部分在CRC卡的右边。 CRC卡片的背面往往记载着这个类的详细描述和在CEC设计中的一些注意事项。 scrum n.【橄】(橄榄球赛中双方球员)争球;〈非正式〉争夺;混战v.【橄】(橄榄球赛中双方球员)争球 网络:敏捷开发;敏捷开发经验;敏捷软件开发 敏捷过程 边耐政 2012年10月28日 主题 价值观 敏捷方法之迭代开发 迭代实践之需求 迭代实践之设计 迭代实践之持续集成 迭代实践之测试 迭代实践之重构 敏捷开发框架SCRUM 敏捷开发管理工具 1 价值观 “漂亮的项目文档” Vs “实用的纸上谈兵” 需求文档/HTML原型/Excel原型/纸上原型 “严格的管理流程” Vs “灵活的直接沟通” 一个需求更改,经过严格审批,几天时间 一个需求更改,用户与开发者直接面谈,几分钟 “功能符合需求和设计的软件” Vs “功能符合用户要求的软件” 开发者在用户要求修改时,说的最多的话:“需求文档是这样的!” 用户这时候最有可能的回应是:“我理解的不是这个意思!” 价值观可以说是一种深藏于内心的标准,在面临抉择时的一项依据。 2 敏捷方法之迭代开发 我们敏捷了,没有了严格的流程,没有了详尽的文档,我们靠什么来保证开发的功能是用户真正的需求? 2 敏捷方法之迭代开发 我们只能依靠用户的充分参与和及时反馈来保证功能满足需求的有效性! 我们怎么才能得到有效、及时的用户反馈? 2 敏捷方法之迭代开发 最有效的反馈就是当用户用这个软件(或其一部分)时给出的意见。 那么怎么才能让用户尽早用上软件? 2 敏捷方法之迭代开发 我们唯一的办法是:开发一部分,就提交一部分,用户就使用一部分;用户使用一部分,就反馈一部分,我们就修改一部分,……。如此反复,就是迭代! 3 迭代开发之需求 口头语言/书面文字/原型? 一幅画胜过千言万语! 三种原型 HTML Excel 纸上画 3 迭代开发之需求 全面的需求分析 Vs 局部的需求分析 3 迭代开发之需求 为什么不应该、也不需要细化过早的需求分析? 人们并不擅长于预先定义需求 项目所知甚少时的决定风险大 基于文档的交流是最不精确的,增加了风险 需求稳定时将其文档化 3 迭代开发之需求 那么迭代开发需求分析到底应该细到什么程度才合适? 3 迭代开发之需求 在项目开始之初,项目的愿景(Vision)要清楚。(大目标,大方向) 1-2页纸的项目描述(one page spec) 主要的实体和用例要清楚 总的用例图 CRC卡片 用例的优先级要清楚 每次迭代选择未开发的功能中优先级最高的 3 迭代开发之需求 确定了本次迭代的用例后,要对用例进行用户故事的细化。 用例“资产管理员新增设备台帐”的用户故事 资产管理员登陆系统 系统显示资产管理界面 资产管理员选择“新增台账” 系统显示台账录入界面 资产管理员输入信息,保存 系统返回资产列表 3 迭代开发之需求 用户故事细化以后,要对开发任务进行细化:(任务根据开发模式不同而不同,以测试驱动为例) 编写测试类 设计台帐列表界面(纸) 用户确认界面 实现台帐列表界面(JSP,静态) 设计台帐数据库表 设计、实现设备实体类 设计、实现设备管理类 在页面上实现显示台帐列表 设计台帐新增界面(纸) 实现台帐新增界面(JSP,静态) 实现提交新增台帐的数据库插入数据功能 …… 4 迭代开发之设计 敏捷开发还需要设计吗? 4 迭代开发之设计 答案是非常肯定的:要! 敏捷方法把设计称为敏捷建模。 什么是建模? 用符号或数学公式来对一个实际问题进行简化的表述,即抽象。 在软件设计中有哪些相关的模型? 数据模型 流程模型 4 迭代开发之设计 数据建模 实体分析(CRC卡片,界面元素,找名词) 显信息 隐含信息 实体关系分析(业务逻辑) 一对一 一对多 多对多 关系的规范化 数据库的范式(至少第三) 4 迭代开发之设计 流程建模 业务流程 页面流程 4 迭代开发之设计 UML的活动图、顺序图等,是否需要? 业务流程非常复杂,逻辑性非常强,且实体交互非常多的,建议画。但是尽量在纸上画。 5 迭代实践之持续集成 “分
文档评论(0)