欢迎来到天天文库
浏览记录
ID:24304126
大小:56.00 KB
页数:6页
时间:2018-11-08
《基于uml的面向对象建模技术的研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于UML的面向对象建模技术的研究面向对象的软件建模技术是结合了面向对象思想的软件建模技术,而统一建模语言(UML)是当前使用最广泛的一种面向对象软件建模语言。UML是一种绘制软件蓝图的标准语言,它是一种总结了以往建模技术的经验、并吸收当今优秀研究成果的标准建模方法。关键词:面向对象;建模机制;UML1.前言 面向对象的分析与设计是继传统的过程化程序设计之后,软件技术发展的又一重大变革。而统一建模语言(UnifiedModelingLanguage,UML)则是这种面向对象编程的极致所成。UML是一种用于系统软件规约化、可视化的构造及建模表示
2、。而其中的图形标记,尤其适用于面向对象的软件设计,代表了面向对象方法的软件开发技术的发展方向。2.基于UML的建模过程 软件建模过程是指实施于软件开发和维护中的方法、技术、实践及相关产物的集合。 传统的面向对象软件建模过程的步骤如下所示: (1)描述需求:包括系统基本功能需求和对计算机系统的要求,主要内容根据用户的意见以文字的形式加以说明。 (2)系统分析:分析的主要任务就是找出系统的所有需求并加以描述,并建立模型。 (3)系统设计:设计阶段的任务是通过综合考虑所有的技术限制,以扩展和细化分析阶段的模型。设计阶段可分为两个部分,即结构
3、设计和详细设计。 (4)系统实现:就是对类进行编程的过程。 (5)测试和配置:完成系统编码后,需要对系统进行测试,从而保证所开发的系统符合用户需求。3.面向对象建模技术3.1Booch Booch方法区分系统的逻辑和物理结构并描述这两种结构的静态和动态语义。Booch方法是一个演化的模型,是一种迭代和增量的方法,这种思想也是UML建模技术的基本特点之一。3.2OMT OMT(ObjectModelingTechnique)方法是在实体-关系模型上扩展了类、继承和行为而得到的。OMT方法从三个视角描述系统,相应地提供了三种模型,即对象模型
4、、动态模型、功能模型。3.3OOSE OOSE(Object-OrientedSoftL面向对象建模语言机制4.1UML静态建模机制 1.用例图 用例图描述的是外部执行者所理解的系统功能,其主要元素是用例和执行者。用例是用户与计算机之间的一次典型交互作用,执行者是指用户在系统中所扮演的角色。 2.类图 类图描述类和类之间的静态关系。它是定义其它图的基础。在类图的基础上,状态图、合作图等进一步描述了系统其他方面的特性。 3.对象图 对象图可以看作是类图的一个实例。对象是类的实例,对象之间的链接是类之间的关联的实例。 4.包 包是
5、UML中的分组机制。包描述了怎样将大系统拆分成小系统,是将许多类集合成一个更高层次的单位,从而形成一个高内聚、低耦合的类的集合。 5.构件图 构件图描述代码部件的物理结构及各部件之间的依赖关系。它包含逻辑类或实现类的有关信息,可以用来显示编译、链接或执行时构件之间的依赖关系。 6.配置图 配置图描述系统硬件的物理拓扑结构以及在此结构上执行的软件。它常常用于帮助理解分布式系统。4.2UML动态建模机制 1.顺序图 顺序图用来描述对象之间的动态的交互关系,着重体现对象间消息传递的时间顺序。 2.状态图 状态图描述类的对象所有可能的状
6、态以及事件发生时状态的转移条件。一个状态图包括一系列的状态以及状态之间的转移。 3.合作图 合作图描述相互合作的对象间的交互关系和链接关系。 4.活动图 活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。4.3UML的扩展机制 1.约束 约束是对UML元素的语义的扩展,它主要用于增加新的规则或者修改已有的规则。 2.标记值 标记值是对UML元素的特性的扩展,它主要用于在模型元素的规约中创建新的信息。 3.构造 构造型是对UML的词汇的扩展,它主要用于创建与已有的模型元素相似且针对特定问题的新种类的
7、模型元素。5.基于UML的面向对象开发过程5.1开发过程的特点 1.以体系结构为中心:系统的体系结构由一组不同模型的一组视图来表达,主要从系统需求、逻辑元素和物理元素以及系统的结构和行为方面来考虑。 2.用例驱动:UML中使用“用例”来捕获系统的功能需求。 3.增量和迭代:迭代指的是工作流中的步骤,而增量指的是产品的成长。为了更加高效,迭代必须受到控制。5.2开发过程中模式的使用 在近几年中,模式已经成为面向对象领域中的一个重要概念和研究热点。 每个模式描述了一个在环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,
8、可以无数次应用已有的解决方案,无需再重复相同的工作。 在实际开发中,可以借鉴已有的模式,把它们作为一种大粒度的可重用对象,这无疑会大大增加开发的效率
此文档下载收益归作者所有