版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第9章软件包图在对大型软件系统建模时,经常需要面对和处理大量模型元素,如对象类、接口、组件、节点和图。UML中的包是将模型元素组合在一起的通用机制,通过将语义上相似的可更改模型元素组合到同一包中,可以轻松理解复杂的系统并控制系统结构各个部分之间的接缝。软件包可用于配置系统型号。一个系统的框架、模型、子系统等也可以看作是特殊的包。第9章包,主页,第9章包,9.1包,9.2包联系人,9.3包图,9.4包图应用程序,主页,9.1包,主页,9.9包的图标位于大矩形(内容框)的左侧,如图9.1所示包名称是简单名称或路径名称。您可以使用封装名称后面或下面用大括号括住的文字(约束)来描述封装的性质(例如ab
2、stract、version等)。9.1.1包的语义和表示法、包可以具有一个或多个模型元素,包括对象类、界面、组件、节点、协作、使用案例、图等。任何UML的模型元素都可以放在包中。通常,包拥有对象类或其他包。包和包中包含的模型元素之间的关系是组合连接。也就是说,包由一个或多个模型元素组成。包消失了,包拥有的所有模型元素也消失了。徐璐不同包中的模型图元可以具有相同的名称,但同一包中的模型图元不能具有相同的名称。9.1.1包的语义和表示形式,主页,包中模型元素的名称前面分别使用“”、“#”、“-”来表示“公共”、“受保护”、“显示包”只是构成模型元素的容器,没有实例,包含的内容(对象类,),9.1
3、.1软件包的含义和表示,软件包是纯粹概念性的建模工具,与组件不同。软件包仅在软件开发过程中存在,类似于包含软件包名称和内容的标记文件夹。组件是软件开发和系统运行期间都存在的系统的一部分。包内的模型元素具有较强的耐受性,徐璐其他包内元素之间的结合性很弱。9.1.1包的语义和表示形式,包可以具有不同的包作为包内的元素,子包可以具有自己的子包,从而构成系统的嵌套结构以表示系统模型元素的静态结构关系。包中的嵌套明确表示系统模型元素之间的相互关系。但是重叠太深,渡边杏,包的重叠层一般最好是23层。9.1.2包嵌套、主页、示例:图9.3是表示通用图形编辑器的配置结构的包嵌套示例。包及其元素的配置关系可以用
4、树结构表示,这对表达概念模型很有用。例如,图9.4是图9.3中的树表示法,但不能表示子包之间的依存关系。9.1.2包嵌套,如包嵌套示例(参见图9.3),9.1.2包嵌套,如包中元素的树结构示例(参见图9.4)图9.3的树表示。9.1.2封装巢状,9.2封装连结,首页,9.2.1相依性与输入相依性,9.2.2一般化,9.2.3整合两个模型元素之间存在相依性,表示如果其中一个元素的定义变更,两个封装之间的从属关系通常意味着两个封装中包含的模型元素之间存在一个或多个从属关系。对于由对象类组成的包,如果两个包的对象类之间存在相关性,则两个包之间存在相关性。,9.2.1依赖项和输入依赖项,软件包的依赖项
5、连接也用虚拟箭头线表示。虚拟箭头线从从属文件包(源)指向独立文件包(目标)。包的依赖关系没有传达性。例如:“订购”包和“客户”包之间存在依赖性,如图9.5所示。9.2.1依赖性和输入依赖性,主页,示例:包嵌套和一般化示例(参见图9.5)。9.2.1依赖项和输入依赖项、输入依赖项是软件包和软件包之间的访问项输入允许一个包中的元素访问另一个包的元素。输入从属关系是单向的。输入相关性不具有可传递性。包的公共部分(可见性为“公共”的模型图元)称为包的输出。文件包的输出仅对依赖输入的其他文件包可见,并且可以访问。输入从属关系的表示在虚拟箭头线上以结构形式显示,箭头从输入侧的包指向输出侧的包。9.2.1从
6、属关系和输入从属关系,如包的输入从属关系示例(见图9.6),9.2.1从属关系和输入从属关系,一般化表示事物的一般化和特殊关系。如果两个包之间有广义连接,则其中的特殊性包意味着必须遵循一般包的接口。与类继承类似,特殊包继承常规包中包含的公共类,并且可以重新加载和添加自己的类。特殊的包可以在普通包代替普通包使用的任何地方使用。例如,图9.5中的程序包数据库接口和程序包“Oracle接口”、“Sybase接口”之间存在一般化连接。其中database interface程序包是常规程序包,Oracle interface和Sybase interface程序包是特殊程序包。9.2.2一般化,范例:
7、封装巢状化与一般化的范例(请参阅图9.5)。9.2.2广义,包之间的集成连接也是一种依存关系,用结构虚拟箭头线表示,指示从接受集成包到合并包的方向。(阿尔伯特爱因斯坦,Northern Exposure(美国电视剧),成功)包合并连接允许合并包的内容与合并包的内容合并。也就是说,您可以将(物理)合并包中的所有元素合并到合并包中。合并包和合并包中具有相同名称的元素合并为一个唯一元素,具有两个特征。徐璐如果在其他包中定义的模型图元具有相同的名称并表示相同的概念,则必须使用包合并连接。9.2.3集成,9.2.3集成,例如,在图9.7中,软件包P和Q与软件包W之间存在集成连接(见图9.7(a)。这意味
8、着包P和Q中的所有模型元素类A、B和C将合并到包W中。其中合并包W的类A的内容是包P和Q的类A和包W的原始类A(可能分别记录为P:A、Q33603360a和W:A)。示例:包P和Q的A、B和C类合并到包W中,如图9.7所示。9.2.3合并、P、B、封装图形的图形节点是以弧形(从属或一般化)连接的封装。封装图是裴珉姬管理和控制系统整体结构的重要建模工具。包在很多方面与对象类相似,但在创建系统模型时,特别要注意区分包和类。物件类别是问题区域或解决方案中物件的抽象,封装是将这些物件组成模型的机制。程序包无法识别,因为它没有实例,在执行系统中不可见。类必须具有id,必须具有实例,类的实例(对象)是执行
9、系统的组件。9.3程序包,9.4程序包应用程序,主页,9.4.1程序包图构建,9.4.2系统建模,9.4.3开发跟踪,程序包使用目的是构建模型元素,对于大型复杂的系统,必须将系统设计模型的许多模型元素组织到程序包和子系统(子系统是特殊程序包)中,以便于理解和处理整个模型。,主页,9.4.1软件包图的建立,创建软件包图的具体方法如下:(1)分析系统模型元素(通常是对象类),并将概念或语义相似的模型元素包含在包中。(2)对于每个包,显示相应模型图元的可见性(公共、受保护或专用)。(3)确定软件包和软件包之间的相关性,尤其是输入相关性。(4)确定包和包之间的广义关系,确定包元素的多态性和重载。绘制承
10、包图。(6)封装图表精炼。9.4.1程序包配置,1 .打包模型元素包是一种常用的配置机制,可以应用于各种组织模型图。例如,类图的类、用例图的用例、构建图的组件等。软件包分割的基本原则是将关系相对密切的模型元素组织到同一个软件包中,使每个软件包尽可能高的内聚,徐璐在其他软件包之间尽可能低的耦合。(David aser,Northern Exposure(TM),包)在数量上,每个包内的模型元素必须在72范围内控制。下面介绍了类图和用例图中模型元素的打包策略。9.4.1包构造,1.1对类图的模型元素包1)参考类图的各种关系类之间的关系主要是一般化、聚合、关联和依赖。这些关系是在类图中拆分包的重要基
11、础。特别是继承关系形成的一般、特殊结构和集合关系形成的整体-部分结构是概念、结构上非常紧密连接的类的集合。建立9.4.1包,建立9.4.1包,将a、b、d、c、e、f、w、b、a、a密切关系的类组织到同一个包中,可以减少跨包的关系,从而实现高聚集、低耦合效果、9.4.1包配置,2)引用各种实际元素(1)对象源模型中每个类所描述的对象可能来自问题域的不同方面。将同一部门、机构或业务领域的对象类组织到同一包中,可以更自然地表示问题域中的实际事物。这样分开的包容易理解,也容易开展工作。因为分析工作经常根据这种划分进行分配,分裂,用同样的方法划分子系统。9.4.1包配置,(2)如果功能类别类对象组提供
12、属于同一类型业务的功能,则可以将其配置为同一包。例如,在银行业务系统中,有些对象处理存款业务,有些对象处理信用业务,有些对象处理代理开单业务。每种业务类型可以包含多种不同的品种,通过对象集提供多种功能。您可以将处理上述三种类型业务的对象类分别配置为三个包。这样分割的软件包可以自然地反映系统功能的划分,通常反映子系统的划分。设置9.4.1数据包图,(3)通信频率类对象之间的通信频繁,或者如果需要传输大量数据,则尽可能将它们组合在同一包中。这些软件包有助于提高系统性能,并对设计和实施阶段组件的配置和部署提供了很强的指导。9.4.1软件包配置,3)并发和分布分布在徐璐其他处理程序中的类通常应徐璐分为
13、其他软件包。例如,在客户-服务器结构中,在客户端上实现的类和在服务器上实现的类必须徐璐分为不同的包。在划分包时,您会发现这一点对于以后的组件实现和部署很方便。每个包的模型元素都在同一处理程序中运行,因此定义组件时不必为了考虑分发问题而分离包。9.4.1包配置,1.2对用例图的模型元素需要在用例图中打包的模型主要是用例,其次是参与者。关于用例打包,需要考虑的第一个因素是所述功能之间的紧密关系。在用例图中,用例之间的关系以及用例和参与者之间的关系也是重要的参考因素。(1)功能类别用例组中描述的功能属于同一种类的业务时,可以配置为同一包。这样划分的包可以自然地反映系统功能的划分。9.4.1软件包配置
14、,(2)用例之间的扩展和包含关系用例图中出现的扩展和包含关系实际上反映了模型中的功能依赖性。将具有扩展或关系的使用案例组织到同一包中是正确和必要的。9.4.1包配置,(3)参与者与用例之间的关系对每种类型的参与者将参与的用例中描述的交互进行调查,并对包划分具有良好的参考意义。您可以为每种类型的参与者配置文件包,从而将参与的所有用例组织到此文件包中。这些软件包可以集中反映系统为参与者提供的所有功能。用例图中的参与者通常不需要单独打包。打包用例时,参与每个用例的参与者也可以导入到该软件包中。9.4.1软件包图的建立,1.3软件包的内容交叉问题经常发生在软件包分割中。某些模型元素必须出现在此包中,而
15、必须出现在其他包中。任何软件包丢失都看起来不完整。例如,在教育管理系统中,名为“学生”的类必须同时出现在“课程管理”包和“学生管理”包中。这往往使建模者在决定包的划分时陷入两难境地。每个包都具有完整的含义,为了便于理解,可以在这些包中重复执行此类。也就是说,允许两个或多个包内容的交集。9.4.1软件包图的建立是允许同一模型元素出现在多个软件包中,这可能会误导模型读者,使他们犯了对同一模型组件重复定义的错误,或使建模者在系统的多个软件包中多次实现同一模型元素。(比尔盖茨、建模者、建模者、建模者、建模者、建模者、建模者、建模者、建模者、建模者、建模者、建模者、建模者、建模者、建模者、建模者)此问题
16、的解决方法是,如果多个软件包需要相同的模型元素,请选择其中一个软件包或随机指定,以便其他软件包仅拥有该副本。这意味着出现在此处的模型图元只是易于阅读的副本,不需要实现。(大卫亚设,北境外观,北境外观,学生)9.4.1打包,类名的副本,使用案例名称的副本,课程管理,教师,学生人们可以从不同的角度观察问题,考虑包的区分。不能说某种区分方式绝对正确或绝对错误。判断结构优劣的大致准则是高内聚、低耦合、易于理解、易于实现。9.4.1封装图表设定,4 .设置包之间的关系1)引入两个包之间的关系,如果满足以下三个条件,则可以建立引入关系:源包中的模型元素必须引用目标包中的模型元素。9.4.1软件包图中的设置,目标软件包中引用的模型元素不会与源软件包中所有模型元素的名称冲突(即,不存在相同的名称),也不会与从同一源软件包中导入的其他目标软件包中的模型元素的名称冲突。系统开发人员希望通过引入关系来简化对目标包模型元素的引用。9.4.1封装组态、9.4.1封装组态、A V、B W、C、V、L、L、2)相依性是透过调查徐璐属于其他封装的模型元素之间的关系来完成的。在类图中,依存关系主要反映在对象之
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年家具零售行业产业洞察报告及未来五至十年需求升级与结构演变
- 2026年地磁传感器行业洞察报告及未来五至十年发展趋势报告
- 2026年涪陵区九龙坡区公务员人员招聘笔试参考题库与答案详解
- 2026年体育用品制造行业前景分析报告及未来五至十年创新驱动与生态构建
- 2026年柳州市柳南区公务员人员招聘考试参考试题与答案详解
- 2026年无油涡旋空压机行业洞察报告及未来五至十年发展趋势报告
- 2026辽宁石化职业技术学院面向社会公开招聘高层次和急需紧缺人才(第二批)考试备考试题及答案解析
- 2026年河北省沧州市公务员人员招聘笔试备考试题与答案详解
- 2026年肥料制造行业产业调研报告及未来五至十年ESG与绿色低碳转型
- 2026年螺蛳粉行业洞察报告及未来五至十年发展趋势报告
- 古典文献翻译策略分析-洞察及研究
- 读后续写题型讲解课件-高中英语人教版第一册
- 铁路防断培训课件
- 2025年gsp药品批发企业质量风险管理试题及答案
- 药物制剂技术专业教学标准(高等职业教育专科)2025修订
- 泡沫厂生产管理制度
- 《经济法基础》 (第2章) 第一章 总论
- 《海康威视使用说明》课件
- 创新方法大赛理论知识考核试题题库及答案
- 松下-GF2-相机说明书
- 机电样板段配合方案及计划
评论
0/150
提交评论