Fundamentals of Software Development 1Slide 1 UML class diagrams: What are they? Unified Modeling Language (UML)Unified Modeling Language (UML) –“A family.

Slides:



Advertisements
Similar presentations
Object-Oriented Analysis and Design Introduction 1.
Advertisements

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.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
Chapter 15: System Modeling with UML
UML: Unified Modeling Language
1 UML – an overview What is UML? UML stands for Unified Modelling Language. ”The Unified Modelling Language is a visual language for specifying, constructing.
Fundamentals of Software Development 1Slide 1 Today’s Summary UML class diagrams – –Why classes are important – –UML class diagrams – relationships – –UML.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Copyright © 2004 Pearson Education, Inc.. Chapter 12 Practice Database Design Methodology and Use of UML Diagrams.
7M822 UML Introduction 7 September 2010.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
Itntroduction to UML, page 1 Introduction to UML.
Scott Grissom, copyright 2004Ch 2 OO Design Slide 1 Object Oriented Design Chapter 2 focuses on: objects, classes inheritance polymorphism UML class diagrams.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
UFCEPM-15-M Object-oriented Design and Programming Jin Sa.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
Fundamentals of Software Development 1Slide 1 UML class diagrams: Outline Why types / classes are importantWhy types / classes are important –Why types.
Unified Modeling Language
CSCI-383 Object-Oriented Programming & Design Lecture 9.
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Object-Oriented Analysis and Design An Introduction.
Distributed Java Programming Distributed Java Programming Class #2 August 22, 2002.
Systems Analysis and Design in a Changing World, 3rd Edition
Object-Oriented Analysis and Design Fall 2009.
Chapter Two The UML – Unified Modeling Language Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information.
Introduction to UML: Unified Modeling Language Ric Holt U Waterloo, March 2009 CS246.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
1 UML Distilled 3e by Martin Fowler Chapter 1 Introduction to UML.
MCS 270 Spring 2014 Object-Oriented Software Development.
CS-2852 Data Structures LECTURE 3B Andrew J. Wozniewicz Image copyright © 2010 andyjphoto.com.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Introduction to Unified Modeling Language (UML) By Rick Mercer with help from The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar.
Basic OOP Concepts and Terms. In this class, we will cover: Objects and examples of different object types Classes and how they relate to objects Object.
Software Engineering Software Engineering - Mr. Ahmad Al-Ghoul.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
CSCI-383 Object-Oriented Programming & Design Lecture 10.
Lab 5 CPIT 250 System Analysis and Design.
CONTENT 1.Software Process 2.Object Technology 3.UML 4.UML For Java.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
CSE 219 Computer Science III UML. UML Diagrams UML - Unified Modeling Language UML diagrams are used to design object-oriented software systems –represent.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
UML: A notation for capturing work products
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
® IBM Software Group © 2007 IBM Corporation Module 3: Creating UML Diagrams Essentials of Modeling with IBM Rational Software Architect, V7.5.
Unified OO becomes commonly used in the late 1980s Various analysis and design methods The “three amigos” join forces in Rational Software Also include.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
Fundamentals of Software Engineering. Instructor: Dr. Kal Bugrara Office: Snell Engineering, Rm 267 Office Hours: Sat: 12:00-2:00 pm Phone
1 Unified Modeling Language Michael K. Wildes University of California, Riverside – Extension Program Presentation 2.
An Introduction to UML COMS 103 section 4 11 January, 1999.
UML Fundamental Elements. Structural Elements Represent abstractions in our system. Elements that encapsulate the system's set of behaviors. Structural.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Distributed Java Programming Distributed Java Programming Class #1 August 20, 2002.
Object Oriented Analysis & Design By Rashid Mahmood.
SUBCLASSES - JAVA. The Purpose of Subclasses Class Farm String getOwner() void setOwner(String s) int getSize() void setSize(int s) Class DairyFarm String.
Introduction to Unified Modeling Language (UML) By Rick Mercer with help from The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
1 Use Cases Object-Oriented Modeling and Design with UML (Second Edition) Blaha & Rumbaugh Sections 7.1, 8.1.
© 2010 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Appendix A: UML Java Software Structures: Designing and Using Data.
COP 3330 Notes 4/13. Today’s Topics UML Class Diagrams.
Fundamentals of Software Development 1Slide 1 Today’s Summary InterfacesInterfaces –What are they? –Why are they important? –How do they relate to WordGames?
Introduction to Unified Modeling Language (UML)
CH#3 Software Designing (Object Oriented Design)
Introduction to UML: Unified Modeling Language
Fundamentals of Software Development 1
Presentation transcript:

Fundamentals of Software Development 1Slide 1 UML class diagrams: What are they? Unified Modeling Language (UML)Unified Modeling Language (UML) –“A family of graphical notations … that help in describing and designing [object-oriented] software systems” – Martin Fowler –Developed in 1997 to unify the previous object-oriented graphical modeling languages –Now the world-wide standard We focus on UML class diagramsWe focus on UML class diagrams –These show: Relationships between classes in the software systemRelationships between classes in the software system Details of the classesDetails of the classes

Fundamentals of Software Development 1Slide 2 A relationships-only UML class diagram Person ManWoman Son Father Daughter Mother PersonAbleToProcreate > 11 ** This diagram might also show which objects are to construct which other objects is-a (by extending a class)is-a (by extending a class) is-a (by implementing an interface)is-a (by implementing an interface) has-ahas-a 1means one *means 0 or more 1.. *means 1 or more 0.. 1means 0 or 1

Fundamentals of Software Development 1Slide 3 A relationships-only UML class diagram Exercise: draw arrows to indicate the relationships between these classes in an order-processing system. For example, think of the company as Amazon and the system as Amazon’s system for processing orders from customers. After drawing the arrows, indicate the multiplicities. Instructor: give each student a paper copy of this slide. The example is taken from Martin Fowler’s UML Distilled, 3 rd Edition. Order Line Product Corporate Customer OrderCustomer Personal Customer Employee salesRep is-a (by extending a class) is-a (by implementing an interface) has-a 1means one *means 0 or more 1.. *means 1 or more 0.. 1means 0 or 1 lineItem

Fundamentals of Software Development 1Slide 4 One answer to the exercise on the previous slide Exercise: draw arrows to indicate the relationships between these classes in an order- processing system. For example, think of the company as Amazon and the system as Amazon’s system for processing orders from customers. Here is one answer, but not the only possible one! Depends on exactly what you want to model… Order Line Product Corporate Customer OrderCustomer Personal Customer Employee salesRep is-a (by extending a class) is-a (by implementing an interface) has-a 1means one *means 0 or more 1.. *means 1 or more 0.. 1means 0 or 1 lineItem 1 * * * *

Fundamentals of Software Development 1Slide 5 UML class diagrams What they areWhat they are –A notation to assist object-oriented design (not just Java) Why use UML?Why use UML? –UML as sketch To figure out a designTo figure out a design To communicate ideas and alternativesTo communicate ideas and alternatives –UML as blueprint To convey the design to the coderTo convey the design to the coder –UML as programming language To generate code automatically from the designTo generate code automatically from the design This is how we (and most people) use UML class diagrams – as a tool to help our thinking