系统架构师-基础到企业应用架构-系统建模[下篇]

简介:
一、上章回顾

       上一篇:系统架构师-基础到企业应用架构-系统建模[中篇](下) 中我们主要讲解了部署图、活动图,我们在这里也是参考上篇的形式,这里不再详细介绍。上篇主

要讲解了下面2类建模图:

     image

二、摘要

       本文将讲解其他的几个类型的建模图当然只是简单的讲解,并且将结合B2C电子商城系统进行分析通过使用我们已经讲解的建模图为例。分析系统可划分的子功能

模块,每个功能模块内部的运行步骤等等。

       image image

       上面的2个不同类型的进行划分的建模图,本章将对上述6个建模图进行分别举例讲解。

三、本章内容

       1、上章回顾。

       2、摘要。

       3、本章内容。

       4、结构图。

       5、行为图。

       6、本章总结。

       7、系列进度。

       8、下篇预告。

四、结构图

      1、对象图

        首先、我们闲来讲解对象图。对象图用来描述系统的各个对象在某一时刻的状态。对象和类图一样他们是静态结构图。他们是从实际的或者原型化的场景去表达

的。对象图显示了某一时刻对象与对象的关系。一个对象图可以看作类图的特殊用例,类图中的关系同样适用在对象图中。可以这样理解,对象图就是类图的实例。对

象图是有生命周期的,因此对象图只在某个时间段内存在。

        对象图中的元素在类图中都可以找到,只是把类图中的类元素换成对象即可。而类图中类元素之间的关系,在对象图中同样适用。这里不在复述。如果对类图不

是特别的熟悉,请看这篇文章中的讲解:系统架构师-基础到企业应用架构-系统建模[上篇]。


        下面讲解对象图的举例:        image 这里的对象是指某个类的实例。

        image 这样的格式表示了某个类的实例的格式,冒号“:”后面跟着类名,也就是这里的“父类”。另外还必须加上下划

线。

        对象首先是一个确定,所以一般情况下,对象属性一般把值直接列出来。如下形式:

        image

        对象图中的所有的对象名可以为空,但是为了更好的标识对象图中的对象,不建议这么做,并且如果未指定对象名那么必须指定该对象所属的类格式如下:

        image 没有对象名的对象实例。

        下面以B2C中的订单系统中的新订单的状态为例,讲述下各对象的状态。

        image 这里的关系表示的是组合关系

        上图中的订单信息的状态:订单(新订单)-物流信息(未发货)-支付信息(未支付)-产品状态(产品信息)。

      2、包图

        包图就是由包与包之间的关系组成的。

        包图也是一种静态结构,包可以拥有的元素:

        image

        我想上面的元素大家都是有所了解的,我这里就不一样举例说明了,下面通过一个例子来显示如何使用包图。

        包的访问限制:与我们平时了解的3个访问权限设置关键字用法相同。

        image

       包与包之间的关系:

       a、引入与访问依赖:首先这个关系与平时我们说的类的继承关系是不同的.包括包的访问域不能继承。

       image 用于在一个包中引入另一个包输出的元素,因此A依赖B,包A引入包B中的B方法。B这里的访问权限是公共的。A中的方法是保护的。

       b、泛化关系:       

       image 泛化关系描述了一种继承关系。即基类与特殊类之间的关

系,途中描述的意思是只要是包A出现的位置都可以用包B替换。

      3、组合结构图

        组合结构图:以结构化的方式给出类型的内部结构。组合结构图是一种静态结构,它显示了一个类型内部的成员及成员之间的关系。组合结构图可以这样理解,

就是描述类的内部结构及成员之间的调用关系的建模图。组合结构图用于扑捉类的内部细节,描述了对象如何在某个类中协同工作。

       组合图中其实就是描述类的内部的结果,基本上的元素有:类、对象,其他等,具体的关系请参考类图中的关系。

       组合图实例:

       image 上图显示了产品与产品品牌与产品分类的组合关系。产品品牌与产品分类是关联关系(关联关系可

以是1:N),通过一条直线来链接。如果有不清楚的地方请看类图的相关介绍::系统架构师-基础到企业应用架构-系统建模[上篇]。


五、行为图


      1、通信图


        在UML建模中除了顺序图(序列图)可以表示对象之间的交互外,通信图也可以完成通用的描述。一般情况下,二类图可以进行互转。


        首先、我们先来分析下2类图的不同。       image

        我们还是先来看下通信图中的元素:

       image

        上图中的主要组成元素是对象。对象之间的关系,通过链接来完成。然后通过一个带有实体三角形的线段指向要发送消息的对象。

        下面来解释下对象之间的关系。

        image

        image 还有就是消息给自己发送的特殊消息。

        返回消息的类型:

        image

        下面我们来简单举例如何说明:

        image 上图中简单描述了发送邮件的过程。我们可以看出通信图相比顺序图更注重对象之间的

链接关系。我们通过通信图能够知道一个系统中的某个流程中各对象直接的链接关系及传递的完整信息传递过程。

        首先、我们闲来讲解对象图。对象图用来描述系统的各个对象在某一时刻的状态。

      2、时间图

        时间图:主要用来描述一段时间内对象的行为(状态的变化,执行的动作等等)。主要用来模拟即时系统模型。与对象图类似,不同的是时间图描述的一个时间段,而

对象图描述的一个时间点。对象图关心对象的状态,而时间图关心的是对象的行为。

        image 这里设置了定时器之后,对象的状态将会从A,在定时器时间到达后自动的跳转

到状态B。这里表示的是定时器来控制状态的迁移。

       时间图中支持异步信息,时间图采用垂直图的方式来描述系统的执行顺序。

       时序图等于是在序列图(顺序图上)加上时间的限制就构成了时间图。

       image 从垂直的角度来看,就是说A调用B先于B返回值给A,从时间图上就可以清晰的看出来对象的行

为。 一般情况下我们可以通过序列图来完成相应的描述。除非需要定义一个时间段的对象时才会用到时间图。包括某个对象到某个对象的调用都可以通过时间限制来进

行行为的控制等。

六、本章总结。

        本章中主要简单的讲述了几类UML2.0语言相比UML1.0新增的几类建模图,虽然我们平时可能用的比较少,但是某些特定的领域范围,通过这些图可能更能清晰的

表达抽象模型。

         1、对象图:描述系统在某一时刻的状态。

         2、包图:描述系统中的某个模块的内部组成结构,是由元素及元素之间的关系构成的。

         3、组合结构图:以结构化的方式描述了系统中的某个类型的内部结构。

         4、通信图:描述了对象之间的交互与顺序图不同的是,交互图更关注对象之间的链接及通信。

         5、时间图:描述了在一个时间段内的对象的行为。

        当然具体的建模图如何使用及在实际的项目中如何去应用分析,这才是最主要的目的,当然这就需要理论结合实际来达到学以致用的效果。下一篇,我讲专门的讲

解针对B2C电子商城为例,详细的剖析UML建模的具体应用。七、系列进度。


     前篇


      1、系统架构师-基础到企业应用架构系列之--开卷有益


      2、系统架构师-基础到企业应用架构-系统建模[上篇]


      3、系统架构师-基础到企业应用架构-系统建模[中篇](上)


      4、系统架构师-基础到企业应用架构-系统建模[中篇](下)


      5、系统架构师-基础到企业应用架构-系统建模[下篇]


      6、系统架构师-基础到企业应用架构-系统设计规范与原则[上篇]


      7、系统架构师-基础到企业应用架构-系统设计规范与原则[下篇]


      8、系统架构师-基础到企业应用架构-设计模式[上篇]


      9、系统架构师-基础到企业应用架构-设计模式[中篇]


      10、系统架构师-基础到企业应用架构-设计模式[下篇]


     中篇


      11、系统架构师-基础到企业应用架构-企业应用架构


      12、系统架构师-基础到企业应用架构-分层[上篇]


      13、系统架构师-基础到企业应用架构-分层[中篇]


      14、系统架构师-基础到企业应用架构-分层[下篇]


      15、系统架构师-基础到企业应用架构-表现层


      16、系统架构师-基础到企业应用架构-服务层


      17、系统架构师-基础到企业应用架构-业务逻辑层


      18、系统架构师-基础到企业应用架构-数据访问层


      19、系统架构师-基础到企业应用架构-组件服务


      20、系统架构师-基础到企业应用架构-安全机制


     后篇


      21、单机应用、客户端/服务器、多服务、企业数据总线全解析


      22、系统架构师-基础到企业应用架构-单机应用(实例及demo)


      23、系统架构师-基础到企业应用架构-客户端/服务器(实例及demo)


      24、系统架构师-基础到企业应用架构-多服务(实例及demo)


      25、系统架构师-基础到企业应用架构-企业数据总线(实例及demo)


      26、系统架构师-基础到企业应用架构-性能优化(架构瓶颈)


      27、系统架构师-基础到企业应用架构-完整的架构方案实例[上篇]


      28、系统架构师-基础到企业应用架构-完整的架构方案实例[中篇]


      29、系统架构师-基础到企业应用架构-完整的架构方案实例[下篇]


      30、系统架构师-基础到企业应用架构-总结及后续


八、下篇预告。


       下一篇将会已我比较熟悉的B2C电子商城来深入的剖析,如何使用UML建模工具去分析一个系统及如何分析一个模块的流程,包括部署等等。通过我们已经讲过的


UML建模图形来结合实例来讲解。如果大家有好的意见和建议可以及时反馈,谢谢您的宝贵意见。


后语


       希望看完本章的朋友可以从本篇中学到相应的UML建模知识,懂的人可以巩固下UML知识,本篇希望能够抛砖引玉,希望大家能够多提出宝贵意见。由于是本人


平时工作中的理解与总结,不足之处再所难免,还请大家批评指出!如果您有什么意见或建议,请多多提出!大家的支持就是我的最大动力!





本文转自何戈洲博客园博客,原文链接:http://www.cnblogs.com/hegezhou_hot/archive/2010/09/16/1828169.html,如需转载请自行联系原作者

目录
相关文章
|
2月前
|
监控 持续交付 API
深入理解微服务架构:构建高效、可扩展的系统
【10月更文挑战第14天】深入理解微服务架构:构建高效、可扩展的系统
86 0
|
1天前
|
人工智能 前端开发 编译器
【AI系统】LLVM 架构设计和原理
本文介绍了LLVM的诞生背景及其与GCC的区别,重点阐述了LLVM的架构特点,包括其组件独立性、中间表示(IR)的优势及整体架构。通过Clang+LLVM的实际编译案例,展示了从C代码到可执行文件的全过程,突显了LLVM在编译器领域的创新与优势。
17 3
|
6天前
|
机器学习/深度学习 存储 人工智能
【AI系统】模型演进与经典架构
本文探讨了AI计算模式对AI芯片设计的重要性,通过分析经典模型结构设计与演进、模型量化与压缩等核心内容,揭示了神经网络模型的发展现状及优化方向。文章详细介绍了神经网络的基本组件、主流模型结构、以及模型量化和剪枝技术,强调了这些技术在提高模型效率、降低计算和存储需求方面的关键作用。基于此,提出了AI芯片设计应考虑支持神经网络计算逻辑、高维张量存储与计算、灵活的软件配置接口、不同bit位数的计算单元和存储格式等建议,以适应不断发展的AI技术需求。
20 5
|
15天前
|
传感器 算法 物联网
智能停车解决方案之停车场室内导航系统(二):核心技术与系统架构构建
随着城市化进程的加速,停车难问题日益凸显。本文深入剖析智能停车系统的关键技术,包括停车场电子地图编辑绘制、物联网与传感器技术、大数据与云计算的应用、定位技术及车辆导航路径规划,为读者提供全面的技术解决方案。系统架构分为应用层、业务层、数据层和运行环境,涵盖停车场室内导航、车位占用检测、动态更新、精准导航和路径规划等方面。
66 4
|
25天前
|
前端开发 安全 关系型数据库
秒合约系统/开发模式规则/技术架构实现
秒合约系统是一种高频交易平台,支持快速交易、双向持仓和高杠杆。系统涵盖用户注册登录、合约创建与编辑、自动执行、状态记录、提醒通知、搜索筛选、安全权限管理等功能。交易规则明确,设有价格限制和强平机制,确保风险可控。技术架构采用高并发后端语言、关系型数据库和前端框架,通过智能合约实现自动化交易,确保安全性和用户体验。
|
2月前
|
存储 数据管理 调度
HarmonyOS架构理解:揭开鸿蒙系统的神秘面纱
【10月更文挑战第21天】华为的鸿蒙系统(HarmonyOS)以其独特的分布式架构备受关注。该架构包括分布式软总线、分布式数据管理和分布式任务调度。分布式软总线实现设备间的无缝连接;分布式数据管理支持跨设备数据共享;分布式任务调度则实现跨设备任务协同。这些特性为开发者提供了强大的工具,助力智能设备的未来发展。
96 1
|
2月前
|
存储 监控 负载均衡
|
17天前
|
缓存 负载均衡 JavaScript
探索微服务架构下的API网关模式
【10月更文挑战第37天】在微服务架构的海洋中,API网关犹如一座灯塔,指引着服务的航向。它不仅是客户端请求的集散地,更是后端微服务的守门人。本文将深入探讨API网关的设计哲学、核心功能以及它在微服务生态中扮演的角色,同时通过实际代码示例,揭示如何实现一个高效、可靠的API网关。
|
15天前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####
|
16天前
|
Dubbo Java 应用服务中间件
服务架构的演进:从单体到微服务的探索之旅
随着企业业务的不断拓展和复杂度的提升,对软件系统架构的要求也日益严苛。传统的架构模式在应对现代业务场景时逐渐暴露出诸多局限性,于是服务架构开启了持续演变之路。从单体架构的简易便捷,到分布式架构的模块化解耦,再到微服务架构的精细化管理,企业对技术的选择变得至关重要,尤其是 Spring Cloud 和 Dubbo 等微服务技术的对比和应用,直接影响着项目的成败。 本篇文章会从服务架构的演进开始分析,探索从单体项目到微服务项目的演变过程。然后也会对目前常见的微服务技术进行对比,找到目前市面上所常用的技术给大家进行讲解。
35 1
服务架构的演进:从单体到微服务的探索之旅