随着网络与信息技术的高速发展,软件研发逐渐朝着大规模、高复杂度的大型软件系统发展。软件系统逐渐成为全行业、全系统、全社会,乃至整个国家的信息管理核心。在这样的背景下,如何从全局的角度思考软件系统方方面面的问题,提前识别软件项目的技术风险点,并有针对性地制订技术方案,成为大型软件系统至关重要的设计内容,软件架构设计的意义与价值就在于此。
本课程将系统地讲述高质量的软件架构该如何设计。首先,它将从宏观的角度探讨了几个与架构相关的、让人困惑的问题:什么是架构设计?架构设计应具备的素质与思维方式?什么是架构师?
接着,本课程运用5视图的方法,逐一讲述了架构设计应当思考的5个方面的问题:从需求的角度、运用用例模型与领域模型进行逻辑架构的分析与设计;像一个乐队指挥一样进行分层结构、技术选型、模块划分等开发架构的设计;运用数据持久化的方式设计数据架构;运用“属性->场景->决策”的过程进行运行架构的设计;从部署、网络、性能的角度进行物理架构的设计。运用5视图法可以避免架构设计时遗漏关键风险点。
在此基础上,讲解高质量架构设计的关键:恰如其分的架构设计,以及什么是风险驱动设计。
课程的最后,以专题的形式讲解架构设计中几个关键属性的设计:大并发高性能架构设计、高可靠架构设计、可维护易变更架构设计。
云计算