Chapter 6 - Basics of OOSE

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 20

Chapter 6

Object Oriented Concepts and


Principles
• Basics of OOSE
• The Object Model
• Benefits of the Object Method
•The Unified Modeling Language (UML)

1
What is OOSE?
• One widely used approach to problem-solving takes an
object-oriented viewpoint.
• The problem domain is characterized as a set of objects
that have specific attributes and behaviors.
• The objects are manipulated with a collection of functions
(called methods, operations, or services) and communicate
with one another through a messaging protocol.
• Objects are categorized into classes and subclasses.

2
What are the steps?
• The definition of objects encompasses a description of
attributes, behaviors, operations, and messages.
• OOSE follows the same steps as conventional
approaches.
– Analysis identifies objects and classes tech that are
relevant to the problem domain;
– Design provides the architecture, interface, and
component-level detail;
– Implementation (using an object-oriented language)
transforms design into code; and
– Testing exercises the object-oriented architecture,
interfaces and components.

3
What are the advantages?
• Object technologies lead to reuse, and reuse (of
program components) leads to faster software
development and higher-quality programs.
• Object-oriented software is easier to maintain
because its structure is inherently decoupled.
• This leads to fewer side effects when changes have
to be made and less frustration for the software
engineer and the customer.
• In addition, object-oriented systems are easier to
adapt and easier to scale.

4
OO Basic concepts
• Formal definition of object-oriented-ness
– objects + classification + inheritance + communication
• A class
– is an OO concept that encapsulates the data and procedural
abstractions required to describe the content and behavior of
some real world entity.
• An object
– is an instance or member of a class.
– encapsulates both data (attributes) and the functions
(operation, methods, or services) that manipulate the data.
• Attribute
• Operations, Methods, and Services

5
OO Basic concepts(cont.)
• Message
– is the means by which objects interact.
– stimulates some behavior to occur in the receiving
object.
– The behavior is accomplished when an operation is
executed.
• Encapsulation, Inheritance, and Polymorphism
• Example person class  student, employee, manager,

6
Classes
• object-oriented thinking begins with the
definition of a class often defined as:
– template
– generalized description
– pattern
– “blueprint” ... describing a collection of similar items
• a metaclass (also called a superclass) is a
collection of classes
• once a class of items is defined, a specific
instance of the class can be defined

7
Representation of a class

8
Message passing between objects

9
Encapsulation/Hiding
The object encapsulates
both data and the logical
procedures required to
manipulate the data method method
#1 #2
data

method
#6

method method
#5 #4

Achieves “information hiding”

10
Class Hierarchy
furniture (superclass)

table chair desk "chable"

subclasses of the
furniture superclass

instances of chair
11
Methods
(a.k.a. Operations, Services)
An executable procedure that is encapsulated
in a class and is designed to operate on one or
more data attributes that are defined as part
of the class.
A method is invoked
via message passing.

12
The OO Process Model identify
candidate
classes
Pla n n in g
Risk Ana lysis construct look-up
nth iteration classes
Custo m e r of system in library
Co m m unic a tio n

put new extract


classes classes
in library if available

engineer
classes
C usto m e r Eng ine e ring , if unavailable
Eva lua tio n Co nstruc tio n & Re le a se
OO analysis
OO design
OO programming
OO testing

13
The OO Process Model(cont.)
• An evolutionary process model, coupled with
an approach that encourages component
assembly (reuse), is the best paradigm for OO
software engineering.
• As depicted in previous slide the component-
based development process model been
tailored for OO software engineering.

14
UML
• The heart of object-oriented problem solving is
the construction of a model.
• The model abstracts the essential details of the
underlying problem from its usually complicated
real world.
• Several modeling tools exist.
– UML, which stands for Unified Modeling Language,
is the most common & widely adopted.

15
UML(cont.)
• is an open method used to specify, visualise, construct
and document the artifacts of an object-oriented
software-intensive system under development.
• offers a standard way to write a system's blueprints,
including conceptual components such as:
– actors,
– business processes and
– system's components, and activities
• as well as concrete things such as:
– programming language statements,
– database schemas, and
– reusable software components.

16
UML(cont.)
• combines the best practice from
– data modeling concepts such as ERDs,
– business modeling such as DFDs, and
– object modeling and component modeling.
• can be used with all processes, throughout the
software development life cycle, and across different
implementation technologies.
• UML has succeeded the concepts of the Booch
method, the Object-modeling technique (OMT) and
Object-oriented software engineering (OOSE) by
fusing them into a single, common and widely usable
modeling language.

17
UML(cont.)
• UML 2.0 has 13 types of diagrams divided into
three categories.
– Six diagram types represent the structure
application,
– seven represent general types of behavior,
including
– four that represent different aspects of
interactions.

18
19
About your project
• Steps
– Submit a proposal that includes scope and objectives
– Elicit requirements
– Structure it  Analysis modeling
– Propose and discuss some Design Considerations
– etc
N.B: - The same will be repeated using OOSE approach i.e.
using UML
- You have to use an appropriate CASE tool for
everything you are going to do in the project!

20

You might also like