Basic Flashcards
What are the four main drivers of a software architecture?
- Business goals
- Quality attributes
- Functional requirements
- Constraints
What is a key structural issue for nearly all applications?
Minimize dependencies between components to create a loosely coupled architecture.
What is a dependency between software components?
A dependency exists if one component changes and that cause potentially forces a change in another component.
What is the role of the architect and which skills are required?
Mediator and communication between business level and technology level.
- Engineering skills
- Organizational skills
- Interpersonal skills
- Communication skills
Which requirements addresses an architecture?
Architecture addresses non-functional requirements
- Technical constraints
- Business constraints
- Quality attributes
What is Software Architecture?
- Abstraction
- Conceptual model
- Blueprint
- Represent the set of significant design decisions
What is Software Architecture by Len Bass?
“… the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.”
What is architecturally-significant?
Whatever is:
- Costly to change
- Risky
- New
What is a software architect?
A software architect is a software expert who makes high-level design choices and dictates technical standards, including software coding standards, tools, and platforms. The leading expert is referred to as the chief architect.
(Source: Wikipedia: Software Architect)
Software architecture is the fundamental organization of a system, represented by its components, their relationships to each other and to the environment, and the principles that determine the design and evolution of the system.
(Source: Handbook of Software Architecture)