基于RUP的分与设计ppt课件

上传人:壹****1 文档编号:567670309 上传时间:2024-07-22 格式:PPT 页数:62 大小:1.24MB
返回 下载 相关 举报
基于RUP的分与设计ppt课件_第1页
第1页 / 共62页
基于RUP的分与设计ppt课件_第2页
第2页 / 共62页
基于RUP的分与设计ppt课件_第3页
第3页 / 共62页
基于RUP的分与设计ppt课件_第4页
第4页 / 共62页
基于RUP的分与设计ppt课件_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《基于RUP的分与设计ppt课件》由会员分享,可在线阅读,更多相关《基于RUP的分与设计ppt课件(62页珍藏版)》请在金锄头文库上搜索。

1、第四部分 基于RUP的软件分析与设计主要内容RUP中的分析与设计流程 架构分析确定设计机制案例实践1规程中的分析与设计分析与设计的目的将需求转换为未来系统的设计逐步开发强壮的系统架构使设计适合于实施环境,为提高性能而进行设计2补充规约用例模型设计模型数据模型架构文档分析与设计分析与设计综述术语表3分析与设计对比分析关注于问题的理解理想化的设计行为系统结构功能需求较小的模型设计关注于解决方法操作和属性性能接近源代码 对象生存期非功能性需求较大的模型4设计类子系统用例分析与设计不是自顶向下或自底向上分析类自底向自底向上上自顶向自顶向下下(定义在中间层)分析与设计5分析设计初启迭代定义备选架构执行架

2、构合成分析行为改进架构设计构件设计数据库可选早期精化迭代 分析与设计工作流分析分析设计设计6分析与设计活动设计人员系统架构师评估用于验证概念架构的可行性架构分析识别设计 元素识别设计 机制建立用于验证架构概念结合现存的设计元素描述运行时架构描述部署方式用例分析用例设计子系统设计类设计测试类设计封装体设计员封装体设计设计复审员架构复审员数据库设计员复审设计复审架构数据库设计7系统架构师的任务架构师架构师软件架构文档软件系统架构师负责在整个项目中对技术活动和制品进行领导和协调参考架构分析模型设计模型部署模型8设计人员的任务设计人员设计人员用例实现包/子系统类设计人员必须知道用例建模技术, 系统需求

3、和软件设计技术9主要内容RUP中的分析与设计流程 架构分析确定设计机制案例实践第四部分 基于RUP的软件分析与设计10分析设计初启迭代定义备选架构执行架构合成分析行为改进架构设计构件设计数据库可选早期精化迭代 架构分析 架构分析架构师11架构分析总览补充规约术语表用例模型架构分析架构分析设计模型参考架构部署模型前景文档软件架构文档项目专用设计指南12什么是系统架构软件系统架构(architecture)包含关于软件系统组织的许多重要决定:选择组成系统的结构元素以及它们的接口充当这些元素间协作的渠道把这些结构和行为元素组织成更大的子系统指导开发组织的架构风格13架构约束设计和实现 架构包含了一系

4、列约束设计和结构的战略上的设计决策,规则或模式架构决策是最基础的决策, 改变它们会引起重大的影响 架构设计实现代码14进程视图进程视图部署视图部署视图逻辑视图逻辑视图用例视图用例视图实施视图实施视图终端用户终端用户功能功能性能性能可扩展性可扩展性吞吐率吞吐率性能工程师性能工程师系统拓扑部署系统拓扑部署安装通讯安装通讯系统工程师系统工程师分析分析/设计人员设计人员结构结构开发人员开发人员 软件管理软件管理 软件架构:“4+1 视图”模型15架构分析步骤定义子系统的高层组织确定分析机制确定关键抽象创建用例实现16包是组织元素成组的通用机制是能包含其它模型元素的模型元素包可用来组织开发中的模型作为配

5、置管理的一个单元什么是包University Artifacts17包之间利用依赖关系产生联系依赖的含义提供者包的变化会影响到客户包的变化客户包不能被独立地复用因为它依赖于提供者包包的关系:依赖Client PackageSupplier Package依赖关系18CAB层次应该非循环ABCA循环依赖使一个包在另一个包不存在的情况下不能被复用避免循环依赖AB19模式和框架模式描述了对环境中的通用问题的通用解决 方法 分析/设计模式提供了小范围技术问题的解决方法提供了解决方法的一部分,或问题的一块 框架定义了解决问题的普通方法提供了解决方法的骨架, 它的细节可能是 分析/设计模式20结构方面行为

6、方面什么是设计模式设计模式是对通用设计问题的解决方法描述了通用的设计问题描述了问题的解决方法讨论应用模式产生的结果设计模式提供了复用成功设计的能力参数化协作Pattern NameTemplateParameters21什么是架构模式架构模式表示软件系统的基本结构组织方案。它提供了一组预定义的子系统、指定它们的职责,并且包括用于组织其间关系的规则和指导层次模型-视图-控制器 (M-V-C)管道和过滤器黑板22典型的分层模式普通功能普通功能特殊功能特殊功能构成应用程序的独特应用程序子系统 包含组织开发的增值软件业务专用 包含该类型业务专用的一些可重复使用的子系统中间件 提供用于实用程序的子系统,

7、为不同环境中分布式对象计算提供独立于平台的服务等系统软件 包括构成实际基础设施的软件,如操作系统,与特定硬件的接口和设备驱动程序等应用程序子系统应用程序子系统应用程序子系统应用程序子系统业务专用业务专用业务专用业务专用中间件中间件中间件中间件系统软件系统软件系统软件系统软件23架构模式:层设备和客户机设备和客户机专用代码专用代码进程和其它进程和其它应用程序代码应用程序代码主要抽象类等主要抽象类等机制,服务机制,服务H/W 专用代码专用代码, O/S 专用代码专用代码, 通用代码通用代码 (如如ORB, MQS)54321应用程序应用程序应用程序应用程序应用程序框架应用程序框架应用程序框架应用程

8、序框架基础设施基础设施基础设施基础设施24架构层次建模用包的构造型表示架构层次 构造型Package Name25模型的高层组织示例ApplicationBusiness Services 26架构分析步骤定义子系统的高层组织确定分析机制确定关键抽象创建用例实现27架构师架构师补充规约用例模型机制机制COTS ProductsDatabases进程间通信技术进程间通信技术等等等等由客户类实现利用负责约束必须的功能性必须的功能性实施环境实施环境什么是架构机制28三种架构机制架构机制种类分析机制 (概念)设计机制 (内容)实施机制 (真实环境)29分析机制示例持久性进程间通信消息路由 分布性事务管

9、理进程控制与同步 信息交换,格式转换安全性错误检测/处理/报告冗余性遗留界面30分析机制特征示例持久性机制粒度容量持续时间存取机制访问频率 (新建,删除,更新,读取)可靠性进程间通信机制反应时间同步性消息大小协议31将所有分析机制收集在一个列表中绘制类到分析机制的映射图确定分析机制的特征通过协作建模描述分析机制类类分析分析验证验证通信通信持久性持久性分析机制分析机制航班飞机任务时间表路线工作量32课程注册系统的分析机制持久性分布性安全性遗留界面33架构分析步骤定义子系统的高层组织确定分析机制确定关键抽象创建用例实现34什么是关键抽象系统必须能处理的核心概念关键抽象的来源 领域知识需求术语表领域

10、模型或业务模型(如果有)35识别关键抽象对候选的关键抽象集合做相应取舍将被确认的关键抽象以类的形式加入设计模型包括对关键抽象的简要说明将关键抽象绘制在一张(或多张)描述类之间 关系的类图中,标识现阶段能够确认的关系36关键抽象示例StudentProfessorScheduleCourseCatalogCourseCourseOffering37架构分析步骤定义子系统的高层组织确定分析机制确定关键抽象创建用例实现38什么是用例实现类图用例协作图用例模型设计模型用例用例实现时序图39迭代过程的用例实现N次迭代次迭代N+1次迭代次迭代用例A场景1和2用例实现A迭代的开始迭代的结束用例B场景1用例实

11、现A用例A场景3用例实现B40用例实现的价值从分析与设计追溯到需求用例分析与设计需求用例实现41主要内容RUP中的分析与设计流程 架构分析确定设计机制案例实践第四部分 基于RUP的软件分析与设计42分析设计初启迭代定义备选架构执行架构合成分析行为改进架构设计构件设计数据库可选早期精化迭代 确定设计机制确定设计机制架构师43确定设计机制总览补充规约确定设计确定设计机制机制软件架构文档设计模型分析类44确定设计机制的步骤对分析机制的使用对象进行分类记录架构机制45什么是设计模式设计模式为改进软件系统的子系统、组件或它们之间的关系提供了方案。它描述了在特定环境中解决一般设计问题的通信组件频繁出现的结

12、构 Erich Gamma et al. 1994. Design PatternsElements of Reusable Object-Oriented SoftwarePattern NameTemplateParameters46设计模式示例模式举例命令(行为模式)向对象发送请求而无需知道有关请求的操作或请求的接受者的任何事情。例如,对菜单条目的响应,撤销的请求,中断的处理抽象工厂(创建模式)创建GUI对象 (按钮,滚动条,窗口等) 独立于操作系统应用程序可以简单地适应不同的环境代理(结构模式)用对客户对象透明的方式处理分布对象 (远程代理)只有当需要时才用透明的方式加载很大的图片对象

13、或是创建/初始化占用大量内存的对象 (虚拟代理)观察者(行为模式)当一个对象的状态改变时,与之相关的对象被通知到。 变化的对象独立于观察者。注意:MVC架构模式是 观察者设计模式的扩展。47用UML表示设计模式设计模式用参数化协作表示 协作的参数 (构造型)ConcreteCommand+ Process()ClientCommand+ Process()InvokerCommandClientInvokerConcreteCommand48分析类分析类分析机制分析机制学生课程表课程提供课程注册控制器持久性, 安全性持久性, 遗留界面持久性, 遗留界面分布性持久性, 安全性描述分析机制收集所有

14、分析机制形成列表绘制客户类到分析机制的映射图确定分析机制的特征49对分析机制分类目的精炼分析机制收集的信息 步骤确定各分析机制的使用对象 确定各分析机制的特征概要文件 根据使用对象所用的特征概要文件 将使用对象分组 自下而上地制定实施机制清单 50设计和实施 机制分析分析设计设计实现实现Remote Method Invocation (RMI)持久性分析机制(概念)设计机制(具体)实施机制(真实环境)OODBMSRDBMSJDBCObjectStoreJava 1.2 from SunLegacy DataNew Data分布性持久性51确定设计机制的步骤对分析机制的使用对象进行分类记录架构

15、机制52架构机制可被处理为模式(如参数化协作)记录架构机制结构方面行为方面Pattern NameTemplateParameters53持久性: RDBMS: JDBCStatementexecuteQuery(sql : String) : ResultSetexecuteUpdate(sql : String) : int(from java.sql)ResultSetgetString() : String(from java.sql)ConnectioncreateStatement() : Statement(from java.sql)DriverManagergetConnec

16、tion(url, user, pass) : Connection(from java.sql)DBClasscreate() : PersistentClassread(searchCriteria : String) : PersistentClassListupdate(c : PersistentClass)delete(c : PersistentClass)11PersistencyClient(from SamplePersistency Client)PersistentClassgetData()setData()command()new()(from SamplePers

17、istentClass)PersistentClassListnew()add(c: PersistentClass)(from SamplePersistentClass)0.*10.*role由应用机制的设计人员完成54持久性:RDBMS: JDBC: 初始化 : DBClass : DriverManager1. getConnection(url, user, pass)55持久性:RDBMS: JDBC: 创建 : Connection : Statement : PersistencyClient : DBClass : PersistentClass1. create( )1.1

18、. New()1.2. getData( )1.3. createStatement( )1.4. executeUpdate(String)56持久性:RDBMS: JDBC: 读取 : PersistentClass : Connection : Statement : ResultSet : PersistencyClient : DBClass : PersistentClassList1. read(string)1.1. createStatement( )1.2. executeQuery(string)1.4. new()1.5. getString( )1.6. setDat

19、a( )为类中每一属性调用 返回一个语句 1.3. new( )创建一个列表保存所有已检索到的数据1.7. add(PersistentClass)将检索到的信息添加进列表 对从executeQuery()命令返回的每个数重复这些操作PersistentClassList 保存从数据库中检索到的数据DBClass用给定标准构建的SQL语句被传递给 executeQuery()传递用于为持久类访问数据的标准 57持久性:RDBMS: JDBC: 更新 : DBClass : PersistencyClient : PersistentClass : Connection : Statement1

20、. update(PersistentClass)1.2. createStatement( )1.1. getData( )1.3. executeUpdate(string)执行SQL语句58持久性:RDBMS: JDBC: 删除 : PersistencyClient : DBClass : Connection : Statement1. delete(PersistentClass)1.1. createStatement( )1.2. executeUpdate(string)执行SQL语句59提供访问实现JDBC 需要的类库的途径提供 java.sql 包创建需要的 DBClas

21、ses每个 persistent class分配一个DBClass将DBClasses 结合进设计分配包/层从 persistency clients添加联系创建/更新交互图初始化数据库访问Persistent class : 创建,读取,更新,删除并入JDBC: 步骤60java.sqlResultSet(from java.sql)Connection(from java.sql)Statement(from java.sql)DriverManager(from java.sql)Sample Persistency Client Package并入JDBC示例61主要内容RUP中的分析与设计流程 架构分析确定设计机制案例实践第四部分 基于RUP的软件分析与设计62

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号