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 enca...
Object-Oriented System Development
• OO information system development
involves:
– OOA
• Using an OO approach to system an...
Understanding OO Development
• OO approach

– System is defined as a collection of objects
that work together to accomplis...
Chapter 1 - Object-Oriented System Development

5
Understanding OO Development
• OO Programming (OOP)
– Started in 1960s in Norway
• Simula
– First language designed to run...
Understanding OO Development
• OO Programming (OOP)
– Java
•
•
•
•

Introduced in 1995 by Sun Microsystems
“pure” OO langu...
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...
Understanding OO Development
• OO Analysis and Design
– Unified Modeling Language (UML)
• Components
–
–
–
–

Class diagra...
Chapter 1 - Object-Oriented System Development

12
Understanding OO Development
• OO Analysis and Design

– System Development Life Cycle (SDLC)

• Project management framew...
Understanding OO Development
• OO Analysis and Design
– Prototyping
• Creating a working model of one or more parts of
the...
Understanding OO Development
• OO Analysis and Design
– Other requirements:
•
•
•
•
•
•

Project management
Interviewing
D...
Chapter 1 - Object-Oriented System Development

16
Understanding OO Concepts
• Objects, Attributes, and Methods
– Object:
• Attributes
– Characteristics of an object that ha...
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:
–...
Chapter 1 - Object-Oriented System Development

21
Understanding OO Concepts
• Encapsulation and Information Hiding
– Encapsulation
• Objects have attributes and methods com...
Understanding OO Concepts
• Encapsulation and Information Hiding
– Identity
• Unique reference for each object

– Persiste...
Understanding OO Concepts
• Classes, Instances, and Associations
– Class
• Defines what all objects of the class represent...
Chapter 1 - Object-Oriented System Development

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

• Each object is responsible...
Chapter 1 - Object-Oriented System Development

27
Understanding OO Concepts
• Inheritance and Polymorphism
– Inheritance
• One class of objects takes on characteristics of
...
Chapter 1 - Object-Oriented System Development

29
Understanding OO Concepts
• Inheritance and Polymorphism
– Polymorphism
• “many forms”
• Different objects can respond in ...
Chapter 1 - Object-Oriented System Development

31
Recognizing the Benefits of OO
Development
• Objects are More Natural
– Naturalness
• Based on the fact that people usuall...
Recognizing the Benefits of OO
Development
• Classes of Objects can be Reused
– Reuse
• Classes and objects can be invente...
Learning OO Development
• Introducing Three-Tier Design
– Objects that interact in OO system are
separated into three cate...
Learning OO Development
• Part 1: OO Concepts and Java

– Covers OO concepts and introduces Java
• Chapter 1

– OO develop...
Learning OO Development
• Part 2: Defining Problem Domain Classes
– Using Java to create new problem domain classes
• Chap...
Learning OO Development
• Part 3: Defining GUI Classes

– Creating graphical user interfaces
• Chapter 10

– Java event mo...
Learning OO Development
• Part 4: Defining Data Access Classes
– Creating data access objects for managing
database intera...
Learning OO Development
• Part 5: Deploying the Three-Tier Application
– Bringing it all together in a complete client-ser...
Upcoming SlideShare
Loading in …5
×

01 chapter

344 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
344
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

01 chapter

  1. 1. Chapter 1 Object-Oriented System Development Chapter 1 - Object-Oriented System Development 1
  2. 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. 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. 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. 5. Chapter 1 - Object-Oriented System Development 5
  6. 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. 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. 8. Chapter 1 - Object-Oriented System Development 8
  9. 9. Chapter 1 - Object-Oriented System Development 9
  10. 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. 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. 12. Chapter 1 - Object-Oriented System Development 12
  13. 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. 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. 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. 16. Chapter 1 - Object-Oriented System Development 16
  17. 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. 18. Chapter 1 - Object-Oriented System Development 18
  19. 19. Chapter 1 - Object-Oriented System Development 19
  20. 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. 21. Chapter 1 - Object-Oriented System Development 21
  22. 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. 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. 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. 25. Chapter 1 - Object-Oriented System Development 25
  26. 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. 27. Chapter 1 - Object-Oriented System Development 27
  28. 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. 29. Chapter 1 - Object-Oriented System Development 29
  30. 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. 31. Chapter 1 - Object-Oriented System Development 31
  32. 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. 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. 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. 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. 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. 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. 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. 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

×