0% found this document useful (0 votes)
239 views

Object-Oriented Modeling and Design: James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy, William Lorensen

Object-Oriented Analysis and Design (OOAD) promotes better understanding of requirements, cleaner designs, and more maintainable systems. OOAD uses the same concepts and notation throughout development, including stating problems, understanding requirements, planning solutions, and implementing programs. It focuses on modeling real-world concepts rather than computer concepts. OOAD provides a productive way to develop software using concepts like abstraction, encapsulation, inheritance, and polymorphism.

Uploaded by

Raheel Butt
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
239 views

Object-Oriented Modeling and Design: James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy, William Lorensen

Object-Oriented Analysis and Design (OOAD) promotes better understanding of requirements, cleaner designs, and more maintainable systems. OOAD uses the same concepts and notation throughout development, including stating problems, understanding requirements, planning solutions, and implementing programs. It focuses on modeling real-world concepts rather than computer concepts. OOAD provides a productive way to develop software using concepts like abstraction, encapsulation, inheritance, and polymorphism.

Uploaded by

Raheel Butt
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 6

Object-Oriented

Analysis and
Design

1
Source: OBJECT-ORIENTED
MODELING A N DINTRODUCTION
DESIGN
James Rumbaugh, Michael
Blaha,
William Premerlani, Frederick
Eddy,
William Lorensen
✘Object-oriented modeling and design promote better understanding of
requirements, cleaner designs, and more maintenable systems.

✘Same concepts and notation are used throughout the entire software
development process.

✘Coding is the last stage in a process of development that includes stating a


problem, understanding its requirements, planning a solution, and
implementing a program in a particular language.

✘Object-oriented technology is more than just a way of programming. It is a


way of thinking abstractly about a problem using real world concepts, rather
than computer concepts.

✘Object-oriented technology provides a practical, productive way to develop


software for most applications, regardless of the final implementation language.

✘The use of object-oriented concepts, together with a graphical notation and a


development methodology, can greatly increase the quality, flexibility, and
understandability of software.
1. WHAT IS OBJECT-ORIENTED ?
OM T : Object Modeling Technique
4 aspects : identity, classification, polymorphism, inheritance.

CHARACTERISTICS OF OBJECTS

✘A class is an abstraction that describes properties important to an application and


ignores the rest.

✘Polymorphism means that the same operation may behave differently on different
classes.

✘ An opration is an action or transformation that an object performs or is subject


to.

✘ A specific implementation of an opration by a certain class is called a method.

✘Inheritance is the sharing of attributes and operations among classes based on a


hierarchical relationship.

✘Each subclass incorporates, or inherits, all of the properties of its superclass and
adds its own unique properties. The properties of the superclass need not be
repeated in each subclass.
2. WHAT IS OBJECT-ORIENTED DEVELOPMENT ?
MODELING CONCEPTS, NOT IMPLEMENTATION

Object-Oriented development is a conceptual process indenpendent of a


programming language until the final stages. Object-Oriented development is
fundamentally a new way of thinking and not a programming technique.

OBJECT-ORIENTED METHODOLOGY

O MT : the methodology consists of building a model of an application domain and


then adding implementation details to it during the design of a system.

✘ANALYSIS : the analysis model is a concise, precise abstraction of what the desired
system must do, not how it will be done. A good model can be understood and
criticized by application experts who are not programmers.

✘SYSTEM DESIGN : the system designer must decide what performance


characteristics to optimize, choose a strategy of attacking the problem, and make
tentative resource allocations.
✘OBJECT DESIGN : the focus of object design is the data structures and algorithms
needed to implement each class.

✘IMPLEMENTATION : the design should not depend on fine details of a programming


language. It's important to follow good software engineering practice, so that the
implemented system remains flexible and extensible.

THREE MODELS (three orthogonal views)

✘ OBJECT MODEL : describes the objects in the system and their relationships.

✘ DYNAMIC MODEL : describes the interactions among objects in the system.

✘FUNCTIONAL MODEL : describes the data transformations of the system.

A complete description of a system requires all three models.


3. OBJECT-ORIENTED THEMES
✘ABSTRACTION : Focusing on the essential, inherent aspects of an entity and
ignoring its properties.

✘ENCAPSULATION : separating the external aspects of an object, which are


accessible to other objects, from the internal implementation details of the object,
which are hidden from other objects.

✘COMBINING DAT A A N D BEHAVIOR : the caller of an operation need not consider


how many implementations of a given operation exist. With Object-Oriented
approach, maintenance is easier, because the calling code need not be modified
when a new class is added.

✘SHARING : inheritance of both data structure and behavior allows common


structure to be shared among several similar subclasses without redundancy.
This reduces the number of dictinct cases that must be understood and
analyzed.

✘ EMPHASIS O N OBJECT STRUCTURE, NOT PROCEDURE STRUCTURE : as


requirements
evolve, the features supplied by an object are much more stable than the ways it
is used.

You might also like