专题与日程
|
授课单元
|
授课知识点
|
需求建模专题
2天时间
|
第一单元
用户需求建模与质量改进
|
一、系统需求定义
1、国际标准与系统需求模型定义的U/C矩阵方法
2、使用职责泳道图来表达业务流程或业务需求
3、使用领域建模定义数据需求模型
4、使用Use Case图来表达用户需求或功能模型
5、如何自动使用UML工具完成需求文档
技术评审:用户需求常见问题
CASE:基于UML的需求模型定义实战
|
第二单元
|
二、系统需求分析(用例分析与非功能分析方法)
1、以用例为单元的系统分析之时序图法(面向对象法,以边界类、控制类、实体类为生命线,定义消息流程)
2、以UI为中心的系统分析(UI定义与职责分配)
3、以控制为中心的系统分析(协作图法,讲述如何以控制类为中心进行详细需求的分析定义)
4、以实体为中心的系统分析(数据库定义)
5、以非功能需求为中心的系统分析(分解、细化为技术要素)
技术评审:软件需求的常见问题
CASE:基于UML的系统分析实战
|
设计建模专题
2天时间
|
第三单元
系统架构设计
|
三、系统架构设计
1、需求分配与软件架构设计
2、如何使用Component图来表达软件的体系结构
3、如何使用Deployment图来表达软件部署方案
4、如何运用架构模式来实现架构元素的有效组织
l 系统软件
分层(Layer)、管道和过滤器(Pipes and Filters)、黑板(Blackboard)
l 分布式软件
经纪人(Broker) 、客户/服务器(Client/Server)、点对点(Peer to Peer)
l 交互软件
模型-视图-控制器(Model-View-Controller)、显示-抽象-控制(Presentation-Abstraction-COntrol)
5、系统架构如何降耦、应对需求的变化
技术评审:系统架构的常见问题
CASE:基于UML的架构设计实战
|
第四单元
系统详细设计
|
四、系统详细设计
1、以构件为中心的类图静态设计
2、以构件为中心的时序图动态设计
3、代码发布与代码同步
4、以数据库为中心的数据库结构设计
(1)5种数据访问模式(在线访问,Data Access Object,Data Transfer Object,离线数据模式,对象/关系映射)
(2)数据访问层组件设计
(3)工厂模式在数据访问层应用
5、数据库脚本生成与结构同步
CASE:基于UML的详细设计实战
|
设计模式选用
1天时间
|
第五单元
设计模式分类与本质
|
五、设计模式分类
1、设计模式的本质: 隔离变化点;间接;透明;局部双向依赖;逻辑与功能;用接口抹平差异、延迟 调用。
1、创建型模式:单例模式(Singleton)、抽象工厂模式(Abstractfactory)
2、结构型模式: 桥梁模式(Bridge)、装饰模式(Decorator)、适配器模式(Adapter)、代理模式(Proxy)、合成模式(Composite)
3、行为型模式:命令模式(Command )、观察者模式(Observer)、状态模式(State)、策略模式(Strategy)、模板方法模式(Template Method)、访问者模式(Template Method)
CASE: 媒体显示、数据采集系统、编辑器、文件解析器
|
第六单元
设计模式选用
|
六、设计模式的选用
1. 构件图设计之架构设计:用桥接模式作为中心骨架;用工厂模式进行组装;用命令模式处理事务。
2. 构件图设计之架构设计:变换型模块结构;事务型模块结构。
3. 类图设计之常见类图:容器模块 + 控制者 + 功能模块 + 临时构建的小类;单例模式;命令。
4. 类图设计之外观模式;适配器模式;代理模式;中介者模式。
|
代码重构与案例剖析
1天时间
|
第七单元
代码工程
|
七、代码工程
1. 源码包创建与架构图关系
2. 类代码生成
3. 类间关系的实现
4. 设计模式与代码实现
5. 需求变化与代码重构
|
第八单元
案例剖析
|
八、 大型、超大型综合软件案例剖析
(大型、超大型软件架构全过程:从用户需求到分析、设计、测试、实现的实战案例分析)
1、实战典型案例分析(以实际项目案例为背景)
(1)、 需求分析、领域建模:图像处理系统
(2)、设计模式的综合运用: 智能终端通讯系统
(3)、架构分析: 基于搜索的二次开发系统
2、综合软件架构实践与剖析(以实际项目案例为背景)
(1)、电信行业软件案例研究
(2)、金融行业软件案例研究
(3)、政府行业(社保和税务)软件案例研究
(4)、电力行业软件案例研究
|