您的位置:首页 > 数据库

项目软件过程的迭代设计作业(案例设计)

2007-04-18 14:46 281 查看
 
[align=right]              中型规模的CRM系统[/align]
[align=right]软件开发计划[/align]

[align=left]Phase[/align]
[align=left]Iteration[/align]
[align=left]Description[/align]
[align=left]Associated Milestones[/align]
[align=left]Risks Addressed[/align]
[align=left]Inception Phase[/align]
[align=left](初始化阶段)[/align]
[align=left]初始迭代:[/align]
[align=left]需求及软件原型的建立[/align]
[align=left]根据用户需求定义业务模型,使用Use-Case图定义需求及需求范围。[/align]
[align=left]制订软件开发计划。[/align]
[align=left]利用VB等工具制作一个系统原型。[/align]
[align=left]业务模型及需求的评审[/align]
[align=left]需求是否完善,是否正确。[/align]
[align=left] [/align]
[align=left]软件开发计划和范围的定义是否符合实际开发计划[/align]
[align=left] [/align]
[align=left]从业务模型,需求及原型评价项目的可行性,确定是否需要开发。[/align]
[align=left]Elaboration Phase[/align]
[align=left](细化阶段)[/align]
[align=left]E1-迭代开发:[/align]
[align=left]架构的原形建立[/align]
[align=left]完成这个需求的概要分析及设计。[/align]
[align=left] [/align]
[align=left]设计整个软件项目的[/align]
[align=left]系统架构,数据库结构。[/align]
[align=left]搭建开发环境,并且建立及测试系统架构原型。 [/align]
[align=left]软件架构原型的建立[/align]
[align=left]架构是否清晰。[/align]
[align=left] [/align]
[align=left]开发是否存在技术风险。[/align]
[align=left]架构原型是否通过用户评审。[/align]
[align=left]Construction Phase[/align]
[align=left](构造阶段[/align]
[align=left]C1-迭代开发:[/align]
[align=left]详细设计,[/align]
[align=left]公共模块及接口的开发[/align]
[align=left]完成整个项目的详细设计。[/align]
[align=left] [/align]
[align=left]开发公共模块及各个独立模块的接口。[/align]
[align=left] [/align]
[align=left]测试公共模块,各子模块接口。[/align]
[align=left]详细设计[/align]

4000
[align=left] [/align]
[align=left]公共模块和各子模块接口的建立[/align]
[align=left]详细设计是否遵循需求。[/align]
[align=left] [/align]
[align=left]公共模块及各接口的建立是否稳定,有无技术风险。[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left]C2-迭代开发:[/align]
[align=left]客户信息管理子系统,订单管理子系统的开发(与C3迭代并行处理)[/align]
[align=left]根据详细设计开发客户信息管理子系统,订单管理子系统。[/align]
[align=left]整合该两个子系统到公共模块。[/align]
[align=left]测试并生成R1-beta发布版本。[/align]
[align=left]客户信息管理子系统,订单管理子系统的开发整合[/align]
[align=left] [/align]
[align=left]发布第一个R1-beta版本[/align]
[align=left]开发出的子系统功能是否符合需求,性能是否优越。[/align]
[align=left]整合时接口是否通用,是否影响整体模块的稳定性,可靠性及整体性能。[/align]
[align=left]开发进度是否有拖延,资源消耗相对计划消耗是否可以接受。[/align]
[align=left]第一个BETA版本是否通过用户评审,运行是否稳定。[/align]
[align=left] [/align]
[align=left]C3-迭代开发:[/align]
[align=left]客户投诉处理子系统,客户满意度调查子系统,客户关怀子系统的开发(与C2并行处理)[/align]
[align=left]根据详细设计开发客户投诉处理子系统,客户满意度调查子系统,客户关怀子系统。[/align]
[align=left]整合该三子系统到公共模块。[/align]
[align=left]测试并生成R2-beta发布版本。[/align]
[align=left]客户投诉处理子系统,客户满意度调查子系统,客户关怀子系统的开发整合[/align]
[align=left] [/align]
[align=left]发布第二个R2-beta版本[/align]
[align=left]开发出的子系统功能是否符合需求,性能是否优越。[/align]
[align=left]整合时接口是否通用,是否影响整体模块的稳定性,可靠性及整体性能。[/align]
[align=left]开发进度是否有拖延,资源消耗相对计划消耗是否可以接受。[/align]
[align=left]第二个BETA版本[/align]
[align=left]是否通过用户评审,运行是否稳定。[/align]
[align=left]Transition Phas[/align]
[align=left](移交阶段)[/align]
[align=left]T1-迭代开发:[/align]
[align=left]进行BETA测试,培训用户,最终发布[/align]
[align=left]进行beta测试,确认新系统与用户期望一致。[/align]
[align=left]培训用户,制作用户手册。[/align]
[align=left]最终发布,移交新系统给用户。[/align]
[align=left]产品发布[/align]
[align=left]产品是否通过用户评审,新系统与用户期望是否一致。[/align]
[align=left] [/align]
[align=left]实际的开发资源消耗是否超出计划预算。[/align]
[align=left] [/align]
[align=left]1)在Construction Phase的三个迭代过程中会产生两个发布版本,说明如下:[/align]
[align=left]R1-beta版本必须是一个完整功能的能独立运行的最小软件,它主要包含如下功能:[/align]
用户登入,权限控制等公共功能。

客户基本信息注册。

与数据库的接口完善。

可以维护客户信息,并可进行查询,修改等管理操作。

可以维护订单信息,并可进行下订单,修改,删除,查询等订单操作。

[align=left]   R1-beta版本将会成为第一个发布的产品版本,是一个包含公共模块,客户信息管理子系[/align]
[align=left]   统及订单管理子系统的全部功能的一个BETA版本。这个版本必须能通过交付测试及稳定的运行。[/align]
[align=left]   [/align]
[align=left]   R2-beta版本追加了以下三个子系统的功能:[/align]
客户投诉处理子系统

客户满意度调查子系统

客户关怀子系统

[align=left]       该版本是最终发布版本的BETA版,R2-beta包含了整个需求的所有功能,并且是整合后[/align]
[align=left]       的一个软件版本。通过移交阶段的BETA测试后就能成为最终的发布版本。[/align]
[align=left]   [/align]
[align=left]2)整个开发过程使用了6次迭代;设计原因如下:[/align]
[align=left]   A.初始化阶段:设计1次迭代,因为需要多次迭代的项目符合以下范围:[/align]
[align=left]1、项目规模很大,项目组很难1次迭代确定系统范围;[/align]
[align=left]2、要创建的系统没有先例,很难精确描述系统功能;[/align]
[align=left]3、项目涉众多且关系复杂,合同谈判艰难;[/align]
[align=left]4、很难一次创建业务模型,或者在项目范围和需要的投资之间做出权衡;(例如创建新的商业应用系统)[/align]
[align=left]5、存在重大技术风险,或者在向涉众申请投资前要进行可行性验证;[/align]
[align=left]此项目应不属于以上范围,因此设计1次迭代。[/align]
[align=left]   B.细化阶段:设计1次迭代,需要根据大众的反馈及测试情况修改系统架构,但不属于高技术风险项目,所以设计一次迭代。[/align]
[align=left]   C.构造阶段:设计3次迭代,通过增量式迭代开发降低项目风险,并且在公共模块开发完成后可以并行的进行两个阶段子模块的开发,这两个并行阶段迭代开发的顺序如下:[/align]
[align=left]      1,客户信息管理子系统、订单管理子系统[/align]
[align=left]      2,客户投诉处理子系统、客户满意度调查子系统,客户关怀子系统[/align]
[align=left]      这样的并行做法可以提高这两个迭代阶段的开发效率。[/align]
[align=left]   D.发布阶段:设计1次迭代:因为在构造阶段的三次迭代中已经有发布两个BETA版本因此在最后发布阶段只需在这两个发布版本上进行BETA测试及修改,提高了项目效率同时也降低了发布风险,所以设计一次迭代。[/align]
[align=left]最后在完成每次迭代开发过程的同时可以尽早的发现风险,降低开发成本,提高了重用程度,最终可以提高整个产品的质量。[/align]
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息