- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程07讲解
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 用途:显示系统的物理部署,并描述位于节点实例上的运行组件实例的部署情况 组成:配置图 使用者:开发人员、系统集成人员和测试人员 类图 (class diagram ) 对象图 (object diagram ) 用例图 (use case diagram ) 顺序图 (sequence diagram ) 协作图 (collaboration diagram ) 状态图 (statechart diagram ) 活动图 (activity diagram ) 构件图 (component diagram ) 配置图 (deployment diagram ) 事物(things) 结构事物(structural things) 动作事物(behavioral things) 分组事物(grouping things) 注释事物(annotational things) UML 中的关系(relationships) 关联(association) 依赖(dependency) 泛化(generalization) 实现(realization) 聚合(polymerization) UML 模型中最基本的结构化事物,包括 类 接口 协作 用例 活动类 组件 节点 类是对具有相同属性、方法、关系和语义的对象的抽象 类或组件提供特定服务的一组操作的集合 描述了类或组件的对外可见的动作 定义了交互操作 代表构成系统的模式的实现 描述系统对一个特定角色执行的一系列动作 组织动作事物 类对象有一个或多个进程或线程的类 实现了一个接口集合的物理上可替换的系统部分 在运行时存在的一个物理元素 代表一个可计算的资源 通常占用一些内存和具有处理能力 交互 一组对象在特定上下文中,为达到某种特定的目的而进行的一系列消息交换组成的动作 状态机 由一系列对象的状态组成 UML 模型中组织的部分 分组事物只有一种:包 包是一种将有组织的元素分组的机制 包只存在于开发阶段 UML 模型的解释部分 关联 依赖 泛化 实现 聚合 修饰 注释 规格说明 通用划分 扩展机制 为图中的模型元素增加了语义 示例: 以自由的文本形式出现的 信息类型是不被UML解释的一个字符串 示例: UML 中预定义的特性: 文档(Documentation) 职责(Responsibility) 永久性(Persistence) 并发性(Concurrency) 型-实例(值) 描述一个通用描述符与单个元素项之间的对应关系 接口-实现 构造型 标记值 约束 由建模者设计的新的模型元素 新的模型元素的设计要以 UML 已定义的模型元素为基础 示例: 附加到任何模型元素上的命名的信息块 示例: 用某种形式化语言或自然语言表达的语义关系的文字说明 示例: 关键抽象: 在浏览器中打印“Hello World!”的 Java applet 程序 在UML中,对这种应用的建模如下图所示 import java.awt.Graphics; public class HelloWorld extends java.applet.Applet { public void paint (Graphics g) { g.drawString(Hello World!, 10,10); } } 这个类图反映出了 “Hello World!” 这个应用的基本部分,但还遗漏一些事物。按上述代码的描述,这个应用还涉及其他两个类,即 Applet 和 Graphics,而且二者的使用方式不同。类 Applet 是类 HelloWorld 的父类,类 Graphics 则是在类 HelloWorld 的一个操作 paint 的特征标记和实现中被使用。可以在类图中表示这些类及其他们与类 HelloWorld 的不同关系 如果针对 Applet 和 Graphics 研究 Java库,将会发现这两个类是一个更大的类层次的一部分。跟踪类 Applet 扩展和实现的那些类,能够产成另一个类图,如下图所示 为了管理大规模的类层次图,可以用包来组织类,如下图所示: HelloWorld 依赖包 Java.applet java.applet 依赖包 java.awt 可以使用顺序图对事件的顺序建模,展示了对象的协作 “Hello World!” 是一个程序,不能单独运行,通常是嵌入在 Web 页中 下面是 HelloWorld 的构件图 * * 4.??建造对象——关系模型
文档评论(0)