企业架构分析&设计模式 课程

高焕堂的招牌课程

企业架构分析、设计模式和App Framework/SDK开发方法

by 高焕堂

亚太地区Android技术大会 主席

洞庭国际智能硬件检测基地 & 中云企业大数据中心(IDC) 首席架构师

微博:@高焕堂_台北

                              

课程简介:

本课程依据企业软件开发流程里的先后环节来作教学。主要目标在于介绍和阐述各环节的思想、模式、技术和实践要点。让学员能熟悉当今云计算&大数据潮流下,终端与云端的(业务)架构分析、API设计、框架开发和SDK管理等方法和技术。

本课程特别邀请业界知名、拥有37年海内外(美国、日本、西班牙等地区)软件开发经验的专家 高焕堂 老师来亲自指导。他兼具了实务深度和学术高度,于2012年,提出了IT产业界数十年来深具突破性的EIT软件设计造形;并于2013年获得国际学术界的高度认可,受邀于<2013清华设计管理国际大会>进行论文发表。

课程特色:

在此课程里,高焕堂老师不仅仅阐述需求分析、架构设计、开发实践的各项技术,更重要的是从项目管理流程的视角,逐步带您走过真实的企业级系统开发步骤,以便返回到自己岗位上,就能顺利应用到现行的项目上。

学员对象:

  • 一年以上经验的软件开发者、分析师和架构师
  • 有编程经验更佳

课程时数:12小时

课程大纲:

Section-1、架构(需求)分析(Architecture analysis)

目标:本节上完之后,学员熟悉最新项目管理流程中的领域分析、企业架构、框架设计到代码实现的过程。

先进的开发流程

  • 潮流:业界主流的领域知识分析方法-- 领域驱动、模型驱动、SOA、Togaf等
  • 建模:领域驱动与MDA模型驱动分析
  • 符号:MDA方法与UML系统建模技术
  • 过程:从业务分析到API设计
  • 落实:企业框架开发及其API设计-- 抽象技术、EIT代码造形、强势接口设计
  • 应用(一):企业架构(EA)分析方法
  • 应用(二):跨平台架构分析与中间件(Middleware)开发
  • 应用(三):从App开发到SDK平台开发与管理

结合敏捷开发

  • 架构分析撬动敏捷(Agile)开发

-- User Story举例(一):表达东方传说『嫦娥奔月』故事

-- User Story举例(二):表达西方童话『青蛙王子』故事

-- User Story举例(三):表达POS的售票服务情境

-- User Story举例(四):表达『五子棋』的对弈情境

Section-2、设计模式(Design patterns)

目标:本节上完之后,学员熟悉如何从业务分析到软件设计。一方面学习设计模式的应用要点,而且从Android的源代码解析中,深刻领悟设计模式的实际情境(Context)。

从架构分析到设计模式

  • 本质:领域知识和业务逻辑是内涵(Content),设计模式是软件结构(Structure)
  • 途径:

Step-1:<企业独特内涵> + <通用型结构> = 企业模块(Business module)

Step-2:<一群企业模块> + <特定业务流程> = 独特产品(系统)

活用设计模式

  • 设计模式的意义、起源和角色
  • 介绍GoF的23个软件设计模式

1)设计模式的使用要点

2)常见的设计模式应用情境

Android平台的设计模式

  • UI架构

-- View体系的Composite设计模式

-- 处理事件的Observer设计模式

-- 远端服务的Proxy设计模式

-- ListView里的Template设计模式

-- SurfaceFlinger里的设计模式

  • 进程与线程

-- IBinder的Fcatory、Delegation及Adaptor设计模式

-- VM的线程安全设计模式

-- JNI里的常用设计模式

  • 数据内容

    -- ContentProvider的Faade及Iterator设计模式

  • 底层服务

    -- Android Service的Faade及State设计模式

    -- Native Service的常用设计模式

    -- HAL里的Stub设计模式

Section-3、EIT(代码)造形:设计模式的<强势>应用

目标:本节上完之后,学员熟悉传统的静态(Static)设计模式和创新性(Generative)设计模式之外,进一步熟悉强势型(Strong)设计模式,作为建立业务框架和SDK的扎实基础。

EIT造形的意义和角色

  • 目的:建立<强势型>的IT架构,支撑企业取得产业链中的<强龙>地位
  • 做法:强化接口设计,取得接口制定权,掌握整体话语权

设计模式 + EIT = 大力水手吃菠菜

  • 被动型API与主动型API
  • 主动型API创造强势的设计模式
  • EIT造形的接口表示为<I>;<I>可以合并到<E>里

API与商业模式

  • API决定控制权
  • 谁拥用接口的制定权,谁就掌握控制点,就能获得较大的话语权
  • 从API看控制力量的强弱等级

EIT活用要點(一):容易,插件容纳变化

  • 什么是插件<T>?
  • 插件(Plugin)的分类;插件与接口
  • EIT造形里的插件<T>

EIT活用要點(二):结构制约,积极掌控插件

  • 什么是接口<I>? 谁控制<I>?
  • 接口的分类
  • <I>决定控制权

EIT活用要點(三):组合创新,让整体<飞>起来

  • 什么是平台<E>?
  • <E>+<I> = 框架(Framework)
  • <E>是控制点,透过<I>来驱动<T>

EIT活用要點(四):协天子以令诸侯

  • 拿EIT造形搭配Proxy-Stub设计模式,规划Stub类别(曹操类)
  • 制定自己的<I>,让<T>脱离上层<E&I>所牵制
  • 实现”挟天子以令诸侯”的效果

Section-4、业务框架(Business framework)开发

目标:本节上完之后,学员知道如何从上述的分析、设计到一般的应用框架的开发过程。而且懂得如何建立较复杂而强势的多层框架,例如C++与Java(或Scala)组合的多层框架体系,成为未来发展SDK的核心机制。

从Android开放源码来阐述其Framework设计方法

  • 說明<平台>与<应用>框架之密切关系
  • 如何以C/C++和JNI(Java Native Interface)实现平台框架
  • 如何透过JNI衔接Java层与C/C++层框架
  • 闡述HAL(Hardware Abstraction Layer)驱动层框架设计

以软件框架(Framework)实践强势架构设计

  • 假设à假想à愿景à商业模式à架构à软件框架
  • 愿景是自由的假想(Hypothesis)
  • 商业模式来自愿景(Vision)
  • 商业模式是愿景的可获利策略(Profitable Strategy)
  • 架构(Architecture)是商业模式的可实现计划(Achievable Plan)
  • 框架(Framework)是一种计算机可以执行的架构(Architecture)
  • 框架的内涵是程序码。
  • 框架呈现形式是:元素是软件程序码;结构是软件基类(Super class)和API
  • 商业模式是必备条件,框架是充分条件
  • 框架实践话语权

    -- 框架API是鱼钩,APP是鱼

    -- 掌握框架à掌握APPà掌握User

  • 框架实践强势商业模式

    -- 愿景和商业模式都是独特的

    -- 基于独特的愿景和商业模式

    -- 表现于与众不同软件框架上

    -- 拥有别人无法取代的主导权

多层业务框架的实践范例:在C/C++层上建立Java层业务框架

  • 使用JNI(Java Native Interface)
  • 例如,C/C++平台的<业务规则BR引擎>可以搭配一个Java框架
  • 因为C/C++模块(如<业务规则引擎>)可以调用Java函数,所以C/C++平台仍然拥有主控权
  • 观摩Android GPS(Location Service)服务框架体系

    -- Java层框架基类及相关类别

    -- JNI界面

大数据Spark/Hadoop平台上的Scala应用框架实践范例

  • 活用Spark API
  • 善用Scala的"trait"定义应用框架的API
  • 从Scala框架存取HBase大数据
  • C/C++模块(如<业务规则引擎>)可以调用Scala函数

Section-5、SDK设计、开发与管理

目标:本节上完之后,基于讨论形式,各学员都会明白SDK(Software Development Kit)的经济和战略意义。能辨别自己企业是否需要发展自己的SDK或仅仅使用人的SDK(如Google Android SDK)。

讨论:终端SDK的战略意义

  • SDK和平台(框架)都像”花轿”,做得好稳定好用,是必要条件而已;还要还要有人来抬轿,才是充分条件。
  • 如何<威胁利诱>引导众人来抬轿呢? 例如,以终端SKD封装云平台(后台服务端)的服务,逼迫众多App开发者必须使用SDK。
  • 反过来,为什么云平台(后台服务端)的服务,要让我们的SDK包装呢? 此时,SDK必须带给服务端利益,例如将服务端接口包装与SDK父类里,App必须调用父类函数,间接使用服务端的接口,未来服务端接口通信协议改版了,只要更改SDK父类,而不必更改所有的App。
  • 因此,SDK对云平台开发者极具战略价值的。

终端SDK的安全與測試方案

  • UI控件相关的Permission机制定义
  • SDK版本信息和Permission定义
  • 测试框架定义

高焕堂(Tom Kao)  简历

n 学历:美国U. of Colorado资管研究所,淡江大学管理科学研究所

n Android/Java培训&顾问经历:

酷派Android手机开发团队培训

中兴移动、LG北京Android技术培训

腾讯、支付宝、百度的Android技术培训

MTK、宏碁的Android技术培训

OPPO、MOTO、联迪的Android技术培训

MSTAR、长虹的Android技术培训

廈門中國航信、惠州華陽的技术培训

華為(北京)、鼎橋、聯友、快錢的技術培訓

n 曾任:铭传大学专职讲师

台湾<<对象导向Object-Oriented杂志>> 主编

英国Access Capital公司嵌入式软件架构师(西班牙.巴塞隆纳)

n 现职:美国Aurora高科技医疗仪器公司云端服务系统 总架构师

亚太地区Android技术合作大会(APAC) 主席

台湾Android/Java领域框架开发联盟 总架构师

n 技术专长:

专精于Android/Java核心框架及核心服务程序开发

n 书籍著作:

13本Java/UML/系統分析相關書籍

出版9本Android/Java专业技术书籍。

n Android之网页/杂志文章:

- 发表300多篇中文Android/Java技术性文章

n 微博:@高焕堂_台北

~ End ~

企业架构分析&设计模式 课程

时间: 2024-10-17 09:53:34

企业架构分析&设计模式 课程的相关文章

大数据企业架构师精品课程(大数据篇)

视频课程包含: 大数据企业架构师精品课程(大数据篇)包含01.hadoop100集全.02.大数据_HBase视频教程.03.大数据_Hive视频教程.04.大数据_Spark_视频教程.05.大数据_zookeeper视频教程.06.R语言速成实战.07.python等等! 2017最火的可能就数大数据了,这里给大家按照一定思路整理了全套大数据视频教程,涵盖大数据全部知识点. 本视频属于作者原创搜集整理!下载方式:翻阅到文章底部 总目录 01.hadoop100集全 02.大数据_HBase视

欢迎你,企业架构CCIE,RS CCIEv5.0的升级版新时代迎合自动化运维的网工顶级认证

欢迎你,企业架构CCIE,作者乾颐堂安德 或许,这就是能力!想起一句电影台词,"股票是什么,股票是人类对未来的预测,预测对了你就是赢家,预测错了你就是输家",没错预测就是一种能力,2019年6月10日下午乾颐堂茶话会公开课,名字为"思科一出,谁与争锋!",其中的小道消息主要概括为"思科将发布新的CCIE,时间为2020年2月",果然在今天思科就发布了Glance,这个发布时间这么紧凑倒是我没想到的.好了,让我们来看看企业架构CCIE的不同吧,这是

企业架构,业务架构,数据架构

我们将核心价值链上的端到端总结为两个核心,其一是供应链的端到端流程和业务:其二是产品研发的端到端和业务.各个企业由于类型不同往往对两条价值链各有 侧重.生产代工类企业没有自己的产品研发,那么只有供应链:高科技研发企业可以做到卖产品核心技术和专利,不做具体供应链方面事情.而更多的生产制造型企 业往往是1和2两者的一个有机结合. 再谈企业架构和业务架构: 企业架构本身强调的是业务驱动IT,业务和IT的匹配和融合而不是两张皮,在这里可以看到核心我们关注的点包括流程,活动,数据,组织,资源五个方面的内容

企业级电商项目P2P金融项目实战,企业架构师培训视频课程

15套java架构师.集群.高可用.高可扩 展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布 式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat. Spring.MongoDB.ZeroMQ.Git.Nosql.Jvm.Mecached.Netty.Nio.Mina.性能调优.高并发.

企业基础架构EI CCIE课程LAB文档:GuestShell实验

本文对应思科全新企业架构EI CCIE考试大纲第5部分内容.1.思科IOS XE系统它是思科企业级别设备上最新的操作系统(其实也有几年了),是思科四大系列操作系统(IOS.IOS XE.IOS XR.NX-OS)之一支持的核心技术:Application Centric Infrastructure (ACI). Fibre Channel over Ethernet (FCoE).Ethernet 虚拟私有网络 (E虚拟私有网络).Segment Routing.Locator/ID Sepa

信息技术开拓视野——记IT战略规划与企业架构培训课程

信息技术战略规划(Information Technology Strategic Planning,ITSP )指的是在信息时代知识经济的背景下,正确的结合IT规划,整合企业的核心竞争力,在新一轮的产生.发展中取得更大的市场竞争力的规划方法. 5月24日,IT战略规划与企业架构培训课程开课.这门课是一个高级课程,重点是应用逆向思维,关注问题.对策与解决方案,并且通过案例分析来理清思路,形成正确的思想方法.课程不可能照搬照套,而是希望学员关注课程所展示的思想,并且根据组织所处领域的不同,通过总结

HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性、非功能性、关键约束)-上篇

一.开篇 上一篇<HRMS(人力资源管理系统)-从单机应用到SaaS应用-系统介绍>我们已经详细的分析了HRMS系统具备的功能,并且从HRMS系统的概念.系统功能.HR行业管理现状及痛点.发展趋势及行业前景.行业内的服务提供商情况.HRMS系统的建设意义及价值等方面进行了系统化的分析梳理.我想大家已经对于HRMS系统的大体情况有了初步的了解,本篇将对HRMS系统的需求进行全方位的梳理(功能性需求.非功能性需求.系统约束等),这对于HRMS系统的架构设计来说是核心关键,是架构能否成功的前提.这也

Java架构师VIP课程一期共89G视频教程 luban it教程

集数合计:14讲Java视频教程详情描述: A0505<Java架构师VIP课程一期共89G视频教程>Java架构师VIP课程一期共89G视频教程 鲁班学院 课件资料全Java视频教程目录: 百度网盘下载点击 ├─撸搬架构├─01.并发专题(一)│      2018-09-11(1)-Java内存模型│      2018-09-13(2)-synchronized原理│      2018-09-16(3)-volatile实现机制│      2018-09-18(4)-DCL-单例模式

鲁班 Java架构师VIP课程一期共89G视频教程 luban it教程

Java视频教程详情描述: A0505<Java架构师VIP课程一期共89G视频教程>Java架构师VIP课程一期共89G视频教程 鲁班学院 课件资料全Java视频教程目录 ├─撸搬架构├─01.并发专题(一)│      2018-09-11(1)-Java内存模型│      2018-09-13(2)-synchronized原理│      2018-09-16(3)-volatile实现机制│      2018-09-18(4)-DCL-单例模式│      2018-09-21(