教学内容
发布时间: 2012-10-12 浏览次数: 295

4-2  理论课和理论(含实践)课教学内容

4-2-1课程在本专业的定位与课程目标

  本课程在学生具备基本的面向对象分析与设计能力的基础上,培养学生高级的面向对象分析与设计能力。课程内容涉及面向对象原则,UML建模,GRASP模式,GoF设计模式,框架设计,日志和出错处理模式,资源管理模式,选课系统案例分析,各种开源项目分析等。培养学生根据需求进行面向对象分析与设计以及设计通用的软件框架的能力。

4-2-2知识模块顺序及对应的学时

本课程知识模块安排的思路是主线明确,围绕主线大信息量补充新内容、拓宽知识面,但要求掌握的程度有所不同。

 

课程采取两个核心案例,分别从不同侧面介绍面向对象的分析与设计,在介绍核心案例的过程中引申出分析模式、J2EE模式/反模式、出错处理模式、面向服务分析与设计、模型驱动架构、CASE工具演示等前沿内容。

 

主线一:

 

以模型及模型之间的关系为中心讲解分析与设计(POS系统案例)

n         面向对象分析与设计、UML、迭代式开发简介

n         POS案例介绍

n         用例模型

n         领域模型——引申出分析模式

n         用例模型-SSD

n         用例模型-操作合约

n         设计模型及GRASP模式

n         实现模型

n         更多的GRASP

n         GoF设计模式的应用

n         其他UML

 

讲解领域模型时引申出分析模式(根据学生不同情况选讲)

n        Party

n        Organization Hierarchy

n        Aggregating Attribute

n        Accountability

n        观察和测量模式

 

讲解GRASP模式时通过J2EE模式与反模式引申出其在B/S架构中的应用

n         Introduce Error Page

n         Beanify

n         Introduce Traffic Cop

n         Introduce Delegate Controller

n         Introduce Filters

n         Use JDom

n         Use JSPs

 

 

讲解GoF设计模式解决具体设计问题时,引申出Error Handling专题

 

 

n         Replace ignored checked exception with unchecked exception

n         Replace dummy handler with rethrow

n         Avoid unexpected termination with big outer try block

n         Replace nested try block with method

POS系统案例基本模型讲解完毕后,通过CASE工具进行贯穿演示,

n         用例图,活动图,用例描述

n         领域模型

n         系统顺序图

n         运用GRASP模式设计顺序图和类图

n         自动代码生成

n         开发及逆向工程

n         设计模式

n         数据模型建模

n         对象模型<>数据模型<> 物理表双向转换

拓宽知识面介绍面向服务分析与设计

通过资源获取管理进一步复习通过该案例所学的理论和方法

 

主线二:

RUP分析设计流程为中心讲解分析与设计(课程注册系统案例)   

n         需求

n         架构分析

n         用例分析

n         识别设计元素

n         识别设计机制

n         描述运行时架构

n         描述分布

n         用例设计

n         子系统设计

n         类设计

n         数据库设计

结合该案例讲解较新的UML ProfileMDA。并结合主流的Rational Software Architechture进行局部操作演示。

 

具体进度安排如下(每年根据学生具体情况调整):

1课的主要复习了一下以前大家接触过的概念。

主要要掌握:

1.    能读懂用例

2.    知道分析、设计、实现的区别

3.    初步了解领域模型

4.    了解迭代式开发

几个亮点:

l         Game of 15的例子说明了模型对设计的影响

l         卖拐小品、视觉错误的例子说明了建模的重要

2课的主要将POS系统案例的领域模型核心部分讲完,并对分析模式加以介绍

     主要要掌握:

  1. 能根据用例描述创建领域模型
  2. 掌握PartyOrganization HierarchyAggregating Attribute分析模式
  3. 初步了解面向对象的分析对设计和代码实现的影响

     引申:

l         世界是物质的——面向对象

l         世界是普遍联系的——领域模型的关联 


婴儿尿布和啤酒的例子说明识别关联的复杂性以及分析模式的优点

l         运动是永恒的,静止是相对的——了解已学的几个分析模式如何处理变与不变之道

3课讨论了POS系统案例中领域模型的几个细节问题,并进而讲解了SSD。此外初步介绍了Accountability分析模式。

    主要要掌握:

  1. 能根据文字描述创建领域模型
  2. 能将类图和对象图相对应,由类图到对象图,以及由对象图到类图
  3. 能根据用例描述创建SSD
  4. 掌握Accountability分析模式

 

  课堂练习:

l         画类图

l         画对象图

4课讨论了继续介绍如何从用例描述中提取SSD,并进而得到系统操作,编写操作合约。分析模式继续巩固Accountability,并讨论操作级和知识级的分离

     主要要掌握:

  1. 会结合领域模型写操作合约
  2. 能将类图和代码相对应
  3. 能结合对象图解释OCL描述的约束条件

5课讨论了课堂练习了操作合约,讨论了设计模型GRASP模式中的一个模式:低耦合模式。分析模式讲完带有连接规则的Accountability模式的实现,至此,分析模式第一个主题讲完。

     主要要掌握:

  1. Sequence Diagram和代码相对应,可按照课堂教的方法自我练习
  2. 能将分析模式应用到具体项目

6/7课重点讨论了GRASP模式的应用。根据大家的掌握情况,这次分析模式暂时不介绍。

     主要要掌握:

  1. 能根据操作合约运用GRASP模式进行设计
  2. 能解释各种设计方案的设计思路

8讲解实现模型和Component DiagramDeployment Diagram

   主要要掌握:

  1. 能根据设计图完成代码
  2. 能根据描述画Component DiagramDeployment Diagram

9课考试和讲解,新内容重点从反模式及重构的角度介绍GRASPJSP中的应用

   主要要掌握:

1.    Introduce Error Page

2.    Beanify

3.    Introduce Traffic Cop

4.    Introduce Delegate Controller

10课重点介绍GRASPServlet中的应用,并结合POS系统案例介绍更多的GRASP模式

   主要要掌握:

1.    Introduce Filters

2.    Use JDom

3.    Use JSPs

4.    四个GRASP模式

11课重点介绍GoF设计模式在POS系统中的应用。

    主要要掌握:

1.    Adapter

2.    Factory

3.    Singleton

4.    Strategy

    新思想

      GRASP模式及GoF设计模式在面向Web分析与设计中的应用

12课进一步应用Composite模式解决多个定价策略问题、Facade模式解决可插入式业务规则问题。

此外给大家介绍了最新的Error Handling专题。

     主要要掌握:

  1. Composite
  2. Facade
  3. 能根据指定要求对异常处理代码进行重构,掌握

l         Replace ignored checked exception with unchecked exception

l         Replace dummy handler with rethrow

l         Avoid unexpected termination with big outer try block

l         Replace nested try block with method

13课介绍完观察者模式和POS系统第三次迭代,并介绍了最新的云计算开发与应用

     主要要掌握:

  1. Observer模式
  2. 用例之间三种关系
  3. 关联类的使用
  4. 泛化的使用
  5. 聚合组合关系

     新技术

    云计算,仅作了解

14课一节考试,另两节课作贯通演示,结合POS案例的操作将一学期的知识点通过工具贯穿起来。同时通过资源管理模式的介绍进一步复习巩固所学的理论与方法

    主要包括:

l         用例图,活动图,用例描述

l         领域模型

l         系统顺序图

l         运用GRASP模式设计顺序图和类图

l         自动代码生成

l         开发及逆向工程

l         设计模式

l         数据模型建模

l         对象模型<—>数据模型<—> 物理表双向转换

15-17课介绍另一个案例:课程注册系统

l         该案例与RUP结合紧密,重点介绍了各个步骤及其对应的UML图。并补充讲解UML2中增加的各种UML图。 讲解并使用RSA工具给大家演示了模型驱动架构(MDA)