Design and Implementation (WK5) Flashcards

1
Q

What is a context model?

A

Models which illustrate the operational context of a system. Shows the boundaries!

Example of the mentcare system: all the sub systems in the mentcare system being connected

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

What is an activity diagram? (Still a context model)

A

May be used to define business process models. Has start and end points, questions represented by bars, includes systems (squares) and actions (circles)

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

Use case modelling

A

Each use case represents a discrete task that involves external interaction with a system. Actors may be people or other systems. Use case diagram may be made into a written format to go alongside the diagram version.

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

Sequence diagrams

A

Shows the sequence of interactions that take place in a particular use case . Models interactions with actors and objects in system. Interactions are indicated by annotated arrows

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

Class diagrams

A

Show the classes in a system and the associations between these classes. Association is a link that indicates relationship (1 to 1..*).

Class uml diagram has: class name, attributes, operations/methods.

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

Class diagrams

A

Show the classes in a system and the associations between these classes. Association is a link that indicates relationship (1 to 1..*).

Class uml diagram has: class name, attributes, operations/methods.

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

Generalisation and aggregation (class diagrams)

A

Generalisation: Representing inheritance/shared elements in classes. Subclasses and superclasses. Model this in a generalisation hierarchy.

Aggregation: objects often composed of different parts. So you can make a aggregation model to show these parts.

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

Behavioural models

A

Model the dynamic behaviour of a system as it executes. Two stimuli types: data and events.

Represented using: activity models, sequence diagrams, state diagrams.

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

State machine models

A

model the behaviour of the system in response to internal and external events.
Shows states as nodes and events as arcs between the nodes

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

Object class identification

A
  • Grammatical approach: nouns are objects/attributes, verbs are behaviours.
  • Base it on tangible things in the application domain
  • use scenario-based analysis
    Use a state diagram to model how one object works (but you don’t have to do this for all the objects!)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Interface specification

A

Interfaces are definition of the way an object can be interacted with, and object may have several interfaces

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

Design patterns

A

A way of reusing abstract knowledge about a problem and its solution. A description of the problem and essence of its solution - but should be abstract enough to be reused in different contexts.
Elements: Name, problem description, solution description (a template for a solution), consequences

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

Implementation issues

A

Reuse: want to make use of as much pre-existing code as possible
Configuration management: you have to keep track of the different versions during development
Host-target development: being aware of the fact that your software will execute on a different computer to the one you wrote it on. The platforms may have different architecture

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

Open source development

A

Approach where source code of software system is published and volunteers are invited to work on it. Things like: Linux, Java, Apache, mySQL.

This business model is reliant on selling support, not selling a product. Restrictions can be placed on how the code is used by people

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