Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Jeff Garland, Richard Anthony

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

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...
View in text
Excerpt 2
order to clarify how they relate to software architecture: Enterprise Architecture is generally defined in terms of its constituent architec- tures. These in...
View in text
Excerpt 3
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...
View in text
Excerpt 4
velopment team perspective, the appointment of an architect to help mediate architectural issues was critical and had little impact on the process. Architect...
View in text
Excerpt 5
tecture, the subsystems and interfaces are used most often. Component Runtime Components, Interfaces, Ports, A set of components and their relationships. Inc...
View in text
Excerpt 6
architect should discourage the use of informal conceptual diagrams by members of the project team. The software development team requires the additional rig...
View in text
Excerpt 7
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...
View in text
Excerpt 8
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...
View in text
Tags
AI categories
TechnologyProgramming LanguageBackend
ISBN: 0470856386
Publisher: Wiley
Publish Year: 2002
Language: English
Pages: 281
File Format: PDF
File Size: 4.6 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…