• 第五章、UML与数据库应用系统


    第五章、UML与数据库应用系统

    版权来源233网校,若有侵权联系shaoyayu0419@qq.com删除
    版权地址:www.233.com

    内容提要:

    1. 了解DBAS建模方法
    2. 了解DBAS业务流程与需求表达式
    3. 了解DBAS系统内部结构的表达式
    4. 了解DBAS系统微观设计的表达式
    5. 了解DBAS系统宏观设计的表达式
    6. 了解DBAS系统实现与部署的表达式方法

    第一节、DBAS建模

    1.1、统一建模语言(UML)

    统一建模语言(UML):Unified Modeling Language

      UML是一种基于面向对象的可视化的通用(General)建模语言,该方法结合了Booch, OMT, 和OOSE方法的优点,统一了符号体系,并从其它的方法和工程实践中吸收了许多经过实际检验的概念和技术。

    UML只是一种建模语言,不是一种建模方法。

      建模方法应包括建模语言和建模过程两部分:

    • 建模语言:提供这种方法用于表示建模结果的符号。(图形符号:可视化)

    • 建模过程:描述建模时需要遵循的步骤。

    1.2、UML的组成

    由语义(自然语言)与表示法(可视化标准符号)组成。

    其语义定义在一个四层建模概念框架中:

      元元模型(Meta-Meta Model),代表要定义的所有事物。

      元模型( Meta Model ),UML的基本元素 ,“事物”概念的实例。

      模型层( Model ),UML的模型,类模型或类型模型。

      用户模型( User Model ),UML模型的实例,对象模型或实例模型。

    1.3、UML的五种视图

    UML的五种视图

    结构、实现、行为、环境和用例视图

    13种图(UML2.0):静态结构图及行为图两类。

    UML介绍

    第二节、DBAS业务流程与需求表达

    2.1、业务流程与活动图

    业务流程与活动图

    活动图主要描述系统、用例和程序模块中逻辑流程的执行次序,并行次序。

    最适合描述系统或子系统的工作流程。

    活动图用于低层次程序模块的作用类似于流程图,但活动图可以描述并行操作,而流程图只能描述串行操作。

    一张活动图中有且只能有一个起点,可有多个结束点。

    例如

    2.2、系统需求与用例图

    系统需求与用例图(用例图通常作为需求分析的功能建模)

      系统需求:用户心中的真正期望。

      用例模型是把满足用户需求的所用功能表示出来的工具。

    用例模型由用例、角色和系统三部分组成。

      系统:各种用例的“黑匣子”

      角色:与系统交互的人或其他实体

      用例:完整功能所有动作(一次操作)集合

    例如:

    角色之间的关系

    通用化关系:指把某些角色的行为抽取出来作为通用行为,这些通用行为构成超类。

    用例与角色之间的关系

    连接关系(关联,通信关联):表明那种角色能与该用例通信,是双向的一对一关系。

    用例之间的关系

    扩展: 一用例增加新内容成为另一个用例。

    包含(使用): 一个用例使用另一个用例。

    关联(组合): 把相关用例打成包当作整体。

    第三节、DBAS系统内部结构的表达

    (隶属于概要设计部分)

    3.1、系统结构与类图

    1、系统结构与类图

      系统内部结构一般分为静态结构和动态结构

      在UML中,用类图来描述系统静态结构,用顺序图和通信图来表示系统动态结构。

      类图主要表达的是问题领域的概念模型。

      类图由类名属性操作组成。

    类与类之间的关系

      关联(聚集(共享聚集,组成或组合)),继承(或叫泛化),依赖,精化(或叫实现)

    3.2、系统结构与顺序图

    系统结构与顺序图

    针对每一个特定用例,如何利用类图规范的对象来完成用例交付的任务,必须要利用顺序图

    顺序图主要用于描述系统内对象之间的消息发送和接收序列。

    顺序图中所有的元素,都必须在类图中存在。

    3.3、系统结构与通信图

    系统结构与通信图

    通信图是交互图的一种,也称为协作图。

    通信图显示对象间组织交互关系和链接。不侧重交互顺序,用序列号来确定消息及其并发线程的顺序。

    顺序图强调时间,通信图强调空间

    第四节、DBAS系统微观设计的表达

    4.1、微观设计与对象图

    系统设计中,需要考虑细节部分。UML中,对于细节方面的内容可用对象图、状态机图及时间图来表达、分析和描述某个特定状况下系统的运作情况。

    对象图是类图的实例,描述特定时间中所有对象在系统中的结构,是一个快照

    4.2、微观设计与状态机图

    状态图用来描述有关事件或对象的状态转移。

    状态图只能有一个起始状态,可有多个结束状态。

    状态间的转移由事件驱动。

    4.3、微观设计与时间图

    当状态的转换由时间因素决定时,使用时间图来描述状态的变化。

    描述时间驱动的状态转换,即当状态维持多少时间后转移。

    时间图中,整个矩形框就是一个生命线。

    第五节、DBAS系统宏观设计的表达

    5.1、宏观设计与包图

    宏观设计指将涉及的焦点放在研究比较大范围中的元素之间的联系,如包、命名空间、子系统等。

    一个良好的命名空间,便于开发人员理解,并使得各个命名空间之间能够松耦合,而命名空间内则可满足高内聚的要求。

    包图表示系统中不同包、命名空间或不同项目间的彼此关系。也就是逻辑层次上与实体层次上的关联性。

    5.2、宏观设计与交互概述图

    是将活动图和顺序图嫁接在一起的图

    以活动图为基础,在控制流间连接交互图,从而将所有交互图关系呈现出来。

    交互概述图可以把不同的交互图结合在同一张图中来表达。

    5.3、宏观设计与复合结构图

    外部系统的整合关系着项目的成败。

    在项目开始前,最好将待开发的系统与外部系统的关系做一个初步的定义。

    复合结构图适用于系统间的沟通接口,适合做构架师在初期阶段评估系统复杂度的工具,也可以是系统维护的参考图。

    第六节、DBAS系统实现与部署的表达

    6.1、系统实现与组图

    组件图用来表示系统的静态实现视图。

    用来展现一组组件间的组织和依赖,用于对源代码、可执行的发布、物理数据库等的系统建模。

    组件是逻辑设计中定义的概念和功能在物理构架中的实现

    6.2、系统实现与部署图

    部署图又叫配置图,描述系统中硬件和软件的物理配置情况与系统体系结构。

    部署图说明实体组件,如可执行程序,将如何部署到实际的计算机中。

    部署图要在项目进行集成测试前提供。

    例题:

    1、

    用UML建立业务模型是理解企业业务的第一步,业务人员扮演业务中的角色及其交互方式,例如航空公司的售票员是业务员,电话售票员也是业务员,它们直接的关系是(  )
    A.关联关系   
    B.泛化关系
    C.聚集关系     
    D.依赖关系
    答案: B
    角色和角色之间的关系一般是泛华关系
    
    

    2、

    统一建模语言UML是一种常用于数据库应用系统设计和开发的可视化建模语言。关于UML,下列说法错误的是(  )
    A.UML中的视图是由一个或多个图组成的,一个图是系统模型中的某个侧面的展示
    B.用例图、顺序图和状态图都是UML的行为视图,用于描述系统的功能和活动
    C.类图和对象图都是UML的结构视图,用于描述系统在某个时间的静态结构
    D.在用例图中,与系统交互的人和其他实体都可以成为系统的角色
    答案:B
    用例图所属用例图
    
    

    3、

    设用UML设计某数据库应用系统,设计人员规划了一组应用程序集,该集合由动态链接库和可执行程序构成。为了展现这些应用程序集间的组织和依赖关系,以对源代码、可执行程序的发布等进行系统建模,应采用的UML图是 (  ) 图。
    答案:组件
    
    

    4、

    在UML中,用例模型由用例、系统和 (  ) 三部分组成。
    答案:角色
    
    

    5、

    在UML中,当要描述状态之间的转换时,可通过(  )图来体现时间因子的作用。
    答案:时间
    
    

    6、

    7、

    在UML模型中,用于表达一系列的对象、对象之间的联系以及对象间发送和接收消息的图是(  )。
    答案:通信图(协作图)
    
    记得加油学习哦^_^
  • 相关阅读:
    python中函数的定义,调用,全局变量,局部变量,函数的嵌套使用初级篇
    逐行解释和整体解释的理解
    python中函数参数的详解,可变参数,关键字参数等
    python中is和==的区别
    python中的模块,以及包的导入的总结
    Python当中的a += a 与 a = a + a 的区别,可变类型与不可变类型的数据类型,引用传参
    学习Java的第七天
    学习Java的第八天
    学习java的第六天
    学习java第二天
  • 原文地址:https://www.cnblogs.com/shaoyayu/p/12355327.html
Copyright © 2020-2023  润新知