Lecture 1: Overview of OOAD Flashcards
What is a system?
• A set of components /activities to achieve an objective • Interacts with the environment (INO) • System cannot interact if there is a boundary
What is Software system complexity?
Consists of many properties of a software that may affect the internal interactions
What are the 5 problems in software system complexity?
• 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
4 Reasons for System Complexity
- • Nature of the problem domain (Complex requirements)
- • Complexity of process (Manage problems) (Need simplicity)
- • Software flexibility (Balanced distribution of responsibilities)
- • Characterising the behaviour of discrete systems (Difficult and numerous states)
Human limitations of Complex systems
- Limitations of individuals
- Poor communication between individuals
3 Abstraction that helps to understand
- Grouping
- Generalising
- Chunking
What is the identification of sub-systems and Components?
Identification of sub-systems and components managing the model of system
System decomposition
- Process-oriented of complex problems (Steps of functions. Broken down to understand the program)
- Behavior of objects and data
3 things that they are both valid?
• Stronger framework • Reuse of common abstractions • Resilient under change
What is a paradigm?
Shapes the way programmers design/organise and write programs
Name 2 kinds of paradigms
• Procedural • Object-oriented
What is a Procedural Paradigm?

• Consists of functions/methods with levels of scope- (Cannot be seen through the outer layer) • Calls using statement “Procedures”
Why is statement procedures good?
• Easier to read • Flexible • Good program design • Scope can be reused
What is object-oriented paradigm?
Models problem data and functions to interact using message passing
What is OO?
• 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
Advantages of OO
• Can be reused in other programs • Can “encapsulate” data by hiding or revealing • Flows freely back and forth
The flow of Procedural paradigm
Flows in one direction
What is Object-oriented?
the paradigm we use to model software system
OOAnalysis
What the system needs to do
& Design
How the system shall do it
What is OOAD used for?
Used to create models of software systems
Representation of OO
Represents the interaction of objects
Representation of OOAD
Specifics the software system and how it is built
Representation of Model
important details from a particular perspective

