Advanced UML Class Models

Size: px
Start display at page:

Download "Advanced UML Class Models"

Transcription

1 Advanced UML Class Models Or: Love s Labors Lost Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO Box , Tucson, AZ 85721, USA August 27, 2012 Jonathan Sprinkle Advanced UML Class Models 1

2 Abstract Abstract This lecture continues discussion of Class Modeling and introduces object modeling. It then discusses special kinds of multiplicities, and has some in-class exercises relevant to critical thinking and design. Jonathan Sprinkle Advanced UML Class Models 2

3 Previously, on ECE There are 5 things you should remember about OO languages... 2 Class modeling is the modeling of the structure of software 3 Inheritance are IS-A relationships, that share properties 4 Associations permit... objects to be associated with one another Jonathan Sprinkle Advanced UML Class Models 3

4 Outline 1 Encapsulation Definitions 2 Object Diagrams How to show Objects Associations Multiplicity Association End Names In-Class Exercises 3 Advanced Class Diagram Concepts Stereotypes Enumerations and Numbers Scoping and Visibility Abstract classes Ordering Bags and Sequences Jonathan Sprinkle Advanced UML Class Models 4

5 Definitions Graphical Definition Encapsulation is a special kind of association, which is denoted using a diamond and extending line. Container attr : type oper : type * Class attr : type attr2 : type oper : type Figure: Encapsulation Jonathan Sprinkle Advanced UML Class Models 5

6 Definitions Kinds of Encapsulation There are two kinds of encapsulation: aggregation and composition. Roughly broken down, aggregation is containment through constructor creation (i.e., responsible for create/delete the memory), composition is containment without owning the memory. We will use aggregations notation exclusively, and rely on documentation to determine whether containment of object, or of pointer, is used in implementation. Encapsulation is a mechanism used for information hiding, where some data are hidden from either the user, or another class. Aggregation is denoted using a solid diamond (touching the containing class) with an extending line that touches the contained class. The extending line may contain multiplicities, which imply the cardinality of the relationship(s). Jonathan Sprinkle Advanced UML Class Models 6

7 Definitions Example 1 Example A Computer has a Processor Computer manufacturer : string * Processor manufacturer : string formfactor : string clock : long FSB_rate : long There are no semantics for whether the containment line is round, straight, angled, etc. Jonathan Sprinkle Advanced UML Class Models 7

8 Definitions Example 2 Example A bicycle has two wheels Bicycle manufacturer : string 2 Wheel diameter : double hasinnertube : bool Jonathan Sprinkle Advanced UML Class Models 8

9 Definitions Example 3 Example A square has four sides Square getarea( ) : double getperimeter( ): double 4 Side length : double Jonathan Sprinkle Advanced UML Class Models 9

10 Definitions Example 4 Example A staircase has one or more stairs Staircase getrise( ) : double getrun( ) : double 1..* Stair riser : double tread : double Jonathan Sprinkle Advanced UML Class Models 10

11 Definitions Example 5 Example A classroom has zero or more overhead projectors Room maxoccupancy : int buildingid : int roomnumber : string 0..* Projector manufacturer : string hasvga : bool hasdvi : bool Jonathan Sprinkle Advanced UML Class Models 11

12 Outline 1 Encapsulation Definitions 2 Object Diagrams How to show Objects Associations Multiplicity Association End Names In-Class Exercises 3 Advanced Class Diagram Concepts Stereotypes Enumerations and Numbers Scoping and Visibility Abstract classes Ordering Bags and Sequences Jonathan Sprinkle Advanced UML Class Models 12

13 How to show Objects Object diagrams are just like class diagrams, except they show instances/objects instead of types/classes. obj1 : Container attr : type = value oper : type = value obj2 : Class attr : type = value attr2 : type = value oper : type : Class attr : type = value attr2 : type = value oper : type Figure: A very simple object diagram. Names must be unique on a diagram, or two objects are considered unique. If no name is given to the object, its identity preserves uniqueness. Jonathan Sprinkle Advanced UML Class Models 13

14 How to show Objects Example A Person with two Jobs : Job title : str = "Junior Mint" salary : int = "1000" : Company name : string = "Century Theaters" address : string = "The Mall" dad : Person lastname : string = "Sprinkle" birthdate : date = "4/8/15" address : string = "1623 Lane" : Company name : string = "Sears" address : string = "The Mall" steady : Job title : str = "Senior Warden" salary : int = "10000" Note that multiplicities in object diagrams are not very meaningful. Jonathan Sprinkle Advanced UML Class Models 14

15 Associations Recall the definition of a link. Definition A link is a connection among objects (i.e., at runtime). An association is the design-time abstraction of links. Definition An association is a description of a group of links with common structure and common semantics. Jonathan Sprinkle Advanced UML Class Models 15

16 Multiplicity Definition Multiplicity specifies the number of instances of one class that may relate to a single instance of an associated class. Thus, multiplicity is a constraint on the number of related objects. In a UML diagram, multiplicity is explicitly listed at the ends of associations. A non-explicit listing is interpreted as 1, which although is a useful shorthand, should be made explicit when not used for aggregation associations. Jonathan Sprinkle Advanced UML Class Models 16

17 Multiplicity Example Consider a Team, which is associated with a HeadCoach. Each Team retains exactly one HeadCoach, and each HeadCoach is coaching exactly one Team. HeadCoach name : string Team name : string mascot : string Figure: HeadCoach and Team class diagram. Jonathan Sprinkle Advanced UML Class Models 17

18 Multiplicity phil: HeadCoach name : string = "Phillip Fulmer" ut: Team name : string = "UT" mascot : string = "Volunteers" Figure: HeadCoach and Team object diagram Jonathan Sprinkle Advanced UML Class Models 18

19 Multiplicity Example Consider a Laptop, which may or may not be associated with an ExternalKeyboard. The ExternalKeyboard may have only one Laptop associated with it, but the Laptop may, or may not, choose to participate in the association, since it has its own keyboard. Laptop manufacturer : string dnsname : string screensize : int ExternalKeyboard manufacturer : string numkeys : int Figure: Laptop and ExternalKeyboard class diagram. Jonathan Sprinkle Advanced UML Class Models 19

20 Multiplicity macphee : Laptop manufacturer : string = "Apple" dnsname : string = "macphee" screensize : int = 17 : ExternalKeyboard manufacturer : string = "Apple" numkeys : int = 88 home : ExternalKeyboard manufacturer : string = "Logitech" numkeys : int = 132 Figure: Laptop and ExternalKeyboard object diagram Jonathan Sprinkle Advanced UML Class Models 20

21 Association End Names Definition An association end is a named role which all objects participating in that role of the association may be referenced as. Association end names are extremely useful for describing roles of associations between objects of the same type, or when allowing multiple kinds of associations to take place between two types. Jonathan Sprinkle Advanced UML Class Models 21

22 Association End Names Example Consider a Person, which can be the parent of a child. Every child has 2 parents, and every parent can have 0.. child(ren). Person lastname : string birthdate : date child 0..* 2 parent Figure: Person with parent/child class diagram. Jonathan Sprinkle Advanced UML Class Models 22

23 Association End Names So, what is wrong with this object diagram? ken : Person lastname : string = "Sprinkle" birthdate : date = "Feb 30" teresa : Person lastname : string = "Sprinkle" birthdate : date = "June 31" jon : Person lastname : string = "Sprinkle" birthdate : date = "Jul 32" Figure: Person with parent/child object diagram. 1 There are no rolenames! 2 There are persons without 2 parents!!! Jonathan Sprinkle Advanced UML Class Models 23

24 Association End Names So, what is wrong with this object diagram? ken : Person lastname : string = "Sprinkle" birthdate : date = "Feb 30" teresa : Person lastname : string = "Sprinkle" birthdate : date = "June 31" jon : Person lastname : string = "Sprinkle" birthdate : date = "Jul 32" Figure: Person with parent/child object diagram. 1 There are no rolenames! 2 There are persons without 2 parents!!! Jonathan Sprinkle Advanced UML Class Models 24

25 Association End Names So, what is wrong with this object diagram? ken : Person lastname : string = "Sprinkle" birthdate : date = "Feb 30" teresa : Person lastname : string = "Sprinkle" birthdate : date = "June 31" jon : Person lastname : string = "Sprinkle" birthdate : date = "Jul 32" Figure: Person with parent/child object diagram. 1 There are no rolenames! 2 There are persons without 2 parents!!! Jonathan Sprinkle Advanced UML Class Models 25

26 Association End Names Revised Person/Parent Class Diagram Example (Updated) Consider a Person, which can be the parent of a child. Every child has 0..2 parents, and every parent can have 0.. child(ren). Person lastname : string birthdate : date child 0..* 0..2 parent Figure: Corrected class diagram Jonathan Sprinkle Advanced UML Class Models 26

27 Association End Names Revised Person/Parent Object Diagram ken : Person lastname : string = "Sprinkle" birthdate : date = "Feb 30" teresa : Person lastname : string = "Sprinkle" birthdate : date = "June 31" parent parent child jon : Person lastname : string = "Sprinkle" birthdate : date = "Jul 32" parent child mary : Person lastname : string = "Sprinkle" birthdate : date = "Nov 31" parent child george_andrew : Person lastname : string = "Sprinkle" birthdate : date = "Aug 15" child Figure: Revised object diagram Jonathan Sprinkle Advanced UML Class Models 27

28 In-Class Exercises In-Class Funtime Group together in fours, and get ready to draw some diagrams. Everyone draws a diagram, and then you choose one person to present your diagram on the projector. Jonathan Sprinkle Advanced UML Class Models 28

29 In-Class Exercises Example (Group A) Consider a SmartPhone which may or may not be associated with a Network. The Network may have many phones associated with it, but the SmartPhone may opt to not associate with a phone Network, but instead simply act as a handheld computer. Example (Group B) Consider a Professor, who may be associated with 1 or more University objects. The University has 1 or more Professor objects associated with it. Example (Group C) Consider a University which both hires, and teaches, Persons. While it is also possible to type the association in this case, by assigning roles it is a more lightweight design. Jonathan Sprinkle Advanced UML Class Models 29

30 In-Class Exercises Example (Group A) Consider a SmartPhone which may or may not be associated with a Network. The Network may have many phones associated with it, but the SmartPhone may opt to not associate with a phone Network, but instead simply act as a handheld computer. Example (Group B) Consider a Professor, who may be associated with 1 or more University objects. The University has 1 or more Professor objects associated with it. Example (Group C) Consider a University which both hires, and teaches, Persons. While it is also possible to type the association in this case, by assigning roles it is a more lightweight design. Jonathan Sprinkle Advanced UML Class Models 30

31 In-Class Exercises Example (Group A) Consider a SmartPhone which may or may not be associated with a Network. The Network may have many phones associated with it, but the SmartPhone may opt to not associate with a phone Network, but instead simply act as a handheld computer. Example (Group B) Consider a Professor, who may be associated with 1 or more University objects. The University has 1 or more Professor objects associated with it. Example (Group C) Consider a University which both hires, and teaches, Persons. While it is also possible to type the association in this case, by assigning roles it is a more lightweight design. Jonathan Sprinkle Advanced UML Class Models 31

32 Outline 1 Encapsulation Definitions 2 Object Diagrams How to show Objects Associations Multiplicity Association End Names In-Class Exercises 3 Advanced Class Diagram Concepts Stereotypes Enumerations and Numbers Scoping and Visibility Abstract classes Ordering Bags and Sequences Jonathan Sprinkle Advanced UML Class Models 32

33 Stereotypes A class may have a particular stereotype, which provides additional information about the class. Stereotypes are a special kind of inheritance, but on the language level (not the design level). The most useful kind of stereotype for you is the enumeration. Jonathan Sprinkle Advanced UML Class Models 33

34 Stereotypes Definition An enumeration is a (finite) set of values that make up a data type. Example enum ustimezones = ET, CT, MT, PT, AZ Jonathan Sprinkle Advanced UML Class Models 34

35 Stereotypes We refer to this enumeration as having cardinality 5, since ust imezones = 5 (i.e., the number of items in the enumeration is 5). An example of this representation in a class diagram can be seen in Figure 11. <<enumeration>> TimeZones ET CT MT PT AZ Figure: Enumeration as a stereotype. Jonathan Sprinkle Advanced UML Class Models 35

36 Scoping and Visibility Some features belong to the class, and not to an instantiated object. The concept of class features (rather than object features) is the most abstract of all scoping. Consequence: features in the class scope (denoted by the keyword static) do not require the class to be instantiated as an object before use. Example Using scoping at the class level. c l a s s C a l e n d a r { p u b l i c : s t a t i c short daysinweek ; i n t getnumevents ( ) ; } ; Jonathan Sprinkle Advanced UML Class Models 36

37 Scoping and Visibility Now, referring to Calendar::_daysInWeek should allow knowledge of the number of days in the week without having to query a Calendar object. Static scoping should only be applied to data members that are the same for all instances of a class. Changing this value for one instance would change for all instances. Example Checking how many instances there are of a class is knowledge at the class not object level. This usually requires that the constructor/destructor appropriately adds/subtracts a static variable each time they are called. Jonathan Sprinkle Advanced UML Class Models 37

38 Scoping and Visibility Syntax for Scoping Scoping is generally available through the :: operator in C++, allowing you to address objects in a namespace (std::cout), classes in a namespace (mynamespace::a) and various concatenations (mynamespace::a::staticmethodofa( )). Jonathan Sprinkle Advanced UML Class Models 38

39 Scoping and Visibility However, as a major point, there are two kinds of scope for design: class and object. We represent features with class scope as underlined in a class diagram. See the example in Figure 12 Calendar _daysinweek : short = 7 int getnumevents( ) Figure: Class scoping example. Jonathan Sprinkle Advanced UML Class Models 39

40 Scoping and Visibility Visibility refers to the access region of the features to other classes (including subclasses). We will cover visibility in more depth later, but you need to know the notation for regions. Example Using regions in class diagrams. c l a s s C a l e n d a r { p u b l i c : i n t getnumevents ( ) ; s t a t i c short getdaysinweek ( ) ; protected : s t d : : s t r i n g name ; p r i v a t e : s t a t i c short daysinweek ; } ; Jonathan Sprinkle Advanced UML Class Models 40

41 Scoping and Visibility We represent feature accessibility as shown in Figure 13, where + public access # protected access - private access Calendar -_daysinweek : short = 7 #_name : string +int getnumevents( ) +getdaysinweek( ) : short Figure: Jonathan Sprinkle Advanced UML Class Models 41

42 Abstract classes If a class is abstract, it is shown in italics when the classname is displayed. We will discuss abstract class implementation syntax later. Fundamentally, abstract classes cannot be instantiated. If a (non-abstract) class derived from an abstract is instantiated, then the IS-A concepts are still valid. Abstract classes are useful to use as interfaces, or to use in function signatures. Example (Look familiar?) Coin toss( ) : bool BiasedCoin bias : double = 0.6 result : bool toss( ) : bool Figure: An abstract class, from hw00 Jonathan Sprinkle Advanced UML Class Models 42

43 Ordering Sometimes it is convenient to consider that the many association end multiplicities can be ordered explicitly. Definition An ordering is an ordered set of objects; no duplicates are allowed. Example Consider that a Person may have an ordered association with EmergencyContact objects. Person lastname : string phonenumber : string emergencycontact 0..* {ordered} Figure: Person and EmergencyContact class diagram. Jonathan Sprinkle Advanced UML Class Models 43

44 Bags and Sequences You may explicitly allow duplicates, or ensure that duplicates are not ordered, by using the bag and sequence modifiers on an association end. Definition A bag is a collection of elements with duplicates allowed. Definition A sequence is an ordered collection of elements with duplicates allowed.. Jonathan Sprinkle Advanced UML Class Models 44

45 Bags and Sequences Example Consider a FrequentFlier who has flown several hundred segments in the previous year to numerous Airports. Since ordering is not important (the flights have already been taken) the association with Airports may contain duplicates. Jonathan Sprinkle Advanced UML Class Models 45

46 Bags and Sequences Example Consider an Itinerary which will visit multiple Airports. The multiplicity for each end is, but the Airport is a {sequence}, since the same airport may be visited multiple times. Jonathan Sprinkle Advanced UML Class Models 46

Advanced Class Diagrams and Intro to Interaction Modeling

Advanced Class Diagrams and Intro to Interaction Modeling Advanced Class Diagrams and Intro to Interaction Modeling Or: Advance to Illinois Avenue. Do not pass Go. Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO

More information

Object-Oriented Introduction

Object-Oriented Introduction Object-Oriented Introduction Or: Your Honor, I Object... Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO Box 210104, Tucson, AZ 85721, USA August 22, 2012

More information

administrivia today UML start design patterns Tuesday, September 28, 2010

administrivia today UML start design patterns Tuesday, September 28, 2010 administrivia Assignment 2? promise to get past assignment 1 back soon exam on monday review slides are posted your responsibility to review covers through last week today UML start design patterns 1 Unified

More information

SEEM4570 System Design and Implementation. Lecture 11 From Design to Implementation

SEEM4570 System Design and Implementation. Lecture 11 From Design to Implementation SEEM4570 System Design and Implementation Lecture 11 From Design to Implementation Introduction We learned programming and we learned UML, but separately. Now, the question is how can we translate a design

More information

Object Orientated Analysis and Design. Benjamin Kenwright

Object Orientated Analysis and Design. Benjamin Kenwright Notation Part 2 Object Orientated Analysis and Design Benjamin Kenwright Outline Review What do we mean by Notation and UML? Types of UML View Continue UML Diagram Types Conclusion and Discussion Summary

More information

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models CS 494 Object-Oriented Analysis & Design UML Class Models Overview How class models are used? Perspectives Classes: attributes and operations Associations Multiplicity Generalization and Inheritance Aggregation

More information

Chapter 11 Object and Object- Relational Databases

Chapter 11 Object and Object- Relational Databases Chapter 11 Object and Object- Relational Databases Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Outline Overview of Object Database Concepts Object-Relational

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

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

COP 3330 Final Exam Review

COP 3330 Final Exam Review COP 3330 Final Exam Review I. The Basics (Chapters 2, 5, 6) a. comments b. identifiers, reserved words c. white space d. compilers vs. interpreters e. syntax, semantics f. errors i. syntax ii. run-time

More information

UML Class Diagrams Revisited

UML Class Diagrams Revisited 9/25/2003 1 UML Class diagrams Organizing attributes and operations Class relationships Association Aggregation/Composition Multiplicity Dependencies 9/25/2003 2 UML Class Diagrams Revisited In the analysis

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Chapter 12 Outline Overview of Object Database Concepts Object-Relational Features Object Database Extensions to SQL ODMG Object Model and the Object Definition Language ODL Object Database Conceptual

More information

UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011

UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011 UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011 1 Goals of the Lecture Review the material in Chapter 2 of the Textbook Cover key parts of the UML notation

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

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

Contents. I. Classes, Superclasses, and Subclasses. Topic 04 - Inheritance

Contents. I. Classes, Superclasses, and Subclasses. Topic 04 - Inheritance Contents Topic 04 - Inheritance I. Classes, Superclasses, and Subclasses - Inheritance Hierarchies Controlling Access to Members (public, no modifier, private, protected) Calling constructors of superclass

More information

CPSC 427a: Object-Oriented Programming

CPSC 427a: Object-Oriented Programming CPSC 427a: Object-Oriented Programming Michael J. Fischer Lecture 16 November 1, 2012 CPSC 427a, Lecture 16 1/29 Unicode Characters and PS7 Name Visibility CPSC 427a, Lecture 16 2/29 Unicode Characters

More information

Introducing the UML Eng. Mohammed T. Abo Alroos

Introducing the UML Eng. Mohammed T. Abo Alroos Introducing the UML Eng. Mohammed T. Abo Alroos Islamic University of Gaza Introduction to the UML: The UML stands for Unified Modeling Language. It was released in 1997 as a method to diagram software

More information

Relationships. Association Aggregation/Composition Multiplicity Dependencies

Relationships. Association Aggregation/Composition Multiplicity Dependencies 1/13/2004 1 Association Aggregation/Composition Dependencies 1/13/2004 2 Relationships Very few classes stand alone in an OO system Three kinds of class/object relationships are defined to help model abstractions

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

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 10: Analysis Packages 1 Analysis Workflow: Packages The analysis workflow consists of the following activities: Architectural analysis Analyze a use

More information

COSC 3351 Software Design. An Introduction to UML (I)

COSC 3351 Software Design. An Introduction to UML (I) COSC 3351 Software Design An Introduction to UML (I) This lecture contains material from: http://wps.prenhall.com/esm_pfleeger_softengtp_2 http://sunset.usc.edu/classes/cs577a_2000/lectures/05/ec-05.ppt

More information

Roadmap of This Lecture. Weak Entity Sets Extended E-R Features Reduction to Relation Schemas Database Design UML*

Roadmap of This Lecture. Weak Entity Sets Extended E-R Features Reduction to Relation Schemas Database Design UML* E-R Model (II) 1 Roadmap of This Lecture Weak Entity Sets Extended E-R Features Reduction to Relation Schemas Database Design UML* 2 Weak Entity Sets An entity set that does not have a primary key is referred

More information

UML & OO Fundamentals. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 3 09/04/2012

UML & OO Fundamentals. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 3 09/04/2012 UML & OO Fundamentals CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 3 09/04/2012 1 Goals of the Lecture Review the material in Chapter 2 of the Textbook Cover key parts of the UML notation

More information

CPSC 427: Object-Oriented Programming

CPSC 427: Object-Oriented Programming CPSC 427: Object-Oriented Programming Michael J. Fischer Lecture 17 March 31, 2016 CPSC 427, Lecture 17 1/29 Name Visibility Demo: Craps Game CPSC 427, Lecture 17 2/29 Name Visibility CPSC 427, Lecture

More information

OO Techniques & UML Class Diagrams

OO Techniques & UML Class Diagrams OO Techniques & UML Class Diagrams SE3A04 Tutorial Jason Jaskolka Department of Computing and Software Faculty of Engineering McMaster University Hamilton, Ontario, Canada jaskolj@mcmaster.ca October 17,

More information

UML class diagrams. Giuseppe Lipari June 8, Scuola Superiore Sant Anna Pisa

UML class diagrams. Giuseppe Lipari  June 8, Scuola Superiore Sant Anna Pisa UML class diagrams Giuseppe Lipari http://retis.sssup.it Scuola Superiore Sant Anna Pisa June 8, 2009 Using UML Goal: Be able to reason about a design i.e., understand designer s intent Critique/improve

More information

Object Oriented Programming in Java. Jaanus Pöial, PhD Tallinn, Estonia

Object Oriented Programming in Java. Jaanus Pöial, PhD Tallinn, Estonia Object Oriented Programming in Java Jaanus Pöial, PhD Tallinn, Estonia Motivation for Object Oriented Programming Decrease complexity (use layers of abstraction, interfaces, modularity,...) Reuse existing

More information

Building custom components IAT351

Building custom components IAT351 Building custom components IAT351 Week 1 Lecture 1 9.05.2012 Lyn Bartram lyn@sfu.ca Today Review assignment issues New submission method Object oriented design How to extend Java and how to scope Final

More information

Object-oriented programming. and data-structures CS/ENGRD 2110 SUMMER 2018

Object-oriented programming. and data-structures CS/ENGRD 2110 SUMMER 2018 Object-oriented programming 1 and data-structures CS/ENGRD 2110 SUMMER 2018 Lecture 4: OO Principles - Polymorphism http://courses.cs.cornell.edu/cs2110/2018su Lecture 3 Recap 2 Good design principles.

More information

2004 John Mylopoulos. The Entity-Relationship Model John Mylopoulos. The Entity-Relationship Model John Mylopoulos

2004 John Mylopoulos. The Entity-Relationship Model John Mylopoulos. The Entity-Relationship Model John Mylopoulos XVI. The Entity-Relationship Model The Entity Relationship Model The Entity-Relationship Model Entities, Relationships and Attributes Cardinalities, Identifiers and Generalization Documentation of E-R

More information

CS1004: Intro to CS in Java, Spring 2005

CS1004: Intro to CS in Java, Spring 2005 CS1004: Intro to CS in Java, Spring 2005 Lecture #13: Java OO cont d. Janak J Parekh janak@cs.columbia.edu Administrivia Homework due next week Problem #2 revisited Constructors, revisited Remember: a

More information

Details of Class Definition

Details of Class Definition Schedule(2/2) Feb. 25th 13:00 Outline of UML: Static Modeling (details of class definition) 14:30 Outline of UML: Dynamic Modeling (state machine, communication diagram, sequence diagram) March. 4th 13:00

More information

Inheritance and Interfaces

Inheritance and Interfaces Inheritance and Interfaces Object Orientated Programming in Java Benjamin Kenwright Outline Review What is Inheritance? Why we need Inheritance? Syntax, Formatting,.. What is an Interface? Today s Practical

More information

Introduction to Software Engineering. 5. Modeling Objects and Classes

Introduction to Software Engineering. 5. Modeling Objects and Classes Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities

More information

Chapter 6: Entity-Relationship Model

Chapter 6: Entity-Relationship Model Chapter 6: Entity-Relationship Model Database System Concepts, 5th Ed. See www.db-book.com for conditions on re-use Chapter 6: Entity-Relationship Model Design Process Modeling Constraints E-R Diagram

More information

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak CSE 403: Software Engineering, Spring 2015 courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams Emina Torlak emina@cs.washington.edu Outline Designing classes Overview of UML UML class diagrams

More information

Chapter 2: Entity-Relationship Model

Chapter 2: Entity-Relationship Model Chapter 2: Entity-Relationship Model! Entity Sets! Relationship Sets! Design Issues! Mapping Constraints! Keys! E-R Diagram! Extended E-R Features! Design of an E-R Database Schema! Reduction of an E-R

More information

COMP322 - Introduction to C++ Lecture 09 - Inheritance continued

COMP322 - Introduction to C++ Lecture 09 - Inheritance continued COMP322 - Introduction to C++ Lecture 09 - Inheritance continued Dan Pomerantz School of Computer Science 11 March 2012 Recall from last time Inheritance describes the creation of derived classes from

More information

Introduction to Software Engineering. 5. Modeling Objects and Classes

Introduction to Software Engineering. 5. Modeling Objects and Classes Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities

More information

Symbol Tables Symbol Table: In computer science, a symbol table is a data structure used by a language translator such as a compiler or interpreter, where each identifier in a program's source code is

More information

Chapter 6: Entity-Relationship Model

Chapter 6: Entity-Relationship Model Chapter 6: Entity-Relationship Model Database System Concepts, 5th Ed. See www.db-book.com for conditions on re-use Chapter 6: Entity-Relationship Model Design Process Modeling Constraints E-R Diagram

More information

MARKING KEY The University of British Columbia MARKING KEY Computer Science 260 Midterm #2 Examination 12:30 noon, Thursday, March 15, 2012

MARKING KEY The University of British Columbia MARKING KEY Computer Science 260 Midterm #2 Examination 12:30 noon, Thursday, March 15, 2012 MARKING KEY The University of British Columbia MARKING KEY Computer Science 260 Midterm #2 Examination 12:30 noon, Thursday, March 15, 2012 Instructor: K. S. Booth Time: 70 minutes (one hour ten minutes)

More information

MechEng SE3 Lecture 7 Domain Modelling

MechEng SE3 Lecture 7 Domain Modelling MechEng SE3 Lecture 7 Domain Modelling Simon Gay (slides by Phil Gray) 17 February 2010 1 This week s supplementary reading Zero Balances and Zero Responsibility Michael Bolton http://www.developsense.com/essays/zero.html

More information

Inheritance and Encapsulation. Amit Gupta

Inheritance and Encapsulation. Amit Gupta Inheritance and Encapsulation Amit Gupta Project 1 How did it go? What did you like about it? What did you not like? What can we do to help? Suggestions Ask questions if you don t understand a concept

More information

Thanks for your cooperation! The Questionnaire of the Developers' Experiment 1

Thanks for your cooperation! The Questionnaire of the Developers' Experiment 1 The Questionnaire of the Developers' Experiment 1 This experiment deals with comparative analysis of two variability representation notations: Application-based DOmain Modeling (ADOM), which is a UML-based

More information

TREES Lecture 12 CS2110 Fall 2016

TREES Lecture 12 CS2110 Fall 2016 TREES Lecture 12 CS2110 Fall 2016 Prelim 1 tonight! 2 5:30 prelim is very crowded. You HAVE to follow these directions: 1. Students taking the normal 5:30 prelim (not the quiet room) and whose last names

More information

1/17/2014. UML Help and Details (from: UML for cse UML for a class. UML and project clarifications

1/17/2014. UML Help and Details (from:   UML for cse UML for a class. UML and project clarifications UML Help and Details (from: http://enwikipediaorg/wiki/class_diagram) Sharma Chakravarthy Information Technology Laboratory (IT Lab) Computer Science and Engineering Department The University of Texas

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

Object-Oriented Programming

Object-Oriented Programming Object-Oriented Programming 1. What is object-oriented programming (OOP)? OOP is a technique to develop logical modules, such as classes that contain properties, methods, fields, and events. An object

More information

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools UML Modeling I Instructor: Yongjie Zheng September 3, 2015 CS 490MT/5555 Software Methods and Tools Object-Oriented Design: Topics & Skills Rational Unified Process Unified Modeling Languages (UML) Provide

More information

Reusing Classes. Hendrik Speleers

Reusing Classes. Hendrik Speleers Hendrik Speleers Overview Composition Inheritance Polymorphism Method overloading vs. overriding Visibility of variables and methods Specification of a contract Abstract classes, interfaces Software development

More information

Object-Oriented Modeling Using UML. CS151 Chris Pollett Aug. 29, 2005.

Object-Oriented Modeling Using UML. CS151 Chris Pollett Aug. 29, 2005. Object-Oriented Modeling Using UML CS151 Chris Pollett Aug. 29, 2005. Outline Objects and Classes Modeling Relationships and Structures Some Terms and Concepts Objects and classes are fundamental to OO

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

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 Programming

Object-Oriented Programming iuliana@cs.ubbcluj.ro Babes-Bolyai University 2018 1 / 40 Overview 1 2 3 4 5 2 / 40 Primary OOP features ion: separating an object s specification from its implementation. Encapsulation: grouping related

More information

12 Tutorial on UML. TIMe TIMe Electronic Textbook

12 Tutorial on UML. TIMe TIMe Electronic Textbook TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3

More information

Chapter 2 Entity-Relationship Data Modeling: Tools and Techniques. Fundamentals, Design, and Implementation, 9/e

Chapter 2 Entity-Relationship Data Modeling: Tools and Techniques. Fundamentals, Design, and Implementation, 9/e Chapter 2 Entity-Relationship Data Modeling: Tools and Techniques Fundamentals, Design, and Implementation, 9/e Three Schema Model ANSI/SPARC introduced the three schema model in 1975 It provides a framework

More information

TREES. Tree Overview 9/28/16. Prelim 1 tonight! Important Announcements. Tree terminology. Binary trees were in A1!

TREES. Tree Overview 9/28/16. Prelim 1 tonight! Important Announcements. Tree terminology. Binary trees were in A1! //16 Prelim 1 tonight! :3 prelim is very crowded. You HAVE to follow these directions: 1. Students taking the normal :3 prelim (not the quiet room) and whose last names begin with A through Da MUST go

More information

CSC207 Week 3. Larry Zhang

CSC207 Week 3. Larry Zhang CSC207 Week 3 Larry Zhang 1 Announcements Readings will be posted before the lecture Lab 1 marks available in your repo 1 point for creating the correct project. 1 point for creating the correct classes.

More information

Software Design Models, Tools & Processes. Lecture 3: Addendum Cecilia Mascolo

Software Design Models, Tools & Processes. Lecture 3: Addendum Cecilia Mascolo Software Design Models, Tools & Processes Lecture 3: Addendum Cecilia Mascolo Example object diagram Taken from [Booch 1999] Notation for objects an object icon Object name Class name Name compartment

More information

CS558 Programming Languages

CS558 Programming Languages CS558 Programming Languages Fall 2016 Lecture 7a Andrew Tolmach Portland State University 1994-2016 Values and Types We divide the universe of values according to types A type is a set of values and a

More information

Fundamental Concepts and Definitions

Fundamental Concepts and Definitions Fundamental Concepts and Definitions Identifier / Symbol / Name These terms are synonymous: they refer to the name given to a programming component. Classes, variables, functions, and methods are the most

More information

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 31 Static Members Welcome to Module 16 of Programming in C++.

More information

LABORATORY 1 REVISION

LABORATORY 1 REVISION UTCN Computer Science Department Software Design 2012/2013 LABORATORY 1 REVISION ================================================================== I. UML Revision This section focuses on reviewing the

More information

Subclass Gist Example: Chess Super Keyword Shadowing Overriding Why? L10 - Polymorphism and Abstract Classes The Four Principles of Object Oriented

Subclass Gist Example: Chess Super Keyword Shadowing Overriding Why? L10 - Polymorphism and Abstract Classes The Four Principles of Object Oriented Table of Contents L01 - Introduction L02 - Strings Some Examples Reserved Characters Operations Immutability Equality Wrappers and Primitives Boxing/Unboxing Boxing Unboxing Formatting L03 - Input and

More information

Inheritance and Substitution (Budd chapter 8, 10)

Inheritance and Substitution (Budd chapter 8, 10) Inheritance and Substitution (Budd chapter 8, 10) 1 2 Plan The meaning of inheritance The syntax used to describe inheritance and overriding The idea of substitution of a child class for a parent The various

More information

CLASSES AND OBJECTS IN JAVA

CLASSES AND OBJECTS IN JAVA Lesson 8 CLASSES AND OBJECTS IN JAVA (1) Which of the following defines attributes and methods? (a) Class (b) Object (c) Function (d) Variable (2) Which of the following keyword is used to declare Class

More information

Object Oriented Features. Inheritance. Inheritance. CS257 Computer Science I Kevin Sahr, PhD. Lecture 10: Inheritance

Object Oriented Features. Inheritance. Inheritance. CS257 Computer Science I Kevin Sahr, PhD. Lecture 10: Inheritance CS257 Computer Science I Kevin Sahr, PhD Lecture 10: Inheritance 1 Object Oriented Features For a programming language to be called object oriented it should support the following features: 1. objects:

More information

1/24/2012. Chapter 7 Outline. Chapter 7 Outline (cont d.) CS 440: Database Management Systems

1/24/2012. Chapter 7 Outline. Chapter 7 Outline (cont d.) CS 440: Database Management Systems CS 440: Database Management Systems Chapter 7 Outline Using High-Level Conceptual Data Models for Database Design A Sample Database Application Entity Types, Entity Sets, Attributes, and Keys Relationship

More information

Cmpt 135 Assignment 2: Solutions and Marking Rubric Feb 22 nd 2016 Due: Mar 4th 11:59pm

Cmpt 135 Assignment 2: Solutions and Marking Rubric Feb 22 nd 2016 Due: Mar 4th 11:59pm Assignment 2 Solutions This document contains solutions to assignment 2. It is also the Marking Rubric for Assignment 2 used by the TA as a guideline. The TA also uses his own judgment and discretion during

More information

Classes and Methods לאוניד ברנבוים המחלקה למדעי המחשב אוניברסיטת בן-גוריון

Classes and Methods לאוניד ברנבוים המחלקה למדעי המחשב אוניברסיטת בן-גוריון Classes and Methods לאוניד ברנבוים המחלקה למדעי המחשב אוניברסיטת בן-גוריון 22 Roadmap Lectures 4 and 5 present two sides of OOP: Lecture 4 discusses the static, compile time representation of object-oriented

More information

Introduction to OO Concepts

Introduction to OO Concepts Introduction to OO Concepts Written by John Bell for CS 342, Fall 2018 Based on chapters 1, 2, and 10 of The Object-Oriented Thought Process by Matt Weisfeld, with additional material from UML Distilled

More information

CS1004: Intro to CS in Java, Spring 2005

CS1004: Intro to CS in Java, Spring 2005 CS1004: Intro to CS in Java, Spring 2005 Lecture #23: OO Design, cont d. Janak J Parekh janak@cs.columbia.edu Administrivia HW#5 due Tuesday And if you re cheating on (or letting others see your) HW#5

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) Appendix H Unified Modeling Language (UML) Preview The Unified Modeling Language (UML) is an object-oriented modeling language sponsored by the Object Management Group (OMG) and published as a standard

More information

Data Structures (list, dictionary, tuples, sets, strings)

Data Structures (list, dictionary, tuples, sets, strings) Data Structures (list, dictionary, tuples, sets, strings) Lists are enclosed in brackets: l = [1, 2, "a"] (access by index, is mutable sequence) Tuples are enclosed in parentheses: t = (1, 2, "a") (access

More information

What is Inheritance?

What is Inheritance? Inheritance 1 Agenda What is and Why Inheritance? How to derive a sub-class? Object class Constructor calling chain super keyword Overriding methods (most important) Hiding methods Hiding fields Type casting

More information

Chapter 5: Structural Modeling

Chapter 5: Structural Modeling Chapter 5: Structural Modeling Objectives Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. Understand the processes used to create CRC cards, class

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

UML REFERENCE SHEETS. 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site:

UML REFERENCE SHEETS. 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site: UML Reference Sheets 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site: http://www.tatanka.com/ Revision Information This document was last revised 2014.03.02. The current

More information

Cpt S 122 Data Structures. Introduction to C++ Part II

Cpt S 122 Data Structures. Introduction to C++ Part II Cpt S 122 Data Structures Introduction to C++ Part II Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Topics Objectives Defining class with a member function

More information

Software Development. Modular Design and Algorithm Analysis

Software Development. Modular Design and Algorithm Analysis Software Development Modular Design and Algorithm Analysis Data Encapsulation Encapsulation is the packing of data and functions into a single component. The features of encapsulation are supported using

More information

UML: Unified Modeling Language

UML: Unified Modeling Language UML: Unified Modeling Language 1 Modeling Describing a system at a high level of abstraction A model of the system Used for requirements and specification Many notations over time State machines Entity-relationship

More information

Entity-Relationship Modelling. Entities Attributes Relationships Mapping Cardinality Keys Reduction of an E-R Diagram to Tables

Entity-Relationship Modelling. Entities Attributes Relationships Mapping Cardinality Keys Reduction of an E-R Diagram to Tables Entity-Relationship Modelling Entities Attributes Relationships Mapping Cardinality Keys Reduction of an E-R Diagram to Tables 1 Entity Sets A enterprise can be modeled as a collection of: entities, and

More information

W5.L2. Week 5, Lecture 2

W5.L2. Week 5, Lecture 2 W5.L2 Week 5, Lecture 2 Part 1: ODMG and ODMG s s object model Part 2: Introduction to Object Definition Language (ODL) Part 3: Introduction to Object-Relational Database Management Systems (OR-DBMS) M.

More information

Implementing GUI context-sensitive help... ECE450 Software Engineering II. Implementing GUI context-sensitive help... Context-sensitive help

Implementing GUI context-sensitive help... ECE450 Software Engineering II. Implementing GUI context-sensitive help... Context-sensitive help Implementing GUI context-sensitive help... ECE450 Software Engineering II Today: Design Patterns VIII Chain of Responsibility, Strategy, State ECE450 - Software Engineering II 1 ECE450 - Software Engineering

More information

Object Fundamentals Part Two. Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/5448 Lecture 3 09/01/2009

Object Fundamentals Part Two. Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/5448 Lecture 3 09/01/2009 Object Fundamentals Part Two Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/5448 Lecture 3 09/01/2009 1 Lecture Goals Continue our tour of the basic concepts, terminology, and notations

More information

CSE 12 Abstract Syntax Trees

CSE 12 Abstract Syntax Trees CSE 12 Abstract Syntax Trees Compilers and Interpreters Parse Trees and Abstract Syntax Trees (AST's) Creating and Evaluating AST's The Table ADT and Symbol Tables 16 Using Algorithms and Data Structures

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

Chapter 1: Principles of Programming and Software Engineering

Chapter 1: Principles of Programming and Software Engineering Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without

More information

3. UML Class Diagrams Page 1 of 15

3. UML Class Diagrams Page 1 of 15 3. UML Class Diagrams Page 1 of 15 The UML Class Diagram: Part 1 In the last article, we saw what use cases were, and how to identify and create use cases. Taking the series ahead, in this article, we

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

Lesson 10A OOP Fundamentals. By John B. Owen All rights reserved 2011, revised 2014

Lesson 10A OOP Fundamentals. By John B. Owen All rights reserved 2011, revised 2014 Lesson 10A OOP Fundamentals By John B. Owen All rights reserved 2011, revised 2014 Table of Contents Objectives Definition Pointers vs containers Object vs primitives Constructors Methods Object class

More information

Inheritance. COMP Week 12

Inheritance. COMP Week 12 Inheritance COMP1400 - Week 12 Uno Game Consider the card game Uno: http://en.wikipedia.org/wiki/uno_(card_game) There are 6 kinds of cards: number cards draw two skip reverse wild wild draw four Game

More information

Chapter 6 Introduction to Defining Classes

Chapter 6 Introduction to Defining Classes Introduction to Defining Classes Fundamentals of Java: AP Computer Science Essentials, 4th Edition 1 Objectives Design and implement a simple class from user requirements. Organize a program in terms of

More information

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling

More information

Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition. Chapter 7 Data Modeling with Entity Relationship Diagrams

Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition. Chapter 7 Data Modeling with Entity Relationship Diagrams Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition Chapter 7 Data Modeling with Entity Relationship Diagrams Objectives In this chapter, students will learn: The

More information

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

Fast Introduction to Object Oriented Programming and C++

Fast Introduction to Object Oriented Programming and C++ Fast Introduction to Object Oriented Programming and C++ Daniel G. Aliaga Note: a compilation of slides from Jacques de Wet, Ohio State University, Chad Willwerth, and Daniel Aliaga. Outline Programming

More information

CS11 Introduction to C++ Fall Lecture 7

CS11 Introduction to C++ Fall Lecture 7 CS11 Introduction to C++ Fall 2012-2013 Lecture 7 Computer Strategy Game n Want to write a turn-based strategy game for the computer n Need different kinds of units for the game Different capabilities,

More information