火龙果软件工程技术中心
报名咨询热线: 北京 010-62670835 上海 021-50800371 深圳 15801587207
2010年7月25日,火龙果软件(上海)成功举办了软件架构设计高级实践培训,以下是学员的部分疑问、工作中遇到的问题与培训需求:
- 没有做长远打算,可扩展性差。
- 野路子 –> 正规军
- 设计的时候没有没有全局观,导致某些功能没法做下去。
- 几个人同时设计导致设计很凌乱,有重复逻辑。
- 兼容性差,导致几个版本做下来,兼容性无法维护。
- 架构过于复杂导致实现起来很吃力,效率不高。
- 没有非常系统的理论知道指导,欠缺大量成功的实例做参考。
- 代码重构的思路及风险分析,面向需求和干系人的架构设计的思路及步骤。
- 架构师必须掌握的最小知识集,及相应的推荐学习书籍。
- 架构师必须掌握的软技能,了解其他架构师在特定项目中的架构经验。
- 扩展性不好,无法平滑升级管理能力,无法支持多数据库,无法支持多平台,开发新类型设备的支持复杂;复用性不好,各网管产品之间没有公用相似的组件;性能存在瓶颈,当网元数量增多时,数据库,内存,cpu的压力会变的很大。
- 希望掌握软件架构设计的方法和原理,特别是对于电信设备网络管理软件的架构设计。
- 技术应用无规划和控制,MFC STL随意用,xml解析都有n个版本。
- 功能维护性差,扩展性差,太多硬编码,逻辑分散,如果修改某个功能,可能会涉及很多文件的修改,而每个文件可能只有很少的改动。
- 现网设备规模已经接近其最大管理能力,但是无法通过硬件扩充而增强管理能力。
- 网管版本兼容性很差,无兼容性管理,两个版本间混合使用会导致不可预料的异常。
- 复用性差,公共模块很少,可重用代码经常拷来拷去的使用。
- 如何系统的完成一个project 的架构, 主要的思路和重点应该是什么?
- 如何让人理解并遵守你的架构。
- 定义的模块没有将后期可能变化的部分完全剥离, 造成一些maintain上的cost:
应将可能变化的部分和稳定部分分离。
- 随着spec的change, 架构设计部分也需要相应的修改: 应预测部分spec
可能的变化
- 现在主要是定义模块和模块之间的交互, 但这似乎不应该是soft arch的全部,
其他的知道的较少, 没有系统化, 所以做出来的设计有些凌乱, 不容易让人理解和遵循。
|
火龙果软件在培训前了解了每一位学员的背景和培训需求,培训通过具体实际案例深入剖析架构的设计方法、原则与解决方案,同时与学员交流了工作中遇到的问题。学员反馈如下:
- 整体认识的更清晰了,以后学习的方向进一步明确。
- 能够将所学到的马上用于实际工作中,例如单元测试技术、架构设计模式、可靠性设计等。
- 对具体的架构设计过程中例如:模块之间的层次、模块划分能够结合例子分析其过程,效果很好。
- 对软件架构整个体系有了进一步认识,学习了很多新的技术体系。
- 明确了架构师的职责和架构设计的思路、方法,对大型系统的架构设计、开发有了一个基本的了解。
- 对架构设计思路有了进一步了解和新的认识,对学习了一些新的技术方法和框架思想、框架模式。
- 课程帮助了理清思路,仔细思考了架构设计的关注点。
- 通过培训全面了解了架构师的职责和开展工作的步骤,一些业务分析的手段、方法以及对某些工具和框架的深入理解,有助于今后的工作。
- 沟通充分,感谢老师能够结合学员的技术背景讲解。
- 学习了建构设计方面的思路,使新系统架构设计更完善。
- 通过具体实例了解了如何合理架构分布式的大型软件,在合理的架构下,软件需要容易扩展、易维护,处理效率比较高。
- 对软件架构有系统地了解,希望能够在今后的开发过程中灵活运用。
- 了解了基本的架构模式和如何在项目中有效的进行架构设计。
- 学习了进行系统架构的科学方法。
- 获取了一些架构方面的经验,开拓思路,能初步了解仅靠实验得不到的知识升华
- 提升自己对于软件架构的理解高度,对公司项目架构起到积极作用,并希望能对未来公司架构师队伍建设起到一定作用。
- 了解软件架构设计的思想和方法论;掌握软件架构设计中一些难题的处理,比如高并发性、安全性、缓存设计和管理等设计技巧。
- 拓广了架构方面的认识,分层架构的方法会在今后的工作中应用。
- 系统的整理了做架构设计的思路。
|
培训课程内容包括:
- 如何有效描述软件架构
- 软件架构设计关注点
- 软件架构最佳策略
- 软件架构设计过程
- 层次框架设计基础—表示层设计方法、业务层设计方法、持久层的设计方法、应用层设计方法、通用层的设计方法
- 商业架构分析
- 逻辑架构设计
- 物理架构设计
- 架构设计的评估和验证
- 架构设计重构和复用
- 软件架构模式
- 应用框架
- 设计模式技术在软件框架设计之中的应用
- 领域模型架构
- 业务逻辑和业务流程架构
- 数据存取(持久性)架构
- 数据架构
- 系统内部各组件或层之间通信架构
- 系统与外部系统的接口架构
- 系统基础服务组件架构
- 软件架构的文档编写
- SOA架构设计
- 云计算技术
- 大型软件架构实践与剖析
|