Intended as a guide for software architects, their managers, and other development team members working on large-scale software development projects such as enterprise systems and large distributed systems, this book covers essential information on defining the software architecture of large projects. Techniques discussed can also be applied to smaller projects and embedded systems. Coverage progresses from roles of the software architect and the development process through UML, subsystem design, and architecture techniques. The authors are experienced software architects.
AI Reading Assistant
Whole-book reading guide from stratified index samples; jump to passages in the text
Tip the Site
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat Pay
Alipay
Open WeChat or Alipay and scan. No login required.
AI guide
# Large-Scale Software Architecture: A Practical Guide using UML
## 【One-Line Pitch】
A practical, process-oriented guide for software architects and technical leads who need to define, document, and communicate the architecture of large-scale systems using UML, with concrete techniques that scale from enterprise systems down to embedded projects.
## 【Book Arc】
- **Opening (~0%–10%)**: Defines what software architecture is (and is not), introduces core terminology like "system under design," "subsystem," and "domain," and establishes the scope of large-scale projects—millions of lines of code, distributed teams, high concurrency, and multiple platforms.
- **Early (~10%–23%)**: Covers the roles and responsibilities of the software architect, including technical risk assessment, problem domain analysis, design authority, mentoring, and integration/test support, plus how to structure an architecture team (small, no more than seven members, focused on system interests rather than group representation).
- **Early (~23%–32%)**: Explores how the architect interacts with other technical leadership (hardware, network, systems engineering) and how to organize the architecture team for geographically distributed development, including meeting cadence and decision authority.
- **Middle (~32%–48%)**: Maps the architecture process onto the development lifecycle—requirements, analysis, design, implementation—and shows how architecture integrates with iterative/agile processes, including a real-world case study of a 250-developer project that succeeded only after appointing a full-time architect.
- **Middle (~48%–60%)**: Details COTS (commercial off-the-shelf) product evaluation and selection, including the formation of a cross-functional evaluation team, technical down-selection, and pathfinding/prototyping to validate compatibility before adoption.
- **Late (~60%–100%)**: Presents UML-based modeling techniques—system context and domain analysis, component design, subsystem identification, and viewpoint-based documentation—to capture and communicate the architecture effectively.
## 【Key Takeaways】
- **Software architecture is a distinct discipline with clear boundaries** (Early): It excludes hardware, network, and physical plant details, and should not duplicate requirements or marketing documents—keeping each view at the right level of detail prevents rework and confusion.
- **The architect's role is multifaceted, not just design** (Early): Beyond designing structure and interfaces, the architect owns technical risk assessment, requirements impact analysis, design guidelines, review/approval of deliverables, mentoring, and integration/test support—making it a leadership role, not a purely technical one.
- **Architecture teams should be small and system-focused** (Early): Limit the team to seven or fewer members who represent the best interests of the architecture, not their home groups; team members report to project management, allowing the architect to focus on technical decisions rather than personnel management.
- **Architecture and agile processes can coexist successfully** (Middle): A case study of a 250-developer Scrum-like project shows that architecture becomes essential when cross-team coordination fails—appointing a full-time architect late forced "catch-up," but still prevented chaos and potential failure.
- **COTS selection requires a structured, cross-functional process** (Middle): A dedicated team (technical leads, architect, chief engineer, test, configuration management) should evaluate products technically, down-select, and validate via pathfinding/prototyping—unless the team already has significant experience with the product.
- **The architect is the customer of requirements** (Middle): The architecture team should participate in requirements definition, review them carefully, and ensure subsystem-level analysis and design conform to the top-level architecture—while expecting that implementation will uncover needed modifications.
- **UML provides multiple viewpoints for managing complexity** (Late): Component instance, class/subsystem, interaction, deployment, statechart, and activity diagrams each serve different purposes; controlling the number of models and using supplemental text keeps the architecture description manageable.
## 【Reading Tips】
- **Skim the early role-definition chapters (0%–23%)** if you're already an experienced architect—the key value is the concrete list of responsibilities and team-structuring advice, not the conceptual groundwork.
- **Deep-read the agile integration case study (~42%)**—it's a rare, honest account of how architecture and Scrum actually combine in practice, with lessons about timing and authority that are directly actionable.
- **Pay close attention to the COTS evaluation process (~48%)**—the team composition, down-select, and pathfinding steps are immediately applicable to any project using third-party components.
- **The UML chapters (~60%–100%) are best used as a reference**—skim the diagram summaries first, then return to specific techniques (context viewpoint, domain analysis, subsystem identification) when you need them for your own architecture documentation.
- **Watch for the "what architecture is not" discussion (~10%)**—it's easy to over-scope architecture documents; this section helps you keep views focused and avoid duplication with other project artifacts.
## 【Coverage Limits】
The excerpts cover the architect's role, team structure, development process integration, COTS selection, and UML modeling techniques, but do not include detailed UML diagram syntax or step-by-step modeling tutorials—those are referenced in the table of contents but not fully present in the sample.
##
Page 10
ysis Techniques 94 6.3.1 A formal analysis technique 95 6.3.2 Other techniques for finding domain entities 98 6.3.3 Analysis shortcuts 100 6.4 Analysis Viewp...
order to clarify how they relate to software architecture: Enterprise Architecture is generally defined in terms of its constituent architec- tures. These in...
eam meets, the team members should be representing the best interests of the system architecture, not the individual groups they may feel the need to represe...
velopment team perspective, the appointment of an architect to help mediate architectural issues was critical and had little impact on the process. Architect...
tecture, the subsystems and interfaces are used most often. Component Runtime Components, Interfaces, Ports, A set of components and their relationships. Inc...
architect should discourage the use of informal conceptual diagrams by members of the project team. The software development team requires the additional rig...
ses to the Analysis Focused Views and Analysis Overall View. In addition, some of the classes related to the common software infrastructure can also be added...
products such as the web server and voice response systems. Of course, other architectures for the backend systems are possible. For example, the session man...
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.
Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat PayAlipay
Open WeChat or Alipay and scan. No login required.
Add Tag
Enter tag name (max 50 characters)
Share E-Book
Large-Scale Software Architecture A Practical Guide using UML (Jeff Garland, Richard Anthony)(Z-Library)
Scan QR code with your phone to access
Copy the link or scan the QR code to access this e-book on your phone
Share E-Book via Email
Please enter email address
Donation Statistics
¥.00
Total Donations
0
Donation Count
Large-Scale Software Architecture A Practical Guide using UML (Jeff Garland, Richard Anthony)(Z-Library)
Find Your Favorite Books
Only registered users can comment after logging in. Comments need to be reviewed by administrators before being displayed
Loading comments...
Reply to Comment
Edit Comment