第六题 包图

重要概念:

1、包图(package Diagram)

  由若干个包以及包之间的关系组成。包是一种分组机制,其将一些相关的类集合为一个包,形成高内聚低耦合的类集合,可以说,一个包相当于一个子系统

2、简要介绍:

  包图是一种维护和描述系统总体结构的模型的重要建模工具,通过对包中各个包以及包之间关系的描述,展现出系统的模块与模块之间的依赖关系。在面向对象软件开发的视角中,类显然是构建整个系统的基本构造块。但是对于庞大的应用系统而言,其包含的类将是成百上千,再加上其间“阡陌交纵”的关联关系、多重性等,必然是大大超出了人们可以处理的复杂度。这也就是引入了“包”这种分组事物构造块。

  包的名字:

每个包都必须有一个区别于其他包的名字。模型包的名字是一个字符串,可以分为简单名和路径名

简单名:指包仅含一个简单的名称。

路径名:指以包位于的外围包的名字作为前缀。

3、包图的作用:

  包图可以描述需求,设计的高阶概况;包图通过合理规划自身功能反应系统的高层架构,在逻辑上将系统进行模块化分解;包图最终是组织源码的方式。

  一个包图可以由任何一种UML图组成,通常是UML用例图或是UML类图。

  包被描述成文件夹,可以用于UML任何一种的图上。

4、UML之间的关系:

  依赖:用带有箭头的虚线表示,箭头指向被依赖的包

5、UML包图使用说明

  对成组元素建模

  ◆每个包都应该是在概念、语义上相互接近的元素组成;

  ◆对每个包找出应标记为公共的元素,但应尽可能地少;

  ◆一般使用默认的《use》构造型,在映射到编程时考虑明确《import》构造型;

  ◆考虑采用泛化来对特殊包进行建模。

  ◆在表示这种模型时,注意只标明对每个包都起核心作用的元素;另外也可以标识每个包的文档标记值,以使其更加清晰

  对体系结构建模

  ◆对体系结构进行建模(程序分层),是UML包图更有意义的一个用途。体系结构是一个软件系统的核心逻辑结构

  ◆常用的体系结构模式包括分层、MVC、管道、黑板、微内核等,而在应用软件中,分层和MVC

5、信息系统逻辑架构中常见的层

  UI、Application、Domain、Business Infrastructure、Technical Service、Foundation

6、MVC架构

  MVC全名是Model View Controller,是模型(model)视图(view)控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

7、MVC分层介绍

  MVC是三个单词的首字母缩写,它们是Model(模型)、View(视图)和Controller(控制)。

  这个模式认为,程序不论简单或复杂,从结构上看,都可以分成三层。

  1)最上面的一层,是直接面向最终用户的"视图层"(View)。它是提供给用户的操作界面,是程序的外壳。

  2)最底下的一层,是核心的"数据层"(Model),也就是程序需要操作的数据或信息。

  3)中间的一层,就是"控制层"(Controller),它负责根据用户从"视图层"输入的指令,选取"数据层"中的数据,然后对其进行相应的操作,产生最终结果。

绘制要点:

  具体方法:http://blog.csdn.net/cjr15233661143/article/details/8452603

         http://blog.csdn.net/xujiaolf/article/details/8557686

       http://www.ruanyifeng.com/blog/2007/11/mvc.html (MVC架构介绍)

  网上对包图的介绍不如其他图解释的详细,找了几篇可以作为参考,不过题中要求的是MVC架构,所以了解包的简单概念,再看最后一篇中的对MVC的简介就可以画图啦!

注意事项:

  我想实现这一个场景,请使用MVC模式生成一个层次架构,请你用一个包图来表示这个层次架构,并把场景里面的元素填到包里面去。

  有3个包,一个叫M(模型),一个叫V(视图),一个叫C(控制器)。

  把每个包里面涉及到的东西添加到包里面。

  1、包图的M里面的元素全都来自领域模型里面。

  2、临时变量都属于控制层,动作的命名规则是在动作后面加个Action或者Controller,一个用例就一个控制器

  3、用例中出现的界面都属于V

  对一个用例画包图就是把这个用例的领域模型里面的元素填到M(domain layer)和C(controller)包里面,然后给界面起个名字,然后写在V(UI)包里面即可。(老师没说要画包之间的关系,他自己画的图也没有画关系,所以干脆还是不要画了吧)

  如果有外部支持资源,写在foundation包里面就可以了。

试题答案:

           

UML期末复习题——2.6:Package Diagram的更多相关文章

  1. UML期末复习题——2.8:UML Design Class Diagram(DCD)

    第八题:设计类图 重要概念: 1. 类图(Class Diagram): 类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础.类图主要是用来显示系统中的类.接口以及它们之间的静态结构和关系 ...

  2. UML期末复习题——2.9:UML Deployment Diagram

    附加题:部署图 重要概念: 1. 部署图 部署图表示的是,如何将具体的软件制品(例如可执行文件)分配到计算节点(具有处理服务的某种事物)上.部署图表示了软件元素在物理架构上的部署,以及物理元素之间的通 ...

  3. UML期末复习题——2.7:UML Sequence Diagram

    第七题:顺序图 重要概念: 1. 顺序图的主要介绍,在之前对第5题“系统顺序图”的解析讲解里已经很详细了,在这里只是对部分不全面的内容进行补充. 第五题:系统顺序图&后置条件 http://w ...

  4. UML期末复习题——2.5:System Sequence Diagram & Post-condition

    第五题:系统顺序图 重要概念: 1.对象: 对象是特定行为与属性的集合. 对象的表示方式有三种: a.包括对象名和类名 b.只有类名. c.只有对象名 2.消息表示形式: 消息用于描述对象间交互的方式 ...

  5. UML期末复习题——2.3:UML State Diagram

    第三题  状态图 重要概念: 1.定义:事件.状态和转换: 事件:指一件值得注意的事情的发生. 状态:指对象在事件发生之间某时刻所处的情形. 转换:两个状态之间的关系.它表明当某事件发生时,对象从先前 ...

  6. UML期末复习题——2.2:UML Activity Diagram.

    第二题:活动图 重要概念: 活动图:一种有助于使工作流和业务过程可视化的图. 绘制要点: 具体方法见:http://www.cnblogs.com/xiaolongbao-lzh/p/4591953. ...

  7. UML期末复习题——2.1:Use Case Diagram

    第一题:用例图 重要概念: 1.采用参与者和参与者目标的观点: 一组用例实例,每个实例是系统所执行的一系列活动,以此产生对特定参与者具有价值的客观结果. 短语“对特定参与者具有价值的客观结果”是细微而 ...

  8. UML期末复习题——2.4:Domain Model

    第四题:领域模型 重要概念: 1. 领域模型:是对领域内的概念类或现实世界中对象的可视化表示.领域模型也称为概念模型,领域对象模型和分析对象模型. 2. 应用UML表示法,领域模型被描述为一组没有定义 ...

  9. UML期末复习题

    看了网上的各种UML图的相关资料,找到的都是差不多一样的对图的基本介绍.之前复习的时候也想对不同UML图单独进行复习总结,后来发现这样复习好像没什么用,不能理解每个图之间的关系,所以就没有进一步总结. ...

随机推荐

  1. Java Socket编程----网络基础

    详见:https://www.cnblogs.com/rocomp/p/4790340.html Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而 ...

  2. openstack安装部署——计算服务(控制节点&计算节点)前言

    1.前言Openstack计算服务通过认证服务获取认证:通过镜像服务获取镜像:通过仪表盘提供的用户界面与用户交互.镜像的存取受工程和用户的限制,配额受工程的限制(例如不同工程允许虚拟机实例数量不同). ...

  3. 阿里P7分享如何面对枯燥的源码

    一个软件开发人员,工作到了一定的年限(一般是3.4年左右),如果他还没学会阅读源码,那么他就会遇到瓶颈.因为到了这个时候的开发,他应该不仅仅只会做那些 CURD 的业务逻辑,而应该会根据公司的实际情况 ...

  4. 6.Hbase 原理

    2 HBase体系结构 2.1 设计思路 HBase是一个分布式的数据库,使用Zookeeper管理集群,使用HDFS作为底层存储.在架构层面上由HMaster(Zookeeper选举产生的Leade ...

  5. 【转】xshell 5评估期已过,不能访问的解决方案

    原文:https://blog.csdn.net/u010826617/article/details/79165540 重新安装Home & school 版本,原来访问的服务器信息不会丢失 ...

  6. Python多线程爬虫爬取网页图片

    临近期末考试,但是根本不想复习!啊啊啊啊啊啊啊!!!! 于是做了一个爬虫,网址为 https://yande.re,网页图片为动漫美图(图片带点颜色........宅男福利 github项目地址为:h ...

  7. 将字符串s='ab34aa243dd78eww89' 处理为 '**34**243**78***89',然后对数字求和,结果为'**7**9**15***17'

    s='ab34aa243dd78eww89'#s='ab34aa000dd78eww89' #方法1: result='' for i in s: if i.isalpha(): result+='* ...

  8. 如何在jupyter中安装R

    地址:(http://irkernel.github.io/installation/) 第一步:在R中安装必备包 install.packages(c('repr', 'IRdisplay', 'e ...

  9. CentOS7主机SSH连接失败

    说来话长,之前20刀一年买bandwagon的廉价VPS,由于做了一些违法的事情,导致ip被封了. 检测ip被封的方法:进入ping.chinaz.com:输入IP地址,如果国外节点能够Ping通而国 ...

  10. Shiro-Subject 分析(转)

    Subject反正就好像呈现的视图.所有Subject 都绑定到SecurityManager,与Subject的所有交互都会委托给SecurityManager:可以把Subject认为是一个门面: ...