起草开发计划
//2017年3月31日20:58:53 本来准备四个章节和在一起写的,发现附加章节也不错
//反正每章都比较短,加把劲
目标
完成这个章节(模块),你可以:
1、描述Suntone AM如何与构建开发计划联系在一起
2、列出建立系统需要的资源(也叫开发者)和技术
3、根据一组标准选出每一个迭代的用例
4、使用UML包图把初始的开发计划记录成文档
进程图
描述Suntone AM如何与开发计划联系在一起
Suntone AM是基于同一过程开发:
1、四个阶段:成立,精心设计,构建和变迁
2、迭代性和增量性
初始开发计划使用阶段将开发团队的工作分成不同迭代
评估魔术性
1、每一个开发者都有他自己的“速度”
2、团队的大小影响个人的表现;大的开发团队过度增加交流
3、工程的复杂性增加了隐藏的基础设施,这些基础设施从用例中来看不明显
4、评估和工程计划应该周期性的重新评估
列出需要的资源和技术
从SRS中基于功能性需求和非功能性需求,架构师决定团队需要多少人和技术去开发系统
1、开发团队大小是用工程的复杂程度决定的
2、技术集合是由工程的架构需要决定的
决定开发者
决定开发者人数的因素是:
1、用例的大小和复杂性
2、架构基线的大小和复杂性
3、遗留系统集成的问题
4、工程持续的时间
5、组件的模块化
决定开发者(例子)
对于旅馆预定系统:
1、用例的大小复杂性相对的较小
2、工程不是计划绑定,所以工程的持续性可以保持灵活
3、系统可以被高效分为大致的三个技术领域:
3.1图形用户界面(GUI)开发
3.2网页应用开发
3.3业务逻辑(加上基础设施)开发
决定技术集合
决定技术集合的因素是基于高级别架构上的决定
1、开发语言和平台
2、明确的技术:
2.1客户端阶层:HTML, JavaScript, Swing等等
2.2呈现阶层: servlets, JSP, PHP, Perl等等
2.3应用阶层:RMI, EJB, CORBA等等
2.4集成阶层:JDBC, XA, MOM等等
2.5资源阶层:: DBMS, EIS等等
3、开发环境(工具,集成开发环境IDE)
决定技术集合(例子)
对于旅馆预定系统:
1、J2SE是被选择的平台
2、客户端阶层:
2.1HTML(对于网页应用和亭子应用)。javascript和Applets是非必须的。
2.2Swing(旅馆图形用户界面)
3、呈现阶层:servlets和JSP页面
4、应用阶层:RMI
5、集成阶层:JDBC/SQL
6、资源阶层:PostgreSQL DBMS
//2017年3月31日22:41:08 写起来又感觉多了,-_-|||
为迭代选择用例
以下因素帮助决定如何将用例分进迭代:
1、决定为把用例分进迭代的标准
2、为每个用例估计开发持续时间
3、估计被推荐的每个迭代的长度
4、决定哪个用例在工程的哪个阶段的哪个迭代中被处理
用例排优先级的标准
每个工程有不同的标准给用例排优先级。有些因素可以帮助你决定每个用例的优先级:
1、在工程中有风险的用例应该尽早解决
2、架构上重要的用例应该尽早解决
3、必要的用例应该被尽早处理
4、高价值和后续用例用例应该被分配到构建阶段,后续用例被最后处理
为用例估计开发时间
每个开发团队应该会为给出的每一个用例估计开发时间
有一些因素帮助你理解如何靠近估计:
1、有效的阶层划分(每个开发者负责一个主要功能)
2、个人开发者的技能和速度
3、开发的基础设施的复杂性和数量
4、每个用例的场景的数量
为用例估计开发时间(例子)
对于旅馆预定系统,用例“E1:管理预定”
1、是否可分为4阶层:客户端,应用,集成,资源
2、需要重要的基础设施开发
3、包括三个主要场景(创建,更新和删除)
1、图形用户界面(GUI)开发者:6周
1.1图形用户界面布局设计:1周
1.2主用户界面屏幕:1周
1.3预定界面,用户管理界面,支付界面:4周
2、业务和(集成)开发:4周
1.1三个远程服务:2周
1.2五个实体:0.5周
1.3五个DAO:2.5周
决定每个迭代的持续时间
因素:
1、足够长到足够开发最长的用例
2、短到可以看到结果和保持工程的势头
3、迭代持续时间=UC持续时间的总和
4、UC持续时间=每一个开发者开发用例所用的最大时间
决定每一个迭代的持续时间
对于旅馆预定系统,迭代1:
把用例分组到迭代中
因素:
1、把有风险的和架构上重要的用例分进迭代中的精心设计阶段
2、把(剩下的)必要的和高价值的用例分进迭代中的构建阶段
3、把后续的用例分到构建阶段的最后
把用例分组到迭代中(例子)
为旅馆预定系统:
初始的开发计划形成文档
1、一个UML包图显示迭代和阶段分类
2、UML包图标记
3、包的名字可以放到主体盒子里面或者放到名字盒子里面
4、你可以将实体,包括其他包放到包中
初始的开发计划形成文档(例子)
总结
1、开发团队的成员受限制于工程的大小和工程使用的技术所需要的技能集合
2、开发被组织成迭代。每一个迭代作为一个迷你的工程
3、用例被分进迭代。迭代的持续时间是由每一个开发者开发每一个用例所用时间的估计时间决定的
4、开发计划可以使用UML包图体现,迭代作为包展示,这个包图包括迭代中被包含的用例
//2017年4月6日23:10:52 这章真长
//联系我,邮箱:bourne_w@sina.com
交个朋友吧