UML 101. 2UML Language? –Provides the semantics and syntax (notation) for each model element e.g., class, interface, association, attributes, etc. etc.

Slides:



Advertisements
Similar presentations
Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
Advertisements

System Modelling System modelling helps the analyst to understand the functionality of the system and models are used to communicate with customers. Different.
Unified Modeling Language
Object-Oriented Analysis and Design
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
© Copyright Eliyahu Brutman Programming Techniques Course.
ACM/JETT Workshop - August 4-5, 2005 UML Modeling using MagicDraw UML for Java Programmers.
Unified Modeling Language
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Introduction to UML 1 Quick Tour Why do we model? What is the UML? Foundation elements Unifying concepts Language architecture Relation to other OMG technologies.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Unified Modeling Language, Version 2.0
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 Object-oriented and Structured System Models.
Chapter 7 System models.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
IT 21103/41103 System Analysis & Design. Chapter 05 Object Modeling.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
TAL7011 – Lecture 4 UML for Architecture Modeling.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Design Model Lecture p6 T120B pavasario sem.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
The Unified Modeling Language (UML)
Introduction to OOAD and the UML
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Class diagrams Terézia Mézešová.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
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.
UML (Unified Modeling Language)
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Introduction to UML.
UML Diagrams By Daniel Damaris Novarianto S..
Evolution of UML.
Main issues: • What do we want to build • How do we write this down
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Object-Oriented Techniques
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
UML Diagrams Jung Woo.
UML: Unified modeling language
Software Architecture & Design Pattern
Unified Modeling Language
University of Houston-Clear Lake
Introduction to UML.
Copyright 2007 Oxford Consulting, Ltd
Presentation transcript:

UML 101

2UML Language? –Provides the semantics and syntax (notation) for each model element e.g., class, interface, association, attributes, etc. etc. Unified? –Major modeling languages merged to UML in 90s. Object Management Group ( –Many religious wars before UML is born. UML: class, association, generalization, aggregation Booch: class, use, inheritance, containment OMT: class association, generalization, aggregation Class, association, subtype,

3 What UML provides –Modeling semantics and notation –13 diagrams –Modeling viewpoints What UML does not provide –Method: e.g. how to identify classes? –Methodology

4 13 Diagrams in UML 2.x Use case –Interactions b/w a system and its users or other external entities/systems. Requirements to a system. –UML 1.x Class –Classes, interfaces, etc., and relationships b/w them. –UML 1.x Object –Object instances of the classes defined in class diagrams –UML 1.x Component –Components and the interfaces they use to interact with each other. –UML 2.0 Composite structure –The internals of a class or component –UML 2.0 Package –The hierarchal organization of groups of classes and components. –UML 2.0

5 Communication –The ways in which objects interact –Renamed from UML 1.x’s collaboration diagrams Sequence –Interactions b/w objects where the order of the interactions is important. –UML 1.x Timing –Interactions b/w objects where timing is an important concern. –UML 2.0 Interaction overview –Collect communication, sequence and timing diagrams together. State machine –The state of an object throughout its lifetime, and the events that can change that state. –UML 1.x Activity –Sequential and parallel activities in a system –UML 1.x Deployment –A system’s deployment –UML 1.x

6 Modeling Viewpoints Viewpoints –A technique for abstraction using a selected set of architectural concepts and structuring rules to focus on particular concerns within a given system. Why viewpoints? –It is often impossible for a single developer to understand everything about a software system all at once. It is essential in a project to undertake a development or maintenance task without understanding everything about the system. 5 viewpoints in UML –Logical, process, development, physical and use case viewpoints

7 Kruchten’s 4+1 View Model Logical view –Describes the abstract descriptions of a system’s parts. –Models what a system is made up of and how the parts interact with each other. –Class, object, composite str, comm, seq, timing, interaction overview and state machine diagrams Process view –Describes the processes within a system e.g., Biz processes, processes/threads –Activity diagrams Development view –Describes a system’s parts are organized into modules and components. Modules/architecture/layers –Composite str, package and component diagrams

8 Physical view –Describes how a system’s design is realized as a set of real-world entities. e.g., app installation, machine/host configuration, network configuration –Deployment diagrams Use case view –Describes the functionality of a system being modeled from the perspective of the outside world. Use cases and scenarios that consolidate the other views. –All of the other views rely on this view to guide them. –Use case diagrams

9Classes Class Attribute1 Attribute2 Attribute3 Operation1 Operation2 Operation3 Class Attribute1 Attribute2 Class Operation1 Operation2 Class Customer firstName: String lastname: String id: int getId(): int Address street: String city: String state: String zipCode: int getStreet(): String setStreet(street: String): void

10Packages cs680 edu umb cs680 CustomerAddress cs680 edu::umb::cs680 CustomerAddress edu::umb::cs680::Customer Customer (from cs680)

11Visibility Address + city: String getCity(): String Defines who can access an attribute or operation. –Public (+), protected (#), package (~) and private (-) Customer cs680 SpecialAddress cs681 Customer

12 Address # city: String getCity(): String Customer cs680 SpecialAddress cs681 Customer Note: Java’s protected visibility allows any other classes in the same package to access to protected attrs/ops of a class. It is a combination of UML’s protected and package visibility.

13 Address ~ city: String getCity(): String Customer cs680 SpecialAddress cs681 Customer

14 Address - city: String getCity(): String Customer cs680 SpecialAddress cs681 Customer Note: Use private/protected visibility as often as possible to encapsulate/hide the internal attrs/ops of a class.

15Association Customer firstName: String Lastname: String id: int getAddress(): Address Address Street: String city: String state: String zipCode: int getCity(): String 1 - homeAddr Customer firstName: String Lastname: String id: int homeAddr: Address getAddress(): Address

16 Customer firstName: String Lastname: String id: int getHomeAddress(): Address getOfficeAddress(): Address Address Street: String city: String state: String zipCode: int getCity(): String 1 - homeAddr Customer firstName: String Lastname: String id: int homeAddr: Address officeAddr: Address getHomeAddress(): Address getOfficeAddress(): Address 1 - officeAddr

17 Customer firstName: String Lastname: String id: int getAddress(): Address [1..2] Address Street: String city: String state: String zipCode: int getCity(): String Customer firstName: String Lastname: String id: int addresses: Address [1..2] getAddress(): Address [1..2] addresses

18 Customer firstName: String Lastname: String id: int getAddress(): Address[*] Address Street: String city: String state: String zipCode: int getCity(): String Customer firstName: String Lastname: String id: int addresses: Address [*] getAddress(): Address [*] * - addresses

19 Customer firstName: String Lastname: String id: int = “0” getId(): int

20HW5 Read SP 20 to 25 Imagine (or eat!) an ice cream, and model ice creams. Make an ice cream model with a UML tool. Paste your model to a PPT file, and upload it to the course repository. –Make a new directory “hw5-ice-cream” and upload your PPT file there. –Contact my TA for all technical questions Due: Sept 27 (Thu), 6pm

21 UML Modeling Tools Visual Paradigm (Community Edition) – JUDE (Community Edition) – EclipseUML – MagicDraw – Poseidon (Community Edition) – Green – A List of UML Tools –