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 Profile及MDA。并结合主流的Rational Software Architechture进行局部操作演示。 具体进度安排如下(每年根据学生具体情况调整): 第1课的主要复习了一下以前大家接触过的概念。 主要要掌握: 1. 能读懂用例 2. 知道分析、设计、实现的区别 3. 初步了解领域模型 4. 了解迭代式开发 几个亮点: l Game of 15的例子说明了模型对设计的影响 l 卖拐小品、视觉错误的例子说明了建模的重要 第2课的主要将POS系统案例的领域模型核心部分讲完,并对分析模式加以介绍 主要要掌握: - 能根据用例描述创建领域模型
- 掌握Party、Organization Hierarchy、Aggregating Attribute分析模式
- 初步了解面向对象的分析对设计和代码实现的影响
引申: l 世界是物质的——面向对象 l 世界是普遍联系的——领域模型的关联 婴儿尿布和啤酒的例子说明识别关联的复杂性以及分析模式的优点 l 运动是永恒的,静止是相对的——了解已学的几个分析模式如何处理变与不变之道 第3课讨论了POS系统案例中领域模型的几个细节问题,并进而讲解了SSD。此外初步介绍了Accountability分析模式。 主要要掌握: - 能根据文字描述创建领域模型
- 能将类图和对象图相对应,由类图到对象图,以及由对象图到类图
- 能根据用例描述创建SSD
- 掌握Accountability分析模式
课堂练习: l 画类图 l 画对象图 第4课讨论了继续介绍如何从用例描述中提取SSD,并进而得到系统操作,编写操作合约。分析模式继续巩固Accountability,并讨论操作级和知识级的分离 主要要掌握: - 会结合领域模型写操作合约
- 能将类图和代码相对应
- 能结合对象图解释OCL描述的约束条件
第5课讨论了课堂练习了操作合约,讨论了设计模型GRASP模式中的一个模式:低耦合模式。分析模式讲完带有连接规则的Accountability模式的实现,至此,分析模式第一个主题讲完。 主要要掌握: - 将Sequence Diagram和代码相对应,可按照课堂教的方法自我练习
- 能将分析模式应用到具体项目
第6/7课重点讨论了GRASP模式的应用。根据大家的掌握情况,这次分析模式暂时不介绍。 主要要掌握: - 能根据操作合约运用GRASP模式进行设计
- 能解释各种设计方案的设计思路
第8课讲解实现模型和Component Diagram及Deployment Diagram。 主要要掌握: - 能根据设计图完成代码
- 能根据描述画Component Diagram及Deployment Diagram。
第9课考试和讲解,新内容重点从反模式及重构的角度介绍GRASP在JSP中的应用 主要要掌握: 1. Introduce Error Page 2. Beanify 3. Introduce Traffic Cop 4. Introduce Delegate Controller 第10课重点介绍GRASP在Servlet中的应用,并结合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专题。 主要要掌握: - Composite
- Facade
- 能根据指定要求对异常处理代码进行重构,掌握
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系统第三次迭代,并介绍了最新的云计算开发与应用 主要要掌握: - Observer模式
- 用例之间三种关系
- 关联类的使用
- 泛化的使用
- 聚合组合关系
新技术 云计算,仅作了解 第14课一节考试,另两节课作贯通演示,结合POS案例的操作将一学期的知识点通过工具贯穿起来。同时通过资源管理模式的介绍进一步复习巩固所学的理论与方法 主要包括: l 用例图,活动图,用例描述 l 领域模型 l 系统顺序图 l 运用GRASP模式设计顺序图和类图 l 自动代码生成 l 开发及逆向工程 l 设计模式 l 数据模型建模 l 对象模型<—>数据模型<—> 物理表双向转换 第15-17课介绍另一个案例:课程注册系统 l 该案例与RUP结合紧密,重点介绍了各个步骤及其对应的UML图。并补充讲解UML2中增加的各种UML图。 讲解并使用RSA工具给大家演示了模型驱动架构(MDA)。 |