新書推薦:

《
人间椅子 江户川乱步代表作
》
售價:HK$
49.5

《
奇特的一生(精装典藏2025版)
》
售價:HK$
61.6

《
德国天才(上下册)
》
售價:HK$
217.8

《
适度工作:活出不被职业定义的人生
》
售價:HK$
65.8

《
宫崎骏出发点
》
售價:HK$
96.8

《
地下结构抗震设计理论与方法
》
售價:HK$
294.8

《
1848:欧洲革命之年
》
售價:HK$
196.9

《
克林索尔的最后一个夏天(精装刷边版,黑塞自传式小说)
》
售價:HK$
49.5
|
編輯推薦: |
《软件体系结构》内容覆盖软件体系结构定位与构建,基于风格的设计,面向质量属性的设计、描述、评估、演化、综合案例等,涵盖了软件体系结构设计构建全过程的专业知识和关键技术。
基于软件体系结构设计的生命周期组织知识体系,辅助读者构建软件体系结构设计的全局框架,掌握具体设计方法。
本书有细粒度知识点案例、多知识点融合设计决策案例、覆盖全生命周期的大型综合案例等源自教学、科研、业界的多粒度多维度案例全线贯穿。
本书配套一流课程MOOC视频、教学课件、习题、细粒度知识点微课视频、学习自测网站等多模态资源,全方位支撑课程的教与学过程。
|
內容簡介: |
本书第一部分包括第1章“软件体系结构概述”和第2章“软件体系结构的定位与构建”,这两章是读者阅读本教材和掌握软件体系结构整个宏观知识体系的基础。
來源:香港大書城megBookStore,http://www.megbook.com.hk 第二部分包括第3~7章,各章分别围绕软件体系结构描述方法、基于风格的软件体系结构设计、面向质量属性的软件体系结构设计、软件体系结构评估、软件体系结构演化等软件体系结构构建过程中需要的专业知识进行讲解。
第三部分包括第8章,选取了三个实际的软件项目案例,以实践验证的方式带领读者面向实际的软件系统需求,综合应用本教材前两部分讲解的知识内容,完成软件系统体系结构的构建。
本教材适合软件工程、计算机相关专业高年级的本科生、研究生和博士生,以及相关专业领域的从业人员、研究人员和高校教师使用。
|
目錄:
|
第1章软件体系结构概述1
1.1随处可见的软件架构1
1.2软件体系结构的定义2
1.2.1多角度定义软件体系结构2
1.2.2软件体系结构定义解析4
1.3从建筑的体系结构理解软件的体系结构5
1.4软件体系结构的作用7
1.5软件体系结构的历史与发展现状7
1.5.1软件体系结构的发展史 7
1.5.2软件体系结构的主要研究方向8
小结9
习题9
第2章软件体系结构定位与构建10
2.1软件生命周期中的软件体系结构10
2.1.1需求分析阶段10
2.1.2系统设计阶段12
2.1.3系统实现阶段13
2.1.4系统测试阶段13
2.1.5系统部署阶段14
2.1.6系统维护和迭代阶段14
2.1.7系统退役阶段15
2.2软件体系结构的生命周期15
2.2.1软件体系结构分析16
2.2.2软件体系结构设计17
2.2.3软件体系结构评估20
2.2.4软件体系结构演化21
小结22
习题22第3章软件体系结构描述方法23
3.1软件体系结构描述概述23
3.1.1软件体系结构描述定义及其重要性23
3.1.2软件体系结构描述类型23
3.2常见软件体系结构描述方法27
3.2.1基于图建模的描述方法27
3.2.2基于UML建模的描述方法29
3.2.3基于形式化规格说明的体系结构描述31
3.2.4基于架构描述语言的体系结构描述39
3.2.5模型驱动建模开发方法43
小结46
习题46
第4章基于风格的软件体系结构设计47
4.1软件体系结构风格概述47
4.1.1软件体系结构风格定义47
4.1.2软件体系结构风格作用48
4.1.3软件体系结构风格的发展与演化48
4.2数据流体系结构风格49
4.2.1批处理体系结构风格49
4.2.2管道过滤器体系结构风格52
4.3以数据为中心的体系结构风格55
4.3.1仓库体系结构风格55
4.3.2黑板体系结构风格57
4.4调用/返回体系结构风格61
4.4.1主程序子过程体系结构风格62
4.4.2面向对象体系结构风格64
4.4.3层次系统体系结构风格66
4.5虚拟机体系结构风格69
4.5.1解释器体系结构风格69
4.5.2规则系统体系结构风格71
4.6独立构件体系结构风格73
4.6.1进程通信体系结构风格74
4.6.2事件系统体系结构风格76
4.7微服务体系结构风格82
4.7.1微服务体系结构风格定义83
4.7.2微服务体系结构风格特点84
4.7.3微服务体系结构风格应用85
4.8云原生体系结构风格88
4.8.1云原生体系结构风格定义88
4.8.2云原生体系结构风格特点89
4.8.3云原生体系结构风格应用90
4.9大数据处理体系结构风格92
4.9.1大数据处理体系结构风格93
4.9.2大数据处理体系结构风格特点97
4.9.3大数据处理体系结构风格应用97
小结99
习题99
第5章面向质量属性的软件体系结构设计101
5.1软件质量属性概述101
5.1.1质量属性的特点101
5.1.2质量属性场景104
5.2可用性107
5.2.1可用性的含义107
5.2.2可用性的质量属性场景109
5.2.3可用性的实现策略110
5.2.4提高软件可用性的措施实例117
5.3可修改性118
5.3.1可修改性的含义118
5.3.2可修改性的质量属性场景119
5.3.3可修改性的实现策略120
5.3.4提高软件可修改性的措施实例126
5.4性能128
5.4.1性能的含义128
5.4.2性能的质量属性场景129
5.4.3性能的实现策略130
5.4.4提高软件性能的措施实例133
5.5安全性134
5.5.1安全性的含义134
5.5.2安全性的质量属性场景135
5.5.3安全性的实现策略136
5.5.4提高软件安全性的措施实例139
5.6可测试性140
5.6.1可测试性的含义140
5.6.2可测试性的质量属性场景141
5.6.3可测试性的实现策略142
5.6.4提高软件可测试性的措施实例144
5.7易用性145
5.7.1易用性的含义145
5.7.2易用性的质量属性场景147
5.7.3易用性的实现策略147
5.7.4提高软件易用性的措施实例150
5.8特定领域关注的质量属性151
5.8.1功耗效率151
5.8.2可移植性152
5.8.3可重用性153
5.9综合案例: 手机银行153
5.9.1案例综述153
5.9.2面向质量属性的体系结构设计154
小结156
习题157
第6章软件体系结构评估158
6.1软件体系结构评估定义158
6.2软件体系结构分析与评估方法159
6.2.1基于场景的评估方法159
6.2.2基于度量和预测的评估方法161
6.2.3基于特定软件体系结构描述语言的评估方法162
6.3软件体系结构分析法163
6.3.1SAAM的参与人员164
6.3.2SAAM的评估过程164
6.4架构权衡分析法165
6.4.1ATAM中的重要概念和技术165
6.4.2ATAM的参与人员168
6.4.3ATAM的评估过程168
6.5以决策为中心的体系结构评估方法174
6.5.1DCAR的相关概念175
6.5.2DCAR的参与人员175
6.5.3DCAR的评估过程176
小结179
习题179
第7章软件体系结构演化181
7.1软件架构坏味道181
7.1.1架构异味181
7.1.2架构异味的分类184
7.1.3检测架构异味的技术与工具188
7.2软件架构逆向工程188
7.2.1架构逆向工程的定义188
7.2.2架构逆向工程的执行流程190
7.2.3架构逆向工程的工具192
7.3动态软件体系结构196
7.3.1概念196
7.3.2动态体系结构模型197
7.3.3动态体系结构描述语言198
7.4软件体系结构复用202
7.4.1概念202
7.4.2基于度量的重构方法203
7.4.3面向模式的重构方法206
7.5特定领域软件体系结构207
7.5.1基础概念207
7.5.2基本活动209
7.6软件产品线211
7.6.1背景与定义211
7.6.2关键技术212
小结215
习题215
第8章综合应用案例216
8.1电商系统216
8.1.1需求分析216
8.1.2架构设计220
8.1.3架构评估222
8.1.4架构演化223
8.1.5案例小结227
8.2基于大模型的知识问答系统228
8.2.1需求分析229
8.2.2架构设计231
8.2.3架构评估233
8.2.4架构演化234
8.2.5案例小结236
8.3物联网系统237
8.3.1需求分析237
8.3.2架构设计241
8.3.3架构评估243
8.3.4架构演化244
8.3.5案例小结245
小结246
习题246
参考文献247
|
內容試閱:
|
随着信息技术的飞速发展,软件已经成为当今社会不可或缺的基础设施之一。从个人生活到企业管理,从科学研究到政府服务,软件的应用无处不在。同时,随着云计算、大数据、人工智能等新兴技术的发展和应用,软件系统的规模和复杂度也在不断增加。因此,如何设计和构建一个优秀的软件系统,确保系统实现其复杂的功能需求和性能、可用性、安全性、可修改性、可靠性等质量属性需求,降低软件开发和维护的成本,提高软件开发的效率和质量,成为一个尤为重要的问题。
但是,软件体系结构的设计并不是一件简单的事情。作为软件系统的基础框架,它决定了软件系统的整体结构和组织方式,包括各个模块之间的关系、数据流向、系统的架构风格,以及质量属性实现策略设计等内容。这些多层面的抉择和决策,需要架构设计师具备扎实的理论基础和丰富的实践经验。
因此,作为国内最早开设“软件体系结构”课程,并建设了首门“软件体系结构”国家级一流课程的高校教研团队,我们基于近20年在软件体系结构课程教学、科研和软件系统设计开发的经验和成果,综合8000余名线下授课学生和近1.8万名线上学习者的教学反馈,编写了本教材,旨在帮助读者深入了解软件体系结构的基本概念和原理,掌握软件体系结构设计的方法和技术,在实际应用中具备软件体系结构设计的工程能力,更加游刃有余地应对日益复杂的软件系统开发的问题和挑战。
下面对本教材的主要内容、特色和阅读建议进行简要的说明。
本教材的主要内容可以分为如下三部分。
第一部分包括第1章“软件体系结构概述”和第2章“软件体系结构定位与构建”,这两章的内容是读者阅读本教材和掌握软件体系结构整个宏观知识体系的基础。
第二部分包括第3~7章,这部分中的各章分别围绕软件体系结构描述方法、基于风格的软件体系结构设计、面向质量属性的软件体系结构设计、软件体系结构评估、软件体系结构演化等软件体系结构构建过程中需要的专业知识进行讲解。
第三部分包括第8章,这一章选取了三个实际的软件项目案例,以实践验证的方式带领读者面向实际的软件系统需求,综合应用本教材前两部分讲解的知识内容,完成软件系统体系结构的构建。
本教材的主要特色体现在如下三方面。
首先,教材基于软件体系结构设计的生命周期组织知识体系。教材内容围绕软件体系结构定位与构建、软件体系结构描述方法、基于风格的软件体系结构设计、面向质量属性的软件体系结构设计、软件体系结构评估、软件体系结构演化,以及软件体系结构设计综合应用案例展开,教材知识体系囊括软件体系结构设计构建全生命周期中所需的专业知识和关键技术。
其次,多维度、多粒度体系结构设计案例贯穿全教材。本教材贯穿了大量来自教学研讨、科学研究和工业应用中的多维度软件体系结构设计案例,包括面向细粒度的架构设计知识点案例,面向多知识点融合的特定架构设计决策应用案例,以及覆盖体系结构设计构建全生命周期的大型综合案例。
最后,多模态、多维度资源、全方位支撑教与学过程。本教材为读者提供了对应教材内容的教学课件、习题以及对应细粒度知识点讲解的微课视频和知识点、自测题库等丰富的教与学资源。
本教材适合软件工程、计算机相关专业高年级的本科生、研究生和博士生,以及相关专业领域的从业人员、研究人员和高校教师使用。针对不同背景的读者,可以参考以下的方式进行各章节的阅读和学习。
对本教材所有读者而言,可完整阅读本教材的第1章和第2章,以对全书的内容和组织有一个总体理解,同时构建出对软件体系结构设计过程的整体认知。随后,读者可以开始阅读全书的所有章节,构建出一个完整的软件体系结构。也可以根据自身的知识储备和需求选择阅读某个章节内容,了解软件体系结构风格设计、软件体系结构描述、质量属性设计、软件体系结构评估、软件体系结构维护与演化等在软件体系结构构建过程中的某个部分或环节需要的专业知识。抑或,面向更具体的软件架构设计需求,单独阅读特定章节中讲解的对应架构设计知识点的具体内容。例如,读者需要应对软件系统的安全性需求,设计该系统的安全性架构设计策略,那么,读者可以直接选择阅读第5章面向质量属性的软件体系结构设计中的安全性的内容。
在阅读过程中,如果读者有对各章节知识点进行多样化学习的需求,可随时通过本教材提供的配套课件、习题、知识点讲解视频和知识点自测题库进行进一步的学习。
在编写本教材的过程中,我们汇集了众多软件工程领域的专家意见和实践经验,力求将最新的理论成果和实践案例融入书中。在此,向众多帮助我们的专家、学者及高校师生表示感谢。
我们衷心地希望本教材能够成为读者学习软件体系结构的重要参考资料,希望读者通过本教材的学习,不断提升自己的软件架构设计能力,为构建更加可靠、高效、安全的软件系统贡献自己的力量。同时,也欢迎读者提出宝贵的意见和建议,共同改进和完善本教材的内容,使其成为更加优秀的教材和参考书籍。
祝愿读者在学习本教材的过程中收获满满!
教与学资源
编者
2025年2月
|
|