Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: 李必信 等

Rating No ratings yet

No description

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
【One-Line Pitch】 A systematic Chinese textbook-style guide to software architecture: what it is, how it is modeled and described, and how it is designed, evaluated, and evolved in practice. Best for students, instructors, and working developers who want a structured, method-by-method map of the field rather than a single-framework how-to. 【Book Arc】 - **Opening (~0%–10%)**: Frames why architecture matters, surveys competing definitions (decision-centric vs. composition-centric vs. others), and introduces core ideas—stakeholders, separation of concerns, quality-driven design, conceptual integrity. - **Early (~10%–32%)**: Moves into modeling and description: five generations of modeling methods (informal graphics, UML, formal, UML-formal hybrids, textual), MDA/PIM-PSM transformation, and architecture description languages (ADLs) with their trade-offs. - **Middle (~32%–48%)**: Covers architecture styles and patterns (data-flow, call/return, independent components, virtual machines, repositories, plus C2, REST, etc.), then connects architecture to agile development via XP, Scrum, and FDD iteration models. - **Late (~48%–70%)**: Shifts to design and implementation: deriving architecture from requirements, mapping requirements to design, and the principles (business, data, application, technology; separation of concerns, single responsibility, least knowledge, DRY) that guide architects. - **Ending (~70%–100%)**: The excerpts do not cover the later chapters in detail; the teaching plan indicates chapters 17–23 form an advanced module (evaluation, evolution, and related topics) reserved for graduate-level study. 【Key Takeaways】 - **Architecture is more than structure** (Opening): It includes quality attributes and the mapping between requirements and implementation—design decisions, not just boxes and lines. - **Definitions are plural and unresolved** (Opening): Over 100 definitions cluster into decision-centric, composition-centric, and other camps; understanding the differences is itself a learning goal. - **Modeling evolved in five waves** (Early): From informal graphics and module interconnection languages, through UML and formal methods, to UML-formal hybrids and textual languages like xADL/xADLite. - **MDA separates platform-independent from platform-specific models** (Early): PIM→PSM→code, with MOF, UML, and CWM as the underlying metamodeling standards; AIM/ASM refine this further for architecture independence. - **ADLs emphasize different concerns** (Early): Aesop, MetaH, C2 SADL, Rapide, SADL, UniCon, Wright each target different aspects—style support, real-time guidance, simulation, formal foundations—making selection a real design decision. - **Styles and patterns are not the same** (Middle): The author distinguishes patterns (named problem–solution pairs) from styles (design effects independent of a specific problem); the same system can yield different styles from different viewpoints. - **Agile and architecture can coexist** (Middle): XP, Scrum, and FDD each handle architecture differently—XP favors simple design and YAGNI, Scrum uses sprints and backlogs, FDD builds design packages from feature lists. - **Design principles are layered** (Late): General principles (business, data, application, technology) sit alongside key principles (separation of concerns, single responsibility, least knowledge, DRY) that directly shape module boundaries and coupling. 【Reading Tips】 - **Deep-read Chapters 1–3** if you are new to the field; the definition debates and modeling taxonomy are the conceptual backbone and are referenced throughout. - **Skim the ADL chapter (Ch. 5)** unless you need a specific language; use the comparison table to pick one or two relevant to your domain rather than memorizing all twelve. - **Treat the agile chapter (Ch. 6) as a bridge**: read it after styles/patterns so you can see how architecture decisions play out in iterative processes. - **Use the design principles chapter (Ch. 8) as a checklist**: map each principle to a project you know and ask where it was violated. - **Note the teaching plan**: chapters 1–16 are the core module; chapters 17–23 are advanced and, per the excerpts, not covered in detail here—plan supplementary reading if you need evaluation and evolution topics. 【Coverage Limits】 This guide is based on stratified excerpts covering roughly the first half of the book (through Chapter 8), with heavy emphasis on definitions, modeling, ADLs, styles, agile, and design principles. Later chapters on evaluation, evolution, and advanced topics are indicated by the teaching plan but their content is not detailed in the excerpts.
Excerpt 1
看,大体上可以分成决策派定义、组成派定义和其他定义三大类。本章简要介绍这些定义,并简要讨论这些定义的优势和不足。 2.4 其他定义 业界还存在一些软件架构的其他定义,它们从独特的角度诠释了软件架构。 一些资深软件架构师根据他们的从业经历,也给出了软件架构的描述性定义 [15] 。比较有代表性的如下:Vivek K...
View in text
Excerpt 2
on hyperbolic geometry for visualizing large hierarchies[C].Proceedings of the SIGCHI conference on Human factors in computing systems,CHI '95,1995:401-408....
View in text
Excerpt 3
2006,48(3):154-169. [81]  W Heijstek,T Kuhne,M R V Chaudron.Experimental analysis of textual and graphical representations for software architecture design[C...
View in text
Excerpt 4
41(z1):85-89. [15]  Scrum Glossary[EB/OL]. http://www.scrum.org/Resources/Scrum-Glossary ,2009. [16]  SCRUM的三个工件[EB/OL]. http://www.scrumcn.com/scrumptc/html...
View in text
Excerpt 5
DSA [34] 。DSA指那些在软件运行时刻会发生变化的体系结构。与静态软件架构相比,DSA的特殊之处在于它的动态性。软件架构的动态性指由于系统需求、技术、环境、分布等因素的变化而导致软件架构在软件运行时刻的变化,主要通过软件架构的动态演化来体现。 Bradbury等人为DSA做了如下定义:动态软件架构(DSA...
View in text
Excerpt 6
tenance)是指软件适应信息技术变化和管理需求变化而进行的修改。这方面的维护工作量占整个维护工作量的18%~25%。由于计算机硬件价格的不断下降,各类系统软件层出不穷,人们常常为改善系统硬件环境和运行环境而产生系统更新换代的需求;企业的外部市场环境和管理需求的不断变化也使得各级管理人员不断提出新的信息需求。这...
View in text
Excerpt 7
sage表示用户和系统的交互消息,fragment表示复合片段。复合片段用于表示系统顺序图中条件、循环、选择和并行情况。这里设定由actor发送给system的message会调用系统内部操作,如果该message是一个复杂操作,那么它将对应顺序图,表示该操作会引起系统内部各模块进行一系列的交互。如果仅仅是系统内...
View in text
Excerpt 8
改变,并且已经存在于知识库中,那么我们就可以直接使用这些数据,而不用再次输入这些仿真参数,从而减少了不必要的工作。 1.顺序图仿真 本章针对SD的仿真旨在获得用户对系统进行某个操作后系统内部的执行情况。这层仿真的意义在于,它不仅可以帮助分析SA的局部性能瓶颈,还可以为SSD仿真提供仿真参数。 我们称SD仿真过程中...
View in text
Tags
AI categories
SoftwareProgrammingTechnology
Publish Year: 2018
Language: English
File Format: EPUB
File Size: 21.6 MB