The Many Contexts of Software Architecture

advertisement
Software Architecture in Practice (3rd Ed)
Introduction
The Many Contexts of Software Architecture
• Architecture in a Technical Context
• Architectures inhibit or enable the achievement of quality attributes
• Architectures and the technical environment
• The technical environment that is current when an architecture is designed will influence that
architecture.
• Architecture in a Project Life-Cycle Context
• Conventional/common software development processes:
Waterfall, Iterative, Agile, Model-Driven development
• Activities that are involved in (1) creating a software architecture, (2) using that
architecture to realize a complete design, and (3) implementing or managing the evolution of
a target system:
1.
2.
3.
4.
5.
6.
7.
Making a business case of the system
Understanding the architecturally significant requirements
Creating or selecting the architecture
Documenting and communicating the architecture
Analyzing or evaluating the architecture
Implementing and testing the system based on the architecture
Ensuring that the implementation conforms to the architecture
Software Architecture in Practice (3rd Ed)
Introduction
The Many Contexts of Software Architecture
• Architecture in a Business Context
• Architectures and business goals
• Architectures and the development organization
• A Development organization contributes many of the business goals that influence an architecture.
• An organization often has an investment in assets, such as existing architectures and the products
based on them.
• An organization may wish to make a long-term business investment in an infrastructure to pursue
strategic goals and may view the proposed system as one of means of financing and extending that
infrastructure.
• The organizational structure can shape the software architecture, and vice versa.
• Architecture in a professional context
• Architect’s duties
• Architect’s background and experience
Software Architecture in Practice (3rd Ed)
Introduction
The Many Contexts of Software Architecture
• Stakeholders
• A stakeholder
is anyone who has a stake in the success of the system being developed.
Software Architecture in Practice (3rd Ed)
Introduction
The Many Contexts of Software Architecture
• How is Architectures Influenced
Software Architecture in Practice (3rd Ed)
Introduction
The Many Contexts of Software Architecture
• What do Architectures Influence
• Technical context
• The architecture can affect stakeholder requirements for the next system similar to the current system
• Project context
• The architecture affects the structure of the developing organization.
• Business context
• The architecture can affect business goals of the developing organization.
• Professional context
• The process of system building will affect the architect’s experience with subsequent systems.
Download