- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * 净室思想 在分析和设计阶段消除错误 在“洁净”状态下实现软件制作 形式化 盒结构表示分析和设计 正确性验证 增量模型 把软件看成一系列的增量 表2.1 7种软件开发模型的主要特点 开发模型 特 点 适用场合 瀑布模型 线性模型,每一阶段必须完成规定的文档 需求明确的中、小型软件开发 快速原型 模型 用户介入早,通过迭代完善用户需求,原型废弃不用 需求模糊的小型软件开发 增量模型 每次迭代完成一个增量,可用于OO开发 容易分块的大型软件开发 螺旋模型 典型迭代模型,重视风险分析,可用于OO开发 具有不确定性大型软件开发 构件集成 模型 软件开发与构件开发平行进行 领域工程、行业的中型软件开发 转换模型 形式化的规格说明,自动的程序变换系统 理想化模型,尚无成熟工具支持 净室模型 形式化的增量开发模型,在洁净状态下实现软件制作 开发团队熟悉形式化方法 2.5 统一过程和敏捷过程 2.5.1 统一过程(Rational Unified Process, RUP) ●RUP 是美国 Rational 公司(现被IBM 公司兼并,称 IBM- Rational 公司)开发的一种支持UML建模过程的软件工具。 ●RUP是以用例为驱动、以系统架构为中心的迭代与增量过程。 ●RUP在一个二维空间中描述软件开发活动,水平轴代表时间,显示了过程动态的一面,它将一个软件生存周期分为4个阶段,包括初始、细化、构造和移交阶段,每个阶段又可以分为多个迭代。 图2.9 统一过程图示 1.初始阶段: 初始阶段的目标是为系统建立业务用例和确定项目的边界。本阶段的具体目标如下: 明确软件系统的范围和边界条件,包括从功能角度的前景分析、产品验收标准和哪些做与哪些不做的相关决定; 明确区分系统的关键用例和主要的功能场景; 展现或者演示至少一种符合主要场景要求的候选软件体系结构; 对整个项目做最初的项目成本和日程估计; 估计出潜在的风险(主要指各种不确定因素造成的潜在风险); 准备好项目的支持环境。 2.细化阶段 细化阶段的目标是分析问题域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。本阶段的具体目标如下: 确保软件结构、需求、计划足够稳定;确保项目风险已经降低到能够预计完成整个项目的成本和日程的程度; 针对项目的软件结构上的主要风险已经解决或处理完成; 通过完成软件结构上的主要场景建立软件体系结构的基线; 建立一个包含高质量构件的可演化的产品原型; 说明基线化的软件体系结构可保障需求可控制在合理的成本和时间范围内; 建立好产品的支持环境。 3.构造阶段 在构造阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详尽地测试。本阶段的主要目标如下: 通过优化资源和避免不必要的返工达到开发成本的最小化; 根据实际需要达到适当的质量目标; 据实际需要形成各个版本; 对所有必须的功能完成分析、设计、开发和测试工作; 采用循环渐进的方式开发出一个可以提交给最终用户的完整产品; 确定软件、站点和用户都为产品的最终部署做好了相关准备; 达成一定程度上的并行开发机制。 4.迁移阶段 完成最后的软件产品和产品验收测试,并编制用户文档,进行用户培训等,将软件产品交付给用户群体。本阶段的具体目标如下。 进行Beta测试以期达到最终用户的需要; 进行Beta测试和旧系统的并轨; 转换功能数据库; 对最终用户和产品支持人员的培训; 具体部署相关的工程活动; 协调Bug修订、改进性能和可用性等工作; 基于完整的版本和产品验收标准对最终部署做出评估; 达到用户要求的满意度; 2.5.2 敏捷过程 ( Agile Process ) 敏捷开发(Agile Development)是以人为核心、以迭代方式循序渐进开发的方法,其开发过程称为“敏捷过程”。 1.敏捷开发的价值观 ①个人和交互胜过过程和工具。 ②可以工作的软件胜过面面俱到的文档。 ③客户合作胜过合同谈判。 ④响应变化胜过遵循计划。 2.敏捷过程应遵循的12条原则 ①通过尽早的、持续的交付有价值的软件来使客户满意。 ②即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。 ③交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。 ④在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。 ⑤以积极向上的员工为中心,建立项目组,给他们提供所需的环境和支持,并且信任他们能够完成工作。 ⑥在团队内部,最具有效果并富有效率的传递信息的方法,就是面对面的交谈。 ⑦可运行的软件是首要的进度度量标准。 ⑧敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一
文档评论(0)