第六题 包图

重要概念:

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. 阿里云 ecs win2016 FileZilla Server

     Windows Server 2016 下使用 FileZilla Server 安装搭建 FTP 服务 一.安装 Filezilla Server 下载最新版本的 Filezilla Server ...

  2. The openssl extension is missing, which means that secure HTTPS transfers are impossible

    执行命令:curl -sS https://getcomposer.org/installer | php报错如下Some settings on your machine make Composer ...

  3. DNS服务和BIND

    今天我们来介绍一下DNS服务,在大家的印象中DNS可能只是将域名解析为IP地址,可能其他的暂时还不太了解,希望本篇内容能帮助大家. 1.什么是DNS? DNS( Domain Name System) ...

  4. How Many Answers Are Wrong(带权并查集)

    题目 带权并查集的博客~ 题目: 多组输入数据.n,m.你不知道[1,n]内任意区间内值的和. m次询问,a b 是端点,都在n的范围以内 : v表示 [a,b]的区间内值的和.对每次询问,判断v是否 ...

  5. Java基础 与时间日期相关的类:System -Date -SimpleDateFormat -Calendar类 -解决后缀.000Z 的时区问题

    笔记总结: /**与时间相关的类:System_Date_SimpleDateFormat_Calendar类 * 1.system 类下的currentTimeMillis() * 输出从1970年 ...

  6. 2018/7/31-zznu-oj-问题 B: N! 普拉斯 -【求大数的阶乘-ll存不下-然后取尾零的个数输出-暴力模拟】

    问题 B: N! 普拉斯 时间限制: 1 Sec  内存限制: 128 MB提交: 114  解决: 35[提交] [状态] [讨论版] [命题人:admin] 题目描述 在处理阶乘时也需要借助计算器 ...

  7. ArcGIS10.6 通过ArcMap发布二维数据服务。

    ArcGIS版本基本每年都会更新,原来一直用10.2,在ArcMap中发布服务: 最近安装10.6整套系统,发现在ArcMap中输入http:id:6080/arcgis  输入用户名,密码 无法登录 ...

  8. Nginx 配置参数中文说明

    Nginx配置参数中文详细说明: #定义Nginx运行的用户和用户组 user www www; # #nginx进程数,建议设置为等于CPU总核心数. worker_processes ; # #全 ...

  9. 获取mysql一组数据中的第N大的值

    create table tb(name varchar(10),val int,memo varchar(20)) insert into tb values('a', 2, 'a2') inser ...

  10. tomcat——web.xml

    本机tomcat位置:D:\tomcat7\apache-tomcat-7.0.61 web.xml web工程的部署描述文件.在web工程中此文件并不是必须有的. 位置:D:\tomcat7\apa ...