面向对象分析与设计(5)-架构分析1.ppt_第1页
面向对象分析与设计(5)-架构分析1.ppt_第2页
面向对象分析与设计(5)-架构分析1.ppt_第3页
面向对象分析与设计(5)-架构分析1.ppt_第4页
面向对象分析与设计(5)-架构分析1.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,面向对象分析与设计,架构分析:系统总体蓝图,PDF 文件使用 pdfFactory Pro 试用版本创建 ,2,v,什么是架构分析?,架构分析主要从宏观上考虑一个软件系统 如何组织,v 在架构分析中,要确定一些策略性的设计 方针、原则和基本模式,在指导下,分析 软件系统宏观结构。,PDF 文件使用 pdfFactory Pro 试用版本创建 ,3,v,v,架构分析工作的目的,就是要通过科学的解析,将整个软件系统 划分为不同的组件,并准确定义出组件和 组件之间的接口和协作关系;,v 组件:指的是由一组对象构成的,有固定,接口的有机体。, 有机体形式:软件架构中的层、包或子系统 架构分析的结果

2、也是编写代码和设计软件 部署方案时的重要依据,PDF 文件使用 pdfFactory Pro 试用版本创建 ,4,v,架构分析的作用,预先为软件动议了科学的结构和规则,通 过这些结构和规则,能有效地控制软件的 复杂性,使软件易于理解、实现和管理; v 好的软件架构即可以分离软件中的不同组,件,又可以精确定义组件之间的接口; v 架构分析的结果也是多个项目组进行协作,的基础;,PDF 文件使用 pdfFactory Pro 试用版本创建 ,5,v,活动:构架分析,v v,目的 根据从相似系统或相似问题领域中获取的经验,定义 备选构架。 定义系统的体系结构模式、关键机制和建模方式 定义重用策略 为

3、策划提供输入 角色, 构架设计师 在下列情况下,这个工作可以不做: 系统体系结构的风险低 没有具有相关领域的有经验的构架设计师 PDF 文件使用 pdfFactory Pro 试用版本创建 ,6,PDF 文件使用 pdfFactory Pro 试用版本创建 ,7,PDF 文件使用 pdfFactory Pro 试用版本创建 ,8,PDF 文件使用 pdfFactory Pro 试用版本创建 ,9,PDF 文件使用 pdfFactory Pro 试用版本创建 ,10,PDF 文件使用 pdfFactory Pro 试用版本创建 ,11,PDF 文件使用 pdfFactory Pro 试用版本创建

4、 ,12,PDF 文件使用 pdfFactory Pro 试用版本创建 ,13,有机体形式:软件架构中的层、包或子系统,PDF 文件使用 pdfFactory Pro 试用版本创建 ,14,分析和设计流程,PDF 文件使用 pdfFactory Pro 试用版本创建 ,15,v,v,构架 分析和设计有两条主线 构架 实现系统行为 构架包括两方面的工作 系统的组织结构:包括软件结构、运行时结构和硬件结构 组合方式(机制、模式等),v,构架演进,构架工作,定义备选构架,改进构架,系 统 的 组 构架 分 析活动中定 义,识别设计元素活动改进软件结,织结构,系统的高层组织; 用例 分 析中产生分 析

5、 类;,构; 描述运行时构架活动形成运行 时结构; 描述分布活动形成硬件结构,组合方式,构架 分 析活动中识 别 识别设计机制将分析机制映射,分析机制 PDF 文件使用 pdfFactory Pro 试用版本创建 ,到设计机制和实现机制,16,定义备选构架,v v,目的 创建系统 构架的初始草图 v初步定义一组在构架方面具有重要意义的元素,以 用作分析的基础 v初步定义一组分析机制 v初步定义系统的分层与组织 v定义要在当前迭代中处理的用例实现 从在构架方面具有重要意义的用例中确定分析 类 通过分析类交互来更新用例实现 活动, 构架分析 用例分析 PDF 文件使用 pdfFactory Pro

6、 试用版本创建 ,17,构架分析的输入和输出工件,v,输入, ,前景 用例模型 补充规约 词汇表 业务模型 软件构架文档 设计模型 设计指南,v,输出, 软件构架文档 设计模型 设计指南 PDF 文件使用 pdfFactory Pro 试用版本创建 ,18,v,v,v,v,v,v,v,构架分析的步骤 开发构架概述 调查可用资产 定义子系统的高层组织 确定分析机制 确定核心的抽象概念 创建用例实现 开发高层部署模型,v,评审结果,PDF 文件使用 pdfFactory Pro 试用版本创建 ,19,v,开发构架概述,v v v,目的: 通过研究和评估高层构架选项来简化有关系统的预先设想 将有关既

7、定系统高层结构的初步理念传递给资助人、开发团队和 其他涉众 时机 构架概述在项目的初期、甚至是在项目的提议阶段编写 记录, 构架概述记录到软件构架文档中 构架概述的内容: 反映有关实现项目前景的初期决策和可行的假设 系统的物理结构 系统的逻辑结构 非功能性需求有关的决策 还要收集有关当前环境的信息,并将它们记录在部署模型中 PDF 文件使用 pdfFactory Pro 试用版本创建 ,20,v,v,v,v,v,v,v,构架分析的步骤 开发构架概述 调查可用资产 定义子系统的高层组织 确定分析机制 确定核心的抽象概念 创建用例实现 开发高层部署模型,v,评审结果,PDF 文件使用 pdfFac

8、tory Pro 试用版本创建 ,21,调查可用资产,v v,目的 确定与项目有关的资产 分析资产和项目需求之间的一致程度与偏差程 度 决定是否采用资产作为某些系统领域的基础 确定并列出项目中可以复用的潜在资产。进行 初步评估,确保可以获取必要的支持 记录, 记录到软件构架文档中 PDF 文件使用 pdfFactory Pro 试用版本创建 ,22,v,v,v,v,v,v,v,构架分析的步骤 开发构架概述 调查可用资产 定义子系统的高层组织 确定分析机制 确定核心的抽象概念 创建用例实现 开发高层部署模型,v,评审结果,PDF 文件使用 pdfFactory Pro 试用版本创建 ,23,v,

9、v,v,v,v,定义子系统的高层组织,v v v,目的 创建设计模型的初始结构 指南 选择软件构架的时候,可以参照一些构架模式 记录, 在软件构架文档中要说明 系统的高层组织以及这样划分的理由 每一个子系统的责任 子系统间通信的策略和方针 把子系统表示到Rose中 用带stereotype的package表示高层子系统 例如用stereotype的package表示layer Package之间的关系只能是dependency(依赖) 对supplier包的修改会影响client包 Client包不能独立地被重用因为它要依赖于supplier包 一旦依赖关系形成回路 v 合并client包和s

10、upplier包或者 v 把互相依赖的部分分解成单独的包 PDF 文件使用 pdfFactory Pro 试用版本创建 ,24,v, ,构架模式,v v,模式 通用问题在特定情况下的通用解决方法 构架模式 构架模式代表了软件系统的基本机构的组织模式,提供了一系列 预定义的子系统,阐述了子系统的责任,还包括组织子系统之间 关系的规则和指南 典型的构架模式,类型 Structure Distributed Systems Interactive Systems Adaptable Systems,模式 Layers Pipes and Filters Blackboard Broker Model

11、-View-Controller Presentation-Abstraction-Control Reflection,Microkernel PDF 文件使用 pdfFactory Pro 试用版本创建 ,25,Layer型构架模式,v v v,适用于 需要进行结构分解的大系统 问题 必须处理不同抽象层次的问题的系统。例如:硬件控 制问题、常见服务问题和针对于不同领域的问题。最 好不要编写垂直构件来处理所有抽象层次的问题。否 则就要在不同的构件中多次处理相同的问题,还可能 会不一致 影响,系统的某些部分应当是可替换的 构件中的变化不应波动 相似的责任应归为一组 构件大小 - 复杂构件可能要

12、进行分解 PDF 文件使用 pdfFactory Pro 试用版本创建 ,26,v,Layer型构架模式,v,解决方案, 将系统分成构件组,并使构件组形成层叠结构 使上层只使用下层(决不使用上层)提供的服务 尽量不使用非紧邻下层提供的服务 通常的分层结构 PDF 文件使用 pdfFactory Pro 试用版本创建 ,27,v,Layer型构架模式子系统的分组,可见度,标准, 各子系统只能与同一层及其下一层的子系统存在依赖关系,v v v,易变性 最上层放置随用户需求的改变而改变的元素 最底层放置随实施平台(硬件、语言、操作系统、数据库等)的改 变而改变的元素 中间的夹层放置广泛适用于各种系统

13、和实施环境的元素 如果在这些大类中进一步划分有助于对模型进行组织,则添加更多 的层 通用性 一般将抽象的模型元素放置在模型的低层。如果它们不针对于具体 的实现,则倾向于将其放置在中间层 层数, 对于小型系统,三层就足够了 对于复杂系统,通常需要 5-7 层 无论复杂程度如何,如果超过 10 层,就需要慎重考虑了 PDF 文件使用 pdfFactory Pro 试用版本创建 ,28,v,v,实践 课程注册系统采用Layer型构架, 参见软件构架文档的实例 Rose中 在Logical View中建一个名叫“Design Model” 包 v 在“Design Model”包建一个名叫“Appli

14、cation” 包,把包的stereotype设成layer v 在“Design Model”包建一个名叫“Business Services”包,把包的stereotype设成layer v 在Logical View中的“Main”类图中加入“Design Model”包 v 在Design Model包中建一个名叫“Main”的类 图,其中表示出Application和Business Services layer之间的关系(只能是依赖关系) PDF 文件使用 pdfFactory Pro 试用版本创建 , Application Business Services,29,v,v,v,

15、v,v,v,v,构架分析的步骤 开发构架概述 调查可用资产 定义子系统的高层组织 确定分析机制 确定核心的抽象概念 创建用例实现 开发高层部署模型,v,评审结果,PDF 文件使用 pdfFactory Pro 试用版本创建 ,30,确定分析机制,v v v,目的 确定设计员为其对象赋予“生命”所采用的分析 机制和服务 步骤 识别出所有的分析机制 绘制客户类到分析机制的映射图 识别分析机制的特征 记录, 把识别出来的分析机制、客户类和分析机制的 映射以及分析机制的特征都记录到软件构架文 档中 PDF 文件使用 pdfFactory Pro 试用版本创建 ,31,v,v,构架机制,v,构架机制,

16、关于通用标准、方针、管理的策略,是项目中应该标准化的问题的 实现,每个人都应该以相同的方式使用这些概念,复用同样的机制 来执行操作 代表了经常遇到的问题的通用解决方案,可以是结构模式、行为模 型或两者都是 构架机制是系统的需求和如何实现的glue的重要部分,提供了对实 现环境的限制 由构架设计师来管理构架机制 选择构架机制、通过集成它们来验证有效性、证实它们确实能工作、 把它们用于其他的系统设计 构架机制种类 Analysis mechanism (conceptual):例如:distribution Design mechanism (concrete):例如:RMI Implement

17、mechanism (actual):例如:Java 1.1 PDF 文件使用 pdfFactory Pro 试用版本创建 ,32,分析机制,v v,分析机制 在分析过程中,常见的构架问题,如:永久性、事务管理、故障 管理、消息传递和推理机等,就是分析机制 分析机制用于在分析过程中向设计人员提供复杂行为的简短表 示,从而减少分析的复杂性并提高分析的一致性 分析机制通常与问题领域无关(但并不一定总是无关),而属于 “计算机科学”的概念。所以,它们通常占据构架的中层及更低层 分析机制通常源于对一个或多个构架或分析模式的实例化 实例, Persistency,Communication (IPC a

18、nd RPC),Message routing,Distribution,Process control and synchronization, Information exchange, format conversion,Security,Error detection / handling / reporting,Redundancy,Legacy interface PDF 文件使用 pdfFactory Pro 试用版本创建 ,33,v,v,分析机制特征 Consistency例子 粒度(Granularity):需要保存的对象大小的范围 容量(Volume):需要保存的对象的数量

19、 持续时间(Duration):通常对象保留时间 访问机制:如何唯一地标识并访问给定对象? 访问频率:对象是否大致保持恒定不变?它们是否经常 更新? 可靠性(reliability):对象是否应当在进程、处理器或者 整个系统崩溃后继续存在? 进程间通信机制 延时(latency):进程间通信有多快 同步(synchronicity):,消息大小,协议、流控制、缓冲等 PDF 文件使用 pdfFactory Pro 试用版本创建 ,34,v,分析机制特征 遗留接口机制 延时(latency):有多快 持续时间(Duration):通常对象保留时间 访问机制:如何唯一地标识并访问给定对象? 访问频

20、率:对象是否大致保持恒定不变?它们是否经 常更新?,v,安全机制, 数据粒度:package-level,class-level,attribute-level 用户粒度:single uses, roles/groups 安全规则:基于数据值、基于数据的算法、基于用户 和数据的算法 权限类型:读、写、创建、删除或其他操作 PDF 文件使用 pdfFactory Pro 试用版本创建 ,35,v,v,v,v,如何确定分析机制 分析机制可通过两种模式确定 “自顶向下”(根据先验知识确定) 构架设计师可根据其过去的经验估计出领域内会有哪些问 题,以及如何解决这些问题 “自底向上”(随进行过程逐步确

21、定) 采用“自底向上”的方法,分析机制是最后生成的:即构架设 计师见到分析机制时,它们已经创建好了。也许这些机制最 初比较模糊,随着各种问题的解决方案确定(如何同步不同 线程中各个元素的时钟,寻找分配资源的通用方式),逐渐 产生一个通用的框架。从这些方案中即生成了有助于简化语 言分析的分析机制 课程注册系统的分析机制 Persistence, ,分布 安全 遗留接口,PDF 文件使用 pdfFactory Pro 试用版本创建 ,36,v,v,v,v,v,v,v,构架分析的步骤 开发构架概述 调查可用资产 定义子系统的高层组织 确定分析机制 确定核心的抽象概念 创建用例实现 开发高层部署模型,

22、v,评审结果,PDF 文件使用 pdfFactory Pro 试用版本创建 ,37,v,确定核心的抽象概念,v v,目的 通过采取确定系统必须处理的核心抽象概念(即在业务建模和需 求活动中确定的概念)的措施来进行分析 必要性 需求和业务建模活动通常会揭示系统必须能够处理的核心概念, 与此同时,这些概念也证实了其自身是核心的设计抽象概念。因 为已经确认,所以没有必要在用例分析活动中重复确认工作。为 了利用现有知识,我们初步确定使用实体分析类,来代表这些以 系统常识(诸如需求、词汇表、特别是领域模型或业务对象模型) 为基础的核心抽象概念 关键抽象的来源, ,需求 词汇表 领域模型,业务对象模型 P

23、DF 文件使用 pdfFactory Pro 试用版本创建 ,38,v,确定核心的抽象概念,v,记录 把识别出来的关键抽象作为分析类都放到“Design Model”包中 在“Design Model”包中建一个名叫“Key Abstractions” 的类图,把分析类拖到类图中,并表示出分析类之间 的关系(也可以不表示出关系) 为每个类加上简单的说明 识别每个分析类会用的分析机制,并在类的说明中标 记出来 课程注册系统的关键抽象 Professor, ,Student Schedule Course,PDF 文件使用 pdfFactory Pro 试用版本创建 ,39,v,v,v,v,v,v

24、,v,构架分析的步骤 开发构架概述 调查可用资产 定义子系统的高层组织 确定分析机制 确定核心的抽象概念 创建用例实现 开发高层部署模型,v,评审结果,PDF 文件使用 pdfFactory Pro 试用版本创建 ,40,创建用例实现,v v,目的 每个迭代做哪个用例是由构架设计师来决定的。 构架设计师为了构架的目的而要求先做构架方 面具有重要作用的用例 用例实现, 为了实现从以需求为中心的活动到以设计为中 心的活动的转移,用例实现充当了两者之间的 桥梁。它提供了一种用于将设计模型中的行为 追踪到用例模型的方法 围绕用例概念在设计模型中组织协作 对于用例模型中的每个用例,在设计模型中都 要创建

25、用例实现 PDF 文件使用 pdfFactory Pro 试用版本创建 ,41,v,创建用例实现,v,记录, 在“Design Model”中建一个名为“Use-Case Realizations”的包 在“Use Case Realizations”包中为每个要分析的用例 建一个包,包名就是相应用例名 在每个用例包中建一个用例,名字和相应的用例相 同,把stereotype设定成“use-case realization”,这个 用例就变成了一个用例实现 建可跟踪性图 可跟踪性图可以是每个用例对应一个图,也可以是所有的用 例有一个图 v 如果是每个用例对应一个可跟踪性图,就在每个用例包中建

26、一个名为“traceability”的用例图(或类图),把用例实现和用 例拖到可跟踪性图中,用例实现和用例之间的关系是实现的 关系。这种实现关系有两种表示方法 用stereotype是realizes的association关系表示 用realization关系表示 PDF 文件使用 pdfFactory Pro 试用版本创建 ,42,v,v,Rational Rose 基于团队的建模,v,受控的演化, Rose通过使用UML包和子系统支持基于构架 的建模 Rose帮助用户在不影响其他人工作的情况下 进行详细设计 Rose帮助用户避免创建构架单元之间不恰当 的联系 把模型划分成在构架上有重大意

27、义的单元 可以分成叫做受控单元的单独的文件 构架上有重大意义的模型元素的复用 PDF 文件使用 pdfFactory Pro 试用版本创建 ,43,v,Rational Rose 受控单元,v,受控单元 是Rational Rose保存模型全部或一部分的文件 是能进行版本控制的模型元素 定义了单个开发人员可以操作模型的一部分 在团队中共享 让团队可以平行开发,一定是包,下面元素可以作为受控单元 模型文件本身(.mdl) 逻辑视图和用例视图包(.cat) 组件视图包(.sub) 部署视图的图(.prc) 模型属性(.prp) PDF 文件使用 pdfFactory Pro 试用版本创建 ,44,v,v,v,受控单元,Rational Rose,受控单元可以被lo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论