Phase 2 & 3 Flashcards
When evaluating architecture, what is considered?
1 Modules/Components Themselves
2 Interactions between them
3 Integrations between them
4 How they fit in the environment
What is the purpose of architecture?
1 Allow analysis of effectivness of design in meeting requirements
2 Consider alternative while change is relatively easy
3 Reduce risks associated with construction of the software
What is the difference between architecture and design?
Design is an instance of architecture, similar to an object being an instance of a class
What is the optimization problem in architecture?
To minimize changes, and to implement changes as quickly as possible
Why is architecture important?
1 It provides a representation that facilitates communication among stakeholders
2 Highlights early design decisions
3 Model of system structure
4 Model of module/components working together
What are the different architectural styles?
1 - Data centered (Data stores and access center of architecture)
2 - Data flow (Input->output transformation, pipe-and-filter pattern [pipe - sending data, filter - actions taken on data], single line transformation, batch sequential)
3 - Call and return (Main program/subprogram, remote procedure call)
4 - Object Oriented (Encapsulation, information hiding, class messaging)
5 - Layered (Components layered: Core - Control, utility - [sorts, common modules], application - control, UI - Boundary)
What are the architectural (design) patterns?
1 Application-Specific Context (Limitations, Contraints) 2 Solution (General solution not specific)
What are the types of architectural organization control?
1 Control
2 Data
What does architectural Control organization encompass?
1 Transfer of control between user and application
2 Transfer of control between components
3 Synchronous or asynchronous operation
What does architectural Data organization encompass?
1 Data transfer between components
2 Data transfer modes
3 Data and control interaction
What are the architecture considerations?
1 Economy - Keep it simple
2 Visibility - Ensure reasons for decisions are obvious
3 Spacing - Avoid hidden dependencies
4 Symmetry - Maintain consistent and balanced attributes
5 Emergence - Maintain self-organized behavior and control (Event driven-defined behavior)
What are the pieces of the Architexture Context Diagram?
1 Superordinate systems (Systems using the target system)
2 Subordinate systems (Systems used by target system, provide data/processing to complete target system functionality)
3 Peer-level systems (Interact on peer-to-peer basis, information either produced or consumed by peers/target system)
4 Actors (Entities that interact with target system by producing or consuming information)