SlideShare una empresa de Scribd logo
1 de 39
Chapter 1
Object-Oriented System
Development

Chapter 1 - Object-Oriented System Development

1
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
Chapter 1 - Object-Oriented System Development

2
Object-Oriented System Development
• OO information system development
involves:
– OOA
• Using an OO approach to system analysis

– OOD
• Using an OO approach to system design

– OOP
• Using an OO approach to programming
Chapter 1 - Object-Oriented System Development

3
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

• Procedural approach

– System is defined as a set of procedures that
interact with data
• Data is maintained separately from procedures

Chapter 1 - Object-Oriented System Development

4
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

Chapter 1 - Object-Oriented System Development

6
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

Chapter 1 - Object-Oriented System Development

7
Chapter 1 - Object-Oriented System Development

8
Chapter 1 - Object-Oriented System Development

9
Understanding OO Development
• OO Analysis and Design
– Unified Modeling Language (UML)
• Standard OOA&D modeling notation
• Defined by: Grady Booch, James Rumbaugh &
Ivar Jacobson
• Uses model-driven approach:
– Enables creation of graphical models of the system
requirements and system design

Chapter 1 - Object-Oriented System Development

10
Understanding OO Development
• OO Analysis and Design
– Unified Modeling Language (UML)
• Components
–
–
–
–

Class diagrams
Use Case diagrams
Sequence diagrams
Statecharts

Chapter 1 - Object-Oriented System Development

11
Chapter 1 - Object-Oriented System Development

12
Understanding OO Development
• OO Analysis and Design

– System Development Life Cycle (SDLC)

• Project management framework that defines
project phases and activities
• Phases:
–
–
–
–
–

Planning
Analysis
Design
Implementation
Support

Chapter 1 - Object-Oriented System Development

13
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

Chapter 1 - Object-Oriented System Development

14
Understanding OO Development
• OO Analysis and Design
– Other requirements:
•
•
•
•
•
•

Project management
Interviewing
Data collection
User interface (UI) design
Testing
Conversion techniques

Chapter 1 - Object-Oriented System Development

15
Chapter 1 - Object-Oriented System Development

16
Understanding OO Concepts
• Objects, Attributes, and Methods
– Object:
• Attributes
– Characteristics of an object that have values

• Behaviors (or methods)
– Describe what an object can do

• Examples:
– GUI objects
– Problem Domain objects

Chapter 1 - Object-Oriented System Development

17
Chapter 1 - Object-Oriented System Development

18
Chapter 1 - Object-Oriented System Development

19
Understanding OO Concepts
• Object Interactions and Messages
– Messages
• The means by which objects interact
• Example:
– User initiates interaction via messages to GUI objects
– GUI objects interact with problem domain objects via
messages
– Problem domain objects interact with each other and
GUI objects via messages
– GUI objects respond to user via messages

Chapter 1 - Object-Oriented System Development

20
Chapter 1 - Object-Oriented System Development

21
Understanding OO Concepts
• Encapsulation and Information Hiding
– Encapsulation
• Objects have attributes and methods combined
into one unit

– Information Hiding
• Hiding the internal structure of objects, protecting
them from corruption

Chapter 1 - Object-Oriented System Development

22
Understanding OO Concepts
• Encapsulation and Information Hiding
– Identity
• Unique reference for each object

– Persistent objects
• Defined as available for use over time

Chapter 1 - Object-Oriented System Development

23
Understanding OO Concepts
• Classes, Instances, and Associations
– Class
• Defines what all objects of the class represent

– Instances
• Objects of the class

Chapter 1 - Object-Oriented System Development

24
Chapter 1 - Object-Oriented System Development

25
Understanding OO Concepts
• Classes, Instances, and Associations
– Association relationships

• Each object is responsible for maintaining
relationships with other objects
– One-to-one
– One-to-many

• Multiplicity of the association

– Number of associations in UML terminology

• Cardinality of the association

– Number of associations in ERD terminology

Chapter 1 - Object-Oriented System Development

26
Chapter 1 - Object-Oriented System Development

27
Understanding OO Concepts
• Inheritance and Polymorphism
– Inheritance
• One class of objects takes on characteristics of
another class and extends them
– Superclass → subclass
– Generalization/specialization hierarchy
» Also called an inheritance hierarchy
» Result of extending class into more specific
subclasses

Chapter 1 - Object-Oriented System Development

28
Chapter 1 - Object-Oriented System Development

29
Understanding OO Concepts
• Inheritance and Polymorphism
– Polymorphism
• “many forms”
• Different objects can respond in their own way to
the same message

Chapter 1 - Object-Oriented System Development

30
Chapter 1 - Object-Oriented System Development

31
Recognizing the Benefits of OO
Development
• Objects are More Natural
– Naturalness
• Based on the fact that people usually think about
their world in terms of objects
• Natural to define the classes of objects involved
• OO vs. procedural
– Which is harder to learn?

Chapter 1 - Object-Oriented System Development

32
Recognizing the Benefits of OO
Development
• Classes of Objects can be Reused
– Reuse
• Classes and objects can be invented once and
used many times
– During analysis, design, and programming

• Do not need source code for reused class, simply
need to know interface

Chapter 1 - Object-Oriented System Development

33
Learning OO Development
• Introducing Three-Tier Design
– Objects that interact in OO system are
separated into three categories of classes:
• Problem domain classes
– Specific to a particular business application

• GUI classes
– Define objects that make up the UI to the application

• Data access classes
– Work with DBMS to store/retrieve object information

Chapter 1 - Object-Oriented System Development

34
Learning OO Development
• Part 1: OO Concepts and Java

– Covers OO concepts and introduces Java
• Chapter 1

– OO development, concepts and benefits

• Chapter 2

– Java fundamentals

• Chapter 3

– Java classes

• Chapter 4

– OOA & OOD concepts / Bradshaw Marina (case study)

Chapter 1 - Object-Oriented System Development

35
Learning OO Development
• Part 2: Defining Problem Domain Classes
– Using Java to create new problem domain classes
• Chapter 5
– How to create a problem domain class

• Chapter 6
– Data validation, exception handling, and method overloading

• Chapter 7/8
– Generalization/specialization and inheritance

• Chapter 9
– Implementing association relationships

Chapter 1 - Object-Oriented System Development

36
Learning OO Development
• Part 3: Defining GUI Classes

– Creating graphical user interfaces
• Chapter 10

– Java event model

• Chapter 11

– GUI windows for problem domain object interaction

• Chapter 12

– Main menu and multiple GUI windows

• Chapter 13

– Using an IDE

Chapter 1 - Object-Oriented System Development

37
Learning OO Development
• Part 4: Defining Data Access Classes
– Creating data access objects for managing
database interactions and achieving object
persistence
• Chapter 14
– Achieving object persistence

• Chapter 15
– RDBMS and SQL

Chapter 1 - Object-Oriented System Development

38
Learning OO Development
• Part 5: Deploying the Three-Tier Application
– Bringing it all together in a complete client-server
system
• Chapter 16
– Complete OO development process for case study

• Chapter 17
– Deploying the web-based case study using HTML and
Java servlets

Chapter 1 - Object-Oriented System Development

39

Más contenido relacionado

Similar a 01 chapter

1a-OO-Basics.pptx lạoanfanfanfjasnfjnfkaskfklas
1a-OO-Basics.pptx lạoanfanfanfjasnfjnfkaskfklas1a-OO-Basics.pptx lạoanfanfanfjasnfjnfkaskfklas
1a-OO-Basics.pptx lạoanfanfanfjasnfjnfkaskfklas
18130208
 
1-Lec - Introduction vhvv,vbvv,v (2).ppt
1-Lec - Introduction vhvv,vbvv,v (2).ppt1-Lec - Introduction vhvv,vbvv,v (2).ppt
1-Lec - Introduction vhvv,vbvv,v (2).ppt
AqeelAbbas94
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
Luis Goldster
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
Young Alista
 

Similar a 01 chapter (20)

5-CEN6016-Chapter1.ppt
5-CEN6016-Chapter1.ppt5-CEN6016-Chapter1.ppt
5-CEN6016-Chapter1.ppt
 
Chapter 06
Chapter 06Chapter 06
Chapter 06
 
Introduction to SAD.pptx
Introduction to SAD.pptxIntroduction to SAD.pptx
Introduction to SAD.pptx
 
Introduction to SAD.pptx
Introduction to SAD.pptxIntroduction to SAD.pptx
Introduction to SAD.pptx
 
Introducción al Análisis y Diseño Orientado a Objetos
Introducción al Análisis y Diseño Orientado a ObjetosIntroducción al Análisis y Diseño Orientado a Objetos
Introducción al Análisis y Diseño Orientado a Objetos
 
Assignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioAssignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audio
 
Object oriented analysis_and_design_v2.0
Object oriented analysis_and_design_v2.0Object oriented analysis_and_design_v2.0
Object oriented analysis_and_design_v2.0
 
ppt_ooad.pdf
ppt_ooad.pdfppt_ooad.pdf
ppt_ooad.pdf
 
OOAD chapter 1
OOAD chapter 1 OOAD chapter 1
OOAD chapter 1
 
Lecture 1 oop
Lecture 1 oopLecture 1 oop
Lecture 1 oop
 
1a-OO-Basics.pptx lạoanfanfanfjasnfjnfkaskfklas
1a-OO-Basics.pptx lạoanfanfanfjasnfjnfkaskfklas1a-OO-Basics.pptx lạoanfanfanfjasnfjnfkaskfklas
1a-OO-Basics.pptx lạoanfanfanfjasnfjnfkaskfklas
 
10-System-ModelingFL22-sketch-19122022-091234am.pptx
10-System-ModelingFL22-sketch-19122022-091234am.pptx10-System-ModelingFL22-sketch-19122022-091234am.pptx
10-System-ModelingFL22-sketch-19122022-091234am.pptx
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and Design
 
1-Lec - Introduction vhvv,vbvv,v (2).ppt
1-Lec - Introduction vhvv,vbvv,v (2).ppt1-Lec - Introduction vhvv,vbvv,v (2).ppt
1-Lec - Introduction vhvv,vbvv,v (2).ppt
 
Introduction to Object Oriented Programming
Introduction to Object Oriented ProgrammingIntroduction to Object Oriented Programming
Introduction to Object Oriented Programming
 
Object Oriented Programming in Systems Analysis
Object Oriented Programming in Systems AnalysisObject Oriented Programming in Systems Analysis
Object Oriented Programming in Systems Analysis
 
Knowledge mechanisms in IEEE 1471/ISO 42010
Knowledge mechanisms in IEEE 1471/ISO 42010Knowledge mechanisms in IEEE 1471/ISO 42010
Knowledge mechanisms in IEEE 1471/ISO 42010
 
Analysis
AnalysisAnalysis
Analysis
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 

01 chapter

  • 1. Chapter 1 Object-Oriented System Development Chapter 1 - Object-Oriented System Development 1
  • 2. 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 Chapter 1 - Object-Oriented System Development 2
  • 3. Object-Oriented System Development • OO information system development involves: – OOA • Using an OO approach to system analysis – OOD • Using an OO approach to system design – OOP • Using an OO approach to programming Chapter 1 - Object-Oriented System Development 3
  • 4. 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 • Procedural approach – System is defined as a set of procedures that interact with data • Data is maintained separately from procedures Chapter 1 - Object-Oriented System Development 4
  • 5. Chapter 1 - Object-Oriented System Development 5
  • 6. 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 Chapter 1 - Object-Oriented System Development 6
  • 7. 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 Chapter 1 - Object-Oriented System Development 7
  • 8. Chapter 1 - Object-Oriented System Development 8
  • 9. Chapter 1 - Object-Oriented System Development 9
  • 10. Understanding OO Development • OO Analysis and Design – Unified Modeling Language (UML) • Standard OOA&D modeling notation • Defined by: Grady Booch, James Rumbaugh & Ivar Jacobson • Uses model-driven approach: – Enables creation of graphical models of the system requirements and system design Chapter 1 - Object-Oriented System Development 10
  • 11. Understanding OO Development • OO Analysis and Design – Unified Modeling Language (UML) • Components – – – – Class diagrams Use Case diagrams Sequence diagrams Statecharts Chapter 1 - Object-Oriented System Development 11
  • 12. Chapter 1 - Object-Oriented System Development 12
  • 13. Understanding OO Development • OO Analysis and Design – System Development Life Cycle (SDLC) • Project management framework that defines project phases and activities • Phases: – – – – – Planning Analysis Design Implementation Support Chapter 1 - Object-Oriented System Development 13
  • 14. 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 Chapter 1 - Object-Oriented System Development 14
  • 15. Understanding OO Development • OO Analysis and Design – Other requirements: • • • • • • Project management Interviewing Data collection User interface (UI) design Testing Conversion techniques Chapter 1 - Object-Oriented System Development 15
  • 16. Chapter 1 - Object-Oriented System Development 16
  • 17. Understanding OO Concepts • Objects, Attributes, and Methods – Object: • Attributes – Characteristics of an object that have values • Behaviors (or methods) – Describe what an object can do • Examples: – GUI objects – Problem Domain objects Chapter 1 - Object-Oriented System Development 17
  • 18. Chapter 1 - Object-Oriented System Development 18
  • 19. Chapter 1 - Object-Oriented System Development 19
  • 20. Understanding OO Concepts • Object Interactions and Messages – Messages • The means by which objects interact • Example: – User initiates interaction via messages to GUI objects – GUI objects interact with problem domain objects via messages – Problem domain objects interact with each other and GUI objects via messages – GUI objects respond to user via messages Chapter 1 - Object-Oriented System Development 20
  • 21. Chapter 1 - Object-Oriented System Development 21
  • 22. Understanding OO Concepts • Encapsulation and Information Hiding – Encapsulation • Objects have attributes and methods combined into one unit – Information Hiding • Hiding the internal structure of objects, protecting them from corruption Chapter 1 - Object-Oriented System Development 22
  • 23. Understanding OO Concepts • Encapsulation and Information Hiding – Identity • Unique reference for each object – Persistent objects • Defined as available for use over time Chapter 1 - Object-Oriented System Development 23
  • 24. Understanding OO Concepts • Classes, Instances, and Associations – Class • Defines what all objects of the class represent – Instances • Objects of the class Chapter 1 - Object-Oriented System Development 24
  • 25. Chapter 1 - Object-Oriented System Development 25
  • 26. Understanding OO Concepts • Classes, Instances, and Associations – Association relationships • Each object is responsible for maintaining relationships with other objects – One-to-one – One-to-many • Multiplicity of the association – Number of associations in UML terminology • Cardinality of the association – Number of associations in ERD terminology Chapter 1 - Object-Oriented System Development 26
  • 27. Chapter 1 - Object-Oriented System Development 27
  • 28. Understanding OO Concepts • Inheritance and Polymorphism – Inheritance • One class of objects takes on characteristics of another class and extends them – Superclass → subclass – Generalization/specialization hierarchy » Also called an inheritance hierarchy » Result of extending class into more specific subclasses Chapter 1 - Object-Oriented System Development 28
  • 29. Chapter 1 - Object-Oriented System Development 29
  • 30. Understanding OO Concepts • Inheritance and Polymorphism – Polymorphism • “many forms” • Different objects can respond in their own way to the same message Chapter 1 - Object-Oriented System Development 30
  • 31. Chapter 1 - Object-Oriented System Development 31
  • 32. Recognizing the Benefits of OO Development • Objects are More Natural – Naturalness • Based on the fact that people usually think about their world in terms of objects • Natural to define the classes of objects involved • OO vs. procedural – Which is harder to learn? Chapter 1 - Object-Oriented System Development 32
  • 33. Recognizing the Benefits of OO Development • Classes of Objects can be Reused – Reuse • Classes and objects can be invented once and used many times – During analysis, design, and programming • Do not need source code for reused class, simply need to know interface Chapter 1 - Object-Oriented System Development 33
  • 34. Learning OO Development • Introducing Three-Tier Design – Objects that interact in OO system are separated into three categories of classes: • Problem domain classes – Specific to a particular business application • GUI classes – Define objects that make up the UI to the application • Data access classes – Work with DBMS to store/retrieve object information Chapter 1 - Object-Oriented System Development 34
  • 35. Learning OO Development • Part 1: OO Concepts and Java – Covers OO concepts and introduces Java • Chapter 1 – OO development, concepts and benefits • Chapter 2 – Java fundamentals • Chapter 3 – Java classes • Chapter 4 – OOA & OOD concepts / Bradshaw Marina (case study) Chapter 1 - Object-Oriented System Development 35
  • 36. Learning OO Development • Part 2: Defining Problem Domain Classes – Using Java to create new problem domain classes • Chapter 5 – How to create a problem domain class • Chapter 6 – Data validation, exception handling, and method overloading • Chapter 7/8 – Generalization/specialization and inheritance • Chapter 9 – Implementing association relationships Chapter 1 - Object-Oriented System Development 36
  • 37. Learning OO Development • Part 3: Defining GUI Classes – Creating graphical user interfaces • Chapter 10 – Java event model • Chapter 11 – GUI windows for problem domain object interaction • Chapter 12 – Main menu and multiple GUI windows • Chapter 13 – Using an IDE Chapter 1 - Object-Oriented System Development 37
  • 38. Learning OO Development • Part 4: Defining Data Access Classes – Creating data access objects for managing database interactions and achieving object persistence • Chapter 14 – Achieving object persistence • Chapter 15 – RDBMS and SQL Chapter 1 - Object-Oriented System Development 38
  • 39. Learning OO Development • Part 5: Deploying the Three-Tier Application – Bringing it all together in a complete client-server system • Chapter 16 – Complete OO development process for case study • Chapter 17 – Deploying the web-based case study using HTML and Java servlets Chapter 1 - Object-Oriented System Development 39