Lecture 4 Flashcards
What is Architectural Design?
The activity of specifying a program’s major parts; their responsibilities, properties, and interfaces; and the relationships and interactions among them.
What are the components of Architectural Design?
High-Level Design, Black boxes, Every program has an architecture.
What is Detailed Design?
The activity of specifying the internal elements of all major program parts; their structure, relationships, and processing; and often their algorithms and data structures.
What are the components of Detailed Design?
Mid- and low-level design, Black boxes, Detailed design shades into coding.
What do Engineering Design Principles state?
Statements about what makes a design better.
What do Basic Principles state?
Characteristics that make a design better able to meet stakeholder needs and desires.
What is Feasibility in Basic Principles?
A design is acceptable only if it can be realized.
What is Adequacy in Basic Principles?
Designs that meet more stakeholder needs/desires are better.
What is Economy in Basic Principles?
Designs that can be built for less money/time/risk are better.
What is Changeability in Basic Principles?
Designs that make a program easier to change are better.
What do Constructive Principles state?
Based on experience, certain engineering design characteristics make a design better.
What are Modularity Principles?
Good designs are modular.
What are Implementability Principles?
Good designs are easier to build.
What are Aesthetic Principles?
Good designs are beautiful.
What is Modularity?
A modular program is composed of well-defined conceptually simple and independent units that communicate through well-defined interfaces.