Week 7 Flashcards

1
Q

What are 4 advantages of the iterative life cycle?

A

risk mitigation - identify risks earlier

change management - changes to requirements are expected & managed

Team learning - all the team is involved from the start

improved quality - testing begins early

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

What is the difference between logical and physical design?

A

Logical design is independent of language and platform

Physical design is based on the actual implementation platform and language

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

What does system design deal with?

A

high level architecture, e.g.

structure of sub systems

communication between subsystems

standards for screens, reports, help etc

job design for the people who will use the system

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

What activities does traditional detailed design consist of?

What does detailed design try to maximise and minimise?

A

designing inputs, outputs, processes, files and database structures

Maximise cohesion - within one module all bits of code all contribute to one function

Minimise coupling - least possible linkages between modules

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

Object oriented design adds what detail to the analysis model?

A

types of attributes

operation signatures

responsibilities as operations

classes for UI

classes for data management

reusable components

packages

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

What are the 12 qualities of design?

A

Functional

Efficient

Economical

Reliable

Secure

Flexible

General

Buildable

Manageable

Maintainable

Usable

Reusable

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

Why should design be modular?

A

Comprehensibility

Parallel development

Easier to test, verify, validate, mesaure reliability

Easer to maintain, locate faults, change, enhance

Reusable

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

What is modular decomposition?

A

Taking a large part or module and breaking it down into smaller modules

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

What is the difference between functional decomposition and object oriented decomposition?

A

Functional is concerned with modules corresponding to major functions

Object-oriented refers to things like packages, classes and objects

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

What is coupling?

Do we want to minimise or maximise it?

A

Dependencies between modules

Minimise

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

What are the formulae for the maximal and minimal number of dependencies?

A

Maximal: n(n-1)/2 (every node connected to every node)

Minimal: n-1 (star or tree)

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

How can low coupling between a calling and called class be achieved?

A

The calling class does not know about the internals of the called class

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

What is cohesion?

Do we want to maximise or minimise it?

A

how tightly bound or related the internal elements of a module are

Maximise

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

What are the 6 levels of cohesion?

A

Coincidental

Logical

Temporal

Data item

Functional

Data

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

How can high cohesion be achieved?

A

If interaction occurs within subsystems, rather than between subsystems

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

Template patterns are implemented in Java using the _____ type of class

A

abstract

17
Q

What are the participants of the template method pattern?

A

Abstract class

Concrete class