课时安排:6天 培训特色 项目全过程软件设计沙盘模拟实战。 通过一个完整的软件设计沙盘项目及一组实际软件设计案例,完全覆盖设计过程的各个知识体系的实践应用,包括架构分析、架构分解、架构设计、架构分配、详细设计、构件设计等。该项目是一个课堂设计实践项目,以项目小组的形式进行设计沙盘实操练习,重点在于强化理解软件设计过程的工作重点,同时明确并强化作为设计工程师的一些基本素质。 强调互动式教学、强化团队讨论,力争每一个学员在课程中都有上台发言的机会,将有超过50% - 70% 的时间用于讨论、练习及游戏(具体比例可视学员的情况进行调整)。但这一做法需要学员的积极参与,尽可能地将实际项目中地各种问题拿出来讨论,这要求学员前期做一定地准备工作。 课程目标 1. 了解系统架构设计的关键策略; 2. 掌握系统架构的分层策略; 3. 理解详细设计全套流程与方法; 4. 理解通用架构模式的应用; 5. 通过案例学习相关工具; 6. 认识到系统设计在产品开发中的重要性; 7. 了解系统设计的核心理念与实践方法; 8. 通过流程的规范化来控制设计的过程与质量。 课程大纲 1.(详细设计专题) 第一天 上午 软件详细设计概述 1. 系统设计目标描述 2. 系统文档描述 3. 系统架构文档描述 4. 软件详细设计实践流程与计划 面向对象设计工具及UML编程语言 EA工具及案例介绍 用例图 类图 对象图 顺序图 状态图 活动图 组件图 部署图 协作图 第一天 下午 软件详细设计过程 1. 健壮性分析(获得边界对象、控制对象与实体对象) 2. 转换需求场景(使用时序图转述需求,获得对象行为细节) 3. 整理分析类(获得对象间关系) 4. 对象状态建模(使用状态图建模) 5. 局部分析阶段成果提交 6. 评审局部分析成果(发布局部分析基线) 第二天 上午 从需求到设计的过程 1. 案例概述 2. 识别系统需求中的概念策略 3. 通过需求建立概念模型的指导原则 4. 概念模型的关联添加原则和方法 5. 概念模型的属性添加方法 6. 系统顺序图的建立 7. 系统行为契约分析 8. 通过协作图设计活动之间的协作关系 9. 建立概念类图 10. 通过具体案例进行指导和演练 第二天 下午 系统类职责分配模式(GRASP)与案例应用 1. 案例概述 2. 专家(expert)模式与应用 3. 创建者(creator) 模式与应用 4. 高内聚(high cohesion) 模式与应用 5. 低耦合(low coupling) 模式与应用 6. 控制者(controller) 模式与应用 7. 多态模式与应用 8. 纯虚构模式与应用 9. 中介者模式与应用 10. “不要和陌生人讲话” 模式与应用 11. CRC卡片与应用 第三天 上午 用户界面规划设计 1. UCD(以用户为中心的设计)的概述 2. 整体用户体验的重要性 3. 设计师,程序员和用户的思维模型 4. UCD的主要原则 5. 界面开发的过程及周期 6. 建立符合标准软件产品 7. 交互流程设计:概念草图,系统流程展示 8. 视觉设计原则 9. 图像制作技巧 、图文资源管理 10. 功能的任务化与场景设计 11.用户界面方案设计 数据库详细设计 1. 数据库基本设计原则 2. 基于OO的数据库设计 3. 数据库性能设计 4. 数据库安全设计 5. 数据库程序规划与业务混入问题 第三天 下午 经典设计模式及其案例应用 1. 创建型设计模式与案例使用 简单工厂模式 工厂方法模式 抽象工厂模式 单例模式 2. 结构型设计模式与案例使用 适配器模式 组合模式 装饰模式 外观模式 代理模式 3. 行为型设计模式与案例使用 命令模式 迭代器模式 观察者模式 状态模式 策略模式 模板模式
2.(架构设计专题) 第一天 上午 一、系统架构设计概述 1. 成功架构设计的关键策略 新老架构师面临的困惑 有效的需求开发和管理 关键需求决定架构 多视图架构设计 及早有效的验证架构 2. 系统架构设计过程 需求分析 领域建模 确定对架构关键的需求 概念性架构设计 多视角架构设计 验证系统架构 第一天下午 二、从需求向架构设计过渡 1. 基础架构的建立 关键功能关键质量需求的分析 建立架构基线的步骤 系统约束条件对架构的影响分析; 确立概要架构 2. 基础架构逐步细化与求精 子系统划分的四大原则 架构层次的细化方法 架构分区与公共机制提取原则 3. 架构视图的形成 逻辑架构形成 物理架构的着力点 开发架构规范 数据架构的指导 运行架构分析 第二天 上午 三、系统架构分层策略 1. 表现层架构设计 MVC框架模式 UIP设计思想 动态生成设计 2. 中间层架构设计 服务接口设计 业务组件与业务实体设计 工作流设计 业务逻辑层框架 3. 数据访问层架构设计 数据访问模式 ORM与hibernate设计思想 事务处理与连接对象管理 四、通用架构模式的应用 1. 结构型架构模式 分层模式 管道模式 黑板模式 2. 分布式架构模式 中介者模式 3. 交互式模式 MVC C/S M/S P2P 第二天下午 五、面向服务架构(SOA)的实践过程 1. SOA概述 2. SOA参考架构 SOA相关元素 适配器 连通服务 协作服务 流程服务 业务服务 交互服务 信息服务与安全服务 运行管理服务与工具 资源管理服务与工具 3. SOA核心技术 4. SOA编程模型 5. SOA设计模式 六、基于产品线的架构 1. 产品线定义 2. 产品线基本活动 3. 产品线生命周期模型 4. 产品线的组织结构 5. 产品管理模型 6. 产品线工程案例 7. 产品线的优缺点 第三天 上午 七、架构质量解决方案与战术应用 1. 可靠性质量解决方案 可靠性质量属性场景 健康监测 错误恢复 错误预防 2. 高性能的架构设计 资源需求战术 资源管理战术 资源仲裁战术 3. 可维护性解决方案 可维护性质量属性场景 局部化修改 防止连锁反应 推迟绑定时间 4. 高安全性的架构设计 抵抗攻击战术 检测攻击战术 从攻击中恢复战术 5. 高易用性的架构设计 6. 高可测试性的架构设计 第三天下午 八、架构评估方法(ATAM) 1.ATAM方法的表述 2.商业动机的表述 3.构架的表述 4.对构架方法进行分类 5.生成质量属性效用树 6.分析构架方法 7.头脑风暴并确定场景优先级 8.分析构架方法 9.陈述结果 九 大型金融系统架构案例 1. 项目概述 2. 质量需求 3. 架构视图 4. 质量属性战术应对 5. 架构服务 课程主讲 张老师 北京航空航天大学硕士, 专注于项目管理、软件开发方法调优、软件建模与系统设计、系统架构、移动端开发等领域,熟悉主流的移动端开发平台,12年IT行业从业经验,6年教育及教育管理经验,对移动端产品设计与开发有深刻了解和实践经验,对于HTML5移动端混合式应用开发有深入研究,参与并领导多个移动端APP项目。对HTML5 Web App、HTML5混合应用开发关键技术有深刻了解和实践经验等。 龚老师 北京理工大学 博士 国家认证系统架构师、项目经理/主管、技术总监/经理、高级软件工程师。在架构下的系统设计和开发方面均有丰富经验。能够结合实际,在复杂的应用环境中选择适合的技术组合并合理利用开源中间件来降低项目开发风险、缩短开发周期、提高应用系统的可维护性和可扩展性。 曾老师 中科院软件所硕士 任职大型国内软件企业、华为、Sysbase等公司。项目经理/主管、技术总监/经理、高级软件工程师。擅长架构企业级应用;有独立工作流引擎开发、企业系统应用集成方面的丰富经验;在企业门户(Portal)、报表、工作流引擎和企业服务总线(ESB)等应用领域有深入的理论研究和充分的实践;对软件开发的整个流程有深刻认识,有很好的协作精神和学习能力。 程老师 中科院软件所硕士 中国第一批分析设计师、UML/UP专家、UP统一软件过程资深教练(国内首位软件项目过程教练)、国内较早引入模型驱动开发方法的倡导人之一、国内最早的UP过程推动人之一。 擅长企业级应用分析设计与开发;对软件开发的整个流程有深刻认识,有很好的协作精神和学习能力。 在系统分析设计和开发方面均有丰富经验。能够结合实际,在复杂的应用环境中能够选择适合需求分析方法定义并改进需求规格说明,降低项目开发风险、缩短开发周期、提高应用系统的可维护性和可扩展性。 程老师 中科院软件所硕士 中国第一批分析设计师、UML/UP专家、UP统一软件过程资深教练(国内首位软件项目过程教练)、国内较早引入模型驱动开发方法的倡导人之一、国内最早的UP过程推动人之一。 擅长企业级应用分析设计与开发;对软件开发的整个流程有深刻认识,有很好的协作精神和学习能力。 在系统分析设计和开发方面均有丰富经验。能够结合实际,在复杂的应用环境中能够选择适合需求分析方法定义并改进需求规格说明,降低项目开发风险、缩短开发周期、提高应用系统的可维护性和可扩展性。
|