• 1. UML&RUP基础教程Unified Modeling Language & Rational Unified Process
  • 2. 为什么我们需要UML?我们的过去 Word文档、PDM表现形式单一 在几百页的文档中需要找到自己关心的章节 我要的东西怎么找不到(遗漏) UML方式描述和组织文档 同一件事情可以从不同的侧面描述 不同的人可以看到不同的东西 可以由简单到具体,迭代式描述事物,并且都留下了可追溯的痕迹 UML提供了五个抽屉,缺少什么一目了然
  • 3. 课程介绍第一讲 UML的基本概念 UML是工具语言 UML的模型元素 通用机制 扩展机制 用例图 类图 对象图 状态图 顺序图 协作图 活动图 构件图 实施图 第二讲 UML的五大视图和迭代开发模式 用例视图(描述需求) 逻辑视图(描述设计) 实施视图(描述构件关系) 部署视图(描述节点部署) 进程视图(描述并发进程或线程之间的关系) 迭代开发模式 第三讲 RUP的基本概念体系 什么是RUP? 角色 工件 工件和角色的关系 四个阶段 核心工作流程 模板
  • 4. 第一讲 UML的基本概念UML是工具语言(并非只描述软件) 你可以使用UML描述大象是如何放入冰箱的 (见Rose图) 你可以使用UML描述一个组织如何开展业务的 一个企业是如何申请购买一台设备 一个预算单位是如何上报用款计划 你能说这一定是软件吗?
  • 5. 第一讲 UML的基本概念UML的模型元素 元件关系 元件就如电路的元件 关系就如电线 用关系连接元件,构成UML的图
  • 6. 第一讲 UML的基本概念通用机制和扩展机制 通用机制 加上线条颜色、字体粗细、下划线等修饰 对方法、类、对象等等增加注释等 扩展机制 Stereotype(扩展元件类型) 约束 标签值
  • 7. 第一讲 UML的基本概念9种图(Diagram) 用例图 类图 对象图 状态图 顺序图 协作图 活动图 构件图 实施图用例图
  • 8. 第一讲 UML的基本概念类图对象图状态图顺序图
  • 9. 用例和用例图用例是描述满足用户需求的基本功能 用例和需求配置项(SRS)是一一对应的关系 一个用例图是描述一类用户(或子系统)需要执行的一组功能 一项业务需求是由一组业务用例描述的(多个用例图) 一个业务系统是由一组系统需求用例描述的(多个用例图)第一讲 UML的基本概念用例图
  • 10. 用例之间的关系 包含关系(见Rose图) 扩展关系(见Rose图) 泛化关系(见Rose图) 依赖关系(见Rose图) 用例细化原则 用户和系统之间(或系统和系统之间)有明确的最初输入和最终输出 用例抽象原则 以客观现实为基准 由具体到抽象 第一讲 UML的基本概念
  • 11. 类和类图类 名称 属性 (private/friend/protected/public) 方法(private/friend/protected/public) 类图是描述类和类之间的关系图 泛化(继承) 聚合(如:类的私有变量) 关联(如:类的公有变量) 依赖(如:方法申明中使用,作为返回或输入参数类型;或方法体中使用到的类型)第一讲 UML的基本概念
  • 12. 第一讲 UML的基本概念类类图
  • 13. 对象和对象图对象 对象名称和类名称 属性 和属性值 对象图是描述运行时刻,对象的基本状态以及对象之间的关系 聚合关系 关联关系 依赖关系第一讲 UML的基本概念
  • 14. 状态图状态图主要是描述对象、子系统、系统的生命周期 操作 状态 消息,是操作时发生的第一讲 UML的基本概念
  • 15. 第一讲 UML的基本概念
  • 16. 顺序图顺序图是从时间的角度描述业务对象、子系统、系统之间的事件(消息)传递先后关系 消息 对象 时序 返回第一讲 UML的基本概念
  • 17. 描述需求的顺序图第一讲 UML的基本概念
  • 18. 描述设计的顺序图第一讲 UML的基本概念
  • 19. 协作和协作图协作是用例的实现形式,一个用例通常对应一个协作 用例的分析方向,就是协作的分析方向 协作图描述一个协作 协作图主要从空间和时间的角度描述对象、子系统之间的事件调用(消息流转)关系,它实际上等价顺序图,可由顺序图产生。第一讲 UML的基本概念描述需求的协作图协作用例
  • 20. 第一讲 UML的基本概念描述设计的协作图
  • 21. 活动图活动图不是新鲜的东西,是流程图 活动图是按照角色(活动的主体)划分活动的流程图 活动图表达两个维度的含义: 横坐标表达的是活动的主体(泳道) 纵坐标表示时间的流向,活动的先后顺序 第一讲 UML的基本概念
  • 22. 第一讲 UML的基本概念预算单位国库司代理银行清算银行活动图
  • 23. 构件图构件图是对软件开发的结果文件、数据库对象之间的逻辑关系进行描述。 部署构件(DLL,EXE, class , jar, war, ear,配置文件) 工作产品构件(源代码、数据文件等) 执行构件,运行期对象或接口 构件的可替换性第一讲 UML的基本概念
  • 24. 第一讲 UML的基本概念源代码构件图
  • 25. 实施构件图第一讲 UML的基本概念
  • 26. 第一讲 UML的基本概念执行构件图
  • 27. 实施图描述软件是如何部署的 节点和节点之间的关系 节点和实施构件之间的关系第一讲 UML的基本概念
  • 28. 第一讲 UML的基本概念部署图
  • 29. 视图(图的组合) 用例视图 (Use Case View) 用例图 为了动态的观察用例的执行,活动图,协作图或顺序图 逻辑视图 (Logic View ) 类图、对象图 动态方面可用协作图、状态图描述 进程视图( Concurrency View) 构件图、部署图 动态方面可用协作图、活动图、状态图描述 实施视图 (Component View ) 构件图 部署视图 (Deployment View ) 部署图 第二讲 UML五大视图和迭代开发模式
  • 30. 图元件关系视图第二讲 五大视图和迭代开发模式元件、关系、图、视图之间的构成
  • 31. 视图1第二讲 五大视图和迭代开发模式图图图图图图图图图视图2 视图3 视图4 图、视图之间关系架构
  • 32. 用例视图逻辑视图进程视图实施视图部署视图最终用户、需求分析设计人员、实现人员设计人员、实现人员、性能测试配置(产品)支持人员部署实施人员第二讲 五大视图和迭代开发模式
  • 33. 用例视图用例视图由可被最终用户、分析设计人员、测试人员看到的系统行为的用例组成 用例图描述系统功能静态方面 协作图、活动图、顺序图表达用例的动态方面,为测试准备第二讲 五大视图和迭代开发模式
  • 34. 用例视图的结构用例 用例图 用例分析 用例事件图(顺序图)(角色和软件之间的交互) 顺序图、协作图(用例场景,用例和分析类之间的关系) 活动图描述该用例的逻辑部分(循环和分支)第二讲 五大视图和迭代开发模式
  • 35. 第二讲 五大视图和迭代开发模式用例分析过程用例事件描述顺序图场景分析顺序图活动逻辑分析活动图用例图根据经验给出一个技术架构(抛弃型和演化型) 验证该用例能否执行
  • 36. 第二讲 五大视图和迭代开发模式用例分析的输入和输出业务建模用例分析需求用例分析业务建模分析结果活动图和顺序图活动图和顺序图(分析类)涉众关心的问题
  • 37. 逻辑视图(设计视图)由设计人员和程序员能理解的类、接口和协作组成,针对问题提出了解决方案 类图、对象图 动态方面可用顺序图(协作图)、状态图描述 第二讲 五大视图和迭代开发模式
  • 38. 逻辑视图结构设计类图 对象图,运行期快照 顺序图(协作图)描述运行期对象之间的动态交互关系 活动图,描述对象之间的逻辑关系 第二讲 五大视图和迭代开发模式
  • 39. 逻辑视图分析过程第二讲 五大视图和迭代开发模式设计类分析设计类关系分析对象事件分析对象逻辑分析类类图顺序图或协作图活动图开始演进一个基本可用的技术架构对象状态分析状态图
  • 40. 第二讲 五大视图和迭代开发模式逻辑分析的输入和输出逻辑分析过程需求过程中获得的: 活动图和顺序图(分析类)类图、活动图和顺序图(技术架构)
  • 41. 进程视图由程序员能理解的描述系统并发与同步机制的线程、进程组成 类图、对象图来描述静态方面 动态方面可用协作图、活动图、状态图描述 主动类的概念 第二讲 五大视图和迭代开发模式
  • 42. 第二讲 五大视图和迭代开发模式进程视图的结构和逻辑视图大致相同 但顺序图上有更多的约束(见rose) 设计时注意的点: 并发行(吞吐量) 性能 鲁棒性——进程(线程)的状态分析
  • 43. 第二讲 五大视图和迭代开发模式进程分析的输入和输出和逻辑视图大致相同逻辑分析过程需求分析输出的 活动图和顺序图(分析类)类图、活动图和顺序图(技术架构)性能需求J2EE /WebService/数据库提供了并发机制,但需要在配置和部署上更加注意效率 设计上更多注意空间复杂度。
  • 44. 实施视图包含用于配置管理人员可以理解的装配与发布物理系统的构件和文件 构件图 第二讲 五大视图和迭代开发模式
  • 45. 第二讲 五大视图和迭代开发模式实施分析的输入和输出逻辑分析过程需求过程中获得的: 活动图和顺序图(分析类)构件图实施分析阶段1如果有动态部分,还输出顺序图、活动图等逻辑分析过程设计分析过程中获得的: 活动图和顺序图(设计类)构件图实施分析阶段2如果有动态部分,还输出顺序图、活动图等精化
  • 46. 部署视图包含了实施人员可以理解的系统硬件拓扑结构的节点与关系 部署图 可以结合构件,共同描述部署方案 第二讲 五大视图和迭代开发模式
  • 47. 第二讲 五大视图和迭代开发模式详细见Visio图
  • 48. 第二讲 五大视图和迭代开发模式部署分析的输入和输出逻辑分析过程需求过程中获得的: 活动图和顺序图(分析类)构件图实施分析阶段1如果有动态部分,还输出顺序图、活动图等逻辑分析过程设计分析过程中获得的: 活动图和顺序图(设计类)构件图实施分析阶段2如果有动态部分,还输出顺序图、活动图等精化
  • 49. 逻辑视图实现视图进程视图实施视图第二讲 五大视图和迭代开发模式如何对系统进行体系结构建模 应用架构:用例视图、业务建模视图 技术架构:实现视图、实施视图、进程视图 、逻辑视图、用例视图/业务建模视图
  • 50. 迭代开发模式用例驱动 体系架构为中心 迭代和增量开发第二讲 五大视图和迭代开发模式
  • 51. 用例驱动第二讲 五大视图和迭代开发模式需求流程分析设计流程实施流程测试流程体系架构用例业务分析、需求变更通过协作来满足用例实现用例通过测试用例来验证用例
  • 52. 体系架构为中心第二讲 五大视图和迭代开发模式需求流程分析设计流程实施流程测试流程体系架构输出应用架构文档输出技术架构文档实现架构测试现有架构是否满足需求
  • 53. 迭代和增量开发第二讲 五大视图和迭代开发模式迭代、增量的概念 需求分析设计配置管理环境准备初始阶段需求分析设计构建配置管理需求分析设计构建测试需求分析设计构建测试细化阶段构建阶段产品化阶段
  • 54. 从周期上划分迭代产品版本迭代 当前版本是对上一个版本的迭代 产品开发阶段迭代 每个阶段是对上一个阶段的迭代 阶段内部迭代 初始阶段迭代 细化阶段迭代 构建阶段迭代 产品化阶段迭代 第二讲 五大视图和迭代开发模式
  • 55. 从输出制品划分迭代制品本身迭代 比如:用例图精化 新的制品产生过程迭代 比如:需求过程迭代,用例导出用例场景 第二讲 五大视图和迭代开发模式
  • 56. 增量增量原则 由简单到复杂 一个例子:用例事件图到用例场景图 由具体到抽象 用例泛化过程 类的泛化过程 由点到面 由分析类到设计类 备选架构实例到真实架构 第二讲 五大视图和迭代开发模式
  • 57. 什么是RUP? 角色 工件 工件和角色的关系 四个阶段 核心工作流程 模板第三讲 RUP的基本概念体系
  • 58. Rational Rose的安装目录\\132.147.32.214\共享\Rational Rose Enterprise Edition 2003
  • 59. 软件项目的特征 需求变更是不可避免的 项目的风险永远存在 瀑布式开发流程不适合的项目 大项目(100人月以上) 周期较长 非线性需求项目 瀑布式开发流程第三讲 RUP的基本概念体系
  • 60. 什么是RUP?RUP是迭代的增量的软件过程 RUP是明确规定了过程的输入输出工件,并提供参考 RUP明确定义了软件过程中的参与者 RUP明确定义了软件的生命周期 RUP明确定义了软件的工作流第三讲 RUP的基本概念体系
  • 61. 角色第三讲 RUP的基本概念体系
  • 62. 工件第三讲 RUP的基本概念体系
  • 63. 角色和工件的关系第三讲 RUP的基本概念体系
  • 64. 四个阶段第三讲 RUP的基本概念体系
  • 65. 核心工作流程第三讲 RUP的基本概念体系
  • 66. 结束吸纳、分享、进步! 谢谢大家!