|
电话咨询开课机构
报名热线: 021-61505199
培训受众
本课程适用于希望在实际项目应用中系统性的应用UML的技术人员,以及那些希望获得在用例驱动、以构架为中心和迭代化开发过程中,应用该技术的高级实用经验的人员。包括需求调研人员、构架设计师、分析人员、设计人员和软件开发人员、产品市场技术人员。要求学员有一定面向对象基础,有一定程序设计经验。
课程收益
课程目标 本课程中,通过大量实际项目案例全过程完整的分析(从用户需求到分析、设计、实现)提高使用UML进行面向对象系统分析设计的能力。 掌握UML语言使用规范与Rational Rose工具的使用,强调用UML进行面向对象的分析与设计。 掌握熟练使用UML图来表达系统分析与设计思想在实际项目中应用的能力。 提高辨析使用UML全过程(从用户需求到分析、设计、实现)所需要注意的一些问题和解决这些问题的能力。 提高使用UML全过程(从用户需求到分析、设计、实现)的核心技巧,帮助大家少走弯路,提高工作效率和软件质量。 本次培训的特点:基本不讲理论与概念性问题,强调在实际项目中如何正确使用UML。
培训颁发证书
培训结束,经考试成绩合格者,授予:信息产业部计算机技术培训中心颁发的《高级UML实践与应用培训合格证书》。
课程内容
课程介绍 UML做为现在IT界最流行的可视化建模语言,已得到广范应用。但由于UML的复杂性,我们在实际工作中使用UML遇到了很多棘手的问题,一直困扰着我们的技术人员。特别是不会把理论知识运用到实际项目中,即使运用到实际项目中,也会经常出现很多问题,工作举步维艰。而微软、SUN以及Oracle等众多公司的实践也表明:关键是如何“使用”UML,如何把UML应用到实际项目中去,从全局把握复杂系统的全貌及其组成间联系。鉴于此,信息产业部计算机技术培训中心联合国内知名IT厂商,总结了上百个真正使用UML项目案例的经验与教训,为中国软件企业推出了“高级UML实践与应用”培训课程。旨在为中国的IT行业培养高质量的系统分析设计人员,打造中国IT厂商的核心竞争力。 培训方式 培训采用实战的方式,整个培训过程学员需要在讲师的指点下动手操作,四天需要掌握20多种实战技巧,需要分析十几个典型项目案例(案例都是合作单位提供的真实项目案例),需要不断思考和参与,深刻掌握使用UML的核心技巧和识别、解决问题的能力。
培训内容 第一单元:UML与面向对象程序设计基础 1. 评价系统好坏的标准。 2. UML中的事物:交互、状态、包、注释、用例、类、接口、协作、组件、节点 使用辨析: 1) 包与组件、包在设计上的地位与作用。 3. UML中的关系:关联、依赖、泛化、实现。 使用辨析: 1) 依赖关系辨析。 2) 关联、泛化、聚合、组合关系辨析。 4. UML中的动态图:活动图、状态图、协作图、时序图。 5. UML中的静态图:用例图、类图、对象图、组件图、配置图。 使用辨析: 1) 参与者建模中的注意事项。 2) 用例建模中的注意事项。 3) 熟悉常见的类图(树型结构、链表结构等) 4) 建模为属性与建模为对象。 5) 熟悉类的自关联形式。 6) 消除多重继承的常用手段。 7) 熟悉常见的重数表示(用重数表示嵌套链表等) 8) 使用关联类。 6. UML在面向对象中的作用 1) 4+1视图与面向对象建模。 2) 面向对象分析(OOA):业务领域用例图、活动图、协作图、用例文档。 3) 面向对象设计(OOD):跨越业务领域模型与可实际运行软件系统间的鸿沟,类图、活动图、状态图、协作图。 7. UML语言中各种图形的建立步骤。 1) 用例图、类图、的建立步骤。 2) 系统中的例外情况、顺序图、协同图、状态图、活动图的建立步骤。 3) 包图、组件图、配置图的建立步骤。 第二单元:Rose工具与使用 1. Rose的基本设置。 2. 介绍Rose对软件开发全过程的参与:4+1视图。 3. Rose表达系统功能:用例图(使用、包含、扩展、泛化)。 4. Rose表达静态结构:包图(子系统)、类图(重数、关联、依赖、泛化、实现)。 5. Rose表达软件组件:组件图生成代码。 6. Rose表达动态特性:序列图、协作图、状态图、活动图。(泳道、对象、状态、转移) 7. Rose正向及逆向工程。 第三单元:用UML迭代进行面向对象分析与设计 1 面向对象中的一些原则: OOD的基本原则:OCP、LSP、SRP、ISP、DIP 2. 系统构思,需求分析: 1)收集需求。 2)明确系统的目标: 寻找参与者,确定系统边界; 寻找用例,组织参与者与用例,完成高层用例模型。 3)用例规约及文档标准。 3. 领域分析: 1) 确定领域类模型。 2) 选择问题域对象: 列出可能的问题域对象(名词法); 组织问题域对象,过滤出正确的对象。 3) 选择问题域对象: 初步确定问题域对象的主要职责: 寻找分析类的主要属性; 初步寻找类间的关系,判断类间的关联关系和重数; 初步提取类间的继承、聚合关系。 4) 采用用例包含、泛化、扩展来细化用例模型。 5) 使用技巧: 在设计中,提取行为类和抽象类。 领域分析中的常见模式: (基本模式、事务模式、聚集模式、计划模式、交互模式) 4. 应用分析: 1) 描述问题域的动态场景: 为复杂用例确定场景和事件流,画出活动图; 寻找备选事件流; 检查领域类模型。 2) 确定用户界面。 定义边界类,确定边界类的职责,描述边界类的动态场景; 确定控制类; 细化实体类。 3) 检查交互模型; 应用状态模型; 寻找事件,确定状态模型,构建状态图。 4) 确定类的职责,为类增加操作。 5. 系统设计 1) 估算系统性能; 确定软件架构。 2) 使用技巧: 软件架构风格 (系统软件架构风格、分布式系统架构风格、用户交互式架构风格。) 从常见架构中选取所需。 3) 使用技巧: 模块划分中的常见问题: (结构与效率的折衷、模块高类聚与低耦合的考虑、形式与内容的辨析) 4) 分层与分区 拆分子系统。 5) 使用技巧: 用GRASP模式进行指导。 (信息专家、创建者、低耦合、高内聚、多态、控制者、纯虚构、间接、受保护的变化) 6) 选择数据管理对象和职责 (数据结构、文件和数据库)。 6. 类设计 1) 使用技巧: 设计模式,Gof设计模式在类设计中的应用: 常见的设计模式及组合: 单件工厂 + 策略/桥接 + 命令 单件工厂 + 策略/桥接 + 模板方法模式 单件工厂 + 策略 + 观察者 组合/装饰 + 访问者 2) 选择数据结构 3) 实现设计算法 7. 实现建模 1) 调整类 2) 调整包 3) 运用代码模式 4) 使用技巧: 代码重构的线索 第四单元:建模实践操作(典型案例分析) 用实际项目案例贯穿整个讲解过程。 1. Pos系统 2. 支付系统 3. 订单录入系统 4. 订单投递系统 5. 仓库系统 6. 订餐系统 7. 股票数据分析系统 8. 编辑器系统 附 录: 典型案例分析 一、订单投递系统(从用户需求到分析、设计、实现) 1. 收集需求 2. 技术调研 3. 第一次迭代 1) 需求分析。 2) 获取总体包图。 3) 分析初步流程。 4) 流程细化:修改与调整。 5) 子系统选型。 6) 获得第一次迭代的主要用例、主流程图。 4. 第二次迭代 1) 细化/增加需求。 2) 关于数据库选型。 3) 初步确定一些模块/包。 4) 主成功场景(流程)。 5) 讨论并调整。 6) 主用例场景与子用例场景。 7) 分层,考虑架构模式。 8) 获得细化的协作图、领域分析类图、活动图。 5. 第三次迭代 1) 细化领域分析中的类图。 2) 细化子模块、考虑设计模式。 二、股票数据分析系统(从用户需求到分析、设计、实现) 1. 收集需求 2. 技术调研 3. 需求分析 1) 功能性需求分析。 2) 非功能性需求分析。 4. 领域分析 1) 划分子系统、画部署图。 2) 对子系统分层,画出包图。 3) 对每个子系统、画出领域分析类图。 4) 分析初步流程、画出初步的活动图。 5. 设计 1) 主成功场景。 2) 讨论并调整。 3) 细化子系统、划出子系统的包图、主要类图、活动图。 4) 设计模块间的接口。 5) 子系统分层,考虑架构模式。 6. 细化设计 1) 细化子模块、考虑设计模式。 2) 细化模块间的接口及数据交换格式。 3) 综合性能瓶颈分析,作用与结构。 4) 细化流程,列出影响因素,借助分析矩阵抽象出统一的流程,画出活动图。 7. 实现 1) 细化类图,指导编码。 2) 得出原型系统。 8. 迭代 1) 根据原型系统,分析需求满足得不好得地方。 2) 根据原型系统,分析系统的效率瓶颈。
|