1/31
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
architecture
_________________ is the fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution
system, missions
A ____________ is a collection of components organized to accomplish a specific function or set of functions. The term system encompasses individual applications, systems in the traditional sense, subsystems, systems of systems, product lines, product families, whole enterprises, and other aggregations of interest. It exists to fulfill one or more ___________ in its environment.
environment
The _________________, or context, determines the setting and circumstances of developmental, operational, political, and other influences upon that system
mission
A ____________ is a use or operation for which a system is intended by one or more stakeholders to meet some set of objectives
stakeholder
A _________________ is an individual, team, or organization (or classes thereof) with interests in, or concerns relative to, a system (the people who actually operate/run the system)
architecture
(Kruchten defintion) An ________________ is the set of significant decisions about the organization of a software system, the selection of structural elements and their interfaces by which the system is composes, together with their behaviour as specified in the collaborations among those elements, the composition of these elements into progressively larger subsystems, and the architectural style that guides this organization — these elements and their interfaces, their collaborations, and their composition
system architecture
Structure: Several computers, networks, databases, etc., connected together
Analogy: Plan of city
conceptual software architecture
Abstract structure: Large piece of software with many parts and interconnections
Analogy: Blueprint of house
Concrete software architecture
Actual structure: Large piece of software with many parts and interconnections
Analogy: Actual structure of house
conceptual architecture, concrete architecture

architectural style
Form of structure, e.g.,
“Pipes” between components, or
“Layered” system, or
“Bulletin board” system
Analogy: Style of a building
reference architecture
General architecture for an application domain
Example: Common structure for compilers or for operating systems
product line architecture (PLA)
Architecture for a line of similar software products
Example: Software structure for a family of computer games
architecture, high, hard, technical and non-technical, early
_______________:
Structure of system (components and connectors)
_______ level and _______ to change (better get it right!)
Concerned with ________________________ requirements (e.g. Security, Legal, Outsourcing)
Makes sense for systems with MLOCs (millions of lines of code)
Very _______ in life cycle
design, low, technical, late
___________:
Inner structure of the components
_______ level (information hiding and interfaces help it change)
Mostly _____________ concerns
Makes sense for systems with KLOCs (thousands of lines of code)
_______ in life cycle
live architecture
Is in head(s) of software developer(s), the “software architect”
May be abstract or mostly concrete
Is a “mental model”, “wetware”; may be fuzzy, inaccurate, incomplete, incorrect…
complexity
Architecture simplifies the system, by concentrating on structure, not content or semantics
Cognitive complexity: how hard to understand or visualize
reverse engineering
Extraction of design (or architecture) from implementation and from developers
“Design recovery”
software architecture
The ____________________ of a program or computing system is the structure (or structures) of the system
components, externally visible, relationships
Software architecture comprises of:
Software _______________
__________________ properties of the components
__________________ between the components
externally visible properties of components
These refer to those assumptions other components can make of a component, such as:
Provided services
Performance characteristics
Fault handling
Shared resource usage
Etc.
requirement engineering, architecture analysis, design and implement, testing

requirements
__________________ come from users and stakeholders who have demands/needs
analyst/requirement engineer
An _________________________:
Elicits demands/needs (raw requirements)
Analyzes them for consistency, feasibility, and completeness
Formulates them as requirements and writes down a specification (textual document to show customer “this is what we believe you want”)
Validates that the gathered requirements reflect the needs/demands of stakeholders
requirement gathering
Questions that arise during ____________________:
Is this a business need (high-level vision) or a requirement (i.e. specific, measurable)?
Is this a nice-to-have vs. must-have?
Is this the goal of the system or a contractual requirement?
Is this a functional requirement or a non-functional requirement?
Do we have to program in Java? Why?
software specification
______________________ acts as a bridge between the real-world (demands and needs of stakeholders) and the software system