zoukankan      html  css  js  c++  java
  • UML(Unified Modeling Language,统一建模语言)

    ---------------------------------------------------------UML图:---------------------------------------------------------

    原博客:https://blog.csdn.net/chengqiuming/article/details/91129569

    ---------------------------------------------------------UML四种事物:-------------------------------------------------

        构建事务(静态部分,常见的结构事物:类、接口、用例、协作、组件、节点)

        行为事物(动态部分包括交互、状态机、活动)

        分组事物(UML模型的组织部分)

        注释事物(UML模型中的解释部分)

    ---------------------------------------------------------UML中四种主要的关系:---------------------------------------------------------

        关联(描述不同类元的实例之间的连接)

        依赖(若一个元素的某些特性随某一个独立元素的特性改变而改变)

        泛化(类似于面向对象中的继承关系)

        实现(描述规格说明和其实现的元素之间的连接的一种关系)

    ---------------------------------------------------------------------UML的扩展机制---------------------------------------------------------------------------------

        构造型(带书名号)、约束、标记值

    -----------------------------------------------------------------E—R图-------------------------------------------------------------

        E-R图(Enity Relationship Digram)ERD:数据定义 结构 关系特性

    ---------------------------------------------------------面向对象软件建模概述:---------------------------------------------------------

      面向对象方法的优点:

        1.它与人类习惯的思维方法一致。

        2.稳定性好。

        3.集成了可以复用的思想。 

        4.开发出的软件,具有良好的可维护性。

      面向对象建模技术/对象建模技术(OMT, Object Modelng Technology)

        面向对象需求分析(Object-Oriented Analysis, OOA)常用的UML技术:
            类图、用例图、交互图(顺序图)、状态图等

        面向对象设计(Object-Oriented Design, OOD)

            静态模型:类图、对象图、构件图、部署图;

            动态模型:交互图(顺序图、通信图)、状态图、活动图;

    UML基本构造块:事务、关系、图

    ------------------------------------------------------用例图(关系+用例+参与者+(边界))---------------------------------------------------------

    用例之间的关系:

            泛化关系(当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象为父用例,其他的用例作为子用例,用例间的这种关系称为用例的泛化关系)

            包含关系(当多个用例需要用到同一段行为时,可以把这段共同的行为单独抽象成为一个用例,然后让其他的用例来包含这一用例

            扩展关系

    ----------------------------------------------------

            用例的粒度:用例包含的系统服务或者功能单元的多少。用例的粒度越大,包含功能越多,反之。

            (如果用例数目过多会造成用例模型过大和引入设计困难大大提高。如果用例数目过少会造成用例的粒度太大,不便于进一步的充分析,使用时看情况

    ----------------------------------------------------

            构建用例模型:用例图:确定系统中所包含的参与者、用例和两者之间的对应关系,用例图描述的是关于系统功能的一个概述。

                   用例规约:描述用例的细节内容,针对每一个用例都应该有一个用例规约文档与之对应。

    ----------------------------------------------------

          用例图的作用及组成:(消除歧义,达成共识,主要是客户与设计人员)

          用例图组成元素:

              参与者(系统外部,是直接与系统进行交互的外部实体的抽象。还可以是其他系统,for instance 硬件设备、时钟等)【图标表示法(人),标签表示法(其他玩  意)】

              1.位于系统边界之外2.直接且主动的向系统发出动作并获得反馈。  

     -------------------------

        用例(对一组动作序列的描述,系统执行动作序列来为参与者产生一个可观察的结果值,相同的用例在一个系统中只存在一个)【椭圆形表示,内部或者是下方】

         用例的确定:

              参与者希望系统提供什么功能?

              参与者是否会读取、创建、修改、删除、存储系统中的某种信息

              参与者是否会将外部的某些事件通知给系统

              系统中发生的事件是否通知给参与者

              是否存在影响系统的外部事件

        用例的特征:

              用例必须位于系统边界内部(从外部用户角度出发用户所提供的功能和服务,定义了系统的行为特征)

              用例是以动宾短语形式出现的(用例表达是一次完整的人机交互序列,)

              用例是相对独立的(在功能上必须是完备的,不能完整实现参与者目的的行为不能称之为用例)

              用例的执行结果对参与者来说是可观测且有意义的(用例描述参与者与系统之间的交互行为,而非内在系统活动,用例为业务功能,而非处理过程)

              用例是由参与者启动的(用例不应该自动启动,也不应该主动启动另外一个用例,每个用例至少拥有一个参与者)

              

    -------------------------

        系统边界

     -------------------------

    用例图之间的关系:

          依赖关系 (包含和扩展):包含关系(Include)是指一个用例可以简单的包含其他用例具有的行为(被包含用例的事件流可以插入其他基础用例的事件流中)【带虚线的箭头,指向被包含的用例】。1.多个用例同时使用到同一段必须行为  2.某一个用例功能过多,事件流过于复杂          参与者不允许直接使用包含用例,如果没有包含用例,基本用例是不完整的 被包含用例可以独立存在 包含用例就是被包含用例

                      扩展关系(Extend)是指一个用例(扩展用例)扩充了另外一个用例(基础用例)的功能(只有在满足特定条件的情况下才会被执行)【带箭头的虚线,扩展用例指向基础用例】1.用例使用到一段用于增强自身功能的可选行为  没有扩展用例,基础用例也是完整的,可以独立执行。 扩展用例必须依赖基础用例

    -----------------------------

          泛化关系(编程里面的继承):存在于参与者之间也存在于用例之间(描述了参与者之间特殊与一般的关系,特化用例(子用例)与一般化用例(父用例)之间的关系)【带空心三角箭头实线,指向超类参与者(最基本),子用例指向夫用例】1.多个用例在行为、结构和目的方面存在共性。

    -----------------------------

            泛化与包含共同点:

                    从现有的用例的事件流中抽取共有部分,服用现有用例。

            泛化与包含区别:

                    泛化用例是整体相似,子用例启动,父用例不一定被执行。

                    包含是部分相似,基础用例启动,被包含用例必然执行。

    --------------------

          关联关系:参与者与用例之间的关系(最重要的关系,消息的传递时双向的)【带箭头的实线,一般来说,从参与者指向用例(如果是设备被使用,是用例指向设备),不带方向的也没问题,指向的是被用的】

    ----------------------------------------------------------------------------------------------------------------------

    1. 根据描述,为“图书借阅系统”建立用例图。
    系统的借阅者为学生和教师,系统为借阅者提供查询图书、借阅图书、归还图书的服务。学生最多可借
    阅 5 本,教师最多可借阅 20 本。在借阅和归还图书 时,要先”验证借阅者的身份”。归还图书时,如果超
    期,要进行罚款。如果教师想借阅的书已被借空,教师还可以通过预约图书的服务预约该书, 预约后可优
    先借阅该书。
  • 相关阅读:
    前端-html/css
    数据结构-python
    接口测试-并发处理
    接口测试-高级运用
    接口测试-模拟网络请求
    接口测试-基础
    Jenkins-基础
    appium安装及环境搭建、入门
    Week12-unittest单元测试
    Redis在windows下安装与配置
  • 原文地址:https://www.cnblogs.com/Angfe/p/13634808.html
Copyright © 2011-2022 走看看