8.0. Classes and Classification In the real world

Size: px
Start display at page:

Download "8.0. Classes and Classification In the real world"

Transcription

1 Chapter 8 Properties of Objects and Classes 1/57 Chapter 8: Properties of Objects and Classes 8.0. Review from Chapter 5 - Classes. ❶8.1. Subclasses and Inheritance. ❷8.2. More About Inheritance. ❹8.4. Abstract Classes. ❺8.5. Aggregation: Components and Wholes. ❻8.6. The Difference Between Subclassing and Aggregation. 2/57

2 Review from Chapter 5: Objects and Classes Classes and Classification 3/ Classes and Classification In the real world We need to consider: Attributes, Behavior, Relationships, and Semantics (meaning). 4/57

3 8.0. Classes and Classification In the real world Definition: A class is a group of objects with: similar properties (attributes), common behavior (operations), common relationships to other objects, and common semantics (i.e., meaning.) 5/57 Classes and Classification Classes and Classification Subclasses In the real world Some instances of a class may be grouped together on the basis of: Features not shared by the rest of the class Attributes Behavior Associations The key verb is: ISAKINDA 6/57

4 Hierarchy Diagram (UML notation) PERSON Name, Address Phone, Sex Date of Birth ChangeAddress EnquireDOB&Sex CANBEA ISAKINDA CUSTOMER Balance O/Due 30, 60, 90 Credit Rating Date Paid CheckCrRating AgeBalances This kind of arrowhead indicates that this relationship is one of subclassing EMPLOYEE SIN Marital Status No. of Dependants Date Hired Wage Rate GiveRaise CalcMonthPay 7/ Classes and Classification Additional Data-world Classes Abstract Classes Such classes have no instances other than the ones provided for them by their subclasses That is, they have no Direct Instances For this reason we call them Abstract Classes 8/57

5 Chapter 8: Properties of Objects and Classes 8.0. Review from Chapter 5 - Classes. ❶8.1. Subclasses and Inheritance. ❷8.2. More About Inheritance. ❹8.4. Abstract Classes. ❺8.5. Aggregation: Components and Wholes. ❻8.6. The Difference Between Subclassing and Aggregation. 9/57 ❶ 8.1. Subclasses and Inheritance. Subclass is made up of selected instances A Subclass from another class, the Parent class or Superclass. A Superclass includes ALL ALL the instances of the Subclass, plus possibly more as well. Inheritance is when a subclass instance, in addition addition to the attributes and behavior it has by virtue of being in the subclass, also has all the attributes and behavior that instances of the superclass have. 10/57

6 ❶ 8.1. Subclasses and Inheritance. Definition of Object-Oriented: To be considered truly O-O, a language, database, etc. must support: Objects Classes Inheritance Polymorphism (to be defined shortly) We can define supporting a feature to mean that the language makes it easy and convenient for a programmer to use that feature. 11/57 ❶ 8.1. Subclasses and Inheritance. Another thing we can do with subclasses is show more detail about associations on our diagram. For instance, in most companies, only managers can hire and fire. In other words, only certain kindsa employees can do certain tasks. Thus we are able to show that some associations affect only a subclass, and not every instance. 12/57

7 ❶ 8.1. Subclasses and Inheritance. Employee isakinda canbea Manager 1 drives Company Vehicle 1 supervises Regular Employee 1 Union belongs to Next: More About Inheritance... 13/57 Chapter 8: Properties of Objects and Classes 8.0. Review from Chapter 5 - Classes. ❶8.1. Subclasses and Inheritance. ❷8.2. More About Inheritance. ❹8.4. Abstract Classes. ❺8.5. Aggregation: Components and Wholes. ❻8.6. The Difference Between Subclassing and Aggregation. 14/57

8 ❷8.2. More About Inheritance. Generalization and Specialization A Payables Account is a special case of an Account. What makes this Account different (i.e., specialized) is that it is a Payables Account, And that other one over there is a Receivables Account. Thus, the Payables and the Receivables subclasses may be viewed as specializing the Account class. A subclass is said to specialize its superclass(es) by including only certain of the superclass instances. Now let s take another look at inheritance... 15/57 Hierarchy Diagram (UML notation) All these attributes and behaviors are inherited as is by both subclasses ISAKINDA PERSON Name, Address Phone, Sex Date of Birth ChangeAddress EnquireDOB&Sex Each subclass then adds attributes and behaviors that it needs but the other one doesn t. CANBEA CUSTOMER Balance O/Due 30, 60, 90 Credit Rating Date Paid CheckCrRating() AgeBalances() This kind of arrowhead to indicate that this relationship is one of subclassing EMPLOYEE SIN Marital Status No. of Dependants Date Hired Wage Rate GiveRaise() CalcMonthPay() 16/57

9 Chapter 8: Properties of Objects and Classes 8.0. Review from Chapter 5 - Classes. ❶8.1. Subclasses and Inheritance. ❷8.2. More About Inheritance. ❹8.4. Abstract Classes. ❺8.5. Aggregation: Components and Wholes. ❻8.6. The Difference Between Subclassing and Aggregation. 17/57 Polymorphism Poly = many Morph = shape Polymorphism means occurring in various forms. Along with Inheritance, polymorphism is one of the major keys to the power of objects. (A primary key, perhaps?) 18/57

10 On the next slide, You will see a class diagram for handling emergency calls. Study it well. Take particular note of the DeleteCall method that appears in the superclass 911 Call as well as in both subclasses. 19/57 Citizen False Alarm Severity CriminalY/N DeleteCall 911 Call Call ID Date Time Calling Number Address Create Call Display Details List Calls DeleteCall ISAKINDA CANBEA handles Police Officer 1 Valid Call Response Specialist Fire Fighter investigates Problem Crime/Fire/Acdnt/Poison Date/Time Dispatched Date/Time Completed DispatchCall CompleteCall DeleteCall Paramedic Vehicle Weapon Dog 20/57

11 You can see that the amount of work that has to be done deleting a call depends on the kinda call. A False Alarm needs some program code that will disconnect it from the investigating officer as well as the offending citizen. A Valid Call needs program code to disconnect it from: Many Response Specialists of various kinds, Many Citizens, and this code it can share with the False Alarm calls, Many Vehicles, Weapons and Dogs. 21/57 Now you see that we need at least two different pieces of program code to delete these two kindsa 911 calls. But I have shown them both with the same name!! This would never work in regular procedural programming, But it can be made to work here, and this is the power of objects! 22/57

12 Object-Oriented languages allow us to define two functions (i.e., methods) with the same name Provided they are in different classes but they must be subclasses and superclasses. Whichever kinda 911 Call we are handling, the system will choose the right version of the method to suit that particular Call instance. We say that The object knows its own type, so it knows what to do. 23/57 And what about a 911 Call instance that needs to be cancelled before it is even evaluated to see if it was a False Alarm or a Valid Call? This one is an instance of the superclass, But not of either subclass. Let s say our analysis has discovered that the only difference in processing these calls and the False Alarms is the Investigating Officer, so we have decided to use one piece of program code to do both kindsa 911 Calls. This gives us the diagram on the next slide, with no DeleteCall method in the False Alarm class. 24/57

13 Citizen False Alarm Severity CriminalY/N 911 Call Call ID Date Time Calling Number Address Create Call Display Details List Calls DeleteCall handles Police Officer 1 Valid Call Problem Crime/Fire/Acdnt/Poison Date/Time Dispatched Date/Time Completed DispatchCall CompleteCall DeleteCall Response Specialist Fire Fighter investigates Paramedic Vehicle Weapon Dog 25/57 When an Unevaluated 911 Call is to be deleted, It knows it is an instance only of the superclass, so it looks in there for some code to execute. Of course it finds a DeleteCall method, so it executes it and deletes the call. When a Valid 911 Call is to be deleted, It knows it is an instance in the Valid Call subclass, (As well as in the superclass) So it looks in the Valid Call subclass, Finds a DeleteCall method, and so deletes itself. But now, what about deleting a False Alarm call? 26/57

14 Citizen False Alarm Severity CriminalY/N 911 Call Call ID Date Time Calling Number Address Create Call Display Details List Calls DeleteCall So where does a False Alarm instance find some program code for deletions? handles Police Officer 1 Valid Call Problem Crime/Fire/Acdnt/Poison Date/Time Dispatched Date/Time Completed DispatchCall CompleteCall DeleteCall Response Specialist Fire Fighter investigates Paramedic Vehicle Weapon Dog 27/57 A False Alarm 911 Call Knows it is an instance of the False Alarm class, (And also of the superclass), So it looks in the False Alarm subclass for a DeleteCall method, But doesn t find one there. So now it walks up the hierarchy And looks in the superclass, 911 Call. There it finds a DeleteCall method method so it executes that one and happily deletes itself. 28/57

15 Citizen The system walks up the chain looking for some program code to execute. False Alarm Severity CriminalY/N 911 Call Call ID Date Time Calling Number Address Create Call Display Details List Calls DeleteCall This Valid Call finds some code right here in this class. handles Police Officer 1 Valid Call Problem Crime/Fire/Acdnt/Poison Date/Time Dispatched Date/Time Completed DispatchCall CompleteCall DeleteCall Response Specialist Fire Fighter investigates Paramedic Vehicle Weapon Dog 29/57 So we say that the DeleteCall method in the superclass (911 Call) is available to all instances of all subclasses. overridden for instances of the subclass ValidCall by the DeleteCall (same name!) in the ValidCall subclass. But it is overridden DeleteCall method This also applies to any subclasses of the ValidCall class, and all its generations of descendant classes. 30/57

16 Definition: We say that a subclass feature (attribute or method) overrides the corresponding superclass feature. That is, the subclass version of the feature actually replaces the superclass feature for that subclass and all its descendants. 31/57 Multiple Inheritance 32/57

17 Multiple Inheritance Take a look at the Paramedic on the next slide. Is she Hospital Staff? Or is she a Response Specialist?... 33/57 Multiple Inheritance Response Specialist Hospital Staff Patient Care Physicians Administrativ e Staff Police Officer Fire Fighter Paramedic Nurse Nursing Assistant 34/57

18 Multiple Inheritance Of course, she is both! Sometimes you find a class that inherits from two (or more) chains of superclasses. It thus inherits ALL the attributes and behaviors of both chains of superclasses. But this can lead to problems... 35/57 Multiple Inheritance Response Specialist GiveRaise Hospital Staff GiveRaise Patient Care Physicians Administrativ e Staff Police Officer Fire Fighter Paramedic Nurse Nursing Assistant 36/57

19 Multiple Inheritance You will notice that both the Hospital Staff class and the Response Specialist class each has its own GiveRaise method. This could be because the two groups have different union agreements, which have different procedures for granting a raise in pay, which means they need different program code to process those raises. The question is, Which one should a Paramedic instance execute? 37/57 Multiple Inheritance Each OOPL and OODBMS has its own way of resolving this difficulty Some simply don t allow multiple inheritance. Some have a way of forcing one or the other, or both, to execute. Some force the programmer to choose. 38/57

20 Now all this inheritance and polymorphism stuff brings us to another powerful feature of objects, that is not available with conventional procedural programming. This is the ability to add functionality to a subroutine or function library, Without having access to the program source code!! 39/57 It works like this... If we were to buy an old-fashioned function library, We can t modify anything because The vendor doesn t want us fooling about with their source code, And maybe blowing it up! In which case we re faced with the old multi-vendor problem when deciding whose code is to blame. 40/57

21 When we buy an object class library, however We can extend the functionality, By defining a subclass that inherits from one of theirs. We then add any new or replacement attributes, And code any new or replacement methods, And the new class now has: All the features (attributes and methods) of the original, Plus any we changed or added. 41/57 This factor is what gives rise to the incredible potential for reuse of Object-Oriented Oriented program code and of Analysis and Design results as well. Next: Abstract Classes 42/57

22 ❹ 8.4. Abstract Classes. In our example of a 911 Call, check out the Response Specialist and subclasses... 43/57 Citizen False Alarm Severity CriminalY/N 911 Call Call ID Date Time Calling Number Address Create Call Display Details List Calls DeleteCall handles Police Officer 1 Valid Call Problem Crime/Fire/Acdnt/Poison Date/Time Dispatched Date/Time Completed DispatchCall CompleteCall DeleteCall Response Specialist Fire Fighter investigates Paramedic Vehicle Weapon Dog 44/57

23 ❹ 8.4. Abstract Classes. This is the structure we now have: Response Specialist Police Officer Fire Fighter Paramedic The question to ask this time is: Are there any other kindsa Response Specialists besides the three kinds we have shown? 45/57 ❹ 8.4. Abstract Classes. If the answer is no, Then we say that the superclass Response Specialist is completely covered by its subclasses; We say it has no Direct Instances, i.e., it is an Abstract Class, It has no instances other than those provided for it by its subclasses. 46/57

24 Definition: ❹ 8.4. Abstract Classes. An Abstract Class is one with no direct instances. But why would we bother? These are often useful to declare the structure, type or interface (protocol) of an attribute or method, And allow the subclasses to provide the storage for an attribute, or the code for a method. This firms up the interface and constrains the developers to stick with it as specified. Next: Components and Wholes. 47/57 ❻8.5. Aggregation: Components and Wholes. 48/57

25 Chapter 8: Properties of Objects and Classes 8.0. Review from Chapter 5 - Classes. ❶8.1. Subclasses and Inheritance. ❷8.2. More About Inheritance. ❹8.4. Abstract Classes. ❺8.5. Aggregation: Components and Wholes ❻8.6. The Difference Between Subclassing and Aggregation. 49/57 ❻8.5. Aggregation: Components and Wholes. There are three relationships that sometimes occur in an object model: Whole-Part, or Component-Assembly Container-ContentsContents Collection-Member You may sometimes find these useful for making your model a better tool for understanding and communication. The model can always be built without these - they do not really affect its use for system design, just for talking to the users. 50/57

26 ❻8.5. Aggregation: Components and Wholes. Whole-Part Taking something apart into its components is a technique we humans often use to understand how something works. Often we find it improves our understanding to model A product and its components A business consists of branches, departments, etc. A country consists of states, provinces, counties, cities, boroughs, shires, towns, villages, etc. A college is made up of Faculties, Departments and Sections 51/57 ❻8.5. Aggregation: Components and Wholes. Whole-Part In some cases, we can use this for the classical Bill of Materials structure, which models the parts needed for a product, and then how the parts also break down into components. This structure is an example of a matrix structure. A matrix can be viewed as a two-way tree. Part consists of 52/57

27 Container-Contents ❻8.5. Aggregation: Container-ContentsContents Contents is a different and less common relationship. In some situations we may find it helpful to view a relationship as one of these, e.g., Truck or Aircraft and the Products or Shipments that it carries An actual shipping container and the goods it holds A ship, bus or airplane and its passengers A building and the businesses it houses. 53/57 The essential difference between Whole-Part and Container-ContentsContents relationships is that: With Whole-Part, if you take the component away, the assembly (whole) probably won t work any more Take a wheel off a car Take a hand off a clock Take a leg off a table. ❻8.5. Aggregation: Container-ContentsContents A Container, however, is still a perfectly good Container, even without its Contents The jar is still OK even without the water in side. And the Contents are perfectly OK without the Container 54/57

28 And lastly, Collection-Member is also a different and relatively uncommon relationship. Sometimes we meet an actual collection: A library full of books An art gallery ❻8.5. Aggregation: Collection-Member A stamp or jewelry collection A fleet of trucks, ships or aircraft. Other times it may help to use this to describe: A church, club or regiment and its members An inventory of furniture or equipment. 55/57 ❻8.5. Aggregation. Definition: Aggregation is a relationship between two classes where the instances of one class are in some way components, members, or contents of the instances of the other class. These are relationships that appear on the class diagram along with all the subclass hierarchies and the regular 1:M and M:M associations 56/57

29 End of Chapter 8 57/57

OO System Models Static Views

OO System Models Static Views OO System Models Static Views UML Class & Object Diagrams Software Engineering OO Models Class Diagram Slide 1 Objective Introduces the evolutionary approach for building classes Explain how to identify

More information

Requirements & Domain Models. Lecture 13: Object Oriented Modelling. Nearly anything can be an object. Object Oriented Analysis

Requirements & Domain Models. Lecture 13: Object Oriented Modelling. Nearly anything can be an object. Object Oriented Analysis Lecture 3: Object Oriented Modelling Object Oriented Analysis Rationale Identifying Classes Attributes and Operations Class Diagrams Associations Multiplicity Aggregation Composition Generalization Easterbrook

More information

Relationships Between Real Things CSE 143. Common Relationship Patterns. Employee. Supervisor

Relationships Between Real Things CSE 143. Common Relationship Patterns. Employee. Supervisor CSE 143 Object & Class Relationships Inheritance Reading: Ch. 9, 14 Relationships Between Real Things Man walks dog Dog strains at leash Dog wears collar Man wears hat Girl feeds dog Girl watches dog Dog

More information

Relationships Between Real Things. CSE 143 Java. Common Relationship Patterns. Composition: "has a" CSE143 Sp Student.

Relationships Between Real Things. CSE 143 Java. Common Relationship Patterns. Composition: has a CSE143 Sp Student. CSE 143 Java Object & Class Relationships Inheritance Reading: Ch. 9, 14 Relationships Between Real Things Man walks dog Dog strains at leash Dog wears collar Man wears hat Girl feeds dog Girl watches

More information

Relationships Between Real Things CSC 143. Common Relationship Patterns. Composition: "has a" CSC Employee. Supervisor

Relationships Between Real Things CSC 143. Common Relationship Patterns. Composition: has a CSC Employee. Supervisor CSC 143 Object & Class Relationships Inheritance Reading: Ch. 10, 11 Relationships Between Real Things Man walks dog Dog strains at leash Dog wears collar Man wears hat Girl feeds dog Girl watches dog

More information

Back to ObjectLand. Contents at: Chapter 5. Questions of Interest. encapsulation. polymorphism. inheritance overriding inheritance super

Back to ObjectLand. Contents at: Chapter 5. Questions of Interest. encapsulation. polymorphism. inheritance overriding inheritance super korienekch05.qxd 11/12/01 4:06 PM Page 105 5 Back to ObjectLand Contents at: Chapter 5 #( encapsulation polymorphism inheritance overriding inheritance super learning the class hierarchy finding classes

More information

Enhanced Entity- Relationship Models (EER)

Enhanced Entity- Relationship Models (EER) Enhanced Entity- Relationship Models (EER) LECTURE 3 Dr. Philipp Leitner philipp.leitner@chalmers.se @xleitix LECTURE 3 Covers Small part of Chapter 3 Chapter 4 Please read this up until next lecture!

More information

Credit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects

Credit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects Lecture 4: Fundamentals of Object Technology Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some material presented in this lecture

More information

PROGRAMMING LANGUAGE 2

PROGRAMMING LANGUAGE 2 31/10/2013 Ebtsam Abd elhakam 1 PROGRAMMING LANGUAGE 2 Java lecture (7) Inheritance 31/10/2013 Ebtsam Abd elhakam 2 Inheritance Inheritance is one of the cornerstones of object-oriented programming. It

More information

CREATED BY: Muhammad Bilal Arslan Ahmad Shaad. JAVA Chapter No 5. Instructor: Muhammad Naveed

CREATED BY: Muhammad Bilal Arslan Ahmad Shaad. JAVA Chapter No 5. Instructor: Muhammad Naveed CREATED BY: Muhammad Bilal Arslan Ahmad Shaad JAVA Chapter No 5 Instructor: Muhammad Naveed Muhammad Bilal Arslan Ahmad Shaad Chapter No 5 Object Oriented Programming Q: Explain subclass and inheritance?

More information

Inheritance and Polymorphism

Inheritance and Polymorphism Object Oriented Programming Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. Al-Azhar University Website: eaymanelshenawy.wordpress.com Email : eaymanelshenawy@azhar.edu.eg

More information

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-Oriented Software Engineering Practical Software Development using UML and Java Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical

More information

CS211 Lecture: Relationships Between Classes: Dependency, Inheritance, and Realization

CS211 Lecture: Relationships Between Classes: Dependency, Inheritance, and Realization CS211 Lecture: Relationships Between Classes: Dependency, Inheritance, and Realization Objectives: last revised July 21, 2003 1. To introduce the dependency relationship between classes 2. To review the

More information

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science Lesson 11 INTRODUCING UML W.C.Udwela Department of Mathematics & Computer Science Why we model? Central part of all the activities We build model to Communicate Visualize and control Better understand

More information

8. Polymorphism and Inheritance

8. Polymorphism and Inheritance 8. Polymorphism and Inheritance Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich http://seal.ifi.uzh.ch/info1 Objectives Describe polymorphism and inheritance in general Define interfaces

More information

CHAPTER. Knowledge Representation

CHAPTER. Knowledge Representation CHAPTER Knowledge Representation 3 If, for a given problem, we have a means of checking a proposed solution, then we can solve the problem by testing all possible answers. But this always takes much too

More information

Inheritance. Inheritance Reserved word protected Reserved word super Overriding methods Class Hierarchies Reading for this lecture: L&L

Inheritance. Inheritance Reserved word protected Reserved word super Overriding methods Class Hierarchies Reading for this lecture: L&L Inheritance Inheritance Reserved word protected Reserved word super Overriding methods Class Hierarchies Reading for this lecture: L&L 9.1 9.4 1 Inheritance Inheritance allows a software developer to derive

More information

Ways of documenting Session 5: detailed requirements The Data Dictionary one any The Project A data dictionary Data Dictionary may be maintained

Ways of documenting Session 5: detailed requirements The Data Dictionary one any The Project A data dictionary Data Dictionary may be maintained Session 5: The Data Dictionary relationship to systems analysis methodologies relationship to project management data definition vs. data representation taxonomy of data types COMP 477 /377, Fall, 2018

More information

Where Is My Package? (a.k.a. WIMP)

Where Is My Package? (a.k.a. WIMP) Developers of WIMP Where Is My Package? Where Is My Package? (a.k.a. WIMP) USER GUIDE: How-to for basic WIMP functions December 2011 For an instant how-to, the following pages provide a quick interactive

More information

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance

More information

MSO Analysis & UML. Hans Philippi (based on the course slides of Wouter Swierstra) August 24, Analysis & UML 1 / 56

MSO Analysis & UML. Hans Philippi (based on the course slides of Wouter Swierstra) August 24, Analysis & UML 1 / 56 MSO Analysis & UML Hans Philippi (based on the course slides of Wouter Swierstra) August 24, 2018 Analysis & UML 1 / 56 Recap: Last lectures How can I manage the process of constructing complex software?

More information

CH3. Class Modeling Tae-Hoon Song. Michael Blaha, James Rumbaugh Object-Oriented Modeling and Design with UML SE LAB KAIST

CH3. Class Modeling Tae-Hoon Song. Michael Blaha, James Rumbaugh Object-Oriented Modeling and Design with UML SE LAB KAIST SE LAB KAIST CH3. Class Modeling Michael Blaha, James Rumbaugh Object-Oriented Modeling and Design with UML 2006-04-12 Tae-Hoon Song Software Engineering Lab 1 Contents Introduction Background Object and

More information

Lecture 7, Part 1: Object Oriented Modelling

Lecture 7, Part 1: Object Oriented Modelling Lecture 7, Part 1: Object Oriented Modelling Object Oriented Analysis Rationale Identifying Classes Attributes and Operations Class Diagrams Associations Multiplicity Aggregation Composition Generalization

More information

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch Class diagrams Modeling with UML Chapter 2, part 2 CS 4354 Summer II 2015 Jill Seaman Used to describe the internal structure of the system. Also used to describe the application domain. They describe

More information

ER modeling. Lecture 4

ER modeling. Lecture 4 ER modeling Lecture 4 1 Copyright 2007 STI - INNSBRUCK Today s lecture ER modeling Slides based on Introduction to Entity-relationship modeling at http://www.inf.unibz.it/~franconi/teaching/2000/ct481/er-modelling/

More information

Ways of documenting Session 5: detailed requirements The Data Dictionary one any The Project A data dictionary Data Dictionary may be maintained

Ways of documenting Session 5: detailed requirements The Data Dictionary one any The Project A data dictionary Data Dictionary may be maintained Session 5: The Data Dictionary relationship to systems analysis methodologies relationship to project management data definition vs. data representation taxonomy of data types COMP 477 /377, Spring, 2017

More information

Inheritance (Outsource: )

Inheritance (Outsource: ) (Outsource: 9-12 9-14) is a way to form new classes using classes that have already been defined. The new classes, known as derived classes, inherit attributes and behavior of the pre-existing classes,

More information

Programming using C# LECTURE 07. Inheritance IS-A and HAS-A Relationships Overloading and Overriding Polymorphism

Programming using C# LECTURE 07. Inheritance IS-A and HAS-A Relationships Overloading and Overriding Polymorphism Programming using C# LECTURE 07 Inheritance IS-A and HAS-A Relationships Overloading and Overriding Polymorphism What is Inheritance? A relationship between a more general class, called the base class

More information

Object Oriented Software Development CIS Today: Object Oriented Analysis

Object Oriented Software Development CIS Today: Object Oriented Analysis Object Oriented Software Development CIS 50-3 Marc Conrad D104 (Park Square Building) Marc.Conrad@luton.ac.uk Today: Object Oriented Analysis The most single important ability in object oriented analysis

More information

Object-Oriented Concepts and Principles (Adapted from Dr. Osman Balci)

Object-Oriented Concepts and Principles (Adapted from Dr. Osman Balci) Object-Oriented Concepts and Principles (Adapted from Dr. Osman Balci) Sung Hee Park Department of Mathematics and Computer Science Virginia State University September 18, 2012 The Object-Oriented Paradigm

More information

Module 10 Inheritance, Virtual Functions, and Polymorphism

Module 10 Inheritance, Virtual Functions, and Polymorphism Module 10 Inheritance, Virtual Functions, and Polymorphism Table of Contents CRITICAL SKILL 10.1: Inheritance Fundamentals... 2 CRITICAL SKILL 10.2: Base Class Access Control... 7 CRITICAL SKILL 10.3:

More information

CSSE 220 Day 15. Inheritance. Check out DiscountSubclasses from SVN

CSSE 220 Day 15. Inheritance. Check out DiscountSubclasses from SVN CSSE 220 Day 15 Inheritance Check out DiscountSubclasses from SVN Discount Subclasses Work in pairs First look at my solution and understand how it works Then draw a UML diagram of it DiscountSubclasses

More information

ECE 122. Engineering Problem Solving with Java

ECE 122. Engineering Problem Solving with Java ECE 122 Engineering Problem Solving with Java Lecture 17 Inheritance Overview Problem: Can we create bigger classes from smaller ones without having to repeat information? Subclasses: a class inherits

More information

CS107 Handout 37 Spring 2007 May 25, 2007 Introduction to Inheritance

CS107 Handout 37 Spring 2007 May 25, 2007 Introduction to Inheritance CS107 Handout 37 Spring 2007 May 25, 2007 Introduction to Inheritance Handout written by Julie Zelenski, updated by Jerry. Inheritance is a language property most gracefully supported by the object-oriented

More information

Conceptual Data Models for Database Design

Conceptual Data Models for Database Design Conceptual Data Models for Database Design Entity Relationship (ER) Model The most popular high-level conceptual data model is the ER model. It is frequently used for the conceptual design of database

More information

Object-Oriented Programming in C++/Handout 01 Page 1 of 8

Object-Oriented Programming in C++/Handout 01 Page 1 of 8 Object-Oriented Programming in C++/Handout 01 Page 1 of 8 Table of Contents Table of Contents... 1 Learning Objectives... 2 Object-Oriented Approach... 2 Advantages of Object-Oriented Approach... 2 Principles

More information

COMP102: Introduction to Databases, 13

COMP102: Introduction to Databases, 13 COMP102: Introduction to Databases, 13 Dr Muhammad Sulaiman Khan Department of Computer Science University of Liverpool U.K. 7 March, 2011 Logical Database Design: Enhanced ER Modeling Specific topics

More information

CS111: PROGRAMMING LANGUAGE II

CS111: PROGRAMMING LANGUAGE II 1 CS111: PROGRAMMING LANGUAGE II Computer Science Department Lecture 8(a): Abstract Classes Lecture Contents 2 Abstract base classes Concrete classes Dr. Amal Khalifa, 2014 Abstract Classes and Methods

More information

Prepared By:Mitali sonar

Prepared By:Mitali sonar Prepared By:Mitali sonar OOAD It focuses on objects where system is broken down in terms of the objects that exist within it. Functions (behaviour) and data (state) relating to a single object are selfcontained

More information

Basic Object-Oriented Concepts. 5-Oct-17

Basic Object-Oriented Concepts. 5-Oct-17 Basic Object-Oriented Concepts 5-Oct-17 Concept: An object has behaviors In old style programming, you had: data, which was completely passive functions, which could manipulate any data An object contains

More information

Software Development

Software Development Software Development and Professional Practice Object-Oriented Design Part the Third: (in which we revisit several parts of the OOA&D process, culminating in some general design principles) Object Oriented

More information

Class modelling (part 2)

Class modelling (part 2) Class modelling (part 2) Fabrizio Maria Maggi Institute of Computer Science (these slides are derived from the book Object-oriented modeling and design with UML ) Qualified Associations What is the meaning

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes 5.1 What is UML? The Unified Modelling Language is a standard graphical language

More information

EE 446 EMBEDDED ARCHITECTURE Embedded System in UML (2)

EE 446 EMBEDDED ARCHITECTURE Embedded System in UML (2) EE 446 EMBEDDED ARCHITECTURE Embedded System in UML (2) Airs Lin PART I CLASS DIAGRAMS System Analysis and Design. Identify the information system s purpose 2. Identify the information system s actors

More information

Modelling with Classes. CITS1220 Software Engineering

Modelling with Classes. CITS1220 Software Engineering Modelling with Classes CITS1220 Software Engineering Lecture Overview Classes and UML Associations between classes Special types of association: is-a, has-a, is-part-of Modelling Example Implementing associations

More information

HAS-A Relationship. If A uses B, then it is an aggregation, stating that B exists independently from A.

HAS-A Relationship. If A uses B, then it is an aggregation, stating that B exists independently from A. HAS-A Relationship Association is a weak relationship where all objects have their own lifetime and there is no ownership. For example, teacher student; doctor patient. If A uses B, then it is an aggregation,

More information

Object Oriented Analysis and Design: An Overview

Object Oriented Analysis and Design: An Overview Object Oriented Analysis and Design: An Overview Balaji Rajagopalan Credits: Material for the slides is drawn from a variety of sources including Object Oriented Analysis and Design using UML by Ali Bahrami.

More information

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects,

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Classes, Class Diagrams Values and Attributes Operations

More information

CSE 143 Lecture 12 Inheritance

CSE 143 Lecture 12 Inheritance CSE 143 Lecture 12 Inheritance slides created by Ethan Apter http://www.cs.washington.edu/143/ Intuition: Employee Types Consider this (partial) hierarchy of employee types: Employee Clerical Professional

More information

E-R Model. Hi! Here in this lecture we are going to discuss about the E-R Model.

E-R Model. Hi! Here in this lecture we are going to discuss about the E-R Model. E-R Model Hi! Here in this lecture we are going to discuss about the E-R Model. What is Entity-Relationship Model? The entity-relationship model is useful because, as we will soon see, it facilitates communication

More information

Q &A on Entity Relationship Diagrams. What is the Point? 1 Q&A

Q &A on Entity Relationship Diagrams. What is the Point? 1 Q&A 1 Q&A Q &A on Entity Relationship Diagrams The objective of this lecture is to show you how to construct an Entity Relationship (ER) Diagram. We demonstrate these concepts through an example. To break

More information

Chapter 4. Enhanced Entity- Relationship Modeling. Enhanced-ER (EER) Model Concepts. Subclasses and Superclasses (1)

Chapter 4. Enhanced Entity- Relationship Modeling. Enhanced-ER (EER) Model Concepts. Subclasses and Superclasses (1) Chapter 4 Enhanced Entity- Relationship Modeling Enhanced-ER (EER) Model Concepts Includes all modeling concepts of basic ER Additional concepts: subclasses/superclasses, specialization/generalization,

More information

ROCKINGHAM COUNTY, VIRGINIA

ROCKINGHAM COUNTY, VIRGINIA 1. What is this ZIP code issue all about? There are three overriding issues that Rockingham County wishes to address: Community Identity Residents and a significant portion of the business community are

More information

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION c08classandmethoddesign.indd Page 282 13/12/14 2:57 PM user 282 Chapter 8 Class and Method Design acceptance of UML as a standard object notation, standardized approaches based on work of many object methodologists

More information

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : , Course Code : MCS-032 Course Title : Object Oriented Analysis and Design Assignment Number : MCA (3)/032/Assign/2014-15 Assignment Marks : 100 Weightage : 25% Last Dates for Submission : 15th October,

More information

Suggested answers are provided below. These answers are presented top-down, left to right.

Suggested answers are provided below. These answers are presented top-down, left to right. Answers to Key Terms Suggested answers are provided below. These answers are presented top-down, left to right. 5. Actor 16. Concrete class 39. Use case 13. Class-scope attribute 40. Use-case diagram 2.

More information

What are the characteristics of Object Oriented programming language?

What are the characteristics of Object Oriented programming language? What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is

More information

Identifying entities. Another relationship. Continue exploring our first model for databases: Entity-relationship (ER) model. Identifying entities

Identifying entities. Another relationship. Continue exploring our first model for databases: Entity-relationship (ER) model. Identifying entities CO 597A: Principles of Database and Information ystems Continue exploring our first model for databases: Entity-relationship (ER) model Board Example Entity : (, IBN#,, ) Entity : (name, gender, birth,

More information

08. DESIGN PRINCIPLES. Originality is Overrated PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT

08. DESIGN PRINCIPLES. Originality is Overrated PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 08. DESIGN PRINCIPLES Originality is Overrated it s not about doing it your way this week is all about doing it the smarter, faster way. Design principle

More information

Originality is Overrated: OO Design Principles

Originality is Overrated: OO Design Principles Originality is Overrated: OO Design Principles Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/6448 Lecture 13 10/09/2007 University of Colorado, 2007 1 Lecture Goals Review material from

More information

Basic Structural Modeling. Copyright Joey Paquet,

Basic Structural Modeling. Copyright Joey Paquet, Basic Structural Modeling Copyright Joey Paquet, 2000 1 Part I Classes Copyright Joey Paquet, 2000 2 Classes Description of a set of objects sharing the same attributes, operations and semantics Abstraction

More information

CS 338 The Enhanced Entity-Relationship (EER) Model

CS 338 The Enhanced Entity-Relationship (EER) Model CS 338 The Enhanced Entity-Relationship (EER) Model Bojana Bislimovska Spring 2017 Major research Outline EER model overview Subclasses, superclasses and inheritance Specialization and generalization Modeling

More information

Chapter 10 Classes Continued. Fundamentals of Java

Chapter 10 Classes Continued. Fundamentals of Java Chapter 10 Classes Continued Objectives Know when it is appropriate to include class (static) variables and methods in a class. Understand the role of Java interfaces in a software system and define an

More information

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch Class diagrams Modeling with UML Chapter 2, part 2 CS 4354 Summer II 2014 Jill Seaman Used to describe the internal structure of the system. Also used to describe the application domain. They describe

More information

Object-Oriented Design

Object-Oriented Design Software and Programming I Object-Oriented Design Roman Kontchakov / Carsten Fuhs Birkbeck, University of London Outline Discovering classes and methods Relationships between classes An object-oriented

More information

Software Engineering Prof.N.L.Sarda IIT Bombay. Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II)

Software Engineering Prof.N.L.Sarda IIT Bombay. Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II) Software Engineering Prof.N.L.Sarda IIT Bombay Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II) We will continue our discussion on process modeling. In the previous lecture

More information

Class modelling (part 2)

Class modelling (part 2) Class modelling (part 2) Fabrizio Maria Maggi Institute of Computer Science (these slides are derived from the book Object-oriented modeling and design with UML ) Qualified Associations What is the meaning

More information

SQL Server 2005 builds on the existing strengths of SQL Server 2000 to

SQL Server 2005 builds on the existing strengths of SQL Server 2000 to In This Chapter Chapter 1 The Joy of SQL Server 2005 Programming Choosing the right SQL Server edition for your programming goals Gathering and manipulating data Enforcing business rules for your database

More information

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram Modeling with UML A language or notation intended for analyzing, describing and documenting all aspects of the object-oriented software system. UML uses graphical notations to express the design of software

More information

Chapter (4) Enhanced Entity-Relationship and Object Modeling

Chapter (4) Enhanced Entity-Relationship and Object Modeling Chapter (4) Enhanced Entity-Relationship and Object Modeling Objectives Concepts of subclass and superclass and the related concepts of specialization and generalization. Concept of category, which is

More information

1. Write two major differences between Object-oriented programming and procedural programming?

1. Write two major differences between Object-oriented programming and procedural programming? 1. Write two major differences between Object-oriented programming and procedural programming? A procedural program is written as a list of instructions, telling the computer, step-by-step, what to do:

More information

Weak Entity Sets. A weak entity is an entity that cannot exist in a database unless another type of entity also exists in that database.

Weak Entity Sets. A weak entity is an entity that cannot exist in a database unless another type of entity also exists in that database. Weak Entity Sets A weak entity is an entity that cannot exist in a database unless another type of entity also exists in that database. Weak entity meets two conditions Existence-dependent Cannot exist

More information

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A G R A M S ) WHAT IS CLASS DIAGRAM? A class diagram

More information

Inheritance, Polymorphism, and Interfaces

Inheritance, Polymorphism, and Interfaces Inheritance, Polymorphism, and Interfaces Chapter 8 Inheritance Basics (ch.8 idea) Inheritance allows programmer to define a general superclass with certain properties (methods, fields/member variables)

More information

How to query general person information. Last Updated: 22-Nov-2010

How to query general person information. Last Updated: 22-Nov-2010 How to query general person information Table of Contents How to view, modify or create a person...3 How to view and modify existing records...4 How to create a new person record...5 How to view, add and

More information

HAS-A Relationship. Association is a relationship where all objects have their own lifecycle and there is no owner.

HAS-A Relationship. Association is a relationship where all objects have their own lifecycle and there is no owner. HAS-A Relationship Association is a relationship where all objects have their own lifecycle and there is no owner. For example, teacher student Aggregation is a specialized form of association where all

More information

Object Oriented Programming is a programming method that combines: Advantage of Object Oriented Programming

Object Oriented Programming is a programming method that combines: Advantage of Object Oriented Programming Overview of OOP Object Oriented Programming is a programming method that combines: a) Data b) Instructions for processing that data into a self-sufficient object that can be used within a program or in

More information

INHERITANCE AND EXTENDING CLASSES

INHERITANCE AND EXTENDING CLASSES INHERITANCE AND EXTENDING CLASSES Java programmers often take advantage of a feature of object-oriented programming called inheritance, which allows programmers to make one class an extension of another

More information

An Overview of Visual Basic.NET: A History and a Demonstration

An Overview of Visual Basic.NET: A History and a Demonstration OVERVIEW o b j e c t i v e s This overview contains basic definitions and background information, including: A brief history of programming languages An introduction to the terminology used in object-oriented

More information

Object- Oriented Design with UML and Java Part I: Fundamentals

Object- Oriented Design with UML and Java Part I: Fundamentals Object- Oriented Design with UML and Java Part I: Fundamentals University of Colorado 1999-2002 CSCI-4448 - Object-Oriented Programming and Design These notes as free PDF files: http://www.softwarefederation.com/cs4448.html

More information

Java How to Program, 8/e

Java How to Program, 8/e Java How to Program, 8/e Polymorphism Enables you to program in the general rather than program in the specific. Polymorphism enables you to write programs that process objects that share the same superclass

More information

Lecture Contents CS313D: ADVANCED PROGRAMMING LANGUAGE. What is Inheritance?

Lecture Contents CS313D: ADVANCED PROGRAMMING LANGUAGE. What is Inheritance? CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 5: Inheritance & Polymorphism Lecture Contents 2 What is Inheritance? Super-class & sub class Protected members Creating subclasses

More information

22/09/2012 INFO2110. Copyright Warning. Revision of class diagram. Overview. Purpose of class diagram. Generalization Relationship

22/09/2012 INFO2110. Copyright Warning. Revision of class diagram. Overview. Purpose of class diagram. Generalization Relationship 22/09/202 INFO20 Copyright Warning System Analysis and Modelling Semester 2, 202 Lecture 8, Structural Modelling (II) COMMONWEALTH OF AUSTRALIA Copyright Regulations 969 WARNING This material has been

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 2: Review of Object Orientation

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 2: Review of Object Orientation Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 2: Review of Object Orientation 2.1 What is Object Orientation? Procedural paradigm: Software is organized

More information

CSCI315 Database Design and Implementation Singapore Assignment 2 11 January 2018

CSCI315 Database Design and Implementation Singapore Assignment 2 11 January 2018 School of Computer Science & Software Engineering Session: 1, January 2017 University of Wollongong Lecturer: Janusz R. Getta CSCI315 Database Design and Implementation Singapore 2018-1 Assignment 2 11

More information

Chapter 2 ENTITY RELATIONSHIP MODEL

Chapter 2 ENTITY RELATIONSHIP MODEL INTRODUCTION Chapter 2 ENTITY RELATIONSHIP MODEL Data model is used to describe data, data relationship and constraints on data. A number of different data models have proposed. They can broadly be classified

More information

Object Fundamentals Part Three. Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/6448 Lecture 4 09/06/2007

Object Fundamentals Part Three. Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/6448 Lecture 4 09/06/2007 Object Fundamentals Part Three Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/6448 Lecture 4 09/06/2007 1 Lecture Goals Continue our tour of the basic concepts, terminology, and notations

More information

Object-Oriented Systems Development: Using the Unified Modeling Language

Object-Oriented Systems Development: Using the Unified Modeling Language Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 8: Identifying Object Relationships, Attributes, and Methods Goals Analyzing relationships among classes. Identifying association.

More information

Object Oriented Analysis & Design (OOAD)

Object Oriented Analysis & Design (OOAD) Object Oriented Analysis & Design (OOAD) 1 OOAD It focuses on objects where system is broken down in terms of the objects that exist within it. Functions (behaviour) and data (state) relating to a single

More information

Ch t 8 Chapter 8. System Models

Ch t 8 Chapter 8. System Models Ch t 8 Chapter 8. System Models Objectives To explain why the context t of a system should be modelled d as a part of requirements engineering process To describe behavioural modelling, data modelling

More information

CS313D: ADVANCED PROGRAMMING LANGUAGE

CS313D: ADVANCED PROGRAMMING LANGUAGE CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 5: Inheritance & Polymorphism Lecture Contents 2 What is Inheritance? Super-class & sub class Protected members Creating subclasses

More information

0. Database Systems 1.1 Introduction to DBMS Information is one of the most valuable resources in this information age! How do we effectively and efficiently manage this information? - How does Wal-Mart

More information

1 Jane s dress is... yours. A the same than B the same to C similar than D similar to

1 Jane s dress is... yours. A the same than B the same to C similar than D similar to Test 5A 1 Jane s dress is... yours. A the same than B the same to C similar than D similar to 2 We ve proved that he was guilty but he... doesn t admit it. A yet B already C still D no longer 3 If I...

More information

Overview of OOP. Dr. Zhang COSC 1436 Summer, /18/2017

Overview of OOP. Dr. Zhang COSC 1436 Summer, /18/2017 Overview of OOP Dr. Zhang COSC 1436 Summer, 2017 7/18/2017 Review Data Structures (list, dictionary, tuples, sets, strings) Lists are enclosed in square brackets: l = [1, 2, "a"] (access by index, is mutable

More information

Java Object Oriented Design. CSC207 Fall 2014

Java Object Oriented Design. CSC207 Fall 2014 Java Object Oriented Design CSC207 Fall 2014 Design Problem Design an application where the user can draw different shapes Lines Circles Rectangles Just high level design, don t write any detailed code

More information

CSE1720. General Info Continuation of Chapter 9 Read Chapter 10 for next week. Second level Third level Fourth level Fifth level

CSE1720. General Info Continuation of Chapter 9 Read Chapter 10 for next week. Second level Third level Fourth level Fifth level CSE1720 Click to edit Master Week text 08, styles Lecture 13 Second level Third level Fourth level Fifth level Winter 2014! Thursday, Feb 27, 2014 1 General Info Continuation of Chapter 9 Read Chapter

More information

PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 00. WELCOME TO OBJECTVILLE. Speaking the Language of OO

PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 00. WELCOME TO OBJECTVILLE. Speaking the Language of OO PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 00. WELCOME TO OBJECTVILLE Speaking the Language of OO COURSE INFO Instructor : Alper Bilge TA : Gökhan Çıplak-Ahmet Alkılınç Time : Tuesdays 2-5pm Location

More information

Unified Modeling Language (UML) Class Diagram

Unified Modeling Language (UML) Class Diagram 1 / 10 Unified Modeling Language (UML) Class Diagram Miaoqing Huang University of Arkansas Spring 2010 2 / 10 Outline 1 2 3 / 10 Class Diagram Class diagrams show the static structure of the classes that

More information

July 11, To: Prospective Vendors

July 11, To: Prospective Vendors July 11, 2018 To: Prospective Vendors The City of Oakley will be hosting the 6th Annual Heart of Oakley event on Saturday, September 22nd, 2018. We invite you to join us to sell your wares, market your

More information