Lecture 1: Overview of OOAD Flashcards

1
Q

What is a system?

A

• A set of components /activities to achieve an objective • Interacts with the environment (INO) • System cannot interact if there is a boundary

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

What is Software system complexity?

A

Consists of many properties of a software that may affect the internal interactions

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

What are the 5 problems in software system complexity?

A

• Developed by a team in a lengthy process • Difficult to document and test • Inconsistent and Incomplete • Can change • No fundamental laws to explain the change

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

4 Reasons for System Complexity

A
  1. • Nature of the problem domain (Complex requirements)
  2. • Complexity of process (Manage problems) (Need simplicity)
  3. • Software flexibility (Balanced distribution of responsibilities)
  4. • Characterising the behaviour of discrete systems (Difficult and numerous states)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Human limitations of Complex systems

A
  • Limitations of individuals
  • Poor communication between individuals
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

3 Abstraction that helps to understand

A
  1. Grouping
  2. Generalising
  3. Chunking
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the identification of sub-systems and Components?

A

Identification of sub-systems and components managing the model of system

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

System decomposition

A
  • Process-oriented of complex problems (Steps of functions. Broken down to understand the program)
  • Behavior of objects and data
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

3 things that they are both valid?

A

• Stronger framework • Reuse of common abstractions • Resilient under change

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

What is a paradigm?

A

Shapes the way programmers design/organise and write programs

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

Name 2 kinds of paradigms

A

• Procedural • Object-oriented

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

What is a Procedural Paradigm?

A

• Consists of functions/methods with levels of scope- (Cannot be seen through the outer layer) • Calls using statement “Procedures”

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

Why is statement procedures good?

A

• Easier to read • Flexible • Good program design • Scope can be reused

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

What is object-oriented paradigm?

A

Models problem data and functions to interact using message passing

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

What is OO?

A

• Models and builds software systems o Supports + reps objects o Instances of classes used to interact with another program • Objects maps the problem domain o Collections of messages understood by an object

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

Advantages of OO

A

• Can be reused in other programs • Can “encapsulate” data by hiding or revealing • Flows freely back and forth

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

The flow of Procedural paradigm

A

Flows in one direction

18
Q

What is Object-oriented?

A

the paradigm we use to model software system

19
Q

OOAnalysis

A

What the system needs to do

20
Q

& Design

A

How the system shall do it

21
Q

What is OOAD used for?

A

Used to create models of software systems

22
Q

Representation of OO

A

Represents the interaction of objects

23
Q

Representation of OOAD

A

Specifics the software system and how it is built

24
Q

Representation of Model

A

important details from a particular perspective

25
Q

Representation of UML

A

Visual syntax for object models

26
Q

What is UML?

A

Visual modelling language • Supports business processes • Support CASE tools (Design, implementation/ software based system)

27
Q

What does UML do?

A

• Unifies past techniques and experiences • Incorporates the best practice in software engineering

28
Q

UML defines several domains:

A
  • Historical methods and notations
  • Development life-cycle
  • Application domains
  • Implementing languages and platforms
  • Development processes
29
Q

What does object and UML model?

A

Models a collection of objects that interacts with outside users

30
Q

UML models 2 models

A

• Static “structure”: o Represents meaningful concepts o Their relationships • Dynamic “behaviour”: o Changes of the system overtime o Design the logic and behaviour in response to external events o Object interaction: Identifies objects needed through messages and methods

31
Q

UML Structure

A
  • Building blocks
  • Common mechanisms
  • Architecture
32
Q

UML building blocks

A

• Things – Modelling elements • Relationships – Brought together • Diagrams = Collection of things • “Views” of models

33
Q

4 Things in UML building blocks

A

• Structural things “nouns” of UML: o Class, interface, use case, active class • Behavioural things “Verbs” of UML o Interactions, state machines • Grouping things o Packages • Annotation things o Notes o Tagged values

34
Q

Relationship

A

Captures meaningful semantic connections between things

35
Q

List the 6 Structure “Static” diagrams

A
  1. Class diagram 2. Composite structure diagram 3. Component diagram 4. Deployment diagram 5. Object diagram 6. Package diagram
36
Q

List the 8 Behavioural “Dynamic” diagrams

A
  1. Activity diagram 2. Interaction diagram 3. Use case diagram 4. State machine diagram 5. Sequence diagram 6. Communication diagram 7. Interaction Over view diagram 8. Timing diagram
37
Q

Important diagrams (Old):

A

Use case diagram - Interaction with external actors Class diagram - Structure of code, hiding details

38
Q

Important diagrams (New):

A

• Sequence diagram - Shows interaction with objects (messages are exchanged) • State machine - Shows how data is held by objects • Deployment diagram- Shows how software gets deployed on physical hardware • Component diagram – Software components

39
Q

The Unified Process (UP)

A

An incremental software engineering process that describes how requirements are turned into software

40
Q

Four phases of UP:

A
  1. Inception
  2. Elaboration
  3. Construction
  4. Transition
41
Q

Five core workflows of iteration:

A
  1. Requirements
  2. Analysis
  3. Design
  4. Implementation
  5. Test
42
Q

Complete this Relationship table

A