`
terryfeng
  • 浏览: 504977 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

什么是包

包可直接理解为命名空间,文件夹,是用来组织图形的封装,包图可以用来表述功能组命名空间的组织层次。

•在面向对象软件开发的视角中,类显然是构建整个系统的基本构造块。但是对于庞大的应用系统而言,其包含的类将是成百上千,再加上其间“阡陌交纵”的关联关系、多重性等,必然是大大超出了人们可以处理的复杂度。这也就是引入了“包”这种分组事物构造块。

•包的作用是:
1)对语义上相关的元素进行分组;
2)定义模型中的“语义边界”;
3)提供配置管理单元;
4)在设计时,提供并行工作的单元;
5)提供封装的命名空间,其中所有名称必须惟一

在VS2010中,就用文件夹直接代表包

在EA中可以想下面这样新建包

image

•名称:每个包都必须有一个与其它包相区别的名称

•拥有的元素:在包中可以拥有各种其它元素,包括类、接口、构件、节点、协作、用例,甚至是其它包或图

image

可见性

•包的可见性:

用“+”来表示“public”,

用“#”来表示“protected”,

用“-”来表示“private”

image

上图解释

•首先根据《use》关系,可以发现Client包使用Server包,Server包使用System.Data.SqlClient包,结合其元素,不难得知Client负责Order(订单)的输入,并通过Server来管理用户的登录(LoggingService)和数据库存储(DataBase),而Server包还将通过.NET的SQL Server访问工具包来实现与数据库的实际交互。

•接着再看两个《import》,从包的命名和其所属的元素不难发现Rule负责处理一些规则,并引用一个具体的窗体(Window),而Client包则通过引用Rule来实现整个窗体和表单的显示、输入等。并且还将暂存Order(订单)信息。

•最后来看包的泛化关系,GUI有两个具体实现,一个是针对C/S的WindowsGUI,一个是实现B/S的WebGUI。

依赖关系

•《use》使用关系:是一种默认的依赖关系,说明客户包(发出者)中的元素以某种方式使用提供者包(箭头指向的包)的公共元素,也就是说客户包依赖于提供者

•《import》引用关系:最普遍的包依赖类型,说明提供者包(箭头指向的包)的命名空间(包本身代表命名空间)将被添加到客户包(发出者)的命名空间中,客户包中的元素也能够访问提供者包的所有公共元素

•《access》访问关系:只想使用提供者包中的元素,而不想将其命名空间合并则应使用该关系

•《trace》追溯关系:想表示一个包到另一个包的历史发展,则需要使用《trace》关系来表示

image

包图绘制原则

•最小化包之间的依赖,最小化每个包中的public、protected元素的个数,最大化每个包中private元素个数

•在建模时应该避免包之间的循环依赖,也就是不能够包含相互依赖的情况,对于这种情况应进行分析:

image

例子描述

•分析系统工作流程:
1)通过Internet连接到股票信息服务器,获取实时的股票信息,并存入数据库中。
2)根据用户的输入和选择,从数据库中获取相应的信息,展现在屏幕中。
3)在数据的展现过程中,将需要绘制大量的图表

•根据功能模块组织包:

分析与功能

.NET支持包

SocketClient

负责连接Internet服务器,获取实时股票信息

System.Net.Sockets

DataAccess

负责从数据库读写实时股票信息

System.Data.Sqlclient

UI

负责响应用户输入和选择,并展现信息

System.Windows.Forms

GraphicGenerate

负责根据数据库的信息生成相应的图表

System.Drawing

包之间的依赖关系

image

包图使用说明

对成组元素建模

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

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

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

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

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

对体系结构建模

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

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

image

阅读资料源自网络PPT

分享到:
评论

相关推荐

    UML 包图 课件

    包图建模技术是指使用UML包图来描述系统的静态结构的方法。包图建模技术可以分为两部分:对成组的元素建模和对体系结构视图建模。 * 对成组的元素建模:首先浏览特定体系结构视图中的建模元素,找出由在概念和语义...

    包图 类图的绘制 包图的绘制 类图和包图的绘制 UML图

    包图是UML中的一种组织结构图,它用来描述系统中的package结构和类之间的关系。包图可以帮助开发者更好地理解系统的 overall 结构和组件之间的关系。在包图中, package 用矩形框表示,类用椭圆形框表示,类之间的...

    航空订票系统UML图

    10. **包图(Package Diagram)**:组织系统中的类和其他元素,形成模块化的结构,有助于管理复杂性并实现代码重用。 通过分析和设计这些UML图,我们可以全面理解航空订票系统的功能、行为和结构,便于开发人员进行...

    UML实践详细经典教程----用例图、顺序图、状态图、类图、包图、协作图

    UML中有九种建模的图标,即:用例图类图对象图顺序图协作图状态图活动图组件图配置图本课程中的某些部分包含了这些图的细节信息的页面链接。而且每个部分都有一个小问题,测试一下你对这个部分的理解。为了回答这个...

    网上购物系统UML图.zip

    网上购物系统UML图是软件开发中用于设计和规划电子商务平台的一种重要工具。UML(统一建模语言)是一种标准化的通用建模语言,它为软件开发者提供了图形化表示系统结构、行为和关系的方法。在这个名为"网上购物系统...

    UML中的包含关系和扩展关系

    在准备软件设计师考试时,不仅需要理解这些概念,还需要掌握如何在UML图中正确地绘制和使用这些关系。这包括了解如何通过调整箭头的方向和位置来表达不同的含义,以及如何在类图、用例图和序列图中使用包含和扩展...

    工资系统UML图

    工资系统的UML图,非常的nice!

    基于uml的公交查询用例图

    **基于UML的公交查询系统分析** UML(统一建模语言)是软件工程领域中一种广泛使用的建模工具,它提供了多种图形表示方法来描绘系统的不同方面。在这个基于UML的公交查询系统中,我们可以从不同的视图来理解系统的...

    网上书店UML

    UML模型通常包括用例图、类图、序列图、状态图和活动图等多种类型。用例图展示了系统的主要参与者(如用户、管理员)以及他们与系统之间的交互;类图则描绘了系统中的对象和类,以及它们之间的关系(如继承、关联和...

    uml网上购物水果店的各种图

    uml网上购物水果店的各种图 uml网上购物水果店的各种图

    学生管理系统UML图合集

    包括了包图,状态图,活动图,时序图,协作图。 分管理员,老师,学生三个角色。 老师可以录入成绩,查看课程,查看评教结果。 学生可以选课,评教,查看课表。 管理员拥有老师和学生的功能,另外还可以注册学生,对...

    校园网上订餐系统UML图RationalRose文件

    网上订餐系统RationalRose制作的UML开发图,.mdl文件,用Rose打开

    UML网上租房系统

    《UML网上租房系统设计详解》 UML(Unified Modeling Language),统一建模语言,是软件工程领域一种广泛使用的建模工具,它为系统分析和设计提供了图形化的表示方法。在“UML网上租房系统”这个项目中,我们可以...

    UML系统设计(学生信息管理系统)

    在本文中,我们将使用 UML 设计学生信息管理系统,涵盖系统的需求分析、静态结构模型、用例图、类图、状态机图、活动图等内容。 1. UML 基础知识 UML(Unified Modeling Language)是统一建模语言,它是一种标准化...

    UML实践报告--校园二手交易系统.pdf

    UML包括多种不同的模型图,如用例图、类图、序列图、活动图等,每种图表都有其特定用途。 2. UML在软件开发生命周期中的应用:UML从需求分析、系统设计到系统实现,都有相应的模型图可以使用。比如,需求分析阶段...

    UML课程设计报告-酒店管理系统.doc

    【UML课程设计报告-酒店管理系统】 本报告主要围绕酒店管理系统的开发,使用统一建模语言(UML)进行系统设计。系统旨在模仿中等规模酒店的运营模式,包括饮食、住宿和娱乐三大核心服务。设计过程中,我们将依据...

    uml建模包图实用教案.pptx

    综上所述,UML包图是一种强大的工具,用于描绘和管理软件开发中的模块化结构,通过清晰地组织和表示模型元素,有助于提升软件设计的可维护性和可扩展性。理解和熟练运用包图是进行高质量软件建模的关键步骤之一。

    用户登录系统 uml图 mdl

    主要包含用户登录系统的用例图,时序图,协作图,包图等

    图书馆管理系统UML图

    该数据是图书馆管理系统中的数据库盘存的UML图

    餐馆订餐系统的UML设计文档

    类图可以展示类的属性、操作和继承关系,而包图则用于表示系统组件的分组和依赖关系。 **详细设计** 详细设计阶段,UML的序列图、协作图、状态图和活动图则更加具体地描绘系统的行为。序列图和协作图用于描述对象间...

Global site tag (gtag.js) - Google Analytics