Week 3 Flashcards

1
Q

What is the purpose of software modelling?

A

Manage complexity

Abstraction

Communication between all parties involved

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

What types of software models are there? Give examples.

A

Object models - classes, objects, messages

Functional models - what it does - flow charts, state charts

Physical models

Task models - units of work, schedule, etc - e.g. Gantt chart

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

What notations are there for software modelling?

A

OMT - Object modelling techniques

UML - Unified modeling language

State charts

flow diagrams

type diagrams

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

What are some reasons you might use a model?

A

Quicker and easier to build than the real thing

Can be used in a simulation

Can evolve as we learn

Can choose how much detail to include

Can represent real or imaginary things

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

What is the difference between diagrams and models?

A

Diagram illustrates some aspect of a system

Model provides complete view of a system at a particular stage, from a particular perspective

Model may consist of one or more diagrams

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

What do different models present in UML? examples

A

Views of the system, e.g.

Use case view

Design view

Process view

Implementation view

deployment view

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

With each iteration, models become more:

A

Concrete - less abstract

Formally specified

Detailed

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

What is the purpose of Activity Diagrams?

A

To model a task

Describe a function of a system

Describe the logic of an operation

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

How do you draw an activity diagram?

A

Identify the actions

Organise them in order

Draw arrows between them

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

Activity diagrams may contain ____________ if some actions are carried out by different people

A

swimlanes

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

What is the difference between static models and dynamic models/

A

Static models describe structural aspects

Dynamic models describe behavioural aspects

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

Give 3 examples of static models

A

Class diagrams

Package diagrams

Type diagrams

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

give 4 examples of dynamic models

A

Use case diagrams

Sequence diagrams

Collaboration diagrams

Activity diagrams

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

What do use case diagrams show?

A

User view of essential system behaviour

Does NOT specify the flow of processes

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

How is inheritance represented on UML class diagrams?

A

Empty triangle pointing towards the inherited class

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

What does aggregation mean?

A

The class uses some other classes which have meaning on their own

17
Q

What does composition mean?

A

A class uses other classes which would have no meaning without the class using them

18
Q

What are the pros of UML?

A

De facto industry standard (or not as the case may be)

A standard of communication - commonly accepted

19
Q

What are the cons of UML?

A

Not really unified - little integration between sub notations

Not a great model - low level of abstraction

Not really a language - no well-defined semantics

20
Q

What are some of the top factors that cause projects to fail?

A

Incomplete requirements

Lack of user Involvement

Unrealistic expectations

21
Q

What are the 3 types of requirement?

A

Functional requirement - what the system does - e.g. must play music

Non-functional requirement - other requirements, e.g. must have 1MB memory

Constraints - legal, financial etc. constraints - e.g. all data must be removed after customer leaves

22
Q

What is requirements elicitation?

A

Gathering requirements from clients

Bridging the gap between non-technical people and technical people (users and software engineers)

23
Q

One of the biggest parts of building a new system to replace an old system is ______________

A

Understanding the old system and why it needs replacing

24
Q

What is the purpose of requirements languages and notations

A

To represent the requirements in an explicit, structured form

25
Q

What is the input to requirements languages and notations?

A

A report on elicited requirements

26
Q

What is the output of requirements languages and notations?

A

Formal requirement’s specifications - mathematical languages and state charts

Informal requirement specifcations - use case diagrams, class diagrams, etc.

27
Q

What should a requirements specification include?

A

Problem Definition - what is the problem

Viewpoint structure - what is the scope, who’s involved

Functional and non functional requirements

28
Q

How are <<extend>> and <<include>&gt; used on use case diagrams?</include></extend>

A

<<include>> - a task that must be done before the current task - dotted arrow drawn towards the included task</include>

<may>
</may>

29
Q

What is the purpose of a use case diagram?

A

Document the functionality of the system from users perspective

30
Q

What is the difference between requirements verification and validation?

A

Verification: compare one document to another

Validation: check requirements with customer

31
Q

What are the 5 criteria for requirements validation?

A

Correctness - requirements represent clients view

Completeness: All possible scenarious are described

Consistency - No functional or non functional requirements contradict each other

Realism - Can be implemented and delivered

Traceability - each function can be traced to a functional requirement