Week 5: Design Concepts/Modeling Flashcards
According to Mitch Kapor, good software design should exihibit
What does software design encompass
What are: Design Principles, Design Concepts, Design Practices
What is the Software Engineering Design pyramid?
What is the lowest level of the Software Engineering Design pyramid?
What is the second lowest level of the Software Engineering Design pyramid?
What is the second highest level of the Software Engineering Design pyramid?
What is the highest level of the Software Engineering Design pyramid?
What three characteristics serve as a guide for the evaluation of a good design?
What four components are common among design methodologies?
What are design concepts?
What is Abstraction as a Design Concept?
What is the difference between Procedural Abstraction and Data Abstraction?
What is the Architecture Design Concept?
What three properties are defined by architecture?
What are Design Patterns as a Design Concept?
What three things should be determined by a Design Pattern?
What is the Design Pattern Template?
What is “Separation of Concerns” as a Design Concept?
What is “Modularity” as a Design Concept?
What is the region of minimum cost in terms of modularity?
What is “Information Hiding” as a Design Concepts?
What are the benefits of information hiding?
What is “Functional Independence” as a Design Concept?
What is Cohesion with regards to Functional Independence?
What is Coupling with regards to Functional Independence?
What is Stepwise Refinement as a Design Concept? Who was it proposed by?
How do Stepwise Refinement and Abstraction complement one another?
What is Refactoring as a Design Concept?
What are Design Classes as a Design Concept?
Design Classes refine _____
Analysis classes
What does a design class look like?
What are the four characteristics of a well-defined design class?
What is the design model?
What are the Design Modelling Principles?
What are Data Design Elements?
What are Architectural Design Elements
What are Interface Design Elements?
What are Component-Level Design Elements?
What are Deployment-Level Design Elements?
What is the difference between a Descriptor form deployment diagram and an Instance form deployment diagram?
Should Cohesion be high/low? Coupling?
High Cohesion, Low Coupling