Unified Modeling Language User Guide Section 2—Basic Structural Modeling Chapter 4—Classes.

Slides:



Advertisements
Similar presentations
UML (cont.) “The Unified Modeling Language User Guide” by G. Booch, J. Rumbaugh and I. Jacobson ● Classes ● Relationships ● Class diagrams ● Examples.
Advertisements

CIT731: Database Development Object Oriented Modeling (OOM)
Chapter 3 Data Modeling Copyright © 2014 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
UML Class Diagram and Packages Written by Zvika Gutterman Adam Carmi.
UML Class Diagram. UML Class Diagrams2 Agenda What is a Class Diagram? Essential Elements of a UML Class Diagram Tips.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
UML – Class Diagrams.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Slide 1 Chapter 7 Structural Modeling. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
© 2005 Prentice Hall8-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Introduction to UML Visual modeling Models and its importance
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Object-Orientated Design Unit 3: Objects and Classes Jin Sa.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Common Mechanisms in UML
Classes Chapter 4. Terms and Concepts A class is a description of a set of objects that share the same attributes, operations, relationships, and semantics.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra,
Software Engineering COSC 4460 Spring 2002 Hello, world!
SEG4110 – Advanced Software Design and Reengineering
Lawrence ChungCS6359.0T1: Module 41 Module 4: Relationships.
1 A Student Guide to Object- Orientated Systems Chapter 4 Objects and Classes: the basic concepts.
Detailed design – class design Domain Modeling SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Specializing and extending the UML
Slide 1 Structural Modeling Chapter 7. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
Structural Modeling. Objectives O Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. O Understand.
Systems Analysis and Design in a Changing World, 3rd Edition
1 Class Diagrams: The Essentials. 2 Terms and Concepts A class is... The most important building block of any object-oriented system. A description of.
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 7: Structural Modeling.
Lecture 6: Structural Modeling
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
TAL7011 – Lecture 4 UML for Architecture Modeling.
Object-Oriented Paradigm and UML1 Introduction to the Object- Oriented Paradigm.
What is a Structural Model?
Structural Modeling Chapter 7. Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes in.
1 Structural Modeling Chapter 7. 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes.
Class Diagram Classes are the most important building block of any object-oriented system. A class is a description of a set of objects that share the.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 classes 1 classes a class describes a group of objects with: similar properties (attributes)
Design Model Lecture p6 T120B pavasario sem.
DOMAIN MODEL: ADDING ATTRIBUTES Identify attributes in a domain model. Distinguish between correct and incorrect attributes.
Unified Modeling Language User Guide Section 4 - Basic Behavioral Modeling Chapter 16 - Use Cases Chapter 17 - Use Case Diagrams.
12/24/2015B.Ramamurthy1 Analysis and Design with UML: Discovering Classes Bina Ramamurthy.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 7: Structural Modeling.
1 Introduction to Classes. 2 Terms and Concepts A class is... –The most important building block of any object- oriented system. –A description of a set.
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
 UML Intro  Objects  Object-Oriented Concepts  Classes  Attributes  Operations  Responsibilities & Constraints  Notes 1 SDES 6300 January 2011.
1 ITEC0724 Modern Related Technology on Mobile Devices Lecture Notes #1.
ITEC0724 Modern Related Technology on Mobile Devices Lecture Notes #2 1.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 7: Structural Modeling.
Kyung Hee University Class Diagramming Notation OOSD 담당조교 석사과정 이정환.
What is this? SE-2030 Dr. Mark L. Hornick 1. Same images with different levels of detail SE-2030 Dr. Mark L. Hornick 2.
Basic Structural Modeling Pertemuan ke 4 Classes.
Use Cases. 2 A use case... –Specifies the behavior of a system or some subset of a system. –Is a system-level function. –Does not indicative how the specified.
Elaboration popo.
Entity-Relationship Modeling
Today’s Objectives Define the Problem Domain
Object-Oriented Analysis
Object Oriented Analysis and Design
Chapter 9 Use Cases.
UML Class Diagram.
Introduction to UML.
Use Cases.
CIS 375 Bruce R. Maxim UM-Dearborn
Copyright 2007 Oxford Consulting, Ltd
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Cheng (Sp2001): Object-Oriented Development Overview
Presentation transcript:

Unified Modeling Language User Guide Section 2—Basic Structural Modeling Chapter 4—Classes

Sung KimCS6359Slide 2 Overview Classes –Attributes –Operations –Responsibilities Modeling the vocabulary of a system. Modeling the distribution of responsibilities. Modeling non-software “things”. Modeling primitive types. Modeling quality abstractions.

Sung KimCS6359Slide 3 Classes Description of a set of objects that share the same attributes, operations, relationships, and semantics. Window origin size open() close() name attributes operations

Sung KimCS6359Slide 4 Names Distinguishing identity. Textual string. Simple name. Prefixed by package name to generate path name. Customer Account Temperature Sensor Circuit Java::awt::Rectangle Simple names path name

Sung KimCS6359Slide 5 Name Rules Consists of letters, numbers, and certain punctuation marks. Short noun phrases drawn from vocabulary of the domain. First letter of every word capitalized. TemperatureSensor BrokerageAccount

Sung KimCS6359Slide 6 Attributes Named property of a class. Describes a range of values that an instance of the property may hold. Short noun representing property of its enclosing class. First letter of every word capitalized except the first. birthDate userAccount

Sung KimCS6359Slide 7 Attributes (cont’d) attributes height : Float width : Float isStudent : Boolean = false origin size You can further specify an attribute by stating its class and possibly a default initial value

Sung KimCS6359Slide 8 Operations Abstraction of something that can be done to an object. Shared by every object of the same class. May cause object to change state. Short verb representing behavior of representing class. First letter of every word capitalized except the first. addUser() isEmpty()

Sung KimCS6359Slide 9 Operations (cont’d) operations reset() setAlarm( t : Temperature ) value() : Temperature add() move() You can specify an operation by stating its signature, covering the name, type and default value of all parameters and a return type

Sung KimCS6359Slide 10 Organizing Only a subset of attributes and operations are typically relevant to any one view. Elide a class; hide non-relevant information. Use stereotypes to categorize. Use ellipsis to specify additional attributes or operations > new() new( p : Policy ) > process( o : Order ) … > isSuspect( o : Order )

Sung KimCS6359Slide 11 Responsibilities Contract or obligation of a class. Carried out by attributes and operations. Techniques –CRC cards (Class-Responsibility- Collaborator); Kent Beck and Ward Cunningham; ’89 –Use case based analysis.

Sung KimCS6359Slide 12 Responsibilities (cont’d) Free-form text; one phrase per responsibility. Responsibilities -- determine the risk of a customer order -- handle customer-specific criteria for fraud FraudAgent responsibilities

Sung KimCS6359Slide 13 Modeling Techniques Vocabulary. Distribution of responsibilities. Non-software things. Primitive types.

Sung KimCS6359Slide 14 Modeling Vocabulary Things used to describe the problem or solution. Found through CRC cards and/or use case analysis. Identify responsibilities for each abstraction. Provide attributes and operations needed to carry out responsibilities.

Sung KimCS6359Slide 15 Modeling Distribution of Responsibilities Identify a set of classes that work together to carry out some behavior. Identify responsibilities for each class. Split classes with too much responsibility. Collapse classes with trivial responsibility. No class should do too little or too much.

Sung KimCS6359Slide 16 Modeling Non-software Things Model the thing as a class. Use stereotypes to give a distinctive cue. Consider nodes to model hardware. Use a unique icon.

Sung KimCS6359Slide 17 Modeling Primitive Types Model as a type using a class notation. Use stereotypes as necessary. Use constraints to represent valid values. > Boolean false true > Int { value range –2**31 to +2**31-1 }

Sung KimCS6359Slide 18 Hints & Tips Well-structured class –Provides a crisp abstraction drawn from vocabulary of problem or solution. –Embodies small, well-defined set of responsibilities. –Provides clear separation of the abstractions specification and implementation. –Understandable and simple. –Extensible and adaptable.

Sung KimCS6359Slide 19 Hints & Tips (cont’d) Drawing a UML class –Show only properties that are important in a specific context. –Organize long lists of attributes and operations by grouping. –Show related classes in the same diagrams.

Sung KimCS6359Slide 20 Summary Classes –Name. –Attributes. –Operations. –Responsibilities. Modeling techniques. –Vocabulary. –Responsibilities. –Non-software things. –Primitive types.