Design Flashcards

1
Q

What activities do software design entail

A

Architectural design

Detailed design

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Define detailed design

A
  • selection of specific algorithms, data structures.
  • MIS, class diagrams
  • Sequence, interaction diagrams.
  • RDBMS tables
  • Formal spec
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Define design for change

A
  • The nature of evolvability.

algorithms, data representation…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Define information hiding

A
  • Identify expected changes
  • ## Encapsulating each expected change
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Goals of a Uses relation

A

Design towards information hiding.

Design towards a hierarchy.

Independent goals.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Attributes of a Module Guide

A
  • Well formed
  • Feasible
  • Flexible
  • Inspect design flexibility against anticipated changes.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly