文档库 最新最全的文档下载
当前位置:文档库 › uml 什么是包

uml 什么是包

uml 什么是包
uml 什么是包

什么是包

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

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

?包的作用是:

1)对语义上相关的元素进行分组;

2)定义模型中的“语义边界”;

3)提供配置管理单元;

4)在设计时,提供并行工作的单元;

5)提供封装的命名空间,其中所有名称必须惟一

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

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

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

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

?包的可见性:

用“+”来表示“public”,

用“#”来表示“protected”,

用“-”来表示“private”

上图解释

?首先根据《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》关系来表示

包图绘制原则

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

化每个包中private元素个数

?在建模时应该避免包之间的循环依赖,也就是不能够包含相互依赖的情况,对于这

种情况应进行分析:

例子描述

?分析系统工作流程:

1)通过Internet连接到股票信息服务器,获取实时的股票信息,并存入数据库中。

2)根据用户的输入和选择,从数据库中获取相应的信息,展现在屏幕中。

3)在数据的展现过程中,将需要绘制大量的图表

?根据功能模块组织包:

包分析与功能.NET支持包SocketClient 负责连接Internet服务器,获取实时股票信息https://www.wendangku.net/doc/de6011570.html,.S DataAccess 负责从数据库读写实时股票信息System.Data. UI 负责响应用户输入和选择,并展现信息System.Windo GraphicGenerate 负责根据数据库的信息生成相应的图表System.Drawi

包之间的依赖关系

包图使用说明

对成组元素建模

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

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

?一般使用默认的《use》构造型,在映射到编程时考虑明确《import》构造型;?考虑采用泛化来对特殊包进行建模。

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

对体系结构建模

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

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

UML各种图例齐全用例图,类图,状态图,包图,协作图,顺序图详细说明画法和功能

UML各种图例 面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language?),这篇课程的目的是展示出UML的精彩之处. UML中有九种建模的图标,即: ?用例图 ?类图 ?对象图 ?顺序图 ?协作图 ?状态图 ?活动图 ?组件图 ?配置图 本课程中的某些部分包含了这些图的细节信息的页面链接.而且每个部分都有一个小问题,测试一下你对这个部分的理解. 为什么UML很重要? 为了回答这个问题,我们看看建筑行业.设计师设计出房子.施工人员使用这个设计来建造房子.建筑越复杂,设计师和施工人员之间的交流就越重要.蓝图就成为

了这个行业中的设计师和施工人员的必修课. 写软件就好像建造建筑物一样.系统越复杂,参与编写与配置软件的人员之间的交流也就越重要.在过去十年里UML就成为分析师,设计师和程序员之间的“建筑蓝图”.现在它已经成为了软件行业的一部分了.UML提供了分析师,设计师和程序员之间在软件设计时的通用语言. UML被应用到面向对象的问题的解决上.想要学习UML必须熟悉面向对象解决问题的根本原则――都是从模型的建造开始的.一个模型model就是根本问题的抽象.域domain就是问题所处的真实世界. 模型是由对象objects组成的,它们之间通过相互发送消息messages来相互作用的.记住把一个对象想象成“活着的”.对象有他们知道的事(属性attributes)和他们可以做的事(行为或操作behaviors or operations).对象的属性的值决定了它的状态state. 类Classes是对象的“蓝图”.一个类在一个单独的实体中封装了属性(数据)和行为(方法或函数).对象是类的实例instances. 用例图 用例图Use case diagrams描述了作为一个外部的观察者的视角对系统的印象.强调这个系统是什么而不是这个系统怎么工作. 用例图与情节紧紧相关的.情节scenario是指当某个人与系统进行互动时发生的情况.下面是一个医院门诊部的情节. “一个病人打电话给门诊部预约一年一次的身体检查.接待员找出在预约记录本上找出最近的没有预约过的时间,并记上那个时间的预约记录.” 用例Use case是为了完成一个工作或者达到一个目的的一系列情节的总和.角色actor是发动与这个工作有关的事件的人或者事情.角色简单的扮演着人或者对象的作用.下面的图是一个门诊部Make Appointment用例.角色是病人.角色与用例的联系是通讯联系communication association(或简称通讯communication)

uml系统建模与分析设计刁成嘉课后答案

第一章系统建模与分析设计的演变 1、系统建模的三要素:方法、工具和过程 2、软件的分类: 按软件的功能划分:系统软件、支撑软件和应用软件 按软件的规模划分:小型软件、中型软件、大型甚至超大型软件 按软件的工作方式划分:实时处理软件、分时处理软件交互式软件和批处理软件 按软件服务对象的范围划分:一次性使用软件和使用频度较高的软件 按软件失效的影响程度划分:一般性软件和关键性软件 3、软件危机产生的原因主要有两个:一是与软件本身的特点相关;二是软件开发和维护的方法不正确。 4、软件开发过程模型:瀑布模型、渐增模型、演化模型、螺旋模型、智能模型 5、UML的特点:唯一性、连续性、维护性、复用性和逐步完善 6、面向对象的三大重要特征:封装性、继承性和多态性 7、软件开发方法从结构化开发方法、模块化开发方法到面向对象开发方法是一个渐进的演变过程 8、软件生命周期描述了一个软件从定义、开发、使用、维护到服用的全过程 9、面向对象的基本概念有:对象、类急气封装性、多态性、继承性和消息传递 10、软件开发过程由客户端需求分析、系统分析、系统设计和系统实现以测试与维护四个四个阶段组成 11、面向对象系统的开发过程以体系结构为中心,以用例为驱动,是一个反复、渐增的过程 课后习题: A 1、封装是吧对象的属性和操作结合在一起,组成一个独立的对象、 C 2、封装是一种信息隐蔽技术,目的是使对象的生产者和使用者分离,使对象的定义和实现分开。 B 3、面向对象方法中的继承机制使子类可以自动地拥有复制父类全部属性和操作 D 4、使得在多个类中能够定义同一个操作或属性名,并在每一个类中有不同的实现的一种方法是多态性 5、软件按照其工作方式可划分为实时处理软件、分时处理软件、交互式软件和批处理软件。 6、软件生存周期由软件的定义、软件的开发和软件的使用维护和更新换代三部分组成。 7、软件开发模型有瀑布模型、增量模型、螺旋模型、智能模型和快速原型模型等五种主要模型 8、面向对象技术采用以类为中心的封装、继承、多态等不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造。 9、UML的优点是:唯一性、连续性、维护性、复用性和完善性。 第二章统一建模语言UML A 1、UML的五种视图:用例视图、逻辑视图、构件视图、进程视图和配置视图 B 2、UML的三大类模型图是:用例模型图、静态模型图和动态模型图 C 3、用例模型描述的是外部执行者主要用于需求分析阶段 D 4、UML的静态建模机制包括:类图、对象图、包图、构件图、配置图 B 5、UML的动态模型包括4种兔:状态图、活动图、顺序图、合作图 6、软件的开发过程即生命周期划分为开始、详细规划、系统构造、移交四个阶段。

UML实践----用例图、顺序图、状态图、类图、包图、协作图

UML实践----用例图、顺序图、状态图、类图、包图、协作图 2009-01-20 作者:Randy Miller 来源:网络 面向对象的问题的处理的关键是建模问题。建模可以把在复杂世界的许多重要的细节给抽象出。许多建模工具封装了UML(也就是Unified Modeling Language?),这篇课程的目的是展示出UML的精彩之处。 UML中有九种建模的图标,即: ?用例图 ?类图 ?对象图 ?顺序图 ?协作图 ?状态图 ?活动图 ?组件图 ?配置图 本课程中的某些部分包含了这些图的细节信息的页面链接。而且每个部分都有一个小问题,测试一下你对这个部分的理解。 为什么UML很重要? 为了回答这个问题,我们看看建筑行业。设计师设计出房子。施工人员使用这个设计来建造房子。建筑越复杂,设计师和施工人员之间的交流就越重要。蓝图就成为了这个行业中的设计师和施工人员的必修课。 写软件就好像建造建筑物一样。系统越复杂,参与编写与配置软件的人员之间的交流也就越重要。在过去十年里UML就成为分析师,设计师和程序员之间的“建筑蓝图”。现在它已经成为了软件行业的一部分了。UML提供了分析师,设计师和程序员之间在软件设计时的通用语言。 UML被应用到面向对象的问题的解决上。想要学习UML必须熟悉面向对象解决问题的根本原则――都是从模型的建造开始的。一个模型model就是根本问题的抽象。域domain就是问题所处的真实世界。 模型是由对象objects组成的,它们之间通过相互发送消息messages来相互作用的。记住把一个对象想象成“活着的”。对象有他们知道的事(属性attributes)和他们可以做的事(行为或操作behaviors or operations)。对象的属性的值决定了它的状态state。 类Classes是对象的“蓝图”。一个类在一个单独的实体中封装了属性(数据)和行为(方法或函数)。对象是类的实例instances。 用例图 用例图Use case diagrams描述了作为一个外部的观察者的视角对系统的印象。强调这个系统是什么而不是这个系统怎么工作。 用例图与情节紧紧相关的。情节scenario是指当某个人与系统进行互动时发生的情况。下面是一个医院门诊部的情节。 “一个病人打电话给门诊部预约一年一次的身体检查。接待员找出在预约记录本上找出最近的没有预约过的时间,并记上那个时间的预约记录。” 用例Use case是为了完成一个工作或者达到一个目的的一系列情节的总和。角色actor是发动与这个工作有关的事件的人或者事情。角色简单的扮演着人或者对象的作用。下面的图是一个门诊部Make Appointment用例。角色是病人。角色与用例的联系是通讯联系communication association(或简称通讯communication) 角色是人状的图标,用例是一个椭圆,通讯是连接角色和用例的线。 一个用例图是角色,用例,和它们之间的联系的集合。我们已经把Make Appointment作为一个含有四个角色和四个用例的图的一部分。注意一个单独的用例可以有多个角色。

UML系统建模与分析设计课后习题答案

UML系统建模与分析设计 第一章系统建模与分析设计的演变 1、系统建模的三要素:方法、工具和过程 2、软件的分类: 按软件的功能划分:系统软件、支撑软件和应用软件 按软件的规模划分:小型软件、中型软件、大型甚至超大型软件 按软件的工作方式划分:实时处理软件、分时处理软件交互式软件和批处理软件 按软件服务对象的范围划分:一次性使用软件和使用频度较高的软件 按软件失效的影响程度划分:一般性软件和关键性软件 3、软件危机产生的原因主要有两个:一是与软件本身的特点相关;二是软件开发和维护的方法不正确。 4、软件开发过程模型:瀑布模型、渐增模型、演化模型、螺旋模型、智能模型 5、UML的特点:唯一性、连续性、维护性、复用性和逐步完善 6、面向对象的三大重要特征:封装性、继承性和多态性 7、软件开发方法从结构化开发方法、模块化开发方法到面向对象开发方法是一个渐进的演变过程 8、软件生命周期描述了一个软件从定义、开发、使用、维护到服用的全过程 9、面向对象的基本概念有:对象、类急气封装性、多态性、继承性和消息传递 10、软件开发过程由客户端需求分析、系统分析、系统设计和系统实现以测试与维护四个四个阶段组成 11、面向对象系统的开发过程以体系结构为中心,以用例为驱动,是一个反复、渐增的过程课后习题:ACDB 1、封装是吧对象的属性和操作结合在一起,组成一个独立的对象、 2、封装是一种信息隐蔽技术,目的是使对象的生产者和使用者分离,使对象的定义和实现分开。 3、面向对象方法中的继承机制使子类可以自动地拥有复制父类全部属性和操作 4、使得在多个类中能够定义同一个操作或属性名,并在每一个类中有不同的实现的一种方法是多态性 5、软件按照其工作方式可划分为实时处理软件、分时处理软件、交互式软件和批处理软件。 6、软件生存周期由软件的定义、软件的开发和软件的使用维护和更新换代三部分组成。 7、软件开发模型有瀑布模型、增量模型、螺旋模型、智能模型和快速原型模型等五种主要模型 8、面向对象技术采用以类为中心的封装、继承、多态等不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造。 9、UML的优点是:唯一性、连续性、维护性、复用性和完善性。 第二章统一建模语言UML 1、UML的五种视图:用例视图、逻辑视图、构件视图、进程视图和配置视图 2、UML的三大类模型图是:用例模型图、静态模型图和动态模型图 3、用例模型描述的是外部执行者主要用于需求分析阶段 4、UML的静态建模机制包括:类图、对象图、包图、构件图、配置图 5、UML的动态模型包括4种兔:状态图、活动图、顺序图、合作图 6、软件的开发过程即生命周期划分为开始、详细规划、系统构造、移交四个阶段。

相关文档
相关文档 最新文档