Design Flashcards
1
Q
What activities do software design entail
A
Architectural design
Detailed design
2
Q
Define Architectural design
A
Shows gross structure and organization of the system.
Decomposition into modules (divide and conquer)
Design for change and abstract away details.
3
Q
What is a design pattern?
A
Describes a family of solutions to a design problem.
Captures design know-how and make it reusable
4
Q
Define detailed design
A
- selection of specific algorithms, data structures.
- MIS, class diagrams
- Sequence, interaction diagrams.
- RDBMS tables
- Formal spec
5
Q
Define design for change
A
- The nature of evolvability.
algorithms, data representation…
6
Q
Define information hiding
A
- Identify expected changes
- ## Encapsulating each expected change
7
Q
What are some desires of a system?
A
- low coupling
- fan in over fan out
- high cohesion
- One module, one secret
- abstraction of interfaces
8
Q
Goals of a Uses relation
A
Design towards information hiding.
Design towards a hierarchy.
Independent goals.
9
Q
Attributes of a Module Guide
A
- Well formed
- Feasible
- Flexible
- Inspect design flexibility against anticipated changes.