《UML用户指南(第2版.修订版)》—第2章2.4节软件开发生命周期-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

《UML用户指南(第2版.修订版)》—第2章2.4节软件开发生命周期

简介:

本节书摘来自异步社区《UML用户指南(第2版.修订版)》一书中的第2章2.4节软件开发生命周期,作者【美】Grady Booch , James Rumbaugh , Ivar Jacobson,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.4 软件开发生命周期
UML用户指南(第2版.修订版)
UML在很大程度上是独立于过程的,这意味着它不依赖于任何特殊的软件开发生命周期。然而,为了从UML中得到最大的收益,应该考虑这样的过程,它是:

用况驱动的;
以体系结构为中心的;
迭代的和增量的。
【在附录B中概述了Rational统一过程,对该过程的更完整处理在The Unified Software Development Process一书以及The Rational Unified Process中讨论。】

用况驱动(use case driven)意味着把用况作为一种基本的制品,用于建立所要求的系统行为、验证和确认系统的体系结构、测试以及在项目组成员间进行交流。

以体系结构为中心(architecture-centric)意味着以系统的体系结构作为一种基本制品,对被开发的系统进行概念化、构造、管理和演化。

迭代过程(iterative process)是这样一种过程,它涉及到对一连串可执行的发布的管理。增量过程(incremental process)是这样一种过程,它涉及到系统体系结构的持续集成,以产生各种发布,每个新的发布都比上一个发布有所改善。总的来讲,迭代和增量的过程是风险驱动的(risk-driven),这意味着每个新的发布都致力于处理和降低对于项目成功影响最为显著的风险。

这种用况驱动的、以体系结构为中心的、迭代/增量的过程可以分成几个阶段。阶段(phase)是过程的两个主要里程碑之间的时间跨度,在阶段中将达到一组明确的目标,完成一定的制品,并做出是否进入到下一阶段的决策。如图2-24所示,在软件开发生命周期内有4个阶段:初始、细化、构造和移交。在图中,按这些阶段对工作流进行了划分,并显示了它们的焦点随时间的推移而变化的程度。

初始(inception)是这个过程的第一个阶段。在此阶段,萌发的开发想法经过培育要达到这样一个目标:至少要在内部奠定足够的基础,以保证能够进入到细化阶段。

细化(elaboration)是这个过程的第二个阶段。在此阶段定义产品需求和体系结构。在这个阶段,将明确系统需求,按其重要性排序并划定基线。可以按一般的描述,也可以按精确的评价准则来排列系统的需求,每个需求都说明了特定的功能或非功能的行为,并为测试提供了基础。

构造(construction)是这个过程的第三个阶段,在此阶段软件从可执行的体系结构基线发展到准备移交给用户。针对项目的商业需要,这里也要不断地对系统的需求,特别是对系统的评价准则进行检查,并要适当地分配资源,以主动地降低项目的风险。


b1389d526c64449d64976588234802dc42100684

移交(transition)是这个过程的第四个阶段,在此阶段把软件交付给用户。在这个阶段,软件开发过程很少能结束,还要继续改善系统,根除错误,增加早期发布未能实现的特性。

使得这个过程与众不同,并贯穿所有4个阶段的要素是迭代。迭代(iteration)是一组明确的工作任务,具有产生能运行、测试和评价的可执行系统的基准计划和评价准则。可执行系统无须向外发布。因为迭代产生可执行的产品,所以可以判断进展并在每次迭代后可重新估计风险。这意味着,软件开发生命周期具有以下特征:持续地发布系统体系结构的可执行版本,而且在每步迭代后可中途进行修改,以减少潜在的风险。正是因为强调将体系结构作为一个重要的制品,UML非常注重对系统体系结构的不同视图进行建模。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章