UML建模与软件开发过程模型

简介:
现在谈到软件开发过程,大家可能也不会陌生,学过软件工程的人都能随口说上几个软件过程模型,现在要把这两种不同的模型拿到一起来讨论,一方面是软件开发的实际需要,另一方面也是UML建模工具要和其他面向对象开发模型结合的一种必然要求。
  但是,OMG为了防止UML建模和某种开发过程模型结合过紧,导致其适应性降低,使统一性大打折扣,从而影响UML建模工具的普及和推广,只制定了语义规 则和表示符号,对于一个实际问题怎样进行建模,并未制定象数据库设计范式那样的规范和原则,对于一个项目,应该先建什么模型,后建什么模型,也没有做什么 限制。也就是说,没有规定UML建模的工作过程和方法,UML建模可以适应任何开发过程模型。
    软件开发过程模型的理论定义比较简单,而把这一过程模型在实践中应用成功,却有许多制约因素,首先是软件的范围,一个大型分布式软件系统和一个单机版的个 人软件系统在开发管理上肯定不同;其次软件的开发目的,一个为了提高浏览量而开发的网站和一个为密集计算而开发的的一个处理系统在开发过程管理上肯定不 同。最后一点是团队,不同的团队在磨合度、个人能力、团队协作等方面各不相同,开发相同的项目使用相同的开发过程模型,开发结果完全不同的实例多得数不胜 数。另外,软件复用是面向对象的一大特点,它不但与所选择的开发过程模型有关系,而且与企业文化和企业的做事方式有关。
上面这一些都说明,选择或 设计一个好的,能够反映软件开发过程在什么时候做什么、如何作的过程模型并不是件容易的事。UML建模工具和统一过程(RUP)结合,是很多人熟知的理 论,这很大程度上得益于UML三位主要创始人的功劳,因为它们曾共同出过一本关于UML与统一过程的书,另一方面是UML建模工具和统一过程的发源地都是 rational公司,也使人们误认为使用UML建模工具就得使用统一过程,事实上,UML自1.0版本以后,就归OMG所有,而RUP不是OMG发布 的,只有OMG发布的信息,才能作为我们的行业标准。
一切先进的思想,往往是融合了先前其他人的先进思想,在介绍trufun的TUP建模过程之前,我们有必要回顾一下和UML建模结合的几种软件开发过程模型。
统 一过程(UP)模型:统一过程模型在和UML建模结合时,采用以用例为驱动的方式,用用例连接所有活动,每个活动都建一组模型,如业务领域模型、责任领域 模型、实现模型、测试模型,每组模型中又由多个不同的角色共同协作完成,比如具有专门进行用例建模的角色和组件建模的角色等等,采用增量迭代方式建立和完 善用例,并对每一次建模进行评估,在项目的计划、监控等方面并非以建模为中心,而是把建模作为统一过程的一个小部分。该模型的主要缺点是周期长、人员要求 多、建模工作量大。
迭代模型:它是采用较多的小迭代来实现最终的模型,也就是说,模型图是通过一系列步骤一步一步地建起来,每一次迭代都有新信息 添加到模型中来,每一次迭代都要经过评估,都是下一次迭代的输入,迭代会使系统开发的活动(需求、分析、设计和测试)执行多次,并且每次都有新的内容增加 进来。这个方法有一个缺点是在迭代的后期,仍然有新的需求增加进来。
增量模型:增量模型开发每次迭代都能产生一个可执行的结果,这个结果是一个可 “交付的”系统版本,每一次迭代要经过评估,并且增加了一些新的功能,增量模型主要包括分析、设计、实现、测试四个活动。该方法有一个很大缺点是到了项目 迭代后期还要进行设计,会给系统带来很大的风险。

XP模型:又叫极限编程,它是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密 的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求 是,整个开发是以测试为驱动的,它属于小型方法,对于初级软件开发企业有效,无法站在软件过程的行列谈和UML建模结合的问题。



本文转自 trufun 51CTO博客,原文链接:http://blog.51cto.com/trufun/295534,如需转载请自行联系原作者

相关文章
|
6月前
|
机器学习/深度学习 人工智能 测试技术
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
136 0
|
2月前
|
测试技术 uml
『软件工程13』浅谈面向对象方法,统一建模语言UML
该文章介绍了面向对象方法的基本概念及其在软件工程中的应用,并详细探讨了统一建模语言(UML)的各种图示及其在系统设计中的作用。
『软件工程13』浅谈面向对象方法,统一建模语言UML
|
测试技术 数据库 uml
【软件工程与UML】第2章 用例图、用例文档、活动图 -- 系统的功能需求建模
【软件工程与UML】第2章 用例图、用例文档、活动图 -- 系统的功能需求建模
655 0
【软件工程与UML】第2章 用例图、用例文档、活动图 -- 系统的功能需求建模
|
6月前
|
测试技术 uml
UML面向对象建模题库
UML面向对象建模题库
84 0
|
文件存储 uml
【UML建模】(8) UML建模之组件图
组件图是用来描述组件与组件之间关系的一种UML图,组件图在宏观层面上显示了构成系统某一特定方面的实现结构。它是一种结构型图表。
873 0
【UML建模】(8) UML建模之组件图
|
网络协议 uml
【UML建模】(7) UML建模之部署图
部署图是运行时进行处理的节点以及在节点上存在制品的配置的图。它阐述了在实际应用中软件和它的运行环境的关系,并且描述了软件部署在硬件上的具体方法。
668 0
【UML建模】(7) UML建模之部署图
|
测试技术 uml
【UML建模】(6) UML建模之状态机图
状态机图展示了一个对象如何根据当前状态对不同事件做出反应的动态行为。状态机图是一种行为图。
981 0
【UML建模】(6) UML建模之状态机图
|
测试技术 uml
【UML建模】(5) UML建模之活动图
活动图可以看成是面向对象版的流程图,它是一种行为型模型图,主要用于表达系统某个功能的流程。
397 0
【UML建模】(5) UML建模之活动图
|
数据建模 Java 项目管理
【UML建模】(X) UML建模之Enterprise Architect 15的使用
Enterprise Architect (后面简称EA)是一款优秀的UML建模软件。它兼容UML2.0中的所有图表。EA不同于普通的UML画图工具(如VISIO),它将支撑系统开发的全过程。在需求分析阶段,系统分析与设计阶段,系统开发与部署等方面有着强大的支持,同时加上对10种编程语言的正反向工程,项目管理,文档生成,数据建模等方面。
360 0
【UML建模】(X) UML建模之Enterprise Architect 15的使用
|
测试技术 uml
【UML建模】(4) UML建模之时序图
时序图是按照时间顺序显示对象交互的图。它显示了参与交互的对象和所交互信息的先后顺序,用来表示用例图中的行为,用例图是一种交互图
331 0
【UML建模】(4) UML建模之时序图