An Overview of OOSD
An Overview of OOSD
Chapter 1 Topics
Characteristics of OO development.
OO concepts: object, class, instance, attributes,
methods, and encapsulation.
Object interaction through methods and association
relationships.
The concept of inheritance applied to classes of objects.
Benefits of using OO development.
Preview of OO development.
1
Object-Oriented System Development
Understanding OO Development
OO approach
– System is defined as a collection of objects that work together to
accomplish tasks
• Objects carry out actions when asked.
• Each object maintains its own data.
• Bottom-up approach.
• Early feedback system.
• Solve for any real-world problems
Procedural approach or Traditional Approach
– System is defined as a set of procedures that interact with data
• Data is maintained separately from procedures.
• Top-down approach.
• Implemented by an algorithms or procedures.
• Late feedback system.
• Not solve for real-world problems
Chapter 1 - Object-Oriented System Development 4
2
Chapter 1 - Object-Oriented System Development 5
Understanding OO Development
OO Programming (OOP)
– Started in 1960s in Norway
• Simula
– First language designed to run computer simulations
» Simulations involve objects that maintain their own
data values and can interact independently
– 1970s at Xerox PARC
• Smalltalk
– First general purpose OO programming language
3
Understanding OO Development
OO Programming (OOP)
– Java
• Introduced in 1995 by Sun Microsystems
• “pure” OO language.
• Syntax similar to C++
• Cross platform
– Ideal for Web-based applications
4
Chapter 1 - Object-Oriented System Development 9
Understanding OO Development
5
Understanding OO Development
OO Analysis and Design
– Unified Modeling Language (UML)
• Components
– Class diagrams
– Object diagrams
– Package diagrams
– Use Case diagrams
– Sequence diagrams
– State chart diagrams
– Activity diagrams
– Collaboration diagrams
– Deployment diagrams
– Component diagrams
Chapter 1 - Object-Oriented System Development 11
6
Understanding OO Development
Understanding OO Development
OO Analysis and Design
– Prototyping
• Creating a working model of one or more parts of
the system for user evaluation and feedback
– Joint Application Development (JAD)
• Key system stakeholders and decision makers
work together to rapidly define system
requirements and designs
7
Understanding OO Development
8
Understanding OO Concepts
Understanding OO Concepts
9
Chapter 1 - Object-Oriented System Development 19
Understanding OO Concepts
10
Understanding OO Concepts
11
Understanding OO Concepts
12
Understanding OO Concepts
13
Understanding OO Concepts
Inheritance and Polymorphism
– Polymorphism
• “many forms”
• Different objects can respond in their own way to the
same message.
14
Recognizing the Benefits of OO Development
15
Learning OO Development
16