欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • 软件架构从微观到宏观
      • 作者:编者:甄镭|责编:赵军
      • 出版社:清华大学
      • ISBN:9787302700845
      • 出版日期:2025/10/01
      • 页数:479
    • 售价:51.2
  • 内容大纲

        软件架构在软件开发中无处不在,从微观到宏观层面,架构都在发挥着重要作用。因此,对于软件开发人员,包括刚刚入门的新手,掌握软件架构设计是一项必备技能。软件架构设计不仅要关注整体和顶层的宏观设计,还应重视支撑架构落地的微观设计。只有这样,软件架构设计才能真正起到指导开发的作用。本书的重点正是从微观到宏观的软件架构设计及其落地实践。
        本书共28章,分为4个部分:第1部分(第1-6章)介绍软件架构的基本概念、软件架构设计所包含的内容以及架构设计需要遵循的一般原则;第2部分(第7-14章)聚焦于架构设计的微观层面,包括常用的编程范式、多任务与异步编程、设计模式、业务模型、组件以及协同工作模式等;第3部分(第15-21章)介绍常用的软件架构模式,包括插件式架构、管道-过滤器架构、分层架构、微服务架构和事件驱动架构等;第4部分(第22-28章)重点在于实践,通过示例形式进一步介绍软件架构设计和落地的具体实现。
  • 作者介绍

        甄镭     同济大学学士,北京科技大学硕士。1996年开始从事企业信息系统开发和建设工作,涉及石化、政务、汽车制造、机械制造、电力、房地产等诸多领域,参与过多项国家级重大项目。在PLoP等会议发表过多篇论文。著有《信息系统升级与整合:策略·方法·技巧》《.Net与设计模式》等。
  • 目录

    第1部分  软件架构概述
      第1章  软件架构是什么
        1.1  难以定义的软件架构
          1.1.1  针对软件架构定义的不同观点
          1.1.2  不同视角的软件架构
          1.1.3  不同层次的软件架构
          1.1.4  不同开发阶段的软件架构
          1.1.5  不断发展变化的软件架构理论
        1.2  软件架构的范围
          1.2.1  使用鸭子理论划定软件架构范围
          1.2.2  软件架构描述了软件的结构
          1.2.3  软件架构的关键技术和支撑技术
          1.2.4  软件架构决定了软件的质量属性
        1.3  软件架构的作用
          1.3.1  体现软件开发的早期设计决策
          1.3.2  用于沟通与交流
          1.3.3  软件质量属性的保证
          1.3.4  软件工程管理的抓手
        1.4  软件架构和软件架构模式(风格)
        1.5  软件架构和软件框架
        1.6  本章小结
      第2章  软件结构
        2.1  软件的结构
          2.1.1  开发边界、运行边界和部署边界
          2.1.2  架构的三种结构
          2.1.3  软件结构和软件边界的变化
          2.1.4  软件的范围和规模与软件架构
        2.2  软件结构的描述方法
          2.2.1  架构蓝图
          2.2.2  “构件”和“连接器”
          2.2.3  图形化建模语言
        2.3  软件架构模式与软件架构风格
        2.4  示例1——Docker的软件架构分析
          2.4.1  Docker的作用
          2.4.2  Docker的顶层架构
          2.4.3  顶层架构的展开
          2.4.4  组件架构
          2.4.5  Docker架构分析总结
        2.5  示例2——设计时结构与运行时结构的关系
        2.6  本章小结
      第3章  关键技术、支撑技术与技术路线
        3.1  关键技术
          3.1.1  什么是关键技术
          3.1.2  关键技术的确定与识别
          3.1.3  关键技术的验证
        3.2  支撑技术
          3.2.1  软件架构落地需要特定的软件技术作为支撑
          3.2.2  软件技术对软件架构设计的刚性约束
          3.2.3  软件架构设计与软件技术选择
        3.3  技术路线

          3.3.1  什么是技术路线
          3.3.2  确定技术路线时需要考虑的因素
          3.3.3  技术路线与架构设计落地
        3.4  关键技术和支撑技术的区别和联系
        3.5  示例1——Docker的关键技术
          3.5.1  Docker关键技术概述
          3.5.2  关键技术在架构中的位置
          3.5.3  是否可以替换关键技术之外的部分
        3.6  示例2——图形展示软件:关键技术与支撑技术的区别
        3.7  本章小结
      第4章  质量属性
        4.1  什么是软件的质量属性
        4.2  软件质量属性的内容
          4.2.1  可用性
          4.2.2  性能
          4.2.3  安全性
          4.2.4  可部署性
          4.2.5  易用性
          4.2.6  可修改性
      ……
    第2部分  微观层面的架构设计
    第3部分  软件架构模式
    第4部分  软件架构实践
    后记
    附录一  参考文献
    附录二  开发环境与工具软件
    附录三  词汇说明