课程简介
软件架构和软件设计是一个话题的两个不同方面,它们都是关于如何构造软件来完成任务的,通常软件架构是指软件系统中较大的结构,而软件设计指较小的结构。软件设计是一种解决复杂问题的系统分析和可行性研究,根据用户实际需求,使用合理的方法来实现一定目标软件。它可以提高软件的结构,性能,开发质量,作为软件开发成功的关键一步,是构成软件开发过程的重要环节。软件架构为软件系统提供了一个结构、行为和属性的高级抽象,能够在设计变更相对容易的阶段,考虑系统结构的可选方案,便于技术人员与非技术人员就软件设计进行交互,能够展现软件的结构、属性与内部交互关系。但是软件架构与用户对系统的功能性需求没有直接的对应关系。
本节课程总结了常见的架构及详细设计腐化途经,原因及克服方法,通过案例展示帮助学员了解代码层面设计问题的上下文和解决方法;讲师通过现场重构这个java项目,让学员了解到真实项目重构的思路;通过Workshop形式识别出目前系统各个层级的架构细节,问题及痛点,找到对策和行动计划,帮助团队认识架构和设计细节,形成完整视图。
课程收益
1、了解架构设计腐化的5条途径;
2、了解代码层面设计问题的上下文和解决方法;
3、掌握java平台下的重构工具及常用重构技巧;
4、掌握项目重构思路、具体过程及实用技巧;
5、认识架构和设计细节,能够发现问题并制定解决对策。
受众人群
软件架构师、技术总监、开发技术人员、高级软件设计师。
课程周期
2天(12H)
课程大纲
课程主题 | 课程内容 |
Part 1 软件设计回顾会议 | 通过Workshop形式帮助团队回顾过去的项目中在软件设计方面我们的策略和实践、问题和疑惑、以及建议,帮助大家迅速进入主题,主动思考,讲师了解反馈,激发学习欲望,调整后面重点,并引导出后面的内容,奠定两天培训的基调。 |
Part 2 架构及设计腐化的5条途经 | 总结常见的架构及详细设计腐化途经,原因及克服方法。 |
Part 3 从代码中学设计 - 面向对象设计原则练习 | 通过一个个实例,传递Clean Code,OO设计原则等知识点,包括DIY原则,Tell Don't Ask原则,Single Responsibility原则,Open Closed原则,Liskov Substitution原则,Interface Segregation原则,Dependency Inversion原则等等。帮助学员了解代码层面设计问题的上下文和解决方法。 |
Part 4 从代码中的坏味道到重构练习 | 通过一个个代码片段发现怀味道并学习对应的重构对策,介绍java平台下的重构工具及常用重构技巧,学习到利用重构消灭重复和简化依赖的技术,探讨遗留系统重构的要点。 |
Part 5 项目重构现场演示 | 将前面的知识加以应用,发现一个java项目代码中的设计问题并讨论解决方法。讲师现场重构这个java项目,详细讲解每一步,学员了解到真实项目重构的思路,具体过程,测试的作用,实用技巧和期间众多现实的设计考虑。 |
Part 6 需要掌握的设计模式 | 总结最为常用的设计模式,应用场景,陷阱,以及变通做法。 |
Part 7 培养优秀的架构嗅觉 - 从成功软件看架构设计实践 | 通过多个具体实例总结优秀架构设计的一些具体关键技术做法,背后的思路和业界架构设计的发展趋势。分享讲师经历的多个项目和产品中起到关键作用的架构设计具体做法,以及失败的教训。 |
Part 8 演进式设计技术及实践 | 很多公司习惯做繁重的前期设计,这被证明是风险很高的做法。好的架构和设计是演进出来的,通过这个环节了解演进式设计的方法,包括演进式数据库设计的方法、工具、模式等内容。包括如何计划重构活动以实现架构演进,如何从设计方法、技术债务、复杂性等角度看架构演进。 |
Part 9 架构设计及痛点识别Workshop | 通过Workshop形式识别出目前系统各个层级的架构细节,问题及痛点,找到对策和行动计划。这是一个非常有益的活动,帮助团队认识架构和设计细节,形成完整视图,发现问题并制定Action。 |
Part 10 让设计保鲜的团队实践、面临的挑战及案例分享 | 讲师带过很多团队,也一直关注如何让设计保鲜的问题,这是一个系统工程,讲师将分享他在这方面的成功经验,包括如何安排设计工作,如何用一致的语言在团队沟通设计,如何识别设计问题,日常开发中如何落实关键的工程实践,如何确保重构是小的并被计划在日常工作中,各角色如果合作能有效减少设计风险,需要培养那些技能,如何处理业务压力带来的设计缺失等等。 |
Bard Lu
百林哲咨询(北京)有限公司专家团队成员
Bard Lu
百林哲咨询(北京)有限公司专家团队成员
Bard Lu
百林哲咨询(北京)有限公司专家团队成员
Bard Lu
百林哲咨询(北京)有限公司专家团队成员
Bard Lu
百林哲咨询(北京)有限公司专家团队成员
Bard Lu
百林哲咨询(北京)有限公司专家团队成员
Bard Lu
百林哲咨询(北京)有限公司专家团队成员