构件图和部署图
组件图和部署图概述 UML中系统体系结构可分为逻辑体系结构和物理体系结构。 逻辑体系结构通过描述系统的功能需求,指定系统的功能特点; 物理体系结构描述系统的非功能部分(可靠性、兼容性、资源使用和系统分布)。
组件图和部署图概述 物理体系结构关心的是实现,可以用组件图和部署图来建模。 组件图和部署图用于显示系统实现时的一些特性,包括源代码的静态结构和运行时刻的实现结构。组件图显示代码本身的结构,部署图显示运行时的结构。
逻辑体系结构 处理系统的功能,将功能分配到系统的各个部分,并详细说明它们是如何工作的。主要用于解决如下问题: 系统提供什么样的功能? 系统中存在哪些类和这些类之间关系。 类和对象是如何协作完成系统功能的? 系统中各方法上的时间约束如何?
逻辑体系结构 可以用用例图、类图、状态图、活动图、协作图和顺序图描述系统逻辑体系结构。
物理体系结构 描述系统的硬件结构,包括不同节点以及节点间如何连接,说明实现逻辑体系结构中定义的概念的代码模块的物理结构和相关性,软件运行时,线程、程序和其它组件的分布。 类和对象在物理上分布在哪一个程序或线程中。 程序和线程在哪台计算机上运行。 不同的代码文件之间如何关联。 系统中有哪些计算机设备,如何连接。
逻辑和物理体系结构的关系 逻辑体系结构中的类和关联被映射到物理体系结构中的组件、线程和计算机。 物理体系结构中的程序或组件也可以找到它在逻辑体系结构中的设计。 用组件图和部署图来建模物理体系结构。
组件图 组件是逻辑结构中定义的概念和功能(类、对象、它们之间的关系和协作)在物理体系结构中的实现。 组件图也称构件图,是用来显示一组组件和它们之间相互关系(编译、连接、执行时组件之间的依赖关系)。 组件是定义了良好接口的物理实现单元,是系统中可替换的部分。组件的图形表示。
组件图
组件图的作用 能帮助客户理解最终的系统结构; 使开发工作有一个明确的目标; 有利于帮助其他人员理解系统; 有利于软件系统的组件重用;
组件图中的概念 组件 接口 关系
组件 组件是系统中可替换的物理部件,它包装了实现而且遵从统一提供一组接口的实现。
组件的类型 部署组件:构成一个可执行系统必要和充分的组件,是形成可执行文件的基础。 工作产品组件:是系统开发过程中的产物,包括创建实施组件的源代码文件、数据文件等。这些组件并不是直接参加可执行系统,而是系统开发过程中的产品,用来产生可执行系统。 可执行组件:是一个可执行文件,是链接所有二进制组件所得到的结果,一个可执行组件代表计算机上运行的可执行单元。
组件和类的区别 类是逻辑抽象,组件是物理抽象; 类可以直接拥有属性和操作,组件仅拥有只能通过其接口访问的操作; 组件是对类、协作等逻辑元素的物理实现。
接口 导出接口:由提供操作的组件提供; 导入接口:访问服务的组件使用导入接口; 组件对接口的实现用实线表示; 依赖关系用虚线箭头表示。
组件图建模 对源代码文件之间的相互关系建模,组件图中的依赖关系用带有箭头的虚线表示,箭头指向提供服务的元素。 对可执行文件之间的关系建模。
组件图用于对源代码建模
部署图 也称配置图、实施图,用来显示系统中计算节点的拓扑结构和通信线路上的软件组件,描述了对象、组件、处理过程是如何分布并运行在实际的计算节点上。 一个系统模型只有一个部署图,通常用于帮助理解分布式系统。由软件系统的体系结构设计师、网络工程师、系统工程师等描述。
部署图中的结点 表示计算资源在运行时的物理元素,结点一般都是具有内存和处理能力。结点可代表一个物理设备以及运行在该设备上的软件系统。结点之间的连线表示系统进行交互的通信路径,这个通信路径称为连接。部署图中的结点有如下两类: 处理机。指可执行程序的硬件组件。部署图中,可以说明处理机中有哪些进程、进程的优先级与进程调度方式等。 设备。指没有计算能力的硬件组件,如调制解调器、终端显示器等。
部署图建模 部署图建模一般需要完成添加结点、添加连接、添加组件和其它内容、添加依赖关系等4个方面。
业务建模
业务建模概述 业务建模能够帮助业务人员确定系统的需求分析是否准确地反映了用户需求,以及从用例分析中得到的用例是否完整的满足了用户需求。可以捕获较为准确的业务需求,为软件系统的分析和设计提供可靠依据。
业务建模目的 更好地理解、分析、改善和替换机构中的业务过程; 作为软件系统开发的基础,使得软件系统能更好的支持机构中的业务过程。
业务建模内容 对象,——What 过程,——How 事件,——When 地点,——Where 社会-政治,——Who
业务模型和软件系统的关系 见教材P122图12.2
软件开发步骤
软件开发步骤 业务视图——可以用商务用例图、活动图、和表示业务实体的类图描述。 需求分析——可以用角色、用例、用例图描述。 系统分析——可以用用例事件流、顺序图或协作图以及类图描述。 系统设计——可以用顺序图或协作图、类图、状态图、组件图和部署图描述。
业务视图的作用 可以协助开发人员确定使用什么样的技术,在什么样的开发、运行平台上实现业务过程是最合适的。 可以协助定义系统功能性与非功能性需求,即软件系统应该具有的用例集合。 可以作为分析和设计系统的基础。
业务视图中的基本概念
业务视图中的基本概念 业务参与者:是机构外部与机构进行交互的所有人或物。 业务工人:是机构内部人员,代表业务的一个或一组角色。业务工人参与业务用例的实现时,业务工人和其他业务用例进行交互,并使用和控制业务实体。 业务用例:是机构中为外部业务参与者提供价值的一组相关工作流。表示了机构的业务用例、业务参与者、业务工人以及三者之间的相互关系。 业务实体:也称业务对象,是在业务过程中要使用或产生的对象。 机构单元:是业务工人、业务实体、和其他业务视图元素的集合,是对组织结构所进行的描述。
创建业务视图 一个机构的职能是按照部门进行划分的,而业务用例也是按照部门来建立的,所以创建业务视图的第一步是创建部门机构视图,然后在机构视图上再创建业务视图。 主要包括两个部分:一是创建业务参与者和业务工人;二是业务用例分析,以建立业务用例图。
例子
实例 业务参与者是读者; 业务工人是图书管理员和业务工人。 业务用例是图书销售。
业务建模中的基本概念 目标:业务要达到的结果,也就是希望资源处于什么样的状态。可以被分为多个子目标,并分配给业务中不同的部分来完成。 过程:业务中被执行的活动,这些活动改变资源的状态。 资源:是业务中使用或产生的对象。 规则:对业务中某些方面进行规定或约束的声明,是业务知识的一种表示形式。规则可以分为功能性、行为性和结构性三种类型。
业务体系结构 业务建模需要考虑两个问题: 机构的边界以及这个机构要与谁通信; 机构中的工作流以及如何对工作流进行优化。 业务体系结构:是一个已组织好的元素的集合,这些元素表示的是业务系统中的组织结构、行为结构和业务过程对象,它们之间有清晰的关系,并根据功能形成一个整体。
业务体系结构的四个视图
业务场景视图 关于业务的总体场景,描述了机构中的业务目标以及为达到该目标需要解决的问题。 可用类图、对象图等描述。
业务过程视图 业务活动中的活动及活动和资源之间为达到业务目标所进行的交互,该视图也是考虑不同业务过程之间的交互。 用活动图描述。 是业务模型的核心。
业务结构视图 描述业务中资源的结构,可看作是业务过程视图的补充。 用类图、对象图等描述。
业务行为视图 描述的是业务模型中每个重要资源的单个行为。 状态图、顺序图、协作图、活动图等描述。
从业务模型到软件模型 帮助确定什么样的软件系统对机构中的业务过程是最适合的; 定义功能性需求; 帮助定义非功能性需求; 作为分析和设计软件系统的基础; 帮助封装了业务功能的业务构件。 但业务模型和软件模型之间没有一一对应的关系。
RUP软件开发过程 软件开发过程:是一个将用户需求转化为软件系统所需要的活动的集合。
RUP是迭代开发过程 迭代过程的优点: 降低了一个增量上的开发风险; 降低了产品无法按照既定进度进入市场的风险; 加快了整个开发工作的进度。
6个最佳开发经验 迭代式开发; 管理需求; 使用基于构件的体系结构; 可视化软件建模; 验证软件质量; 控制软件变更;
RUP周期(9个核心工作流) 业务建模; 需求; 分析和设计; 实现; 测试; 部署; 配置和变更管理; 项目管理; 环境。
4个阶段 初始阶段:定义最终产品视图和业务模型,并确定系统范围; 细化阶段:设计系统体系结构,制定工作计划及资源要求; 构造阶段:构造产品并继续演进需求、体系结构、计划直至产品提交; 移交阶段:将产品提交给用户;
RUP的特点 用例驱动; 以体系结构为中心; 迭代和增量;