10 reasons an architecture is vital
3 additional aspects that are further enabled by an architecture but do not necessarily depend on it
How is arch involved with system performance
involves managing the time-based behavior of elements, their use of shared resources, and the frequency and volume of inter-element communication
How is arch involved with system modifiability
involves assigning responsibilities to elements so that the majority of changes to the system will affect a small number of those elements
How is arch involved with system security
involves managing and protecting inter-element communication and controlling which elements are allowed to access which information
How is arch involved with system scalability
involves localizing the use of resources to facilitate introduction of higher capacity replacements
How is arch involved with system reusability
involves restricting inter-element coupling so that a given element has minimal attachments to its environment when extracted
Why is it important that an architecture facilitates managing change
80% of a SW system’s cost comes from changes that need to be made after initial deployment
What is a local change
a change that affects only one component or one connector
What is a non-local change
a change that affects more than one component or connector but retains the overall architecture
What is an architectural change
a change to the underlying architecture (i.e. the fundamental ways that elements interact)
How does an architecture enhance communication with stakeholders
the views that are created from the architecture enable communication by providing something a way for all types of stakeholders (technical and non-technical) to reason about the system
How does an architecture define a set of constraints on the implementation
the set of prescribed elements must be implemented
the elements must interact in the prescribed fashion
each element must fulfill its responsibility to the other elements as dictated
How does the architecture influence the organizational structure
How does the arch allow for improved cost and schedule estimates
a top-down and bottom-up estimate can be done for each architectural structure. The best cost estimate of each structure is a consensus between top-down and bottom-up estimates. Then you sum those estimates over all the structures
What is the benefit of the arch as a transferable/reusable model
What is a product line
a family of SW systems all built using the same set of reusable assets (i.e. the architecture)
The main benefit of an arch in regards to using COTS or open source SW
allows architects and project managers to know what COTS or open source SW will be needed and how it needs to fit before we start the implementation.
The 4 payoffs of using COTS or open source SW
What does it mean to restrict design vocabulary
we reduce the design complexity of the system by voluntarily restricting ourselves to a relatively small number of choices of elements an interactions
6 benefits of restricting design vocabulary
How is the arch used as a basis for training
showing the module structures helps a new member learn the project structure
showing component-and-connector structures allows a new member to learn how the system is supposed to work and accomplish its job