Professional Documents
Culture Documents
OOAD Introduction - V2
OOAD Introduction - V2
USEFUL ?
BY SHAKEEL RAJA
HOUSE KEEPING FOR MS-TEAMS
Lets be interactive
Use the raise hand feature in teams
Do not wait till the end of session for questions
Bring in your own experience
Use chat window for simple Yes/No answers
Let’s hope this won’t last for too long
CONTENTS
Declarative Paradigm
• Defines what needs to be done, rather than how to do it - using a
“Domain Specific Language”, with a focus on expected results.
• DSL hides the lower level control structures from user.
• Focus on logic and constraints to define the setup and outcome.
• SQL, RegEx, logic (Prolog), Python*, Miranda, JS.
OBJECT ORIENTED (OO) PARADIGM
Object Orientation is a concept supported by most modern programming
languages – oriented/focused around Objects ( “a tangible, material things”)
A Large problem is broken down into inter-connected objects (mini-programs)
having their own data and logic, representing different parts of the application.
E.g. employee, account, purchase order, product/service.
Real World objects have two characteristics: State and Behaviour, identified as
fields/attributes and methods respectively.
A Bicycle Object
OBJECT ORIENTED (OO) MODELLING
Class is a user defined pattern (consists of
declaration and definition for state and
behaviour) that provides a blueprint for objects.
Object is an instance of a class .
Class car:
# a simple class for cars
# Constructor to initialize attributes
def __init__ (color, company, model, fuel):
self.color = color # Creating a car object
self.company = company car1 = car(‘green’, ‘Ford’,
self.model = model ‘Mustang’, ‘Gasoline’)
self.fuel = fuel
# calling the display method
# method to print car info car1.display()
def display (self):
print (‘This is a’, self.color, self.company, OUT: This is a green Ford Mustang
self.model, ‘running on’, self.fuel) running on Gasoline
OBJECT ORIENTED ANALYSIS AND DESIGN (OOAD)
Object modeling techniques is an methodology of object oriented analysis, design and implementation that focuses
on creating a model of objects from the real world and then to use this model to develop object–oriented software.
Analysis: Model the real world with important properties and domain.
Object Model shows the skeleton of the real world system and divides the whole application into objects (artifacts)
Dynamic model represents the interaction between artifacts as events, states and transitions.
Functional model represents the methods of the system from the data flow perspective.
System Design determines the overall system architecture using subsystems, concurrent tasks and data storage.
The system is organized in to sub-systems which are then allocated to processes and tasks, taking into account concurrency and
collaboration.
Persistent data storage is established along with a strategy to manage shared or global information.
Boundary situations are checked to help guide trade off priorities.
OBJECT MODELING TECHNIQUE (OMT)
Object Deign is concerned with fully classifying the existing classes, associations, attributes and
operations necessary for implementing a solution to the problem.
Operations and data structures are fully defined along with any internal objects needed for implementation.
Class level associations are determined.
Issues of inheritance, aggregation, association and default values are checked.
UNIFIED MODELLING LANGUAGE (UML)
The Unified Modeling Language (UML) is a graphical language for OOAD that gives a standard way to write a software system’s
blueprint.
UML consists of an integrated set of diagrams to help system and software developers for specifying, visualizing, constructing, and
documenting the artifacts of software systems
Steep learning curve: OOAD may not seem logical to programmers from procedural paradigm.
Larger program size: May involve more lines of code than procedural languages
Slower Programs: Require more instructions to be executed
Suitability: Some problems maybe better suited for procedural, logical or functional paradigms.