在学习UML的过程中,你可能会遇到UML建模流程这样的问题,这里就向大家详细介绍一下UML建模流程,希望通过本文的介绍你对UML建模流程有一定的了解。
UML建模流程
1.设计
UML建模流程中的设计阶段的任务是通过综合考虑所有的技术限制,以扩展和细化分析阶段的模型。设计的目的是指明一种易转化成代码的工作方案,是对分析工作的细化,即进一步细化分析阶段所提取的类(包括其操作和属性),并且增加新类以处理诸如数据库、用户接口、通信、设备等技术领域的问题。
设计阶段可以分为两个部分:结构设计是高层设计,其任务是定义包(子系统),包括包间的依赖性和主要通信机制。我们希望得到尽可能简单和清晰的结构,各部分之间的依赖尽可能的少,并尽可能的减少双向的依赖关系。
第二部分是详细设计,细化包的内容,使编程人员得到所有类的一个足够清晰的描述。同时使用UML中的动态模型,描述特定情况下这些类的实例之间的行为。
◆结构设计
一个设计良好的系统结构是系统可扩充和可变更的基础。包实际上是一些类的集合。类图中包括有助于用户从技术逻辑中分离出应用逻辑(领域类),从而减少它们之间的依赖性。这就是软件结构设计强调的模块间的高聚合、低偶合的原则。在商业MIS中,存在以下包(或子系统):
用户接口包:用户接口类允许用户访问系统数据和加入新数据。在商业对象中,用户接口包跟商业对象包合作,调用商业对象的操作,实施数据的检索和插入。
商业对象包:包括来自分析阶段的特定领域类。在设计阶段,详细设计这些类,以完整定义他们的操作,支持对数据库的存取。所以,所有商业对象类必须继承数据库包中的类。
数据库包:为商业对象包中的类提供服务,便于永久存储。
实用包:包含系统其他包要使用的服务。
◆详细设计
UML建模流程中详细设计的目的是通过创建新的类图、状态图和动态图,描述新的技术类,并扩展和细化分析阶段"素描"的商业对象类。这些图在分析阶段也曾用过,不过在详细设计阶段,它们是从技术层次上对系统进行更详尽的描述。如分析阶段的用例描述用来验证它们是否在设计阶段都得到处理,而顺序图用来展示系统中每个用例在技术上如何实现,等等。
数据库包:MIS的实现必须有永久存储对象即数据库的支持,因此系统中必须增加数据库层,提供这种服务。目前,市面上有许多商用数据库,有的是真正的面向对象数据库如工程数据库,有的是传统的关系数据库。由于我们只讨论设计方法,不涉及具体的环境,因此,可以抽象一个永久存储类来实现对数据库的通用操作,如存储、更新、删除、查询等。永久类类似于MFC中的基类。
商业对象包:设计阶段的商业对象包即是分析阶段的领域类,需要从实现角度对这些类进行细化,包括如何实现他们之间的关联和行为。所有这些对象类必须从数据库包的永久类中继承而来。分析阶段描述的类的操作,在设计模型中可能被分解成几个操作或者改变名称。因为分析是构造每个类的框架,而设计是对系统的详细说明,因此设计模型中所有类的操作必须定义符号和返回值。图2是经过细化后的商业类图(局部)
在设计阶段,也可细化分析阶段的状态图,更详细的显示状态的变换细节(如图3)。使用状态图可以揭示单个对象在整个系统中的变化细节,对了解和实现关键类有较大的帮助。
此外,还可以使用其他图在实现层上从不同侧面对分析阶段建立的模型进行细化。
用户接口包:用户接口包在其他包的"顶层"。在系统中,它为用户提供信息和支持。由于所有与用户的交互都是通过用户接口实现的,因此UML的动态模型非常适合对GUI包的描述。图4用顺序图描述系统增加新商品用例的动态模型。另一种表示顺序的图是合作图(如图5)。
建立用户接口是设计阶段的一项特殊活动。在商业MIS中,用户接口可以分为功能(系统中的主功能窗口,如采购、库存、销售、统计分析等)、信息(显示系统信息的窗口以及(维护系统的窗口)等三部分。
目前,由于可视化技术的迅速发展,用户界面的设计相对比较简单。一般情况下,应用系统的用户界面由带有菜单条和相应图形的主窗口组成。
2.实现
再来看一下UML建模流程中的实现问题。构造或实现阶段是对类进行编程的过程。可以选择某种面向对象对象编程语言(如Java)作为实现系统的软件环境。Java很容易实现从逻辑视图到代码部件的映射,因为类到Java代码文件之间是一一映射关系。图6是设计模型的部件图,显示逻辑视图到部件视图的一个简单映射。逻辑视图中的包也映射到相应的部件视图中。
在实现阶段中,可以选取下列图的说明来辅助编程:
◆类的规格说明:每个类的规格说明详细显示了必要的属性和操作。
◆类图:显示类的静态结构和类之间的关系。
◆状态图:显示类的对象可能的状态、所需处理的转移以及触发这些转移的操作。
◆包含某个类的对象的动态图(顺序图、合作图、活动图):显示该类的某个方法的实现或别的对象是如何使用该类的对象的。
◆用例图和规格说明:显示系统需求和结果。
编码期间也可能会发现设计模型的缺陷。这时需要开发者修改设计模型。修改设计模型时一定要保持设计模型与编码的一致性,以便将来易于维护。
3.测试和配置
完成系统编码后,需要对系统进行测试,它通常包括:单元测试、集成测试、系统测试和验收测试。在单元测试中使用类图和类的规格说明,对单独的类或一组类进行测试;在集成测试中,使用组件图和合作图,对各组件的合作情况进行测试;在系统测试中,使用用例图,以检验所开发的系统是否满足例图所描述的需求。
系统的配置是实际的交付系统,包括文档和组成模型等。对商业MIS而言,它是一个典型的客户/服务器系统。可以用配置图显示系统的物理结构,如图7所示。从表面上看,配置图能显示系统设备之间的关系以及显示节点跟可执行软件单元的对应关系。然而一旦某个节点内部的对象或可执行部件过多(超过5个),就很难完全用配置图清楚描述这种关系。
4.小结
本文所举的商业MIS系统的UML建模流程可以用图8来描述。其中首先要把握的是如何使用用例技术正确描述系统需求。UML中的类图描述的是系统中类的静态关系,对象图有助于对复杂类的理解。在系统开发过程中,类图可应用于分析、设计和实现阶段。类的包化有助于进行系统结构设计。商业MIS的包分为用户接口包、商业对象包、数据库包,他们之间的关系是前者依赖后者。
UML的动态模型包括状态图、顺序图、合作图以及活动图。在商业MIS中,顺序图对描述商业对象的交互非常有用,是商业MIS分析、设计和实现阶段最重要的支持手段之一。
总之,UML提供的九种视图从不同应用层次和不同角度为系统从系统分析、设计直到实现的提供有力支持。在不同的阶段建立不同的模型,建模的目的也各不相同。
UML为用户建模提供了强大的支持,并提供了很大的自由度。用户在遵循增量迭代开发的原则下,完全可以根据自己所开发系统的特点,在每次迭代的微过程(分析、设计、实现、测试和配置)中,灵活的选用UML所提供的各种图。
在UML应用过程中,选择合适的工具也很重要,对于简单的应用,Visio、MSWord等工具就可以支持各种所需图形的生成。但它们都是静态的图形,都不能支持系统的建模与优化。
未来的软件开发范式将具有以下三个特点:首先,软件开发自动化的程度将越来越高;其次,在所开发的软件中隐藏的差错将越来越少;第三,在新型软件工程环境的支持下,将有能力开发出自适应的软件系统。标准建模语言UML及其集成化支持环境,将为走向这个新范式铺平道路。
分享到:
相关推荐
《UML建模实例大全》是一本深入探讨UML(统一建模语言)在实际项目中的应用的书籍,尤其强调了其在设计模式中的实践。UML作为一种强大的可视化建模工具,是软件开发过程中的重要组成部分,它为系统分析、设计和沟通...
**UML建模实例详解** ...通过深入学习和实践UML建模,开发者能更好地规划、设计和实现软件系统,提高软件质量,降低维护成本。无论是初学者还是经验丰富的专业人士,都应掌握UML这一强大的建模工具。
本文档详细介绍了如何使用Rational Rose软件,针对《课程...在学习和使用Rational Rose进行UML建模的过程中,开发者将对面向对象的软件工程有更深入的理解,掌握如何将复杂系统的需求转化为具体、可操作的设计方案。
本资料“uml建模学习PPT”提供了深入理解和掌握UML图的关键知识点,帮助开发者和项目团队有效地表达软件设计思想。** 在UML体系中,有多种类型的图,每种图都有其特定的用途和含义: 1. **用例图(Use Case ...
最后,09-总结-UML中各种图的建立步骤.ppt对整个UML建模过程进行了归纳,强调了正确创建和使用UML图表的步骤,帮助学习者系统性地应用所学知识。 通过学习这个课程,学员将能够运用UML有效地进行软件设计,提高软件...
在本实验中,我们将深入探讨“UML建模实验设计实验”,主要关注如何利用统一建模语言(Unified Modeling Language,简称UML)来构建图书管理系统和网络教学系统的模型。UML是一种标准化的建模工具,它允许软件开发...
**UML建模**,全称为Unified Modeling Language,即统一建模语言,是软件工程领域中一种用于系统分析和设计的标准化图形表示工具。UML为软件开发团队提供了一种通用的语言,使得开发者、分析师、项目经理等不同角色...
总的来说,"QQ软件的UML建模"是一个全面分析和设计QQ软件的过程,通过UML的各种图表,可以深入理解其功能、架构和工作流程。"QQ软件的UML建模.mdl"文件很可能是这一建模过程的产物,包含了QQ软件设计的关键信息。...
在本实例中,我们将深入探讨如何使用Rose建模工具对四种典型的信息系统——网上选课系统、银行系统、订餐系统以及网上订单处理系统进行全面的UML建模。 1. **用例图(Use Case Diagram)**: 用例图是系统功能需求...
本UML建模手册是一个深入学习UML的重要资源,旨在帮助初学者和经验丰富的开发者更好地理解和应用UML进行系统设计。 **UML的基本概念** 1. **类(Class)**: 类是具有共同属性和行为的对象的模板。在UML中,类通常...
《高校校友平台UML建模报告》是一份深入探讨UML(统一建模语言)在实际项目中的应用的教程,特别针对高校毕业设计。在这个项目中,UML被用来清晰地表述系统的结构和行为,为软件开发提供了一个可视化的设计工具。...
学习UML基础旨在提高软件开发中的沟通效率,为后续深入学习UML打下坚实基础。 总之,UML作为一种强大的建模语言,通过图形和文本结合的方式,使得软件设计的复杂性得以简化,从而促进了软件开发过程中的协同工作和...
**学习UML建模的重要性** 掌握UML建模技术可以帮助开发团队提高沟通效率,减少误解,确保需求的准确传递。它能够提供一种通用的语言,使得团队成员无论来自何种背景,都能理解项目的设计。此外,UML还支持软件的...
在学习UML建模时,你需要掌握如何绘制这些图表,理解它们各自的作用,并能在实际项目中灵活运用。同时,UML还支持扩展,例如,你可以使用注解来添加额外的信息,或者定义自定义的图元和约束。 在“第 15 章 UML建模...
**UML建模最全教程** UML(Unified Modeling Language),即统一建模语言,是软件工程领域一...通过深入学习UML,程序爱好者可以提高自己的专业技能,理解系统设计的本质,从而在实践中创造更加高效、可靠的软件产品。
为了学习UML,可以从以下几方面入手: - **标准文档**:阅读UML官方规范,理解其语法和语义。 - **教科书**:如《UML简明教程》、《UML2实践指南》等,系统学习建模理论。 - **在线课程**:Coursera、edX等平台提供...
《UML基础_用例建模指南.doc》文档是学习UML用例建模的宝贵资料,通过阅读和实践,你可以深入理解如何有效地运用UML来描述和设计系统。同时,参考在线博客如iteye上的文章,可以获取更多实战经验和行业动态。 总结...
《UML建模工具与流程图绘制》是关于软件建模和流程图设计的一份详细讲解资料,适合学习UML和相关工具的使用。本文将深入解析UML建模语言和常用的建模工具,帮助读者理解和掌握建模的核心概念。 UML(Unified ...
首先,实验的目的是让学生掌握UML建模的基本方法,通过实际操作图书管理系统和网络教学系统,了解需求分析、模型建立和系统实现的过程。实验环境则要求使用如Rational Rose或PowerDesigner这样的建模工具。 实验...
综上所述,"UML建模实践案例分析"是学习如何将UML应用于实际数据库管理系统设计的重要资源,能够帮助开发者提高系统设计的可视化和规范性,从而提升软件项目的成功率。通过深入理解并实践这些案例,可以增强对UML的...