UML Class Diagrams. Lesson Objectives

Size: px
Start display at page:

Download "UML Class Diagrams. Lesson Objectives"

Transcription

1 UML Class Diagrams 1 Lesson Objectives Understand UML class diagrams and object modelling Be able to identify the components needed to produce a class diagram from a specification Be able to produce class diagrams and document them using Eclipse/Together 2

2 UML Class BankAccount Name balance iratecharge deposit withdraw Attributes Methods/ operations 3 UML Class: Different levels of detail BankAccount BankAccount - balance: int - iratecharge: float +deposit:int +withdraw:int balance iratecharge deposit withdraw signature BankAccount BankAccount balance iratecharge 4

3 Objects and Classes anobject: ClassName attribute1 = value1 attribute2 = value2 ClassName attribute1 attribute2: data_type attribute3: type = init_val... operation1() operation2(arg_list) operation3() : returntype... Object (instance).. is instantiated from... Class 5 Objects and Classes: Example Car spacewagon: Car manufacturer = Mitsubishi registrationnumber = R637GNU driver = Naomi manufacturer registrationnumber: Integer driver: String = Unspecified... register() drive (Integer speed) getdriver() : String... 6

4 Class Diagrams BankAccount Customer 9 Associations: Multiplicity Student Module * * Many-to-many relationship Student Module 10..* A student takes between 0 and 12 modules A module is taken by at least 10 students 10

5 1-to-1 and 1-to-many Associations Country name:string 1 Has-capital 1 City name:string 1-to-1 association draw() Polygon 1 * Point x:integer y:integer 1-to-many association 11 Association Notation Family 0..1 parentage offspring child 0..* Individual 0..1 wife 0..1 husband married to 12

6 Aggregation An aggregation is a special case of association denoting a consists of hierarchy. The aggregate is the parent class, the components are the children class. Exhaust System is a part of Muffler Tailpipe 13 Aggregation Example Engine horsepower volume on off 1 Car serial number year manufacturer model colour weight drive purchase 3,4,5 * 2,4 1 Wheel Brakelight Door Battery diameter number of bolts on off 14 open close amps volts charge discharge

7 Composition A solid diamond denotes composition, a strong form of aggregation where components cannot exist without the aggregate. TicketMachine 3 ZoneButton 15 Assembly or Composition? Assembly: component can exist on its own Composition: component cannot exist on its own Football Club * Footballer * Fixtures to play 16

8 Generalization/Inheritance Account Balance AccountId Deposit() Withdraw() GetBalance() Is a kind of SavingsAccount ChequeAccount Withdraw() Withdraw() 17 Inheritance Classes inherit the attributes and operations of their parents i.e. from the generalization to the specialization Operations and attributes may be re-defined Additional operations or attributes must be defined Operations and attributes may not be removed in the specialization 18

9 Associations: which type? If in doubt use simple association Use aggregation or composition for has a relationships Use inheritance for is a relationships 19 Visibility and Scope... Public Visible to using classes Protected.. # Visible to subclasses Private... - Visible only within this class -size : Rectangle Window -xptr : Xwindow * -visibility : Boolean +Window () +display () : void +hide () : void #attachxwindow (Xwindow * xwin) : void 20

10 Finding Classes Study use case descriptions Grammatical analysis Nouns Adjectives Verbs Brainstorm Use CRC cards 21 Example: Scenario From Problem Statement Jim enters a store with the intention of buying a toy for his 3 year old child. Help must be available within less than one minute. The store owner gives advice to the customer. The advice depends on the age range of the child and the attributes of the toy. Jim selects a dangerous toy which is unsuitable for the child. The store owner recommends a more suitable toy - a doll. 22

11 Mapping Parts of Speech to Object Model Components Part of speech Model component Example Proper noun object Jim Smith Improper noun class Toy, doll Doing verb method Buy, recommend being verb inheritance is-a (kind-of) having verb aggregation has an modal verb constraint must be adjective attribute 3 years old transitive verb method enter intransitive verb method (event) depends on 23 Identifying Inappropriate Classes Redundant Vague An event or an operation Meta-language Outside the scope of the system An attribute Only operations are Set() and Get(). 24

12 CRC Card 25 Two OO Design Camps Data driven design Responsibility driven design 26

13 Package It All Up Pack up design into discrete physical units that can be edited, compiled, linked, reused Construct physical modules Ideally use one package for each subsystem System decomposition might not be good for implementation Two design principles for packaging Minimize coupling Maximize cohesiveness 27 UML Packages General mechanism for grouping modeling elements Package owns its contents Defines a nested name space e.g. PackageName::ClassName c.f. Java Style: PackageName.ClassName Elements belong to one and only one Package Packages can be nested. 29

14 Packages with Dependencies Dependencies should be one-way Avoid cyclic dependencies! Less stable components depend on more stable (reusable) ones Packages reflect development responsibility The art of large scale design is minimising dependencies. 30 Summary Class diagrams are the central feature of UML Class diagrams enable us to model objects, classes and associations between classes. At more detailed level you may need to consider special types of association like aggregation and composition Inheritance is an especially important type of association Finding classes is difficult - techniques like noun identification and CRC cards are helpful 32

Chapter 5, Object Modeling

Chapter 5, Object Modeling Chapter 5, Object Modeling Using UML, Patterns, and Java Object-Oriented Software Engineering Outline From use cases to class diagrams Model and reality Activities during object modeling Object identification

More information

11 November 2015. www.isbe.tue.nl. www.isbe.tue.nl

11 November 2015. www.isbe.tue.nl. www.isbe.tue.nl UML Class Diagrams 11 November 2015 UML Class Diagrams The class diagram provides a static structure of all the classes that exist within the system. Classes are arranged in hierarchies sharing common

More information

UML Basic Notation: First Summary

UML Basic Notation: First Summary Chapter 4 System Modeling Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 UML Basic Notation: First Summary UML provides a wide variety of notations

More information

Object-Oriented Modeling: Static Models

Object-Oriented Modeling: Static Models Object-Oriented Modeling: Static Models Object-Oriented Modeling Model the system as interacting objects Match experience We are surrounded by objects: people, trees, cars, towns and houses Objects are

More information

Class Design I. Class Attributes and Methods

Class Design I. Class Attributes and Methods Class Attributes and Methods Learning goals: determine some appropriate attributes for a class given a general description of the class determine some appropriate methods for a class given a general description

More information

Classes & Interfaces. Java s Object Oriented System. Justin Mazzola Paluska

Classes & Interfaces. Java s Object Oriented System. Justin Mazzola Paluska Classes & Interfaces Java s Object Oriented System Justin Mazzola Paluska Keywords Class a template of a data object Interface a specification Instance an instantiation of a Class or Interface physically

More information

OBJECT-ORIENTED SYSTEM MODELLING

OBJECT-ORIENTED SYSTEM MODELLING MODULE 9 OBJECT-ORIENTED SYSTEM MODELLING OBJECTIVE QUESTIONS There are 4 alternative answers to each question. One of them is correct. Pick the correct answer. Do not guess. A key is given at the end

More information

Copyright Wyyzzk, Inc Version 5.0. Testing the Architecture

Copyright Wyyzzk, Inc Version 5.0. Testing the Architecture Testing the Architecture Lesson Description This lesson discusses a variety of metrics that may be used to test the architecture, including coupling, cohesion, and stability. It also discusses other ways

More information

UML Class Diagrams. Knut Hinkelmann. Prof. Dr. Knut Hinkelmann MSc Business Information Systems

UML Class Diagrams. Knut Hinkelmann. Prof. Dr. Knut Hinkelmann MSc Business Information Systems Knut Hinkelmann MSc Business Information Systems References OMG Unified Modelling Language - UML, Current Standard Version 2.1.2 http://www.omg.org/spec/uml/2.1.2/ Donald Bell: UML basics: The class diagram.

More information

3. UML Object Models

3. UML Object Models 3. UML Object Models 3.1. Introduction UML Object models capture the static structure of a system, as a: class architecture, or static object structure at some time instant. Both are represented graphically.

More information

Object-Oriented Analysis and Design. NGSSC Object-Oriented Scientific Programming, June 2012

Object-Oriented Analysis and Design. NGSSC Object-Oriented Scientific Programming, June 2012 Object-Oriented Analysis and Design NGSSC Object-Oriented Scientific Programming, June 2012 Object-Oriented Software Construction Program = Data + Algorithm Constructing a software program can be seen

More information

U II 1 Use case methods Object Analysis Object relations Attributes Methods Class and Object responsibilities case studies

U II 1 Use case methods Object Analysis Object relations Attributes Methods Class and Object responsibilities case studies U II 1 Use case methods Object Analysis Object relations Attributes Methods Class and Object responsibilities case studies Object Oriented Analysis: - o The main objective of analysis is to capture a complete,

More information

A UML Class Diagram Tutorial

A UML Class Diagram Tutorial A UML Class Diagram Tutorial The UML Class diagram is a graphical notation used to construct and visualize object oriented systems. A UML class diagram is made up of: A set of classes and A set of relationships

More information

History OOP languages Year Language 1967 Simula-67 1983 Smalltalk

History OOP languages Year Language 1967 Simula-67 1983 Smalltalk History OOP languages Intro 1 Year Language reported dates vary for some languages... design Vs delievered 1957 Fortran High level programming language 1958 Lisp 1959 Cobol 1960 Algol Structured Programming

More information

Requirements Capture: example UML. UML: Use case models. Use case diagram

Requirements Capture: example UML. UML: Use case models. Use case diagram Requirements Capture: example UML Use Case Models And Class Models The following emerges after discussions: the library has books and journals (several copies of either) some books are available for a

More information

Refresher Course UML I

Refresher Course UML I Software Engineering I: Software Technology WS 2008/09 Refresher Course UML I Prof. Bernd Bruegge, Ph.D. Hans Breidler Applied Software Engineering Technische Universitaet Muenchen 1 Outline for this Week

More information

UML1.5. Details of Class Definition

UML1.5. Details of Class Definition UML1.5 Details of Class Definition Koichiro OCHIMIZU School of Information Science JAIST Schedule(2/3) Feb. 27th 13:00 Introduction to Java Programming 14:30 Outline of UML: Static Modeling (usecase modeling,

More information

Object Oriented Design

Object Oriented Design Object Oriented Design Design The goal is to design a modular solution, using the techniques of: Decomposition Abstraction Information Hiding Abstraction and Information Hiding Public view of a module

More information

Alan Dennis, Barbara Haley Wixom, and. Chapter 10: Class and Method Design John Wiley & Sons, Inc. Copyright Slide 1

Alan Dennis, Barbara Haley Wixom, and. Chapter 10: Class and Method Design John Wiley & Sons, Inc. Copyright Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 10: Class and Method Design John Wiley & Sons, Inc. Copyright 2005 Slide 1

More information

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

Software Design Models, Tools & Processes. Lecture 3: Elaboration Phase Cecilia Mascolo Software Design Models, Tools & Processes Lecture 3: Elaboration Phase Cecilia Mascolo USDP context I n c e p t i o n E l a b o r a t i o n C o n s t r u c t i o n T r a n s i t i o n Requirements Analysis

More information

STRUCTURAL MODELS. Slide 1

STRUCTURAL MODELS. Slide 1 STRUCTURAL MODELS Slide 1 Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes in an organization.. The structure of data used in the system

More information

Topics. Classes. Classes CS 146. Classes and Objects Module Objectives. Classes and Objects Chapter Objectives

Topics. Classes. Classes CS 146. Classes and Objects Module Objectives. Classes and Objects Chapter Objectives Introduction to Programming and Algorithms Module 3 CS 146 Sam Houston State University Dr. Tim McGuire Classes and Objects Module Objectives To understand: how classes are used as blueprints for objects

More information

Design and Model View Controller

Design and Model View Controller Design and Model View Controller CSC216 CSC216: Programming Concepts Sarah Heckman 1 Design Goal: decide the structure of the software and the hardware configurations that support it. How individual classes

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 8.1 8.5 1 Inheritance Inheritance allows a software developer to derive

More information

Chapter 13 - Inheritance

Chapter 13 - Inheritance Goals Chapter 13 - Inheritance To learn about inheritance To understand how to inherit and override superclass methods To be able to invoke superclass constructors To learn about protected and package

More information

An object is a combination of data and logic; the representation of some real-world entity.

An object is a combination of data and logic; the representation of some real-world entity. UNIT I PART - A 1. What is an object? An object is a combination of data and logic; the representation of some real-world entity. 2. What is the main advantage of object-oriented development? High level

More information

CHAPTER 8 ANALYSIS MODELING

CHAPTER 8 ANALYSIS MODELING CHAPTER 8 ANALYSIS MODELING The analysis model is the first technical representation of a system. Analysis modeling uses a combination of text and diagrams to represent software requirements (data, function,

More information

Class & Object Diagrams. Software Design Methodology

Class & Object Diagrams. Software Design Methodology Class & Object Diagrams Software Design Methodology UML Class Diagrams The heart of the UML Describes the classes in the system and the relations among them Supports most OO concepts associations aggregation

More information

Chapter 5, Analysis: Object Modeling

Chapter 5, Analysis: Object Modeling Chapter 5, Analysis: Object Modeling Aperçu Rappel Modélisation du système = modélisation fonctionnelle + modélisation objet + modélisation partie dynamique Maintenant: Modélisation des objets du domaine

More information

Chapter 2, Modeling with UML, Part 2

Chapter 2, Modeling with UML, Part 2 Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 2, Modeling with UML, Part 2 Outline of this Lecture Use case diagrams Describe the functional behavior of the system as seen

More information

Welcome to PASS workshop for SYSC 2004!

Welcome to PASS workshop for SYSC 2004! Welcome to PASS workshop for! Please make sure you sign up for the attendance. Opener: Game of head-band of animal kingdom! [10 min.] Picks a random card with an animal name and put it on the fore-head

More information

Topic 4. Inheritance

Topic 4. Inheritance Topic 4 Inheritance Objectives To learn about the concept of inheritance To understand how to inherit and override methods from a superclass To learn about inheritance hierarchies and the general superclass

More information

UML Tutorial for C++ - Windows Platfoorm GDPro 5.0

UML Tutorial for C++ - Windows Platfoorm GDPro 5.0 Chapter 6: Class Diagram The Class Diagram Using the Class Diagram model, you describe the static structure of the symbols in your new system. This model allows you to graphically represent symbol diagrams

More information

Java Program Style and Design - Continued

Java Program Style and Design - Continued Java Program Style and Design - Continued Program Design Concepts: Design Patterns Refinement Abstractions - Program Conceptualization Object-oriented programming and abstraction Pseudo-code: abstraction

More information

Software Design and Class Diagrams

Software Design and Class Diagrams Software Design and Class Diagrams Massimo Felici Software Design 1 The SEOC course is concerned with software design in terms of objects and components, in particular, object-oriented design Object-oriented

More information

UML class diagrams. Paul Jackson. School of Informatics University of Edinburgh

UML class diagrams. Paul Jackson. School of Informatics University of Edinburgh UML class diagrams Paul Jackson School of Informatics University of Edinburgh The Unified Modeling Language UML is a graphical language for recording aspects of the requirements and design of software

More information

Inheritance, Subtyping and Polymorphic variables. Inheritance.

Inheritance, Subtyping and Polymorphic variables. Inheritance. Inheritance, Subtyping and Polymorphic variables. Inheritance. We saw before that it is not good to repeat the same code in several methods of a class. Now we can extend this idea, saying that it is a

More information

UML1.5. Details of Class Definition. A Simple model of an insurance business. Koichiro Ochimizu, JAIST. Static Modeling 1. Schedule.

UML1.5. Details of Class Definition. A Simple model of an insurance business. Koichiro Ochimizu, JAIST. Static Modeling 1. Schedule. UML.5 Details of Class Definition Koichiro OCHIMIZU School of Information Science JAIST Schedule March 6th 3:00 Static Modeling (details of class specification) 4:30 Dynamic Modeling (state machine diagram,

More information

Software Engineering Fall 2014

Software Engineering Fall 2014 Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 09/29/2014 Class Announcements Grading is done for the Deliverable #2 (Requirement Elicitation) Will be posed

More information

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design Lecture 1 - Introduction to Software Design

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design Lecture 1 - Introduction to Software Design SWE 621: Software Modeling and Architectural Design Lecture Notes on Software Design Lecture 1 - Introduction to Software Design Hassan Gomaa Dept of Computer Science George Mason University Fairfax, VA

More information

Exercises on basic UML: structures. Paolo Ciancarini

Exercises on basic UML: structures. Paolo Ciancarini Exercises on basic UML: structures Paolo Ciancarini Summary This is a set of exercises on writing and understanding the UML notations Some exercises have more than one correct answer Most of them are taken

More information

Introduction to UML 1

Introduction to UML 1 Introduction to UML 1 UML UML is a visual modelling Language visual --- UML documents are a diagrams. modelling --- UML is for describing systems systems --- may be software systems or domains (e.g. business

More information

Intro to Computer Science 2. Inheritance

Intro to Computer Science 2. Inheritance Intro to Computer Science 2 Inheritance Admin Questions? Quizzes Midterm Exam Announcement Inheritance Inheritance Specializing a class Inheritance Just as In science we have inheritance and specialization

More information

UML class diagrams. Paul Jackson. School of Informatics University of Edinburgh

UML class diagrams. Paul Jackson. School of Informatics University of Edinburgh UML class diagrams Paul Jackson School of Informatics University of Edinburgh The Unified Modeling Language UML is a graphical language for recording aspects of the requirements and design of software

More information

Object Oriented Analysis and Design with UML and RUP

Object Oriented Analysis and Design with UML and RUP Object Oriented Analysis and Design with UML and RUP Course Length: 5 Days Course Code: JAVA1136 Course Description Learn how to use object-oriented techniques from requirements gathering to implementation.

More information

CITS2210 Object-Oriented Programming. Topic 7. Java: Types, Subtyping and Substitutability

CITS2210 Object-Oriented Programming. Topic 7. Java: Types, Subtyping and Substitutability CITS2210 Object-Oriented Programming Topic 7 Java: (Multiple Inheritance cont. &) Types, Subtyping and Substitutability Summary: This topic focuses on types, and the subtyping relationship between types,

More information

CHAPTER 1 Introduction

CHAPTER 1 Introduction CHAPTER 1 Introduction Software Engineering Why & What Product & Process Correctness & Traceability Software Process Activities Waterfall Iterative & Incremental Development Sample Processes + Unified

More information

CPS122 Lecture: Class Diagrams in UML

CPS122 Lecture: Class Diagrams in UML Objectives: CPS122 Lecture: Class Diagrams in UML Last revised January 27, 2016 1. To introduce UML Class Diagrams 2. To explain the association relationship between objects, adornments possible on such

More information

The UML Class Diagram

The UML Class Diagram The UML Class Diagram Is a static diagram (describes system structure) Combines a number of model elements: Classes Attributes Operations (methods) Associations Aggregations Compositions Generalisations

More information

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design I. Automated Banking System Case studies: Outline Requirements Engineering: OO and incremental software development 1. case study: withdraw money a. use cases b. identifying class/object (class diagram)

More information

Object Oriented Software Models

Object Oriented Software Models Software Engineering CSC 342/ Dr Ghazy Assassa Page 1 Object Oriented Software Models Use case diagram and use case description 1. Draw a use case diagram for a student-course-registration system. Show

More information

Lectures 2 & 3: Introduction to Modeling & UML. Getting started

Lectures 2 & 3: Introduction to Modeling & UML. Getting started Lectures 2 & 3: Introduction to Modeling & UML Why Build Models? What types of Models to build Intro to UML Class Diagrams Relationship between UML and program code Uses of UML 202 Steve Easterbrook. This

More information

LECTURE 18: UML. Software Engineering Mike Wooldridge

LECTURE 18: UML. Software Engineering Mike Wooldridge LECTURE 18: UML Mike Wooldridge 1 What is UML? In the mid 1980s, a number of techniques began to emerge for object-oriented-analysis and design. Examples: Coad & Yourdon; Booch; Rumbaugh (the OMT technique);

More information

Object-Oriented Design: CRC cards and design principles

Object-Oriented Design: CRC cards and design principles Object-Oriented Design: CRC cards and design principles 15-413: Introduction to Software Engineering Jonathan Aldrich Announcements Iteration reports/plans due Wednesday You should already be working on

More information

DOMAIN CLASS DIAGRAM MODELING STANDARDS AND GUIDELINES VERSION 1.0

DOMAIN CLASS DIAGRAM MODELING STANDARDS AND GUIDELINES VERSION 1.0 DOMAIN CLASS DIAGRAM MODELING STANDARDS AND GUIDELINES VERSION 1.0 DECEMBER 2, 2005 Information and Technology Management Branch IM / IT Standards & Guidelines Table of contents DOCUMENT PURPOSE... 3 DIAGRAM

More information

Page 1. Software Engineering Design Lecture 13 Design Patterns. Outline. Object-Oriented Software Engineering Conquering Complex and Changing Systems

Page 1. Software Engineering Design Lecture 13 Design Patterns. Outline. Object-Oriented Software Engineering Conquering Complex and Changing Systems Object-Oriented Software Engineering Conquering Complex and Changing Systems Software Engineering Design Lecture 13 Design Patterns From Bruegge and Dutoit Chap 8 and Appendix A. Outline What are Design

More information

DFD: A Basic Example. EEC 521: Software Engineering. Data Flow Diagrams

DFD: A Basic Example. EEC 521: Software Engineering. Data Flow Diagrams : Software Engineering Analysis Modeling - 2 DFD: A Basic Example Control panel Sensors commands and data sensor status Home Security software display information telephone tones alarm type Panel display

More information

Introduction to Programming

Introduction to Programming Inheritance Recap Introduction to Programming with Java, for Beginners Casting Polymorphism Inheritance with Abstract Classes public class Vehicle{ private int registrationnumber; public int getregnumber(){

More information

Software Engineering for Engineers

Software Engineering for Engineers Software Engineering for Engineers Lecture 1: UML Class Diagrams Outline What is UML and why do we use it? UML Class Diagram Associations Inheritance UML to Java Where are we? UML Techniques, Methods and

More information

UML Unified Modelling Language

UML Unified Modelling Language UML Unified Modelling Language Sources: OMG Unified Modelling Language - UML, Current Standard Version 2.1.2 http://www.omg.org/spec/uml/2.1.2/ R. Miller: Practical UML: A Hands-On Introduction for Developers.

More information

3.3 Class Diagrams. Class Diagrams: Overview

3.3 Class Diagrams. Class Diagrams: Overview 3.3 Class Diagrams Subject/Topic/Focus: Class Diagrams: Modeling Static Structure Summary: Perspectives: Conceptual, Specification, Implementation Attributes, Operations and Methods Associations, Navigability,

More information

Object Oriented Analysis and Design

Object Oriented Analysis and Design PART A Questions 1. Define object. 2. What is the purpose of object ID? 3. What do you mean by an actor in a use case? 4. What is the main advantage of DFD? 5. What is the 80 20 rule? 6. Why is documentation

More information

Review. Lecture 6. Today s Outline. Use Case Diagram. Use Case Diagram. Introduction to Virtualization. Introduction to UML. Introduction to UML

Review. Lecture 6. Today s Outline. Use Case Diagram. Use Case Diagram. Introduction to Virtualization. Introduction to UML. Introduction to UML Review Introduction to Virtualization Lecture 6 Introduction to UML Introduction to UML 2 Today s Outline Use case diagram Class diagram Deployment diagram Sequence diagram Collaboration/Communication

More information

Software Modelling. UML Class Diagram Notation. Unified Modeling Language (UML) UML Modelling. CS 247: Software Engineering Principles

Software Modelling. UML Class Diagram Notation. Unified Modeling Language (UML) UML Modelling. CS 247: Software Engineering Principles CS 247: Software Engineering Principles UML Modelling InStacks Software Modelling Publication[p] borrow(m,p) / BorrowItem(m, p, today) return(p) / ReturnItem(p, today) OnLoan lost A software model is an

More information

1. Which of the following are methods of the Object class A) tostring B) equals C) clone D) compareto E) name F) A, B, and C

1. Which of the following are methods of the Object class A) tostring B) equals C) clone D) compareto E) name F) A, B, and C 1. Which of the following are methods of the Object class A) tostring B) equals C) clone D) compareto E) name F) A, B, and C 2. Superclass references can be converted to subclass references. True/False

More information

Object Oriented Thought Process

Object Oriented Thought Process Object Oriented Thought Process 1. Introduction to Object-Oriented Concepts Procedural Versus OO Programming Moving from Procedural to Object-Oriented Development Procedural Programming OO Programming

More information

Structural Modeling and Analysis

Structural Modeling and Analysis Chapter 2: Structural Modeling and Analysis 15 Chapter 2 Structural Modeling and Analysis Overview Structural modeling is concerned with describing things in a system and how these things are related to

More information

The Unified Modeling Language (UML)

The Unified Modeling Language (UML) The Unified Modeling Language (UML) Communicating Design It is hard to see high-level design concepts from source code Everyone likes to draw but how do we draw pictures that we all understand? A dotted

More information

Deriving Subclasses. Class Relationship via Inheritance. Inheritance. CMPT 126: Lecture 9 Inheritance

Deriving Subclasses. Class Relationship via Inheritance. Inheritance. CMPT 126: Lecture 9 Inheritance Deriving Subclasses CMPT 126: Lecture 9 Inheritance Tamara Smyth, tamaras@cs.sfu.ca School of Computing Science, Simon Fraser University November 15, 2007 A class establishes the characteristics and behaviors

More information

Object-Oriented Analysis, Design and Implementation. Case Study Part I

Object-Oriented Analysis, Design and Implementation. Case Study Part I Object-Oriented Analysis, Design and Implementation Case Study Part I Assoc. Prof. Dr. Marenglen Biba MSc in Computer Science, UoG-UNYT Foundation Programme (C) 2010 Pearson Education, Inc. All 3-1 Further

More information

Object Oriented Design

Object Oriented Design Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and

More information

Software Engineering

Software Engineering Software Engineering Lecture 05: Object-Oriented Analysis Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 45 Object-Oriented Analysis

More information

Use case model Approaches for identifying classes Noun Phrase approach CRC Identifying Object relationshipscase

Use case model Approaches for identifying classes Noun Phrase approach CRC Identifying Object relationshipscase UNIT III Analysis Use case model Approaches for identifying classes Noun Phrase approach CRC Identifying Object relationshipscase study. Object Oriented Analysis Process: Identifying Use Cases Introduction

More information

Structure the system under the form of classes and communication among those classes. Identification of secondary classes

Structure the system under the form of classes and communication among those classes. Identification of secondary classes UML for Embedded Systems II. Design Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, Office 470 Memo on Methodology III. Detailed design Behavior of the system IV. Validation of the system

More information

Measures of Module Strength. The relative independence of a module is considered to be the strength of a module.

Measures of Module Strength. The relative independence of a module is considered to be the strength of a module. Measures of Module Strength The relative independence of a module is considered to be the strength of a module. Fairly independent modules are easier to implement and easier to maintain. Two qualitative

More information

Object Oriented Programming and Design in Java. Session 12 Instructor: Bert Huang

Object Oriented Programming and Design in Java. Session 12 Instructor: Bert Huang Object Oriented Programming and Design in Java Session 12 Instructor: Bert Huang Announcements Midterm exam Wednesday, Mar. 10th Midterm sample problems and solutions posted on courseworks Review Java

More information

Part 2. Introduction to Unified Modeling Language UML

Part 2. Introduction to Unified Modeling Language UML 1 Part 2 Introduction to Unified Modeling Language UML Levels of modelling 2 Conceptual Model Formally describes the content and structure of a data set Describes the Universe of Discourse: a view on the

More information

CS 340 UML Class Diagrams

CS 340 UML Class Diagrams CS 340 UML Class Diagrams A model is an abstraction of a system, specifying the modeled system from a certain viewpoint and at a certain level of abstraction Complexity and Modeling Modeling is a well-accepted

More information

UML. Design and UML Class Diagrams. January 24, 2011 CSE 403, Winter 2011, Brun

UML. Design and UML Class Diagrams. January 24, 2011 CSE 403, Winter 2011, Brun UML Design and UML Class Diagrams January 24, 2011 CSE 403, Winter 2011, Brun How do people draw / write down software architectures? Example architectures person sea agent VerizonWireless UW student lake

More information

The Unified Modeling Language. UML class diagrams. Reminder: a simple use case diagram. A class

The Unified Modeling Language. UML class diagrams. Reminder: a simple use case diagram. A class The Unified Modeling Language UML class diagrams Nigel Goddard School of Informatics University of Edinburgh UML is a graphical language for recording aspects of the requirements and design of software

More information

Exam in 2D1359 & 2D1360 Objektorienterad modellering programmering och analys Thursday, 22nd August 2002, 14:00-19:00

Exam in 2D1359 & 2D1360 Objektorienterad modellering programmering och analys Thursday, 22nd August 2002, 14:00-19:00 NADA, KTH 2D359 & 2D360 2002-08-22 Page of 5 Exam in 2D359 & 2D360 Objektorienterad modellering programmering och analys Thursday, 22nd August 2002, 4:00-9:00 No study aids allowed. Points and grading:

More information

QUESTION BANK. Dhulapally, Secunderabad Class : IT III. Subject: OBJECT ORIENTED ANALYSIS AND DESIGN GROUP - A (SHORT ANSWER QUESTIONS)

QUESTION BANK. Dhulapally, Secunderabad Class : IT III. Subject: OBJECT ORIENTED ANALYSIS AND DESIGN GROUP - A (SHORT ANSWER QUESTIONS) St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad-500 014 Subject: OBJECT ORIENTED ANALYSIS AND DESIGN Class : IT III QUESTION BANK GROUP - A (SHORT ANSWER QUESTIONS) UNIT I 1. Define UML. 2. Explain

More information

OO Techniques & UML Class Diagrams

OO Techniques & UML Class Diagrams OO Techniques & UML Class Diagrams SE3A04 Tutorial Andrew LeClair Department of Computing and Software Faculty of Engineering McMaster University Hamilton, Ontario, Canada Modified from slides by Jason

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 3: Class diagrams part 1 Hubert Baumeister Informatics and Mathematical Modelling Technical University of Denmark Spring 2009 c 2009 H. Baumeister (IMM) Software Engineering

More information

Chapter 3 Implementing Classes

Chapter 3 Implementing Classes Chapter Goals Chapter 3 Implementing Classes To become familiar with the process of implementing classes To be able to implement simple methods To understand the purpose and use of constructors To understand

More information

UML basics: The class diagram

UML basics: The class diagram Page 1 of 16 Copyright IBM Corporation 2004. http://www-106.com/developerworks/rational/library/content/rationaledge/sep04/bell/index.html Search for: within All of dw Search help developerworks > Rational

More information

Concept: Inheritance. Figure 1: Abbreviated hierarchy of the animal kingdom

Concept: Inheritance. Figure 1: Abbreviated hierarchy of the animal kingdom Concept: Inheritance Definition: Inheritance in Java is the ability to create classes that inherit behavior and state from a parent class. These classes provide additional specialization, either in state

More information

A class element. Last week. Class Diagram. Relationships. Virtualization. Introduction to UML Use case diagram Class diagram

A class element. Last week. Class Diagram. Relationships. Virtualization. Introduction to UML Use case diagram Class diagram Last week A class element Virtualization Introduction to UML Use case diagram Class diagram cdsalesreport -weeknumber : int -salesforweek : int -totalsalesforyear : int +refresh() Class s Name Class s

More information

CS3505/5020 Software Practice II Project #4: Review progress Use cases II Class diagrams II

CS3505/5020 Software Practice II Project #4: Review progress Use cases II Class diagrams II CS3505/5020 Software Practice II Project #4: Review progress Use cases II Class diagrams II L14-1 How To Write Use Cases * 1. Identify who will use the system These users are called actors Actors are not

More information

... Introduction Target Group and Prerequisites Structure of the Book Conventions Acknowledgments...

... Introduction Target Group and Prerequisites Structure of the Book Conventions Acknowledgments... ... Introduction... 15... Target Group and Prerequisites... 15... Structure of the Book... 16... Conventions... 18... Acknowledgments... 19 1... Introduction to Object-Oriented Programming... 23 1.1...

More information

An Introduction To UML Class Diagrams Classes

An Introduction To UML Class Diagrams Classes An Introduction To UML Class Diagrams Classes 1. Represent a user-created or defined data type a. they are an abstract data type (ADT) b. they implement data hiding and encapsulation c. they establish

More information

Chapter 8, Object Design: Introduction to Design Patterns

Chapter 8, Object Design: Introduction to Design Patterns Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 8, Object Design: Introduction to Design Patterns During Object Modeling we do many transformations and changes to the object

More information

Principles of Programming & Software Engineering

Principles of Programming & Software Engineering Chapter 2 Principles of Programming & Software Engineering 2011 Pearson Addison-Wesley. All rights reserved 2-1 Problem Solving and Software Engineering Coding without a solution design increases debugging

More information

Inheritance and Polymorphism, Part 1

Inheritance and Polymorphism, Part 1 Inheritance and Polymorphism, Part 1 Reuse Specialization and Extension Inheritance Polymorphism and Dynamic Binding Inheritance and Methods OOP: Inheritance and Polymorphism, Part 1 1 Reuse When you need

More information

Chapter 5: Requirements Analysis and Validation Organizational Requirements Engineering

Chapter 5: Requirements Analysis and Validation Organizational Requirements Engineering Chapter 5: Requirements Analysis and Validation Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Overview Introduction to Requirements Analysis Class and Object Identification

More information

ATM Case Study OBJECTIVES. 2005 Pearson Education, Inc. All rights reserved. 2005 Pearson Education, Inc. All rights reserved.

ATM Case Study OBJECTIVES. 2005 Pearson Education, Inc. All rights reserved. 2005 Pearson Education, Inc. All rights reserved. 1 ATM Case Study 2 OBJECTIVES.. 3 2 Requirements 2.9 (Optional) Software Engineering Case Study: Examining the Requirements Document 4 Object-oriented design (OOD) process using UML Chapters 3 to 8, 10

More information

ER modeling OO modeling Lecture 3

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

More information

LAB 3: Introduction to Domain Modeling and Class Diagram

LAB 3: Introduction to Domain Modeling and Class Diagram LAB 3: Introduction to Domain Modeling and Class Diagram OBJECTIVES Use the UML notation to represent classes and their properties. Perform domain analysis to develop domain class models. Model the structural

More information

The Unified Modeling Language (UML)

The Unified Modeling Language (UML) The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache Outline Why Use UML History UML Characteristics Diagram Types Use Case Diagrams Class Diagrams 2 Why Use UML? Help

More information

Chapter 4 Domain Modeling

Chapter 4 Domain Modeling Systems Analysis and Design in a Changing World, sixth edition 4-1 Chapter 4 Domain Modeling Table of Contents Chapter Overview Learning Objectives Notes on Opening Case and EOC Cases Key Terms Chapter

More information