1. 课程概述
项目工期压力大,以至于软件无架构可言,系统缺乏弹性,只能通过修修补补的方式来修复缺陷和实现新需求,最终系统积重难返,步入“无人敢改“的尴尬境地。
架构即未来,良好的架构设计不仅仅能节省当前的工作量,还能从长远上帮助公司的软件保持良好的竞争力,具备更强的弹性,更高的质量,更低的开发成本!
2. 时间、地点
上课时间:两天,分别是2016-6-26(周日),2016-7-3(周日)
上课地点:广州(具体地点稍后公布)
3. 课程特点
- 不谈空泛的软件架构理论,全称结合实例;
- 学员需要分组讨论、沙盘演练,老师现场给予指导;
- 各种经典案例及失败案例深度分享。
4. 学员收益
- 提升公司的软件架构水平,帮助公司的软件具备更好的弹性、更能适应市场需求。
- 学习系统架构师需要掌握的各种技能,包括UML、设计模式、AOP、SOA、OOAD等。
- 掌握架构设计及分层设计的实用技巧。
- 学习各种案例,掌握各种架构设计技巧。
5. 适合听众
- 系统分析师、系统架构师、软件设计师
- 打算参加软考系统架构设计师的朋友
6. 课程大纲
- 第一篇 万丈高楼平地起——准备篇
- 认识软件架构及软件架构师
- 认识常见的软件技术架构风格
- 微软阵型
- Java阵型
- 其他
- 软件架构设计的常见套路
面向构件、分层设计、面向方面、面向服务、MVC、IoC(依赖注入、反转控制)
- 第二篇 微观架构设计——设计模式
说明:本篇内容很多,设计模式3大类共23种设计模式,全部结合实例为你分享。
- 认识设计模式
创建型、结构型、行为型,23种“官方”设计模式 + 1种不是模式的模式
- 部分设计模式精讲
老师根据实践经验为你精选几种设计模式进行分享,学员也可以挑选喜欢的设计模式,全部结合实例来分享。
- “妞”太多,如何管理?
程序中的“new”太多了,如何运用简单工厂、单件模式、工厂方法和抽象工厂来合理安排这些“new”呢?
- 有限状态机——游戏中常见的AI算法
这个AI算法的基本原理就是状态模式
- Redo Undo是如何做到的?—— 命令模式精讲
Redo Undo基本上是桌面软件的“标配”了,如果你都做不到是不是弱爆了?
- 老系统的升级改造
适配器模式、访问者模式
- 第三篇 MIS系统的架构设计(面向Artifacts、面向构件的架构设计)
本篇将会使用一个案例贯穿全程,学习如何需求驱动地进行架构设计的层层分解,学习面向构件及分层的设计思路。
- 分析系统需求,进行初步架构设计
- 简介“4 + 1“视图
- 用户分析、用例分析,找出设计关注点
- 实战部署图,进行初步架构设计
- 认识和理解Artifacts
- 综合应用部署图、组件图、包图,进行进阶架构设计
- 认识和理解Component、模块
- 实战部署图、组件图、包图的“捆绑”应用
- 架构设计中的Artifacts、Component和模块
- 更上一层楼:深入理解软件架构设计
- 分层架构及实体类(本节简单介绍,后面章节详解分层设计)
- 三种常见的设计思路
- 再次理解“4+1”视图
- 第四篇 详细拆解分层设计
本篇将会使用一个大案例贯穿全程,并且穿插一些小案例,详细拆解表现层、逻辑层、数据操作层、数据层及实体类的设计思路。
- 用户体验设计(表示层设计)
- 用户体验设计
- 界面整体规划
- 界面统一标准:形象、文字、行为
- 易用性设计
- 用户体验设计
- 数据库设计(数据层、持久层设计)
- 用类图进行业务结构模型
- 实战类图,分析业务概念模型
- 业务结构模型如何转变为数据库设计?
- 用类图表示的业务模型如何转化为数据库设计?
- 由底而上的设计方法
- 用类图进行业务结构模型
- 详细设计(逻辑层、数据操作层、实体类设计)
- 实体类设计
- 业务模型如何导出实体类
- 实体类设计应尽量与数据库实现无关
- 设计各层之间的交互——序列图
- 如何从需求、架构设计导出边界类、控制类、实体类?
- 案例分享:实现数据库四轮马车(增删改查)的序列图
- 深入理解“4+1”视图
- 实体类设计
- 第五篇 面向方面(AOP)、面向服务(SOA)
- 面向方面(AOP)
- 认识各种面向:面向过程、面向对象、面向构件、面向服务(SOA)
- 什么是面向方面(AOP)?
- 什么情况下需要面向方面?
- 运行日志、出错处理机制、安全及权限方面的处理
- 性能统计、事务处理、对象持久化
- AOP的实现技术
- .Net中的AOP,Java Spring中的AOP
- 面向服务(SOA)
- 什么是SOA?
- SOA的发展历史
- SOA的主要技术和标准
- SOA各种案例分享
- 案例1:系统内部是否需要SOA?
- 案例2:SOA架构的用户及权限管理系统
- 案例3:基于Web Service的数据库交互
- 案例4:某企业系统集成架构
- 什么是SOA?
- 面向方面(AOP)
- 第六篇 经典架构设计案例补充
- 大数据与商业智能
- 认识商业智能(BI)、数据挖掘、人工智能(AI)及大数据
- 案例分享:某通信公司大数据展示及决策系统
- 高并发系统的架构设计
- 案例分享:某IT资源网的高并发量应对方法
- 探讨新浪网、12306等大网站的架构设计思路
- 大数据与商业智能
7. 分享大师
首席咨询师:张传波
网名:Fireball(火球) 新浪微博:@火球_Fireball
- 创新工场讲师
- 软件研发及管理资深顾问(曾任华为某团队研发管理顾问)
- 豆芽儿-高端IT人才成长社区(www.douya2.com )资深顾问
- UMLonline网站(www.umlonline.org)首席专家
- 中国UML认证专家委员会专家
- 需求分析类畅销书《火球——UML大战需求分析》作者
- 电子书《硬啃设计模式》作者
- 每日培训缔造者,讲师的训练师
二十年的软件研发一线工作经验,负责“无数”个大型项目的需求分析、软件架构、用户体验设计、数据库设计、详细设计等工作,对需求分析、系统分析及软件设计有独到的理解,涉猎建筑、通讯、互联网、电力、金融、制造业、政府、信息安全、游戏等领域,熟悉软件生命周期的全部过程。
十多年的企业全方位改进经验,为上百家企业提供服务,善于针对企业实际情况给出针对性的改进“药方”,帮助企业解决实际的工作问题,提升生产力。
十多年的授课经验,面授学员达万人次以上,网络课程的受众更加是不计其数。讲课深入浅出,注重引导学员思考,善于将主题内容融于简单的例子中,让学员通过体会实例掌握知识。
8. 费用
1,680元/人
说明:费用含教材及午餐费用,交通及差旅请自理