初识UML

    正在看UML视频,从前几集中了解到UML基础知识,总结如下:

    UML(Unified Modeling Language)不是程序设计语言,不是形式化语言,它是可视化的建模语言。UML是支持模块化和软件系统开发的图形化语言,用“图”的形式来表达含义,贯穿于软件开发的各个阶段,用简洁的方式描述需求、功能结构,因此是用户、开发人员和维护人员的沟通桥梁。UML是面向对象提供开发建模的,核心就是抽象、封装、继承、多态。下面文章分面向对象技术UML结构两部分。

   

 一、面向对象技术

      1.面向对象的基本原则:

         抽象:就是系统中有哪些对象,进行抽象,进而得到类。

         封装:静态信息和动态信息的结合,将类的属性和方法封装到黑盒子里,隐藏实现

         模块性:分成若干个子系统,高内聚低耦合

         层次性:在抽象的过程中,注意分层

      2.面向对象技术的基本概念

         对象:概念广泛,可以是物理实体,可以是抽象的概念实体,也可以是软件实体。

         类:有相同的行为、关系和语义的对象描述,对象是类的实例化。

         接口:描述了一个类或构件的一个服务的操作集。只定义操作规范,具体实现要看连接的模块了。

         多态:接收相同的命令后结果不一样。例如:指挥发出一个动作,不同的乐器会发出不同的声音。

         包:逻辑组织单位。抽象时根据层次性原则,包就是比较高层的抽象,比如,package animal 动物包里可以包含狗,猫之类的具体动物。

        关系:关联、依赖、泛化、实现

                *关联:用直线表示,直线上下端可以标明对象之间的关系

                *依赖:用带箭头的虚线表示。依赖就表示“使用”的关系。箭头指向被使用对象,注意箭头的方向。

                *泛化:用带空心三角的实线表示,就是继承,子元素共享父元素的结构和行为,箭头指向父类

                *实现:用带空心箭头的虚线表示,是一种类与接口的关系,表示类是接口所有特征和行为的实现。箭头指向接口


二、UML结构

      1.基本构造块

          *UML中的事物:结构事物、行为事物、分组事物、注记事物

                 结构事物:描述UML模型的静态部分,描述概念或物理元素。包括:类、接口、协作、用例、主动类、构件、节点

                            * 协作:描述了一组事物间的相互作用的集合。

                            * 用例:代表了一个系统或系统的一部分行为,是一组动作序列的集合。

                            * 主动类:是这样的类,其对象至少拥有一个进程或线程,因此它能启动控制活动。

                            * 构件:系统中物理存在,可替换的部件。

                            * 节点:运行时存在的物理元素。

                 行为事物:UML模型的动态部分,包括交互和状态机

                 分组事物:描述事物组织结构,主要是包(把元素组织成组的机制)

                 注记事物:UML模型的解释部分

            **UML中的关系:关联、依赖、泛化、实现

                        (同上面向对象关系)

                                  

                   (聚合和组合关系:是关联关系的一种。聚合关系是整体与部分的关系,且部分可以离开整体而单独存在。比如,汽车和轮胎是整体和部分的关系,轮胎离开汽车依然可以存在;组合关系也是表示整体与部分的关系,但是部分不能离开整体而单独存在。比如,部门是公司的一部分,没有公司部门也不存在了。)

            ***UML图

                 九种图:类图、对象图、状态图、构建图、部署图、协作图、序列图、活动图、用例图

                 搜到一篇文章介绍UML图清晰完整,上链接《UML的九种图+包图》

      2.UML规则

           *命名为事物、关系、图起名

           *范围给一个名称以特定含义的语境

           *可见性怎样让其他人使用或看见名称

           *完整性事物如何正确、一致的相互联系

           *执行运行或模拟动态模型的含义是什么

    小结:敲了一段代码,功能实现了,特别激动,而后学习了编码规则,才发现以前自己敲的代码太不规范;敲完一个系统,学习了软件工程,才发现系统中漏洞百出;文档写完了学习UML后才发现画图工具Rational rose要比word自带工具好用。 大约学习就是不断地推翻自己,更新自己的过程吧。游戏不更新都没人玩,人的知识不更新就会落后,UML学习中。

      

相关推荐
<p> <b><span style="background-color:#FFE500;">【超实用课程内容】</span></b> </p> <p> <br /> </p> <p> <br /> </p> <p> 本课程内容包含讲解<span>解读Nginx的基础知识,</span><span>解读Nginx的核心知识、带领学员进行</span>高并发环境下的Nginx性能优化实战,让学生能够快速将所学融合到企业应用中。 </p> <p> <br /> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b><br /> </b> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b><span style="background-color:#FFE500;">【课程如何观看?】</span></b> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> PC端:<a href="https://edu.csdn.net/course/detail/26277"><span id="__kindeditor_bookmark_start_21__"></span></a><a href="https://edu.csdn.net/course/detail/27216">https://edu.csdn.net/course/detail/27216</a> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 移动端:CSDN 学院APP(注意不是CSDN APP哦) </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 本课程为录播课,课程永久有效观看时长,大家可以抓紧时间学习后一起讨论哦~ </p> <p style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <br /> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <strong><span style="background-color:#FFE500;">【学员专享增值服务】</span></strong> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b>源码开放</b> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化 </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 下载方式:电脑登录<a href="https://edu.csdn.net/course/detail/26277"></a><a href="https://edu.csdn.net/course/detail/27216">https://edu.csdn.net/course/detail/27216</a>,播放页面右侧点击课件进行资料打包下载 </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p>
<div style="color:rgba(0,0,0,.75);"> <span style="color:#4d4d4d;"> </span> <div style="color:rgba(0,0,0,.75);"> <span style="color:#4d4d4d;"> </span> <div style="color:rgba(0,0,0,.75);"> <div style="color:rgba(0,0,0,.75);"> <span style="color:#4d4d4d;">当前课程中商城项目的实战源码是我发布在 GitHub 上的开源项目 newbee-mall (新蜂商城),目前已有 6300 多个 star,</span><span style="color:#4d4d4d;">本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 大部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 商城项目功能的讲解,让大家实际操作并实践上手一个大型的线上商城项目,并学习到一定的开发经验以及其中的开发技巧。<br /> 商城项目所涉及的功能结构图整理如下:<br /> </span> </div> <div style="color:rgba(0,0,0,.75);">   </div> <div style="color:rgba(0,0,0,.75);"> <p style="color:#4d4d4d;"> <img alt="modules" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3N0b3JlL25ld2JlZS1tYWxsLXMucG5n?x-oss-process=image/format,png" /> </p> </div> <p style="color:rgba(0,0,0,.75);"> <strong><span style="color:#e53333;">课程特色</span></strong> </p> <p style="color:rgba(0,0,0,.75);">   </p> <div style="color:rgba(0,0,0,.75);">   </div> <div style="color:rgba(0,0,0,.75);"> <ul> <li> 对新手开发者十分友好,无需复杂的操作步骤,仅需 2 秒就可以启动这个完整的商城项目 </li> <li> 最终的实战项目是一个企业级别的 Spring Boot 大型项目,对于各个阶段的 Java 开发者都是极佳的选择 </li> <li> 实践项目页面美观且实用,交互效果完美 </li> <li> 教程详细开发教程详细完整、文档资源齐全 </li> <li> 代码+讲解+演示网站全方位保证,向 Hello World 教程说拜拜 </li> <li> 技术栈新颖且知识点丰富,学习后可以提升大家对于知识的理解和掌握,可以进一步提升你的市场竞争力 </li> </ul> </div> <p style="color:rgba(0,0,0,.75);">   </p> <p style="color:rgba(0,0,0,.75);"> <span style="color:#e53333;">课程预览</span> </p> <p style="color:rgba(0,0,0,.75);">   </p> <div style="color:rgba(0,0,0,.75);">   </div> <div style="color:rgba(0,0,0,.75);"> <p style="color:#4d4d4d;"> 以下为商城项目的页面和功能展示,分别为: </p> </div> <div style="color:rgba(0,0,0,.75);"> <ul> <li> 商城首页 1<br /> <img alt="" src="https://img-bss.csdnimg.cn/202103050347585499.gif" /> </li> <li> 商城首页 2<br /> <img alt="" src="https://img-bss.csdn.net/202005181054413605.png" /> </li> <li>   </li> <li> 购物车<br /> <img alt="cart" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3QvY2FydC5wbmc?x-oss-process=image/format,png" /> </li> <li> 订单结算<br /> <img alt="settle" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3Qvc2V0dGxlLnBuZw?x-oss-process=image/format,png" /> </li> <li> 订单列表<br /> <img alt="orders" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3Qvb3JkZXJzLnBuZw?x-oss-process=image/format,png" /> </li> <li> 支付页面<br /> <img alt="" src="https://img-bss.csdn.net/201909280301493716.jpg" /> </li> <li> 后台管理系统登录页<br /> <img alt="login" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3QvbWFuYWdlLWxvZ2luLnBuZw?x-oss-process=image/format,png" /> </li> <li> 商品管理<br /> <img alt="goods" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3QvbWFuYWdlLWdvb2RzLnBuZw?x-oss-process=image/format,png" /> </li> <li> 商品编辑<br /> <img alt="" src="https://img-bss.csdnimg.cn/202103050348242799.png" /> </li> </ul> </div> </div> </div> </div>
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页