• / 343
  • 下载费用:18 金币  

软件工程与管理控制(Rational RUP)课件

关 键 词:
软件工程与管理控制(RationalRUP)课件
资源描述:
第一讲 软件工程的最佳实践 主要内容 软件工程的最佳实践 Rational统一过程 RUP 软件开发常见问题 l对用户的需求理解不准确 l对需求的改变束手无策 l模块不兼容 l软件维护困难 l项目的严重缺陷发现较晚 l软件质量低劣或用户缺少经验 l高负荷下性能低 l不配合的团队力量 l不可靠创建和发布过程 追踪问题的根源 需求不充分 有歧异的交流 脆弱的架构 无法避免的复杂性 未检测出的不一致 测试不足 项目评估过于主观 瀑布模型的开发 无法控制变化的产生 自动控制的不足 迭代化开发 需求管理 使用基于构件的体系结构 可视化软件建模 持续质量验证 控制软件的变更 需求理解不准确 需求变动 模块不兼容 维护困难 缺陷发现较晚 质量低劣 性能低 开发人员间冲突 创建和发布问题 症症 状状根根 本本 原原 因因最最 佳佳 实实 践践 六个最佳实践 l迭代化开发 l需求管理 l使用基于构件的体系结构 l可视化软件建模 l持续质量验证 l控制软件变更 迭代化开发 初始计划初始计划 计划计划 需求 分析设计 实施 交付 测试 评估 管理环境管理环境 每次迭代产 生一个可执 行版本 风险降低风险降低 时间 风险 瀑布模型 迭代 风险比较 迭代开发的一 个主要目的是 尽早降低风险 需求管理 l建立体系化的方法来提取 组织 记载 和管理变化的需求 确保 解决了正确的问题 构建了正确的系统 需求管理的内容 l分析问题 l理解涉众需要 l定义系统 l管理项目规模 l改进系统定义 l管理需求变更 测试脚本测试脚本 设计设计用户用户 文档文档 可追踪性 需要需要 特征特征 用例和软件需求用例和软件需求 问题空间问题空间 解决方案空间 需求管理结构 基于构件的体系结构 l描述了如何设计灵活的 可容纳修改的 直观便于理解的 并且促进有效软件 重用的弹性结构 有弹性的基于构件的架构 l弹性架构 l满足当前和未来的需求 l改进可扩展性 l支持复用 l系统依赖的封装 l基于构件 l复用或定制构件 l选择可利用的商务构件 l现有软件的增值式发展 基于构件的体系结构的目标 l复用基础 构件复用 架构复用 l项目管理基础 计划 人员分配 交付 l智能控制 管理复杂性 维护完整性 系统软件系统软件 中间件中间件 业务程序业务程序 应用程序应用程序 基于构件的分层 系统结构 可视化软件建模 l为什么需要可视化建模 捕获系统的静态结构和动态行为 显示系统各部件如何配合 保持设计和实现的一致性 根据需要适当隐藏或显示细节 促进无歧异的沟通 lUML 适用于所有工作人员的语言 UML可视化建模 活动图 时序图 协作图 状态图 部署图 构件图 对象图 类图 用例图 静态图 动态图 可视化模型 Actor A Use Case 1 Use Case 2 Actor B user Clerk mainWnd MainWnd fileMgr FileMgr repository Repository document Document gFile GrpFile 9 sortByName L1 Doc view request 2 fetchDoc 5 readDoc 7 readFile 3 create 6 fillDocument 4 create 8 fillFile Window95 EXE Windows NT EXE Windows NT Windows95 Solaris EXE Alpha UNIX IBM Mainframe Windows95 Document FileManager GraphicFile File Repository DocumentList FileList user mainWndfileMgr FileMgr repositorydocument Document gFile 1 Doc view request 2 fetchDoc 3 create 4 create 5 readDoc 6 fillDocument 7 readFile 8 fillFile 9 sortByName 双向工程 目标系统 Use Case 3 用例图 类图 协作图 时序图 构件图 状态图 GrpFile read open create fillFile rep Repository name char 0 readDoc readFile from Persistence FileMgr fetchDoc sortByName DocumentList add delete Document name int docid int numField int get open close read sortFileList create fillDocument fList 1 FileList add delete 1 File read read fill the code 部署图 持续质量验证 l质量评估被内建于过程 所有的活动 包括全体成员 使用客观的度量和标准 并且不是事后型的或单独小组进行的 分离活动 产品化构建精化初启 修复软件的代价 失去机会的代价 失去顾客的代价 成本 产品化阶段 发现和修产品化阶段 发现和修 复软件问题需要成百上复软件问题需要成百上 千倍的成本千倍的成本 功能性功能性 为实现的每个场 景建立测试案例 性能性能 测试正常和最大 负荷下系统性能 可靠性可靠性 检验软件一致运行的能 力 可支持性可支持性 测试和维护软件 的能力 可用性可用性 从方便用户使用的 角度测试应用程序 从多方面测试软件质量从多方面测试软件质量 迭代迭代 2 2 UML模型 和实现 测试 迭代迭代 1 1 测试组测试组 1 1 测试组测试组 2 2 迭代迭代 3 3 迭代迭代 4 4 测试每个迭代测试每个迭代 测试组测试组 3 3 测试组测试组 4 4 软件开发生命期中的测试 第n次迭代 n 2次迭代 n 1次迭代 需求获取 分析与设计 实现 时间 项目规划 确定任务 创建 测试和评估验证创建完成任务提高资产 检验途径 控制软件变更 l需要控制的是 每个开发者安全的工作区 自动化集成管理 并行开发 ALERT REPORT 工作区 管理 过程 集成 并行 开发 创建 管理 配置管理不 仅仅是检入 与检出 尽早确定架构 渐增地解决设计 实现 的复杂性 尽早持续地进行质量 检验 渐增地发展基线 确保需求变化的同时有 用户的参与 最 佳 实 践 迭代化开发 需求管理 使用基于构件的体系结构 可视化软件建模 持续验证软件质量 控制软件变更 最佳实践间的相互增强作用 最佳实践的实现 l面向对象技术促进了最佳实践的实现 迭代化开发 能适应变化的需求 渐增地 集成元素 更易于软件复用 使用基于构件的体系结构 结构上强调基 于构件的开发 可视化建模 便于理解 容易修改 第一讲 软件工程的最佳实践 主要内容 软件工程的最佳实践 Rational统一过程 RUP Rational 统一过程 lRational Unified Process RUP 是软件 工程的过程 它提供了在开发组织中分 派任务和责任的纪律化方法 它的目标 是在可预见的日程和预算前提下 确保 满足最终用户需求的高质量产品 lRUP以适合于大范围项目和机构的方式 捕捉了许多现代软件开发过程的最佳实 践 先启先启精化精化构建构建产品化产品化 软件生命周期 Rational Unified Process 有四个阶段 先启 定义整个项目的范围 精化 制定项目计划 描述功能 建立体系架构 框架 构建 构造软件产品 产品化 将软件产品移交到最终用户手中 时间 阶段结束标志着重要的里程碑 生命周期 目标里程碑 生命周期 体系架构 里程碑 初始可运行 能力里程碑 产品发布 时间 先启先启精化精化构建构建产品化产品化 迭代和阶段 迭代 是一个基于确定计划和评估标准并且产生一个可执行 发布版 内部的或外部的 的独特活动序列 初始初始 迭代迭代 体系架构体系架构 迭代迭代 体系架构体系架构 迭代迭代 开发开发 迭代迭代 开发开发 迭代迭代 开发开发 迭代迭代 产品化产品化 迭代迭代 产品化产品化 迭代迭代 先启先启精化精化构建构建产品化产品化 小的里程碑 各发布版 手机开发项目 初启阶段 初启迭代1 手机功能列表 通话 短信 地址簿 游戏 明确目标和范围 手机开发开发项目 精化阶段 初启迭代1 手机功能列表 通话 短信 地址簿 游戏 精化迭代1 完善细化需求 开发实现基本通话 功能 测试基本通话功能 精化迭代2 完善细化需求 开发实现短信功能 测试短信功能 建立手机架构明确目标和范围 手机开发项目 构建阶段 初启迭代1 手机功能列表 通话 短信 地址簿 游戏 精化迭代1 完善细化需求 开发实现基本通话 功能 测试基本通话功能 精化迭代2 完善细化需求 开发实现短信功能 测试短信功能 构建迭代1 开发实现地址薄 和游戏功能 测试相关功能 建立手机架构明确目标和范围开发其他功能 软件过程的定义 软件过程定义由 谁 在 什么时候 做 什么 事情 并且 如何 去达到一定的目标 用RUP的四种主要建模元素角色 活动 制品 工作流来表达 新需求或需求变更 新系统或系统变更 软件过程 工作流描述有意义的活动序列 需求工作流 规程 l最后 所有的过程元素 角色 活动 制品等 被划分到不同的逻辑容器中 称为规程 规程 软件生命期和软件过程的集成 规程将活动 逻辑地组织 在一起 一次迭代经历 所有的规程 规程产生模型 OK OK Fail 被实现 被实施 被验证 实施模型 测试模型 设计模型 用例模型 模型 规程 测试实施分析和设计需求 业务用例模型 业务建模 业务对象模型 BBB B 被实现 被自动化 规程指导迭代化的开发 业务建模 工作流细节 需求 工作流细节 规程 RUP的关键概念 阶段迭代规程工作流详情 角色 制品 活动 分解为组织为描述为 负责 输出 涉及参与 文档 模型元素模型 RUP的实践 l下载与安装RUP l浏览RUP 回答下列问题 分析员负责哪些活动 需求应该产生哪些工件 如何定制一个自己的RUP 第二讲 软件需求 主要内容 RUP中的需求流程 用例模型 术语表 补充规约 检查点 RUP规程中的需求 与客户和其他涉众在系 统的工作内容方面达成并 保持一致 让开发人员对系统的需 求有更好的理解 划分系统的边界 为计划迭代的技术内容 提供基础 为估算开发系统所需成 本和时间提供基础 定义系统的用户界面 需求的目的需求的目的 规程 需求工作流 记录一些全局性的功 能需求 非功能性需 求和设计约束等 相关需求制品 补充规约 术语表 用例规约 用例模型 参与者 用例 用例图描述 参与者与用 例间的关系 用例规约描述 每一个用例的 细节信息 记录一些系 统需求相关 的术语 案例学习 课程注册系统 课程注册需求文档 l浏览课程注册系统的问题陈述文档 第二讲 软件需求 主要内容 RUP中的需求流程 用例模型 术语表 补充规约 检查点 最终用户 用例方法的优点 l交流 l标识 l验证 用例 交流 标识 验证 领域专家 用户 建立用例模型 l使用用例的方法来描述系统的功能需求的 过程就是用例建模 l步骤 确定参与者 确定用例 描述用例规约 检查用例模型 确定参与者 l通过提问发现系统参与者 使用系统主要功能的人是谁 系统要从哪些人或系统获取数据 系统为哪些人或系统提供数据 系统会与哪些其它系统相关联 系统由谁维护和管理 参与者示例 l学生 注册课程 l教授 选择课程来教 l注册员 维护教授和学生的信息 l财务系统 从注册系统获得学生的费用 情况 l课程目录系统 维护课程信息 确定用例 l通过提问发现系统用例 参与者为什么要使用该系统 参与者是否会在系统中创建 修改 删除 访 问 存储数据 又是如何来完成这些操作的 参与者是否会将外部的某些事件通知给该系统 系统是否会将内部的某些事件通知该参与者 用例示例 l无论是学生 教授还是注册员都需要登陆到系统 l学生需要使用系统来注册课程 也能查看自己的成绩 l教授需要使用系统来选择课程 也能记录学生的成绩 l注册员必须维护学生 教授的信息 并在适当时候关闭 注册系统 l当选择课程的过程完成后 收费系统必须获得收费信息 l学生和教授选择课程 需要启动课程目录系统 l可以生成以下用例 l登陆系统 注册课程 查看成绩 选择课程任教 提 交成绩 维护教授信息 维护学生信息 关闭注册 查看报告 学生 注册课程 登录 选择所教的课程 提交成绩 教授 注册员 财务系统 维护教授信息 维护学生信息 关闭注册 课程目录系统 课程注册系统用例图课程注册系统用例图 用例规约 l名称 l简要说明 l事件流 l关系 l活动图 l用例图 l特殊需求 l前置条件 l后置条件 l其它图 用例规约 用例模型 参与者 用例 描述用例 事件流 l事件流描述对话的细节 包括 一条基本流 几条备选流 l常规的异体 l单数的案例 l异常流 处理出错情况 什么是场景 l场景是用例的实例 事件流的格式 l基本流 用数字编号标明步骤的先后顺序 概括每一步的主要内容 l备选流 起点 该备选流从事件流的哪一步开始 条件 什么条件会触发该备选流 动作 系统在该备选流下会采取什么动作 恢复 该备选流结束后 用例如何继续执 行 登录系统的事件流 基本事件流 1 当学生 教授 登记员要求登录该课程注册系统时 系统要 求输入其用户名及密码 2 学生 教授 登记员输入其用户名及密码 3 系统进行用户名和密码的验证 A1 无效的用户名 A2 密码错误 4 学生 教授 登记员登录系统 进行其它操作 备选事件流 A1 无效的用户名 1 系统显示用户名错误 2 返回基本事件流第1步 A2 密码错误 1 系统显示密码错误 2 返回基本事件流第1步 登录系统的用例规约 简要说明 学生在进行课程注册前必须先登录该系统 教授也需要先登录 才能进行选择课程等操作 登记员也必须登录后才能进行有关 信息的维护 事件流 略 特殊需求 无 前置条件 学生 教授 登记员有正确的用户名和密码 后置条件 成功登录后 学生 教授 登记员可分别进行相应权限内的操作 如果登录失败则不能进行任何操作 案例学习 用例规约 l浏览关于注册课程 用例的用例规约 l 后续的分析设计都与该 用例有关 用例规约 第二讲 软件需求 主要内容 RUP中的需求流程 用例模型 术语表 补充规约 检查点 术语表 术语表 课课程注册系统术语统术语 表 1 简简介 这份文档是用来对一些术语进 行定义的 同时将用例说 明或其他文档中读者不太熟悉的术语进 行解释性的描述 通常来说 这份文档对一些数据信息进行一些定义 从而使得用例说明和其他的文档显得简洁 易懂 2 定义义 这份术语 表包含了课程注册系统中核心概念的定义 2 1 课课程 大学提供的某一门课 2 2 课程开设 某一课程的具体安排情况 包括一周上 课的天数和时间 2 3 课课程目录录 高校开设的所有课程的完整目录 案例学习 术语表 l浏览课程注册需求 文档提供的术语表 术语表 第二讲 软件需求 主要内容 RUP中的需求流程 用例模型 术语表 补充规约 检查点 补充规约 l功能性 l可用性 l可靠性 l性能 l可支持性 l设计约束 补充规约 描述全局性 的功能需求 记录所有可用性相关 的需求 如系统的使 用者所需要的培训时 间 是否应附合一些 常见的可用性标准如 Windows界面风格等 包括可用性 故障频率和严 重性 精度等 包括响应时间 吞吐量 容量 资源利用情况等 包括编码标准 命 名约定 类库 如 何来对系统进行维 护操作和相应的维 护实用工具等 代表已经批准并必须遵循的设计 决定 其中包括软件开发流程 开发工具 系统构架 编程语言 第三方构件类库 运行平台和 数据库系统等 补充规约示例 l浏览课程注册 需求文档提供 的补充规约 课程注册 需求文档 补充规约 第二讲 软件需求 主要内容 RUP中的需求流程 用例模型 术语表 补充规约 检查点 检查点 需求分析 用例模型 l用例模型是否易于理解 l通过用例模型能否对系统的功能和 它们的关系有清楚的认识 l所有功能需求是否都已经满足 l模型中是否有多余的行为 l模型是否需要分成为包 检查点 需求分析 参与者 l是否确定了所有的参与者 l每个参与者是否至少与一个用例有 关 l参与者是否需要合并或分解 l一个用例中是否有两个参与者起同 样的作用 l用例是否有能使所有人都理解的直 观的名字 检查点 需求分析 用例 l每个用例是否至少和一个参与者 有关 l每个用例是否都是独立的 l是否存在用例有相似的行为或事 件流 l用例是否有唯一并且直观的名字 l所有人对用例的名字和描述是否 有一致的理解 检查点 需求分析 用例规约 l是否清楚谁执行用例 l用例的目的是否明确 l简要说明是否是用例的真实描述 l事件流的起始和结束时间是否清楚 l参与者与用例的交流次序是否遵照 用户的要求 l参与者信息的交流是否清楚 l是否有用例过度复杂 检查点 需求分析 术语表 l每个术语是否有清楚简明的定义 l每个术语是否包含在用例说明的 某处 l在参与者和用例的简要说明中 术语的使用是否一致 第三讲 软件分析与设计概述 主要内容 RUP中的分析与设计流程 架构分析 确定设计机制 规程中的分析与设计 l分析与设计的目的 将需求转换为未来 系统的设计 逐步开发强壮的系 统架构 使设计适合于实施 环境 为提高性能而 进行设计 补充规约 用例模型 设计模型 数据模型 架构文档 分析与设计 分析与设计综述 术语表 分析与设计对比 l分析 关注于问题的理解 理想化的设计 行为 系统结构 功能需求 较小的模型 l设计 关注于解决方法 操作和属性 性能 接近源代码 对象生存期 非功能性需求 较大的模型 设计类 子系统 用例 分析与设计不是自顶向下或自底向上 分析类 自底向 上 自顶向 下 定义在中间层 分析与设计 分析 设计 初启迭代 定义备选架构 执行架构合成 分析行为 改进架构 设计构件设计数据库 可选 早期精化迭代 分析与设计工作流 分析 设计 分析与设计活动 设计人员 系统架构师 评估用于验证概 念架构的可行性 架构分析 识别设计 元素 识别设计 机制 建立用于验 证架构概念 结合现存的 设计元素 描述运行 时架构 描述部 署方式 用例分析用例设计子系统设计类设计测试类设计 封装体设计员 封装体设计 设计复审员架构复审员数据库设计员 复审设计 复审架构数据库设计 系统架构师的任务系统架构师的任务 架构师 软件架构文档 l软件系统架 构师负责在 整个项目中 对技术活动 和制品进行 领导和协调 参考架构 分析模型 设计模型 部署模型 设计人员的任务 设计人员 用例实现 包 子系统 类 l设计人员必须 知道用例建模 技术 系统需 求和软件设计 技术 第三讲 软件分析与设计概述 主要内容 RUP中的分析与设计流程 架构分析 确定设计机制 分析 设计 初启迭代 定义备选架构 执行架构合成 分析行为 改进架构 设计构件设计数据库 可选 早期精化迭代 架构分析 架构 分析 架构师 架构分析总览 补充规约术语表 用例模型 架构分析 设计模型 参考架构 部署模型 前景文档 软件架构文档 项目专用 设计指南 什么是系统架构 l软件系统架构 architecture 包含关于软 件系统组织的许多重要决定 选择组成系统的结构元素以及它们的接口 充当这些元素间协作的渠道 把这些结构和行为元素组织成更大的子系统 指导开发组织的架构风格 架构约束设计和实现 l架构包含了一系列约束设计和结构的战略 上的设计决策 规则或模式 架构决策是最基础的决策 改变它们会引起重大的影响 架构 设计 实现 代码 进程视图部署视图 逻辑视图 用例视图 实施视图 终端用户 功能 性能 可扩展性 吞吐率 性能工程师 系统拓扑部署 安装通讯 系统工程师 分析 设计人员 结构 开发人员 软件管理 软件架构 4 1 视图 模型 架构分析步骤 l定义子系统的高层组织 l确定分析机制 l确定关键抽象 l创建用例实现 l包是组织元素成组的通用机制 l是能包含其它模型元素的模型元素 l包可用来 组织开发中的模型 作为配置管理的一个单元 什么是包 University Artifacts l包之间利用依赖关系产生联系 l依赖的含义 l提供者包的变化会影响到客户包的变化 l客户包不能被独立地复用因为它依赖于提供者包 包的关系 依赖 Client PackageSupplier Package 依赖关系 C A B 层次应该 非循环 A B C A 循环依赖使一个包在另一个包不存在的情 况下不能被复用 避免循环依赖 A B 模式和框架 l模式 描述了对环境中的通用问题的通用解决 方法 l分析 设计模式 提供了小范围技术问题的解决方法 提供了解决方法的一部分 或问题的一块 l框架 定义了解决问题的普通方法 提供了解决方法的骨架 它的细节可能是 分析 设计模式 结构方面行为方面 什么是设计模式 l设计模式是对通用设计问题的解决方法 描述了通用的设计问题 描述了问题的解决方法 讨论应用模式产生的结果 l设计模式提供了复用成功设计的能力 参数化协作 Pattern Name Template Parameters 什么是架构模式 l架构模式表示软件系统的基本结构组织方 案 它提供了一组预定义的子系统 指定 它们的职责 并且包括用于组织其间关系 的规则和指导 层次 模型 视图 控制器 M V C 管道和过滤器 黑板 典型的分层模式 普通功能 特殊功能 构成应用程序的独特应用程序子系 统 包含组织开发的增值软件 业务专用 包含该类型业务专用的 一些可重复使用的子系统 中间件 提供用于实用程序的子系 统 为不同环境中分布式对象计算 提供独立于平台的服务等 系统软件 包括构成实际基础设施 的软件 如操作系统 与特定硬件 的接口和设备驱动程序等 应用程序子系统 业务专用 中间件 系统软件 架构模式 层 设备和客户机 专用代码 进程和其它 应用程序代码 主要抽象类等 机制 服务 H W 专用代码 O S 专用代码 通用代码 如ORB MQS 5 4 3 2 1 应用程序 应用程序框架 基础设施 架构层次建模 l用包的构造型表示架构层次 l 构造型 Package Name 模型的高层组织示例 Application Business Services 架构分析步骤 l定义子系统的高层组织 l确定分析机制 l确定关键抽象 l创建用例实现 架构师 补充规约 用例模型 机制 COTS Products Databases 进程间通信技术 等等 由客户类实现 利用 负责 约束 必须的功能性 实施环境 什么是架构机制 三种架构机制 l架构机制种类 分析机制 概念 设计机制 内容 实施机制 真实环境 分析机制示例 l持久性 l进程间通信 l消息路由 l分布性 l事务管理 l进程控制与同步 l信息交换 格式转换 l安全性 l错误检测 处理 报告 l冗余性 l遗留界面 分析机制特征示例 l持久性机制 粒度 容量 持续时间 存取机制 访问频率 新建 删除 更新 读取 可靠性 l进程间通信机制 反应时间 同步性 消息大小 协议 l将所有分析机制收集 在一个列表中 l绘制类到分析机制的 映射图 l确定分析机制的特征 l通过协作建模 描述分析机制 类 分析 验证 通信 持久性 分析机制 航班 飞机 任务 时间表 路线 工作量 课程注册系统的分析机制 l持久性 l分布性 l安全性 l遗留界面 架构分析步骤 l定义子系统的高层组织 l确定分析机制 l确定关键抽象 l创建用例实现 什么是关键抽象 l系统必须能处理的核心概念 l关键抽象的来源 领域知识 需求 术语表 领域模型或业务模型 如果有 识别关键抽象 l对候选的关键抽象集合做相应取舍 l将被确认的关键抽象以类的形式加入设计模型 包括对关键抽象的简要说明 l将关键抽象绘制在一张 或多张 描述类之间 关系的类图中 标识现阶段能够确认的关系 关键抽象示例 StudentProfessor Schedule CourseCatalogCourseCourseOffering 架构分析步骤 l定义子系统的高层组织 l确定分析机制 l确定关键抽象 l创建用例实现 什么是用例实现 类图 用例 协作图 用例模型设计模型 用例用例实现 时序图 迭代过程的用例实现 N次迭代N 1次迭代 用例A 场景1和2 用例实现A 迭代的 开始 迭代的 结束 用例B 场景1 用例实现A 用例A 场景3 用例实现B 用例实现的价值 l从分析与设计追溯到需求 用例 分析与设计需求 用例实现 第三讲 软件分析与设计概述 主要内容 RUP中的分析与设计流程 架构分析 确定设计机制 分析 设计 初启迭代 定义备选架构 执行架构合成 分析行为 改进架构 设计构件设计数据库 可选 早期精化迭代 确定设计机制 确定设 计机制 架构师 确定设计机制总览 补充规约 确定设计 机制 软件架构文档 设计模型 分析类 确定设计机制的步骤 l对分析机制的使用对象进行分类 l记录架构机制 什么是设计模式 l设计模式为改进软件系统的子系统 组件 或它们之间的关系提供了方案 它描述了 在特定环境中解决一般设计问题的通信组 件频繁出现的结构 Erich Gamma et al 1994 Design Patterns Elements of Reusable Object Oriented Software Pattern Name Template Parameters 设计模式示例 模式举例 命令 行为模式 向对象发送请求而无需知道有关请求的操作或请求的接受 者的任何事情 例如 对菜单条目的响应 撤销的请求 中断的处理 抽象工厂 创建模式 创建GUI对象 按钮 滚动 条 窗口等 独立于操作系 统应 用程序可以简单 地适应不同的环境 代理 结构模式 用对客户对 象透明的方式处理分布对象 远程代理 只有当需要时才用透明的方式加载很大的图片对象或是创 建 初始化占用大量内存的对象 虚拟代理 观察者 行为模式 当一个对象的状态改变时 与之相关的对象被通知到 变化的对象独立于观察者 注意 MVC架构模式是 观察者设计 模式的扩展 用UML表示设计模式 l设计模式用参数化协作表示 协作的参数 构造型 ConcreteCommand Process Client Command Process Invoker Command Client Invoker ConcreteCommand 分析类分析机制 学生 课程表 课程提供 课程 注册控制器 持久性 安全性 持久性 遗留界面 持久性 遗留界面 分布性 持久性 安全性 描述分析机制 l收集所有分析机制形成列表 l绘制客户类到分析机制的映射图 l确定分析机制的特征 对分析机制分类 l目的 精炼分析机制收集的信息 l步骤 确定各分析机制的使用对象 确定各分析机制的特征概要文件 根据使用对象所用的特征概要文件 将使用对象分组 自下而上地制定实施机制清单 设计和实施 机制 分析 设计实现 Remote Method Invocation RMI 持久性 分析机制 概念 设计机制 具体 实施机制 真实环境 OODBMS RDBMSJDBC ObjectStore Java 1 2 from Sun Legacy Data New Data 分布性 持久性 确定设计机制的步骤 l对分析机制的使用对象进行分类 l记录架构机制 l架构机制可被处理为模式 如参数化协作 记录架构机制 结构方面行为方面 Pattern Name Template Parameters 持久性 RDBMS JDBC Statement executeQuery sql String ResultSet executeUpdate sql String int from java sql ResultSet getString String from java sql Connection createStatement Statement from java sql DriverManager getConnection url user pass Connection from java sql DBClass create PersistentClass read searchCriteria String PersistentClassList update c PersistentClass delete c PersistentClass 1 1 PersistencyClient from SamplePersistency Client PersistentClass getData setData command new from SamplePersistentClass PersistentClassList new add c PersistentClass from SamplePersistentClass 0 1 0 role由应用机制 的设计人员完成 持久性 RDBMS JDBC 初始化 DBClass DriverManager 1 getConnection url user pass 持久性 RDBMS JDBC 创建 Connection Statement PersistencyClient DBClass PersistentClass 1 create 1 1 New 1 2 getData 1 3 createStatement 1 4 executeUpdate String 持久性 RDBMS JDBC 读取 PersistentClass Connection Statement ResultSet PersistencyClient DBClass PersistentClassList 1 read string 1 1 createStatement 1 2 executeQuery string 1 4 new 1 5 getString 1 6 setData 为类中每一 属性调用 返回一 个语句 1 3 new 创建一个列表保存 所有已检索到的数据 1 7 add PersistentClass 将检索到的信息添加进列表 对从executeQuery 命令返回的每个数 重复这些操作 PersistentClassList 保存从数据库中检 索到的数据 DBClass用给定标准 构建的SQL语句被传递 给 executeQuery 传递用于为持久类 访问数据的标准 持久性 RDBMS JDBC 更新 DBClass PersistencyClient PersistentClass Connection Statement 1 update PersistentClass 1 2 createStatement 1 1 getData 1 3 executeUpdate string 执行SQL语句 持久性 RDBMS JDBC 删除 PersistencyClient DBClass Connection Statement 1 delete PersistentClass 1 1 createStatement 1 2 executeUpdate string 执行SQL语句 l提供访问实现JDBC 需要的类库的途径 提供 java sql 包 l创建需要的 DBClasses 每个 persistent class分配一个DBClass l将DBClasses 结合进设计 分配包 层 从 persistency clients添加联系 l创建 更新交互图 初始化数据库 访问Persistent class 创建 读取 更新 删除 并入JDBC 步骤 java sql ResultSet from java sql Connection from java sql Statement from java sql DriverManager from java sql Sample Persistency Client Package 并入JDBC示例 主要内容 用例分析总述 补充用例描述 查找分析类 将用例行为分配给分析类 描述分析类 描述分析机制 合并分析类 第四讲第四讲 用例分析用例分析 初启迭代 定义备选架构 执行架构合成 分析行为 改进架构 设计构件设计数据库 可选 用例分析 设计人员 早期精化迭代 用例分析总览 补充规约 术语表 用例分析 项目专用 设计指南 用例实现 分析模型 用例模型 分析类 软件架构文档 第四讲 用例分析 主要内容 用例分析总述 补充用例描述 查找分析类 将用例行为分配给分析类 描述分析类 描述分析机制 合并分析类 系统显示 课程列表 系统找到并列 出课程目录数 据库提供的课 程列表 补充用例描述 第四讲 用例分析 主要内容 用例分析总述 补充用例描述 查找分析类 将用例行为分配给分析类 描述分析类 描述分析机制 合并分析类 用例分析类源代码可执行 系统 设计元素 用例分析 分析类 可执行系统的第一步 从用例行为中查找分析类 实体类 边界类 控制类 系统边界 系统信息 协调用例行为 如何确定边界类 学生课程目录系统课程注册 RegisterForCoursesForm CourseCatalogSystem l为用例中涉及到的每对参与者 用例设计一 个边界类来封装面向这个参与者的接口 l边界类的三种类型 用户接口类 系统接口类 设备接口类 l设计边界类的指导原则 对于用户接口类 关注于用户界面的交互 内容 不是具体窗体构件 对于系统和设备接口类 关注于定义什么 通信协议 不要关注协议的实现细节 如何确定实体类 l将用例的事件流作为输入 l获取用例的关键抽象 l过滤名词的方法 对事件流中的名词加下划线 去除冗余的候选名词 去除含义不明确的候选名词 去除参与者 去除实现结构 去除属性 去除操作 l课程注册 建立课程表 中的实体类 学生 课程表 课程提供 如何确定控制类 学生课程目录系统课程注册 l通常为每个用例设计一个控制类 封装这 个用例的顺序 RegistrationController 学生 课程目录系统注册课程 用例模型 设计模型 分析类总览 课程注册表单课程目录系统学生课程表 课程提供 注册控制者 第四讲 用例分析 主要内容 用例分析总述 补充用例描述 查找分析类 将用例行为分配给分析类 描述分析类 描述分析机制 合并分析类 用例图 用例实现 协作图 将用例行为分配给分析类 l对于每个用例的事件流 确定分析类 将用例的职责分配给分析类 在交互图中为分析类建模 时序图 将职责分配给分析类 l用分析类的构造型做指导 l边界类 行为包括与参与者的联系 l实体类 行为包括封装的数据 l控制类 用例或事件流特有的行为 时序图示例 Student RegisterForCoursesForm RegistrationController Schedule Student Course Catalog CourseCatalogSystem 显示本学期有效的 课程提供的清单 新建一个 课程表 1 create schedule 5 display course offerings 2 get course offerings 3 get course offerings forSemester 6 display blank schedule 7 select 4 primary and 2 alternate offerings 8 create schedule with offerings 9 create with offerings 显示空的课程 表让学生选择 课程 10 add schedule Schedule 4 get course offerings 在这一点 提交课程表子事件流被
展开阅读全文
  麦档网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:软件工程与管理控制(Rational RUP)课件
链接地址:https://www.maidoc.com/p-16113066.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2018-2020 maidoc.com版权所有  文库上传用户QQ群:3303921 

麦档网为“文档C2C模式”,即用户上传的文档所得金币直接给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的金币归上传人(含作者)所有。
备案号:蜀ICP备17040478号-3  
川公网安备:51019002001290号 


收起
展开