
前言
软件体系结构作为软件工程学科中重要的一门分支,在这几十年中也有了长足的发展,随之,与软件体系结构相关的理论也不断更新,以适应软件开发方式的发展。
作为计算机领域重要的工程基础科目,软件体系结构是计算机专业本科及研究生重要的必修或专业选修课程。由于软件体系结构这门课程涉及的理论知识较多,并且当前软件体系结构的书籍大多以理论知识介绍为主。因此,在进行实际系统开发时读者很难将软件体系结构的知识与之对应。作者具有从事软件体系结构课程多年的教学经验,在教学过程中一直探索如何将软件体系结构的理论与实际的案例进行结合。在这个过程中,作者总结了大量来源于现实生活与实际工作的案例,这些案例既包括软件体系结构风格的探讨,又包括详细的质量属性战术,也包括典型软件体系结构架构,还包括了典型互联网事件,便于读者理解身边的软件体系结构。案例的说明方式包括文字叙述、示意图、流程图、伪代码等,尽量以最合适、最直观的方式还原实际问题的解决过程。
本书在章节编排上,力争为读者提供一个基本的软件体系结构概况,并使读者可以在日常软件需求分析及设计中关注质量属性,在考虑系统架构时融入软件体系结构思想,在软件结构分解时结合相关的质量属性场景及战术。此书主要关注软件体系结构的原理、软件体系结构风格、质量属性及其战术、软件体系结构设计等方面,对于软件体系结构的其他部分,如软件体系结构评估、软件产品线、软件体系结构描述语言等则不涉及或者较少提及。
本书前后历经了一年半最终成稿,写书是对脑力和意志力的双重考验,由于本书涉及的案例较多,作者在撰写过程中遇到了不少挑战。在这个过程中,北京大学、北京邮电大学的多名老师及研究生给予了理论上、技术上的支持和帮助,从而使本书可以顺利完成,在此向他们表示感谢。同时,本书的相关内容得到了国家重点基础研究发展计划(973)(2015CB352201)、可信软件基础研究重大研究计划(91318301)等的资助。
作者
2016年1月