{"componentChunkName":"component---src-templates-blog-post-js","path":"/blog/2020-06-07-uml-introduction/","result":{"data":{"markdownRemark":{"id":"05afbf5a-7056-5286-b1a1-55ce2cd5ac85","html":"<p>Unified Modeling Language 统一建模语言</p>\n<p><code>统一</code>建模方法，用于 IT 人员间沟通的语言。UML  本意是成为一种标准语言，但是实际情况下对语言并没有严格的要求，不同团队可能会使用不同的<code>方言</code>。</p>\n<h2>UML 图的分类</h2>\n<h3>静态图</h3>\n<blockquote>\n<p>通过描述类、对象和数据结构以及它们之间存在的关系,来描述软件要素中不变的逻辑结枃。</p>\n</blockquote>\n<ul>\n<li>用例图（Use Case Diagram）</li>\n<li>对象图(Object Diagram)</li>\n<li>类图（Class Diagram）</li>\n<li>组件图（Component Diagram）</li>\n<li>包图（Package Diagram）</li>\n<li>部署图（Deployment Diagram）</li>\n<li>...</li>\n</ul>\n<h3>动态图</h3>\n<blockquote>\n<p>通过描绘执行流程或者实体状态变化的方式,来展示软件实体在执行过程中的变化过程。</p>\n</blockquote>\n<ul>\n<li>协作图（Collaboration Diagram）</li>\n<li>序列图（Sequence Diagram）</li>\n<li>活动图（Activity Diagram）</li>\n<li>状态图（State Diagram）</li>\n<li>...</li>\n</ul>\n<h3>通用模型\b\b\b元素</h3>\n<p><img src=\"/img/uml-element.png\" alt=\"通用模型元素\"></p>\n<p><img src=\"/img/uml-element2.png\" alt=\"通用模型元素\"></p>\n<h3>用例图</h3>\n<blockquote>\n<p>通过对典型用例的分析,使开发者能够有效地了解用户的需求</p>\n</blockquote>\n<p><img src=\"/img/use-case-demo.png\" alt=\"用例\"></p>\n<h4>元素</h4>\n<ul>\n<li>角色（actor）：人、系统   </li>\n<li>用例：椭圆，即功能，动宾短语，做什么</li>\n<li>边界：矩形框,用例的边界 </li>\n</ul>\n<h1>mind</h1>\n<h2>Use Case Diagram</h2>\n<blockquote>\n<p>系统的主要功能是:项目管理,资源管理和系统管理。项目管理包括项目的增加、删除更新。资源管理包括对资源和技能的添加、删除和更新。系统管理包括系统的启动和关闭,数据的存储和备份等功能。</p>\n</blockquote>\n<h3>分析确定系统的执行者（角色）</h3>\n<blockquote>\n<p>项目管理员、资源管理员、系统管理员、备份数据系统。</p>\n</blockquote>\n<h3>确定用例</h3>\n<blockquote>\n<p>项目管理，资源管理和系统管理</p>\n</blockquote>\n<h3>对用例进行分解，画出下层的 Use Case 图</h3>\n<blockquote>\n<p>对上层的用例进行分解，并将执行者分配到各层次的 Use Case 图中。\nUse Case图可以自顶而下不断精化, 抽象出不同层次的 Use Case 图。</p>\n</blockquote>\n<h3>食堂就餐卡系统设计</h3>\n<ul>\n<li>系统中每个消费者都有一张卡，在管理中心注册缴费，卡内记着消费者的身份、余额。</li>\n<li>使用时将卡插入收款机则显示卡上金额，服务员按收款机上数字键，收款机自动计算并显示消费额及余额。</li>\n<li>管理中心的管理员监视每一笔消费，可打印出消费情况的相关统计数据。（打印功能不明确）</li>\n</ul>\n<h4>角色</h4>\n<blockquote>\n<p>用户、服务员、管理员。</p>\n</blockquote>\n<h4>用例</h4>\n<ul>\n<li>注册用户</li>\n<li>用户充值 </li>\n<li>用户消费</li>\n<li>服务员收款</li>\n<li>系统管理员项目管理</li>\n</ul>\n<h2>Deployment Diagram</h2>\n<blockquote>\n<p>部署图用来描述系统硬件的物理拓扑结构以及在此结构上执行的软件,即系统运行时刻的结构。<br>\n部署图中的结点代表某种计算机,通常是某种硬件。同时结点还包括在其上运行的软组件,软件组件代表可执行的物理代码模块。如一个可执行程序。结点的图符是一个立方保险配置填写界保险数据库部署图各结点之间进行交互的通信路径称为连接,连接表示系统中的结点存在着联系,用结点之间的的连线表示连接,在连接的连线上标注通信类型。</p>\n</blockquote>\n<h2>Reference</h2>\n<ul>\n<li><a href=\"https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-uml/\">what is uml</a></li>\n</ul>","frontmatter":{"date":"June 07, 2020","title":"UML Introduction","description":"UML Introduction","tags":["UML"]}}},"pageContext":{"id":"05afbf5a-7056-5286-b1a1-55ce2cd5ac85"}}}