Professional Documents
Culture Documents
Object Basics
Object Oriented Systems Development Life Cycle
Object Oriented Methodologies
- Rumbaugh Methodology
- Booch Methodology
– Jacobson Methodology Unified Approach.
OVERVIEW OF OBJECT ORIENTED SYSTEMS DEVELOPMENT
It encourages the view of the world as a system of cooperative and collaborating objects
Software is a collection of objects, it encapsulates their data as well as the functionality to model real world.
Objects are grouped into Classes, each object responsible for itself
visual modeling throughout the development life cycles for better communication and product quality.
OVERVIEW OF OBJECT ORIENTED SYSTEMS DEVELOPMENT
Promotion of reusability
Objects are reusable, each object stand by itself or within a small circle of peers
Changes impact is very low
UNIFIED APPROACH
Booch, Rumbaugh, Jacobson methodologies gives the best practices, processes and guidelines for OO oriented software development.
Layered Architecture
UA uses layered architecture to develop applications.
Creates object that represent elements to the user through interface or physically stored in database.
This approach reduces the interdependence of the user interface, database access and business control.
Object Basics
Object Oriented Systems Development Life Cycle
Object Oriented Methodologies
- Rumbaugh Methodology
- Booch Methodology
- Jacobson Methodology Unified Approach
OBJECT ORIENTED PHILOSOPHY
The programming languages provide the programmers the way of describing the process
These languages are computationally equivalent
The ease of description, reusability, extensibility, readability, computational efficiency, and ability
to maintain depends on languages used.
System Software – Machine Understandable language (Integers, floating point numbers, chars,
Addressing Modes,….)
Financial Investment : Development of Financial Investment Machine directly would reduce
translation.
OBJECT ORIENTED PHILOSOPHY
Programming languages can bridge the semantic gap between the concepts of the
application and underlying machine
Object-Oriented Programming Concepts allows closer ideas and terms for the
development of certain applications
E.g. Financial Investment
Bond (data type ) : Character
Buy operation on a bond
TRADITIONAL APPROACH
The traditional approach to software development tends toward writing a lot of code
to do all the things that have to be done.
Two types
Algorithmic centric methodology: you think of an algorithm that can accomplish
the task, then build the data structure
Data-centric methodology: you think about the data to build a structure based on
the algorithm
You are the only active entity and the code is just basically a lot of building
materials
OBJECT ORIENTED APPROACH
OO system: the algorithm and the data structure are packaged together as an object
OO approach is more like creating a lot of helpers
Take on an active role, a spirit, that form a community whose interactions become the
application
Reusable
Modified
Replaced
OBJECT, ATTRIBUTES AND PROCEDURES
What is Object?
The term object was first formally utilized in the Simula language to simulate some
aspect of reality.
It’s a real-world entity
E.g.
Car is a object (real-world-entity) : It known things
Car has a well-defined attributes,
Color, model, manufacturer and owner
Car has a well-defined set of things, : it does things
drive it, lock it, and carry passenger
OBJECTS ARE GROUPED IN CLASSES
In OOS , class is a set of objects that share a common structure and common behavior
The role of a class is to define the attributes and methods (the state and behaviour) of
its instances.
single object is a simply an instance of class
Class are distinguish one type of object from another
E.g. Eagle fly
ATTRIBUTES
It knows things
It Does things
Object behavior is described in methods or procedures
A method implements of an object
ENCAPSULATION AND INFORMATION HIDING
Information Hiding : concealing the internal data and procedures of an objects and
providing interface to each object in such way as to reveal as little as possible about
its inner workings
e.g. : data and methods
Encapsulation : wrapping (encapsulating) the complex data in order to present a
simpler view for the user.
User Can’t see inside of object but they can use the object by calling methods()
E.g. : Car break apply
CLASS HIEARCHY
Inheritance
Inheritance is the property of OOS that allows to be built from other
objects.
It allows explicitly taking advantage of the commonality of objects
when constructing new class
It talks about relationship between classes where one class is the
parent of another class
Parent or super class
Client or derived class
POLYMORPHISM
OOS, polymorphism means that the same operation may be behave differently on different class
RELATIONSHIP
OO Relationships
Two Types
Generalization (parent-child relationship)
Association (student enrolls in course)
RELATIONSHIP
Generalization
It talks about how objects relate to each other
It expresses a parent / child relationship among related classes.
Used for abstracting details in several layers
Example :
RELATIONSHIP
ASSOCIATION
It talks about relationships between objects and classes
Example:
Student enrolls in a course
Courses have students
Courses have exams
ASSOCIATION (Cont.)
Multiplicity and Roles
RELATIONSHIP
ASSOCIATION (Cont.)
Association further classified into
Composition
Aggregation
RELATIONSHIP
ASSOCIATION (Cont.)
Composition
expresses a relationship among instances of related classes (Part-Of)
It expresses a relationship where an instance of the Whole-class has the
responsibility to create and initialize instances of each Part-class.
It may also be used to express a relationship where instances of the Part-
classes have privileged access or visibility to certain attributes and/or
behaviors defined by the Whole-class.
UML : Filled Diamond
RELATIONSHIP
ASSOCIATION (Cont.)
Aggregation
expresses a relationship among instances of related classes. (Has-A)
It is a specific kind of Container-Containee relationship.
UML : Empty Diamond.
RELATIONSHIP
Object Basics
Object Oriented Systems Development Life Cycle (10/08/2021)
Object Oriented Methodologies
- Rumbaugh Methodology
- Booch Methodology
- Jacobson Methodology Unified Approach
OBJECT ORIENTED SYSTEMS DEVELOPMENT LIFE CYCLE
Software Quality(Cont.)
Quality Measures
Transformed user needs via the application domain to a software solution
We have to see if it is free of bugs
Meets the user’s needs and expectations
BUILDING HIGH-QUALITY SOFTWARE
Quality Measures
Systems can be evaluated in terms of four quality measures
Correspondence
Correctness
Verification
Validation
BUILDING HIGH-QUALITY SOFTWARE
Object Basics
Object Oriented Systems Development Life Cycle (11/08/2021)
Object Oriented Methodologies
- Rumbaugh Methodology
- Booch Methodology
– Jacobson Methodology Unified Approach.
OBJECT_ORIENTED SYSTEM DEVELOPMENT APPROACH
Object Basics
Object Oriented Systems Development Life Cycle
Object Oriented Methodologies
- Rumbaugh Methodology
- Booch Methodology
– Jacobson Methodology Unified Approach.
OBJECT-ORIENTED METHODOLOGIES
Which are all, Class attributes, method, inheritance, and association also
can be expressed easily
It allows, to specify detailed state transitions and their descriptions within
system.
Finally, Process description and customer – producer relationships can
been expressed
PHASES OF OMT
Object Model
It Describes structure of objects in a system.
And their, Identity, relationships to other objects, attributes and operations.
It is represented graphically with an object diagram
Object diagram contains classes
interconnected by association lines
Classes represents a set of individual objects
Association lines established, it represents
relationship among classes (i.e., objects of
one class to objects of another class)
OMT - MODELING
Dynamic Model
Reflects the state diagrams and event
flow diagrams..
State transition diagram is a network of
states and events
One state can receives one or more
evets
Next state depends on the current state
OMT - MODELING
Functional Model
Shows the flows of data between different process
Primary symbols
Process – function being performed
Data flow – direction of data element movement
Data store – location of where data stored
External entity – source and destination of data elements
Summary of Rumbaugh (OMT)
It provides the strongest tool sets for the analysis and design of Object Oriented system
Object Model (structure)
Dynamic Model (behavior)
Functional Model (function)
BOOCH METHODOLOGY
The Booch method is a method for object-oriented software
development.
It is composed of an object modeling language an iterative object-
oriented development process, and a set of recommended practices
The method was authored by Grady Booch when he was working for
Rational Software (acquired by IBM), published in 1992 and revised
in 1994.
It was widely used in software engineering for object-oriented analysis
and design and benefited from sufficient documentation and support
tools.
BOOCH METHODOLOGY
c
BOOCH METHODOLOGY