1.    课程概述

项目工期压力大,以至于软件无架构可言,系统缺乏弹性,只能通过修修补补的方式来修复缺陷和实现新需求,最终系统积重难返,步入“无人敢改“的尴尬境地。

架构即未来,良好的架构设计不仅仅能节省当前的工作量,还能从长远上帮助公司的软件保持良好的竞争力,具备更强的弹性,更高的质量,更低的开发成本!

 

2.    时间、地点

上课时间:两天(因课程调整需要,上课日程具体待定)

上课地点:广州(具体地点稍后公布)

 

3.    课程特点

  • 不谈空泛的软件架构理论,全称结合实例;
  • 学员需要分组讨论、沙盘演练,老师现场给予指导;
  • 各种经典案例及失败案例深度分享。

 

4.    学员收益

  • 提升公司的软件架构水平,帮助公司的软件具备更好的弹性、更能适应市场需求。
  • 学习系统架构师需要掌握的各种技能,包括UML、设计模式、AOP、SOA、OOAD等。
  • 掌握架构设计及分层设计的实用技巧。
  • 学习各种案例,掌握各种架构设计技巧。

 

5.    适合听众

  • 系统分析师、系统架构师、软件设计师
  • 打算参加软考系统架构设计师的朋友

 

6.    课程大纲

  • 第一篇 万丈高楼平地起——准备篇
    1. 认识软件架构及软件架构师
    2. 认识常见的软件技术架构风格
      1. 微软阵型
      2. Java阵型
      3. 其他
    3. 软件架构设计的常见套路

面向构件、分层设计、面向方面、面向服务、MVC、IoC(依赖注入、反转控制)

  • 第二篇 微观架构设计——设计模式

说明:本篇内容很多,设计模式3大类共23种设计模式,全部结合实例为你分享。

  • 认识设计模式

创建型、结构型、行为型,23种“官方”设计模式 + 1种不是模式的模式

  • 部分设计模式精讲

老师根据实践经验为你精选几种设计模式进行分享,学员也可以挑选喜欢的设计模式,全部结合实例来分享。

  • “妞”太多,如何管理?

程序中的“new”太多了,如何运用简单工厂、单件模式、工厂方法和抽象工厂来合理安排这些“new”呢?

  • 有限状态机——游戏中常见的AI算法

这个AI算法的基本原理就是状态模式

  • Redo Undo是如何做到的?—— 命令模式精讲

Redo Undo基本上是桌面软件的“标配”了,如果你都做不到是不是弱爆了?

  • 老系统的升级改造

适配器模式、访问者模式

  • 第三篇 MIS系统的架构设计(面向Artifacts、面向构件的架构设计)

本篇将会使用一个案例贯穿全程,学习如何需求驱动地进行架构设计的层层分解,学习面向构件及分层的设计思路。

  1. 分析系统需求,进行初步架构设计
    1. 简介“4 + 1“视图
    2. 用户分析、用例分析,找出设计关注点
    3. 实战部署图,进行初步架构设计
    4. 认识和理解Artifacts
  2. 综合应用部署图、组件图、包图,进行进阶架构设计
    1. 认识和理解Component、模块
    2. 实战部署图、组件图、包图的“捆绑”应用
    3. 架构设计中的Artifacts、Component和模块
  3. 更上一层楼:深入理解软件架构设计
    1. 分层架构及实体类(本节简单介绍,后面章节详解分层设计)
    2. 三种常见的设计思路
    3. 再次理解“4+1”视图
  • 第四篇 详细拆解分层设计

本篇将会使用一个大案例贯穿全程,并且穿插一些小案例,详细拆解表现层、逻辑层、数据操作层、数据层及实体类的设计思路。

  1. 用户体验设计(表示层设计)
    1. 用户体验设计
      • 界面整体规划
      • 界面统一标准:形象、文字、行为
      • 易用性设计
  2. 数据库设计(数据层、持久层设计)
    1. 用类图进行业务结构模型
      • 实战类图,分析业务概念模型
    2. 业务结构模型如何转变为数据库设计?
      • 用类图表示的业务模型如何转化为数据库设计?
      • 由底而上的设计方法
  3. 详细设计(逻辑层、数据操作层、实体类设计)
    1. 实体类设计
      • 业务模型如何导出实体类
      • 实体类设计应尽量与数据库实现无关
    2. 设计各层之间的交互——序列图
      • 如何从需求、架构设计导出边界类、控制类、实体类?
      • 案例分享:实现数据库四轮马车(增删改查)的序列图
      • 深入理解“4+1”视图
  • 第五篇 面向方面(AOP)、面向服务(SOA)
    1. 面向方面(AOP)
      1. 认识各种面向:面向过程、面向对象、面向构件、面向服务(SOA)
      2. 什么是面向方面(AOP)?
      3. 什么情况下需要面向方面?
        • 运行日志、出错处理机制、安全及权限方面的处理
        • 性能统计、事务处理、对象持久化
      4. AOP的实现技术
      5. .Net中的AOP,Java Spring中的AOP
    2. 面向服务(SOA)
      1. 什么是SOA?
        • SOA的发展历史
        • SOA的主要技术和标准
      2. SOA各种案例分享
        • 案例1:系统内部是否需要SOA?
        • 案例2:SOA架构的用户及权限管理系统
        • 案例3:基于Web Service的数据库交互
        • 案例4:某企业系统集成架构
  • 第六篇 经典架构设计案例补充
    1. 大数据与商业智能
      1. 认识商业智能(BI)、数据挖掘、人工智能(AI)及大数据
      2. 案例分享:某通信公司大数据展示及决策系统
    2. 高并发系统的架构设计
      1. 案例分享:某IT资源网的高并发量应对方法
      2. 探讨新浪网、12306等大网站的架构设计思路

 

7.    分享大师

首席咨询师:张传波   

网名:Fireball(火球)            新浪微博:@火球_Fireball

  • 创新工场讲师
  • 软件研发及管理资深顾问(曾任华为某团队研发管理顾问)
  • 豆芽儿-高端IT人才成长社区(www.douya2.com )资深顾问
  • UMLonline网站(www.umlonline.org)首席专家
  • 中国UML认证专家委员会专家
  • 需求分析类畅销书《火球——UML大战需求分析》作者
  • 电子书《硬啃设计模式》作者
  • 每日培训缔造者,讲师的训练师

二十年的软件研发一线工作经验,负责“无数”个大型项目的需求分析、软件架构、用户体验设计、数据库设计、详细设计等工作,对需求分析、系统分析及软件设计有独到的理解,涉猎建筑、通讯、互联网、电力、金融、制造业、政府、信息安全、游戏等领域,熟悉软件生命周期的全部过程。

十多年的企业全方位改进经验,为上百家企业提供服务,善于针对企业实际情况给出针对性的改进“药方”,帮助企业解决实际的工作问题,提升生产力。

十多年的授课经验,面授学员达万人次以上,网络课程的受众更加是不计其数。讲课深入浅出,注重引导学员思考,善于将主题内容融于简单的例子中,让学员通过体会实例掌握知识。

 

8.    费用

1,680元/人

说明:

  • 费用含教材及午餐费用,交通及差旅请自理
  • 温馨提示:如果报名人数不足,课程将会推迟或取消

 

详情及报名表格下载:
http://www.umlonline.org/school/attachment.php?aid=MjQ0MnxjMGVhMDE1NnwxNDYyODkwNzc1fGJkOTdmTi83ZjVxeEUyODBCLzlyZ3RBbi9TRmc4OWRiWFZlam8zeXZBZFU0c29j