软件架构
软件过程
软件开发
软件测试
数据库
信息安全
操作系统
项目管理
您的位置:首页 > 企业培训 > 模式应用与开发技巧



    课程描述:
    掌握了一套规范的面向对象软件开发方法,并不等于就能够做出质量优异的设计;开发人员还会遇到种类繁多的各种问题,因此需要吸取他人的已有经验来帮助解决这些难题;模式和开发技巧正是这些宝贵经验的精化总结,它们将帮助学员开发出更加优雅的分析和设计。
    课程包括RUP过程基本概念、分析设计原则与模式、以及模式应用实践三个部分。
    课程首先理清一些常见的有关分析/设计原则与模式、以及软件过程的误区,让学员理解分析与设计在软件过程中的位置;阐述了RUP统一软件过程的基本内容,从整体的角度描述UML语言在项目开发各个阶段的建模应用;简述分析模式如何帮助设计员得到更稳固的分析模型;引用实例阐述面向对象的设计原则和GRASP设计模式的基本内容;阐述GoF设计模式的基本内容及其应用途径;阐述面向对象的持久化概念,说明数据建模的方法,介绍对象—关系映射(Object-Relation Mapping)的基本内容。
    课程还专门介绍了软件构架分析和设计的详细内容,剖析分析机制、设计机制等贯穿构架的重要概念,讲述确定构架的最顶层结构的技巧。
    为了让学员更深入地掌握相关内容,课程安排了一系列的实践习作。
    课程目的:
    使学员能够:了解RUP统一软件过程的基本概念和内容,理解UML全程建模与RUP统一软件过程的关系;理解OO设计原则与模式的理论知识,基本掌握运用原则、模式来进行面向对象分析与设计的技巧;了解软件构架分析和设计的概念和方法。
    课程对象:
    该课程面向具有面向对象的基础知识,在实际工作中需要使用UML来开展面向对象开发的人员,包括分析人员,开发人员、测试人员和项目经理等。
    学员基础 要求学员具备一定的OO基础,具有一定的面向对象的分析、设计经验更佳;
    要求学员有使用任何一种面向对象的语言的编程基础;
    培训学员需要具备一定的UML基础知识,对UML的各种概念有一定的了解,知道各种模型图的大致概念和意思;
    最好接受过《面向对象开发方法》或类似课程的培训。

    课程任务
    了解RUP统一软件过程的基本内容;
    理解分析与设计在软件过程中的位置、模型在RUP中的重要地位、以及全程建模的概念;
    了解UML语言在项目开发各个阶段的建模应用;
    了解分析模式的基本内容,熟悉利用分析模式来精化分析模型的途径和技巧;
    了解软件构架分析的基本概念,理解软件需求特别是非功能需求对构架设计的影响,了解分析机制、设计机制等贯穿构架的重要概念;
    了解系统操作契约的概念,理解契约式设计实施的起点、和从分析到设计的衔接点;
    了解面向对象之类的设计原则和GRASP模式的基本内容,熟悉利用GRASP模式来精化设计类、为设计类分配合适的职责的途径和技巧;
    了解软件构架设计的基本概念,理解面向对象之包的设计原则及其在构架设计中的应用;
    了解GoF设计模式的基本内容,熟悉利用GoF设计模式来进行用例实现设计的途径和技巧;
    了解软件构架的4+1视图概念,熟悉进程视图与进程/线程设计的途径,掌握构件视图和部署视图的建模方法;
    了解面向对象的持久化概念,熟悉数据建模的方法,了解对象—关系映射(Object-Relation Mapping)的基本内容。

    授课方式:
    在具体讲授从业务建模、需求、分析设计到实施的过程中,分别阐述其中所涉及到的OOAD原则和模式,并展示这些原则和模式如何在具体开发中被遵从和应用。
    整个课程围绕一个小巧而完整的软件项目实例来展开,相关的知识与技巧,将充分展现于具体的业务、需求、分析及设计过程中;另外,为了帮助学员理解众多抽象的概念,课程还专门准备了一些现成的示例项目,供学员参考和模仿;通过讲解和指导学员完成一系列练习,让学员对面向对象的设计原则、分析与设计模式、构架模式等产生较深刻的感性认识;通过答疑和习作评点,使学员进一步深入理解OOAD和其它开发方法,并纠正一些错误或模糊的认识。
    课程中还穿插一些讲师与学员的自由交流活动,解答与探讨实际项目中的各类问题。

Day 1

Business&Requirement:业务与需求

最佳实践与RUP统一软件过程

介绍软件过程、过程框架、CMM/CMMI;概要说明RUP统一软件过程的内容,包括角色、工件和活动;阐述启始、精化、构建和迁移阶段,以及迭代开发;描述UML模型贯穿RUP过程的概貌

9:00 – 11:00

业务建模与领域分析(一)

阐述需求上下文与需求的关系,说明业务建模和领域分析的含义;讲述业务建模的主要内容,包括描述目标组织、识别业务目标;讲解业务用例和识别业务用例的方法、技巧;

11:10 – 12:00

现场自由交流

解答学员的各类疑问,探讨实际项目中的各类问题

13:30 – 14:00

业务建模与领域分析(二)

阐述业务用例规格和业务用例详述的方法;说明业务对象模型,讲解领域模型的开发途径;最后给出从业务建模映射到需求的途径指南

14:00 – 15:00

业务建模实践

通过一个简化的项目实例,讲解如何建立业务模型;指导学员使用活动图描述系统的整体业务流程;指导学员识别业务执行者,提取和发现业务用例,分析用例间的关系,并建立业务用例模型;指导学员为目标组织结构建模,识别业务实体、业务单位和业务员

15:10 – 17:00

Day 2

Analysis:分析

软件构架分析

阐述软件构架分析及其在分析设计过程中的地位;讲解分析机制,说明使用分析机制来修饰非功能需求的途径;讲解关键的系统概念在构架分析中的核心作用;说明如何开发初始的构架层;并给出解决方案中技术选择的指南

9:00 – 10:50

分析模式及其应用

阐述分析模式,说明分析模式在面向对象分析中的作用;讲解分析模式在各领域中的应用前景,并以TeleManagementForum的SID为例,说明分析模式在领域模型分析中的实际应用

11:00 – 12:00

点评与现场自由交流

点评学员上一次建模实践的习作成果;解答学员的各类疑问,探讨实际项目中的各类问题

13:30 – 14:00

系统分析实践

指导学员应用相关的分析模式,更为准确地分析某个应用领域的实体类,并分配相关的职责

14:00 – 15:50

契约式设计

阐述类之间的动态联系,大多可以归结为客户client/供给者supplier的关系,其实质是一种契约关系;讲解系统操作契约的概念,并说明契约式设计实施的起点;讲述定义操作前后置条件、输入输出等的方法,并给出使用契约来帮助单元测试的指南

16:00 –17:00

Day 3

Design:设计

软件构架设计

阐述软件构架设计及其在分析设计过程中的地位;讲解设计与实施机制,说明它们如何帮助将分析类映射到设计元素;讲解类与子系统的设计技巧;阐述构架设计中如何识别和利用复用机会;说明如何设计模型组织结构

9:00 – 10:30

面向对象设计原则与GRASP模式

讲解面向对象设计中的最重要的原则,包括类的设计原则和包的设计原则;结合实例阐述在实际设计中应用设计原则的方法、途径;讲解GRASP模式,结合实例阐述在设计中应用GRASP模式的方法、途径

10:40 – 12:00

点评与现场自由交流

点评学员上一次建模实践的习作成果;解答学员的各类疑问,探讨实际项目中的各类问题

13:30 – 14:00

GoF设计模式应用(一)

讲解GoF设计模式,说明如何从对象与类的角度,以及从创建、结构和行为等方面,来理解几十种GoF设计模式;结合一个实例来分析如何应用GoF模式来帮助开发更优雅的设计

14:00 – 15:00

系统设计实践

指导学员应用GRASP模式来完成多个实际的类设计案例

15:10 – 17:00

Day 4

Implementation:实施

GoF设计模式应用(二)

结合多个实例来讲解几个常用的GoF设计模式的应用

9:00 – 10:40

对象持久化与数据建模

阐述对象持久化的概念;描述持久化机制,包括分析、设计和实施机制;讲解对业务密集系统意义重大的数据建模;阐述Object-Relationship Mapping对象关系映射的概念,并结合实例说明实现对象关系映射的途径和方法

10:50 – 12:00

点评与现场自由交流

点评学员上一次建模实践的习作成果;解答学员的各类疑问,探讨实际项目中的各类问题

13:30 – 14:00

数据建模实践

指导学员尝试使用Rational Rose进行数据建模

14:10 – 15:00

模式应用实践

指导学员应用相关GoF设计模式来完成多个实际的类设计案例

15:10 – 16:40

总结

对4天的课程进行总结

16:50–17:00