Intro OOT

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 23

INTRODUCTION TO Object

Oriented Technology
The material that will be discussed is
covered by Bahrami A., "Object Oriented
System Development", McGraw Hill, 2003.
[Chapter 1,2,5]
System Analysis and Design
• INTRODUCTION
– Systems are created to solve problems.

– System Analysis and Design, mainly deals with the


software development activities.
Traditional Approach VS Object-Oriented
Approach in Software Engineering Development
• Used to develop the • Used to develop Object-
Traditional Projects that oriented Projects that
uses procedural depends on Object
programming. Oriented programming.
• The OO SDLC consists
of three macro
processes : OO-
Analysis, OO-
Traditional linear Sequential Model Design,OO-
Implentation.
The OO System Development Approach
Software development lifecycle
methodologies
OO Methodologies
Traditional (Structured) Methodologies
• The Rumbaugh et al. OMT
• Agile • The Booch methodology
• Waterfall • Jacobson's methodologies
• Iterative • *All Uses UML
• Spiral
OO SDLC
OO OO OO OO
Analysis Design Implementation TESTING
Phase 1 :Object-Oriented Analysis
• Identifies software specifications in terms of
software system’s object model, which
comprises of interacting objects.
• Difference
– In OOA requirements are organized around objects,
which integrate both data and functions.
– And they are modelled after real-world objects that
the system interacts with.
– In traditional analysis methodologies, the two aspects
- functions and data - are considered separately.
Primary tasks in object-oriented analysis (OOA)
are :
1. Identify objects
2. Organize the objects by creating object model diagram
3. Define the internals of the objects (object attributes)
4. Define the behavior of the objects (object actions)
5. Describe how the objects interact

OUTPUT OF THIS PHASE ARE MODELS.

*OOA models are technology independent


Phase 2 :Object-Oriented Design
• Object–Oriented Design (OOD) involves implementation of the
conceptual model produced during object-oriented analysis.
• Two main stages
1. System Design
2. Object Design
• Primary tasks in object-oriented Design (OOD) are :
1. Map analyzed models onto implementing classes
2. Identify constraints
3. Design interfaces

*resulting in a model for the solution domain, i.e., a detailed


description of how the system is to be built.
• The implementation details generally include
– Restructuring the class data (if necessary),
– Implementation of
• methods ( internal data structures and
algorithms)
• Control
• associations.
Phase 3 :Object-Oriented Programming
(Implementation)
• The important features of object–oriented programming are

– Bottom–up approach in program design
– Programs organized around objects, grouped in classes
– Focus on data with methods to operate upon object’s data
– Interaction between objects through functions
– Reusability of design through creation of new classes by adding
features to existing classes

COMMON PROGRAMMING LANGUAGES USED : c++, java, c#, PHP,


Python, Ruby, SmallTalk.

*Traditional : Top-Down
Object Oriented Fundamentals
Basic Terminologies Principles of Object-Oriented Systems
• Objects • Abstraction
• Classes • Encapsulation
• Encapsulation and data hiding • Modularity
• Message Passing • Hierarchy
• Inheritance • Typing
• Polymorphism • Concurrency
• Generalization and • Persistence
Specialization
• Links and Association
• Aggregation
Benefits Of OOT
• Helps faster development of software
• Increased Quality
• Modular Architecture
• Reusability
• Hassel-free updates
• Reduces development risks
A Case Study - A Payroll Program
• Consider a payroll program that processes
employee records at a small manufacturing
firm. This company has three types of
employees:
– Managers: Receive a regular salary.
– Office Workers : Receive an hourly wage and are
eligible for overtime after40 hours.
– Production Workers: Are paid according to a piece
rate.
Structured Approach-Payroll Program
FOR EVERY EMPLOYEE DO
BEGIN
IF employee = manager THEN
CALL computeManagerSalary
IF employee = office worker THEN 
CALL computeOfficeWorkerSalary
IF employee = production worker THEN 
CALL computeProductionWorkerSalary
END
What if we add two new types of employees?
1. Temporary office workers ineligible for overtime
2. junior production workers who receive an hourly wage plus a lower
piece rate
Structured Approach-Payroll Program Modified

FOR EVERY EMPLOYEE DO


BEGIN
IF employee = manager THEN
CALL computeManagerSalary
IF employee = office worker THEN 
CALL computeOfficeWorkerSalary
IF employee = production worker THEN 
CALL computeProductionWorkerSalary
IF employee = temporary office worker THEN
CALL computeTemporaryOfficeWorkerSalary
IF employee = junior production worker THEN
CALL computeJuniorProductionWorkerSalary
END
An Object-Oriented Approach-Payroll
Program
• What objects does the application need?
• The goal of OO analysis is to identify objects and classes
that support the problem domain and system's
requirements.
• Some general candidate classes are:
– Persons
– Places
– Thing
• Class Hierarchy
– Identify class hierarchy
– Identify commonality among the classes
– Draw the general-specific class hierarchy
An Object-Oriented Approach-Payroll
Program OO Approach
FOR EVERY EMPLOYEE DO
BEGIN
employee computePayroll
END
Polymorphism concept Used
Polymorphism means that the same
operation may behave differently on
different classes.
Example:computePayroll
Object Oriented Analysis

Modelling
Phase 1 :
Object Oriented Analysis(Modeling)
• object-oriented analysis
1. system requirements are determined
2. the classes are identified
3. the relationships among classes are identified.
Object(static) Models static structure(finds “doers”)
Modeling

Techniques Dynamic
Models time-dependent aspects of system
Used Modeling

Functional
Models Overview of the system
Modeling
• Object Modeling
– The static structure of the software system in terms of objects.
– It identifies
• the objects
• the classes into which the objects can be grouped into
• the relationships between the objects.
– Model Used : Class Diagram , Object Diagram
• Dynamic Modeling
– Behavior of the system with respect to time and external changes
needs are examined.
– Model Used : Interaction Diagram, Statechart Diagram, Activity
Diagram
• Functional Modelling
– The functional model shows the processes that are performed
within an object and how the data changes as it moves between
methods.
– Model Used :Use case Diagram
The Unified Approach
• UA based on methodologies by Booch, Rumbaugh
and Jacobson tries to combine the best practices,
processes and guidelines along with the object
management groups in unified modelling language.
•  UML is a set of notations and conventions used to
describe and model an application.
• UA utilizes the unified modeling language (UML)
which is a set of notations and conventions used to
describe and model an application.
The UML defines nine graphical diagrams

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy