Design correct answers 1)Firmness - Should not have any bugs
2)Commodity - Should be suitable for the purposes for which was intended
3)Delight - Experience of using it should be pleasurable
Software Design correct answers -Contains the set of principles
-Design principles established
-Design concepts must be understood
Software Engineering design correct answers 1)Data/Class design - Transforms analysis classes
into implementation classes/data structures
2)Architectural design - Defines relationships among the major software structural elements
3)Interface design - Defines how software elements communicate
4)Component-level design - Transforms elements into procedural descriptions of software
components
Design and Quality correct answers -Design must implement all of the explicit requirements
from the customer
-Design must be readable/understandable
-Design must provide a complete picture of the software
Quality Guidelines correct answers -Should exhibit an architecture
1)Created using recognizable architectural styles or patterns
2)Composed of components that exhibit good design characteristics
3)Can be implemented in an evolutionary fashion
-Should be modular
-Should contain distinct representations
-Should lead to interfaces that reduce complexity
,Design Principles correct answers -Not suffer from tunnel vision
-Be traceable to the analysis model
-Simple
-Exhibit uniformly and integration
-Structured to accommodate change
-Structured to degrade gently
Assessed for quality as it is being created, not after the fact
-Be reviewed to minimize conceptual errors
Fundamental Concepts correct answers 1)Abstraction - Data, procedure, control
2)Architecture - Overall structure of the software
3)Patterns - Design solution
4)Separation of concerns - splitting the problems
5)Modularity - Compartmentalization of data and function
6)Hiding - Controlled interface
7)Functional independence - Single-minded functions on low coupling
8)Refinement - Elaboration of detail for all abstractions
9)Aspects - Mechanism for understanding global requirements
10)Refracting - Reorganization of techniques that simplifies the design
11)Design classes - provide design details that will enable analysis classes to be implemented
Data Abstraction correct answers -Simplified representation of the whole system
Procedural Abstraction correct answers -Method of what the system should do
Architecture correct answers 1)Structural Properties
, -Defines the components of a system and the interaction between the components
2)Extra-Functional Properties
-Architectural design description should address how the design architecture achieves the
requirements for
-Performance Capacity Reliability Security Adaptability
3)Families of related systems
-Draw upon repeatable patterns that are encouraged in the design of families of similar systems
Patterns correct answers 1)Pattern name - Describes the essence of the pattern
2)Intent - Describes the pattern
3)Motivation - Provides an example of the problem
4)Structure - Describes the classes that are required
5)Collaboration - Describes how the participants collaborate
6)Consequences - Describes the design forces that affect the pattern
Related patterns - 7)Cross - references related design patterns
Separations of Concern correct answers -Breaking down complex problems into parts
-Problems become more manageable
-Break designs to modules for easy understanding
Information Hiding correct answers -The practice of hiding the details of a module
-The goal of controlling access to the details of the module
-Results in high quality software
Modularity correct answers -Single attribute from a software that allows a program to be
manageable