Object-Oriented Design Keith T. Weber, GISP GIS Director, ISU.

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

Object orientation and persistent objects Dragos Chirila Finsiel Romania Copenhagen, 24 May 2004.
COMP 121 Week 7: Object-Oriented Design and Efficiency of Algorithms.
1 Generalizations Multiple Inheritance (finishing up Class Design) Class Design – Another Look – Part 11.
Ch 12: Object-Oriented Analysis
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
L3-1-S1 OO Concepts © M.E. Fayad SJSU -- CMPE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Slide 1 Chapter 7 Structural Modeling. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
OBJECT-ORIENTED DBMS. Structured & Object Oriented Approaches Structured approach – long history, well- documented  ERD - modeling data  DFD - modeling.
OBJECT ORIENTED ANALYSIS & DESIGN Vassilka Kirova Department of Computer & Information Science NJIT.
OBJECT ORIENTED ANALYSIS & DESIGN Vassilka Kirova Department of Computer & Information Science NJIT.
IMS5024 Week 3 Semester 2, IMS 5024 Object orientation (1)
IMS5024 Week 61 IMS 5024 Object orientation (1). IMS5024 Week 62 Content Individual assignment date Group assignment What is object orientation? n Place.
Information Resources Management January 30, 2001.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra,
1 INTRODUCTION TO OOP Objective: Know the difference between functional programming and OOP Know basic terminology in OOP Know the importance of OOP Know.
BACS 287 Basics of Object-Oriented Programming 1.
Chapter 17 – Object- Oriented Design. Chapter Goals To learn about the software life cycle To learn about the software life cycle To learn how to discover.
1 INTRODUCTION TO OOP Objective: Know the difference between functional programming and OOP Know basic terminology in OOP Know the importance of OOP Know.
Programming Languages and Paradigms Object-Oriented Programming.
Object Orientation An Object oriented approach views systems and programs as a collection of interacting objects. An object is a thing in a computer system.
Introduction to Object-oriented programming and software development Lecture 1.
1 A Student Guide to Object- Orientated Systems Chapter 4 Objects and Classes: the basic concepts.
OBJECT AND CLASES: THE BASIC CONCEPTS Pertemuan 8 Matakuliah: Konsep object-oriented Tahun: 2009.
OBJECT ORIENTED PROGRAMMING CONCEPTS ISC 560. Object-oriented Concepts  Objects – things names with nouns  Classes – classifications (groups) of similar.
The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program.
COMP 121 Week 7: Object-Oriented Design and Efficiency of Algorithms.
Big Java Chapter 12. Software Process - Waterfall Analysis Design Implementation Testing Deployment Does not work well when rigidly applied! established.
© S Ramakrishnan, Monash University oops1.ppt 1 Object-Oriented Programming Systems SFT3021 Semester Lecturer: Sita Ramakrishnan
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 - Domain Classes.
Object Orientation Yaodong Bi, Ph.D. Department of Computer Sciences University of Scranton October 18, 2015October 18, 2015October 18, 2015.
Slide 1 Structural Modeling Chapter 7. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
Object-Oriented Design Justin Callanan CS 597. Object-Oriented Basics ● Data is stored and processed in “objects” ● Objects represent generalized real.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
 Week08.  Review Schedule Weeks 8-14  This week o Review last class o Introduce Class Diagrams o ICE-03 Sheridan SYST Engineering Quality Systems.
Chapter 17 – Object- Oriented Design. Chapter Goals To learn about the software life cycle To learn about the software life cycle To learn how to discover.
12 OBJECT-ORIENTED DESIGN CHAPTER
AP Computer Science A – Healdsburg High School 1 Inheritance - What is inheritance? - “Is-a” vs. “Has-a” relationship - Programming example “CircleBug”
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
Copyright 2006 Oxford Consulting, Ltd1 January Introduction to C++ Programming is taking A problem Find the area of a rectangle A set of data.
COP 4331 – OOD&P Lecture 7 Object Concepts. What is an Object Programming language definition: An instance of a class Design perspective is different.
Object Orientation Yaodong Bi, Ph.D. Department of Computer Sciences University of Scranton August 19, 2005.
 Description of Inheritance  Base Class Object  Subclass, Subtype, and Substitutability  Forms of Inheritance  Modifiers and Inheritance  The Benefits.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their.
GIS & Databases Ming-Chun Lee.
Chapter 12 – Object-Oriented Design
Object-Oriented Modeling
Business System Development
DATA REQIREMENT ANALYSIS
The Movement To Objects
Intro to OOP with Java, C. Thomas Wu CHAPTER 2 Introduction to OOP
Interface, Subclass, and Abstract Class Review
Objects as a programming concept
The Object-Oriented Thought Process Chapter 1
Table of Contents Class Objects.
INTRODUCTION TO OOP Objective:
Object Oriented Concepts
Object Orientation Yaodong Bi, Ph.D. Department of Computer Sciences
Inheritance B.Ramamurthy 11/7/2018 B.Ramamurthy.
Advanced Java Programming
Domain Class Diagram Chapter 4 Part 2 pp
Engineering Quality Software
Object-Oriented Design
Systems Analysis – ITEC 3155 Modeling System Requirements – Part 2
Object Oriented Analysis and Design
Object-Oriented Design
The Object Paradigm Classes – Templates for creating objects
Presentation transcript:

Object-Oriented Design Keith T. Weber, GISP GIS Director, ISU

TopicsTopics During the balance of this semester, we will pursue and follow two learning threads –Object-relational databases –The Geo-Web These two threads are interwoven

To understand Object- Relational Databases… We need to understand both relational concepts and Object-oriented concepts (this week)

The Early Days… Computer programming from the caveman era

Why…Object-OrientedWhy…Object-Oriented A brief history of computer programming… The concept of encapsulation!

Today’s Goals We will dissect “Object-Oriented” to learn what it really is and how it relates to object-relational databases –What is a class? –What is an object? Enable you to identify inheritance, aggregation, and dependency relationships between classes Understand class attributes and object properties Become familiar with new terminology

What is a CLASS? A class is a computer construct representing a concept bound in a cohesive package –Some are concrete (i.e. real world) Bank account Rental item Database item Pile –Others are abstract Scanner Stream Math

Discovering CLASSES Simple Rule: –Look for nouns in descriptions –Obviously not all nouns are classes –But at least this method can allow one to create a list of candidate classes

What is an OBJECT An instance of a CLASS Contains meaningful data OBJECTS occupy memory space at runtime –If not, they are CLASSES –For example: data type vs. double

A little Quiz… #1 Class or Object? Dog Scooby-Doo Dog is a generalization of Scooby-Doo

A little Quiz (cont’d)… #2 Class or Object? Dog Scooby-DooAnimal The concept of subclass! Dog is a subclass of the Animal class Animal is a generalization of Dog

A little Quiz (cont’d)… #3 Class or Object? Animal Dog Bird The concept of polymorphism!

Questions…Questions…

Key Points Many classes already exist and are at our disposal when we design a database –We use inheritance to add capabilities to our projects –A subclass inherits from its superclass –i.e., a child inherits from its parent

Defining our CLASS After a class has been identified we can define: –The behavior of each class Verbs = methods –The attributes of each class

BehaviorBehavior

Relationships Between CLASSES We have learned about inheritance as a relationship between classes –There are 3 important relationships Inheritance Aggregation Dependency

InheritanceInheritance Is-a relationship Relationship between a more general class (superclass) and a more specialized class (subclass) Every –savings account is a bank account –DVD rental is a rental

AggregationAggregation Has-a relationship –Each Dog has a Paw (dog is not a generalization of paw!) Objects of one class contain references to objects of another class

Inheritance vs. Aggregation Often confused Questions?

ExampleExample Car is a Vehicle – Inheritance Car has a set of Tires – Aggregation

DependencyDependency Dependency occurs when a class uses another class’ methods This is a Uses relationship –Example: an application may depend on the Scanner class to read input

AttributesAttributes

Class Diagram What type of Method behaviors are these?

Dog example Name of the class = Methods? Attributes? Dog

Instantiate into object Three features characterize objects: –Identity: specific property settings have been made for the attributes of the class. This distinguishes it from other objects.Identity –State: Describes the data stored in the object WHERE DID THIS COME FROM? –Behavior: describes the methods in the object's interface through which the object can be used.interface

Instantiating the Dog CLASS CLASS (DOG) Attributes ( Properties) –NAME = Scooby-Doo –HEIGHT = 36 –WEIGHT = 145 Methods –[Uses] bark- “Rooby roo” –etc. Scooby-Doo

Key Concepts Understand the difference between a CLASS and an OBJECT Understand new terms: –Encapsulation, polymorphism, superclass, subclass, behavior, attributes, instantiation Understand --and be able to differentiate-- the three types of behaviors

Questions…Questions…