An Introduction to the Unified Modeling Language

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
ESE Einführung in Software Engineering 7. Modeling Behaviour Prof. O. Nierstrasz.
UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
Introduction to Software Engineering 7. Modeling Behaviour.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Department of Computing
Improved software quality through semantic descriptions (Skutt) Karlstad University Dept. of Computer Science UML introduction A short introduction.
Software Engineering COMP 201
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Design Patterns in Java Appendix D UML at a Glance Summary prepared by Kirk Scott 1.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Essentials of interaction diagrams Lecture Outline Collaborations Interaction on collaboration diagrams Sequence diagrams Messages from an object.
What is UML? A modeling language standardized by the OMG (Object Management Group), and widely used in OO analysis and design A modeling language is a.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 16 Object Oriented Design I.
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
Unified Modeling Language
Object-Oriented Analysis and Design
UML Diagrams Computer Science I.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Unified Modeling Language © 2002 by Dietrich and Urban1 ADVANCED DATABASE CONCEPTS Unified Modeling Language Susan D. Urban and Suzanne W. Dietrich Department.
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.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
Introduction to Object Modeling
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Design Jon Walker. More UML ● What is UML again?
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Appendix D UML at a Glance Summary prepared by Kirk Scott 1.
CSE 403, Spring 2008, Alverson Using UML to express Software Architecture.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Software Engineering Lecture 8 Object-Oriented Analysis.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
UML Part 1: Class Diagrams. Introduction UML stands for Unified Modeling Language. It represents a unification of the concepts and notations presented.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
Chapter 3: Introducing the UML
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Appendix 3 Object-Oriented Analysis and Design
The Movement To Objects
Object-Oriented Analysis and Design
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Week 10: Object Modeling (1)Use Case Model
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Business System Development
A short introduction to UML Eivind J. Nordby Karlstad University
UML Class Diagrams: Basic Concepts
Object Oriented Analysis and Design
Software Engineering Lecture #11.
Chapter 20 Object-Oriented Analysis and Design
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix A Object-Oriented Analysis and Design
Copyright 2007 Oxford Consulting, Ltd
CIS 375 Bruce R. Maxim UM-Dearborn
Object Oriented System Design Class Diagrams
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Appendix 3 Object-Oriented Analysis and Design
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

An Introduction to the Unified Modeling Language A picture is worth a thousand words

Introduction Most people refer to the Unified Modeling Language as UML. An international industry standard graphical notation for describing software analysis and designs. a standardized notation is used, in order to minimize the room for misinterpretation. Therefore the error rate will be less. Continued on next slide

Introduction The U in UML stands for unified because the UML is a unification and standardization of earlier modeling notations of Booch, Rumbaugh, Jacobson, Mellor and Shlaer. The UML has been accepted as a standard by the Object Management Group1 (OMG). OMG is a non-profit organization with about 700 members that sets standards for distributed object oriented computing.

Use Case Diagrams Use case- a concept invented by Ivar Jocbson. Use case typically represents a major piece of functionality that is complete from beginning to end. Use case diagrams are used during requirements collection and analysis as a graphical means of representing the functional requirements of the system. In UML, a use case is represented as an ellipse

Who is an actor? An actor represents whoever or whatever interacts with the system. The actor is not part of the system itself and represents anyone or anything that must interact with the system to: Input information to the system; Receive information from the system; Both input information to and receive information from the system.

UML SYMBOL FOR AN ACTOR

Arrows and lines are draw between actors and use cases and between use cases to show their relationships

There are two kinds of relationships between use cases. They are: «include» «extend»

The «include» relationship when a chunk of behavior is similar across more than one use-case, and you don’t want to keep copying the description of that behavior The «extend» relationship allows us to modify the behaviour of the base Use Case. But extend relationship makes the use cases difficult to understand. So the developers very rarely use this relationship.

Representation of include and extend relationship

Class Diagrams A class diagram in the Unified Modeling Language is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations, and the relationships among objects. Class diagrams are used in both the analysis and the design phases.

In UML, a class is represented by a rectangle with one or more horizontal compartments. The upper compartment holds the name of the class. The name of the class is the only required field in a class diagram. The center compartment of the class rectangle holds the list of the class attributes/data members. The lower compartment holds the list of operations/methods.

The complete UML notation for a class is

Static Relationships There are two principle types of static relationships between classes: inheritance and association. The relationships between classes are drawn on class diagram by various lines and arrows.

Inheritance Inheritance is represented with an empty arrow, pointing from the subclass to the super class.

Association An association represents a relationship between two instances of classes. An association between two classes is shown by a line joining the two classes. Association indicates that one class utilizes an attribute or methods of another class. There are two different specialized types of association relationships: aggregation, and composition.

Aggregation If the association conveys the information that one object is part of another object, but their lifetimes are independent (they could exist independently), this relationship is called aggregation.

Composition Composition is, when an object is contained in another object, and it can exist only as long as the container exists and it only exists for the benefit of the container.

Attributes Attributes or data members are shown in the middle box of the class diagram. It is optional to show the attributes. Public attributes are denoted with a + sign, protected with a # sign, and private with a – sign.

Notation for Attributes

Operations The operations are the services that a class is responsible for carrying out. They may be specified giving their signature (the names and types of their arguments/parameters), the return type, and their visibility (private, protected, public).

Notation for Operations

More Advanced Class Diagram Concepts Abstract Classes If there is an abstract class or method, the UML convention is to italicize the name of the abstract item. Packages If a system is big, it should be partitioned in smaller sub-systems, each with its own class diagram. In UML notation, the partitions/sub-systems are called packages.

Stereotypes Stereotypes are a high-level classification of an object that gives you some indication of the kind of object it is. Notes Notes are used to “attach” comments and constraints to the model elements.

Object Diagrams An UML object diagram, on the other hand, shows a snapshot of the detailed state of a system at a point in time. An UML object diagram shows some specific instance of the classes of the system. While there is only class diagram of the system, there may be hundreds of different object diagrams. In an object diagram, many different instances of the same class, and no instance of other classes, may be shown.

Notation for an object

Sequence Diagrams Sequence diagrams are used in the analysis and design phases. By creating a sequence diagram, the objects that participate in the use case are identified. Sequence diagrams highlight the sequence of messages through time. But they do not show how objects are linked and may send messages to each other.

A sequence diagram representing a player taking a turn

State Diagrams State diagrams are created during the analysis and design phase to describe the behavior of nontrivial objects. State diagrams are good for describing the behavior of one object across several use cases. It is used to identify object attributes and to refine the behavior description of an object.

A state diagram consists of: • A state is represented by a rounded rectangle. • A start state is represented by a solid circle. • A final state is represented by a solid circle with another open circle around it. • A transition is a change of an object from one state (the source state) to another (the target state) triggered by events, conditions, or time.

UML State Diagram for a Turn in Monopoly

Activity Diagrams Activity diagrams are used during the design phase of complex methods. The activity diagram can also be used during analysis to break down the complex flow of a use case. UML activity diagrams are an updated and enhanced form of flowcharts.

An activity diagram explaining how to prepare corn on the cob

Conclusion Powerful modelling language. UML can be used for modelling the whole system independent of platform language. Provide users with a ready-to-use, expressive modelling examples

Reference An Introduction to the Unified Modeling Language : Laurie Williams 2004

THANK YOU