求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
 
 
 
开班计划 | 技术学院 | 管理学院 | 嵌入式学院 | 机械 | 军工学院 | 定向培养 | 专家指导  
 电话 English
成功案例   品质保证
 
成功案例
某核电企 软件设计重构与代码
某集成电 多核体系的软件仿真
某电力能 设计模式原理及应用
南方航空 软件设计方法与实践
某跨国公 软件设计原理与实
爱立信( 软件设计
Moto 设计模式
 

全部课程 >软件设计  
软件设计全程演练与最佳实践
1858 次浏览  34 次
杨老师
某单位软件架构师,要从事系统顶层设计、软件架构设计、标准化建设科研和教学工作。
 
地点时间:北京 上海 深圳根据报名开班
课程费用:5000元/人,详见 公开课学习手册
企业内训:可以根据企业需求,定制内训,详见 内训学习手册



认证方式:
培训前了解能力模型。
培训后进行能力评测:
  • 在线考试
  • 能力分析,给出学习建议
  • 合格者颁发证书,作为职业技能资格证明


    重点关注提升软件开发人员设计能力,整个课程由多个实战案例贯串始终,老师带领大家通过实战练习,一起走完项目设计的全过程。案例练习中老师着重阐述和分析在实际项目中遇到的问题,提炼架构决策的思维方法,使学员体会在项目各个阶段中架构设计的发展演化规律,从而在实战中提炼理论,培养学员的实际应用能力。课程主要特点:

    1、理论与实践相结合,注重案例的讲解;

    2、有深刻的理论深度,准确把握设计原则与要义;

    3、全真案例讲解,学员边做边学,具体、深刻;

    4、能够对学员提出的案例进行咨询,指导分析、设计。

    培训对象:
    1、中高级程序员、系统分析员、架构设计师、产品市场技术人员;
    2、具备IT部门工作经验,将负责信息化系统规划等相关任务的技术人员;
    3、希望加强软件架构理论和实践能力的软件开发人员;
    学员基础
    1、三年以上开发经验,经历过频繁需求变更或者系统重复开发的折磨;
    2、熟悉Java/C#/C++任意一种面向对象语言或者具备面向对象编程基本概念。
    授课方式: 定制课程 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练
    培训内容:3天

    第一部分:架构设计思想与原理
    一、架构设计的内涵

    1、概念和定义;

    2、架构原理;

    3、架构的三个层次;

    4、企业架构设计的产物;

    5、大型系统架构设计的产物;

    6、中小型系统设计的产物;

    二、架构设计的外延

    1、架构设计方法体系;

    2、架构与软件工程;

    3、架构与模式。

    三、架构师的成长

    1、架构师关键素质;

    2、架构师职业发展建议;

    3、设计师与设计技能;

    4、设计师能力模型;

    案例分析,某研发中心引入敏捷的实战分析,什么才是真正的敏捷

    1、 某研发团队5年前引入敏捷的失败教训-能力比方法重要,但改变方法比改变能力简单多了;

    2、优秀的设计来自优秀的设计师,因此应该首先是尊重个体的主动和创造性,提高个体工作技能,而不是应用了一种流程,消灭了个体的活力。首先关注人,才能真敏捷。


    第二部分:中小型项目案例分析与实践
    一、良好需求是优秀设计的开端

    1、需求变更;

    2、软件不断变更法则;

    3、积极心态面对需求变更。

    二、针对变化的敏捷过程与设计

    1、敏捷设计的弹性和流程的灵活性;

    2、软件设计的目标:灵活性;

    3、发现和封装变化的原则;

    4、抽象稳定接口(抽象类),针对接口编程,而不是针对实现编程;

    5、分离变化维度,单一职责原则;

    6、动态绑定还是静态绑定,多用组合,少用继承;

    7、创建与使用分离,创建有变化也要封装。


    网上订单、嵌入式项目系统案例练习

    1、现场模拟架构需求获取过程,点评要点;

    2、采用敏捷方式设计案例系统组成架构模型;

    3、故障单类型的增加后,设计如何通过代码进行演化。



    第三部分:改造类项目案例分析与实践 一、软件复用与基于框架技术的架构设计

    1、框架的选择/已有系统的架构;

    2、 软件通用服务组件的设计;

    3、 软件复用的管理策略;

    4、软件复用之道;

    5、在详细设计之中,分析发现共同的行为的抽象和共同的机制来实现;

    6、详细设计的核心:领域建模。

    二、软件腐化与希波克拉底宣言

    1、 First, Do No Harm. 首先,做到不伤害;

    2、 Proxy代理模式与软件修改方案;

    3、 decorator模式与遗留软件修改。

    三、软件改造过程

    1、初始设计的问题分析;

    2、拙劣设计常见症状以及如何发现和治疗;

    3、在详细设计中如何对设计问题进行重构;

    4、代码坏味道;

    5、常见的重构设计方式;

    6、重构到设计模式;

    7、流程审核的改变。


    薪酬系统、出租系统等案例设计分析与实操演练
    1、结合多个案例项目进行分析,怎样发现和封装变化,如何通过具体的手段来进行适应这些变化;

    2、分析真实项目,如何做的详细设计,给我们哪些启示,我们可以学习到什么;

    3、分析我们在项目之中是那些原因导致了没有实现这些目标;

    4、案例分析—如何维护遗留系统而不是遗留系统变烂;

    5、通过该案例分析,对比有时是因为人员的设计技能导致加速软件的腐化;

    6、通过该案例分析,讲师加入项目之后,将进行哪些重构。

     


    第四部分:大型系统项目案例分析与实践
    一、优秀大型系统架构设计的要点

    1、好的设计和衡量的手段,世界大师的观点;

    2、一个好的系统设计应该有如下的性质;

    3、可扩展性(Extensibility)容易添加新的功能;

    4、灵活性(Flexibility)代码修改平稳地发生;

    5、可插入性(Pluggability)。

    二、优秀大型系统架构设计的最佳实践

    1、合理的架构设计来源于正确的需求过程;

    2、业务建模和需求分析中的架构因素;

    3、采用原型法降低架构风险;

    4、架构风险管理方法与决策;

    5、几种典型高层架构介绍;

    6、高层架构设计的应用技巧和实践;

    7、高层架构的表示;

    8、非功能性需求对架构的影响;

    9、架构评审与决策;

    10、ATAM的参与人员、步骤和结果。


    军队大型信息系统设计分析与实操演练

    一、需求分析案例练习

    1、案例背景介绍;

    2、提出问题,捕获需求;

    3、工作量与开发计划制定。

    二、架构设计案例练习

    1、逻辑架构视图设计案例练习;

    2、物理架构视图设计案例练习;

    3、运行架构视图设计案例练习;

    4、数据视图设计案例练习;

    5、非功能需求对架构的影响。

     


    第五部分:大型系统项目案例分析与实践 一、灵活性设计的最佳实践

    1、 多态(polymorphism)和针对接口的编程;

    2、数据驱动(Data-Driven Design);

    3、元数据驱动设计;

    4、反射驱动(Meta-data or Reflective );

    5、解释器驱动;

    6、脚本引擎技术。

    二、演化式设计(Emergent Design)

    1、 演化式设计 Emergent Design ;

    2、演化设计--重构,反思性设计(Reflective Design)。;

    3、在详细设计之中,对发现问题的设计进行重构。

    三、软件设计原则/模式

    1、项目系统的演变,以及设计原则的应用效果;

    2、通过一个大型实例,传递Clean Code,设计原则等。

    四、架构评审与架构重构

    1、现场设计案例系统部署架构模型,并开展ATAM评估;

    2、现场设计案例系统数据架构模型,讨论中间件对架构决策的影响;

    3、实操细化架构设计练习,尝试优化分解架构设计,使之适应未来架构变化。


    银行、政府等多领域大型核心系统设计最佳实践案例分析
    1、结合多个案例项目进行分析,怎样发现和封装变化,如何通过具体的手段来进行适应这些变化;

    2、很多公司习惯做大量的预习设计,这被证明是风险很高的做法。好的架构和设计是演进出来的,通过这个环节了解演进式设计的方法,包括演进式设计的方法、工具、模式等内容;

    3、案例分析,根据课程介绍的坏症状,进行重构合理的设计;

    4、如何计划重构活动以实现架构演进,如何从设计方法、技术债务、复杂性等角度看架构演。

     


    第六部分 千万级访问量网站架构变迁案例分析与最佳实践

    一、用户体验与交互设计

    1、基本概念;

    2、6大设计原则 ;

    3、亚马逊网站案例剖析。

    二、千万级访问量的大型网站架构变迁

    1、物理分离webserver和数据库;

    2、增加页面缓存;

    3、增加页面片段缓存;

    4、数据缓存;

    5、增加webserver ;;

    7、分表、DAL和分布式缓存;

    8、增加更多的webserver ;

    9、数据读写分离和廉价存储方案;

    10、大型分布式应用和廉价服务器群时代。


    某Web互联网电子商务系统设计最佳实践和案例分析
    1、如何从开源起步;

    2、随着访问量的增加如何变迁架构;

    3、淘宝 VS 12306,两类系统架构的差异性分析;

    4、IBM小型机会被大量X86服务器替代吗?各自的应用背景与优势分析;

    5、云计算、移动应用等新兴技术的发展意味着什么?创业黄金期的到来。

     


     
    1858 次浏览  34 次
    其他人还看了课程
    软件(详细)设计师  2847 次浏览
    设计模式及最佳实践  6059 次浏览
    软件详细设计实践  2770 次浏览
    软件设计原理与实践  3574 次浏览
    面向对象的设计模式  2171 次浏览
    软件设计重构与代码优化  1609 次浏览
    定制内训


    咨询服务:架构评估与优化
    咨询目标
    对现有的架构进行评估,发现问题,并优化
    咨询范围 业务架构,应用架构,数据架构,技术架构
    咨询方式 对现有架构进行建模,然后诊断问题,对问题进行集成分析,设计优化方案,指导团队实施优化,最终效果评估。
    成功案例 中国移动广西分公司,中国电信
    详情咨询:010-62670969, zhgx@uml.net.cn
    课程计划
    SysML和EA系统设计与建模 7-26[特惠]
    Python、数据分析与机器学习 8-23[特惠]
    软件架构设计方法、案例实践 8-23[特惠]
    嵌入式软件架构设计 8-22[线上]
    Linux内核编程及设备驱动 7-25[北京]