16

Click here to load reader

UML Review

Embed Size (px)

DESCRIPTION

UML Diagram

Citation preview

Page 1: UML Review

UML Review Compile by Zafar Ayub

[email protected]

Page 2: UML Review

What is UML?

▪ The Unified Modeling Language (UML) is a general-purpose modeling language in the field of software engineering, which is designed to provide a standard way to visualize the design of a system

▪ A standardized, graphical “modeling language” for communicating software design

▪ A language for capturing and expressing

▪ A tool for system discovery and development

▪ A tool for visual development modelling

▪ A set of well-founded guidelines

▪ A milestone generator

▪ System architecture documentation

11/8/2014 [email protected] 2

Page 3: UML Review

What UML is not?

▪ A visual programming language or environment

▪ A database specification tool (i.e. an ERD)

▪ A development process (i.e. an SDLC)

▪ A quality guarantee

▪ A project management specification

▪ UML isn’t specific to any software process, programming paradigm, or technology

▪ UML isn’t for end user or public

▪ Design and draw is too complex

11/8/2014 [email protected] 3

Page 4: UML Review

What UML does?

▪ Better think out and document your system before implementing it

▪ “forecast” your system

▪ Lower development costs

▪ Plan and analyze your logic (system behavior)

▪ Make the right decisions at an early stage (before committed to code)

▪ Better deploy the system for efficient memory and processor usage

▪ Easier maintenance/modification on well documented systems

▪ Lower maintenance costs

▪ Establish a communication standard

▪ Minimize “lead-in” costs

11/8/2014 [email protected] 4

Page 5: UML Review

Why use UML?

▪ Open Standard, Graphical notation for

▪ Specifying, visualizing, constructing, and documenting software systems

▪ Open Standard, Graphical notation for

▪ Language can be used from general initial design to very specific detailed design across the entire software development lifecycle

▪ Increase understanding/communication of product to customers and developers

▪ Support for diverse application areas

▪ Support for UML in many software packages today (e.g. Rational, plugins for popular IDE’s like NetBeans, Eclipse)

▪ Based upon experience and needs of the user community

▪ Help to develop efficient, effective and correct designs, particularly Object Oriented designs

11/8/2014 [email protected] 5

Page 6: UML Review

History of UML

▪ Overcome with methodologies in early 90’s for object-oriented techniques by

Grady Booch, Ivar Jacobson, Jemas Rumbaugh

▪ Their techniques

Booch by Grady Booch

OMT (Object Modeling Technique), by Jim

OOSE (Object-Oriented Software Engineering), by Ivar Jacobson

▪ In October 1994, the Rational Software Corporation (part of IBM since February 2003) began the creation of a unified modeling language by these three professionals

▪ 1997 OMG (Object Management Group) published UML 1.0

▪ Current version of UML is 2.4.1

11/8/2014 [email protected] 6

Page 7: UML Review

History chart

11/8/2014 [email protected] 7

Page 8: UML Review

Types of UML diagram

▪ In version 2.4.1 UML has many types of diagrams which are divided into two categories

11/8/2014 [email protected] 8

2.4.1 Structural UML Diagrams

Class Diagram

Component Diagram

Composite Structure Diagram

Deployment Diagram

Object Diagram

Package Diagram

Profile Diagram

Behavioral UML Diagrams

Activity Diagram

Communication Diagram

Interaction Overview Diagram

Sequence Diagram

State Diagram

Timing Diagram

Use Case Diagram

Page 9: UML Review

Blocks of UML diagram

▪ UML blocks are dived into four categories

11/8/2014 [email protected] 9

2.4.1 Blocking Structural Blocks

Behavioral Blocks

Grouping Blocks

An notational Blocks

Page 10: UML Review

Structural Blocks

▪ The structural blocking defines the static part of the models. They represent physical and conceptual elements, brief is their:

1. Class - Class represents set of objects having similar responsibilities

2. Interface - Interface defines a set of operations which specify the responsibilities of a class

11/8/2014 [email protected] 10

Page 11: UML Review

3. Collaboration - Collaboration defines interaction between elements

4. Use case - Use case represents s set of actions performed by a system for specific goal

11/8/2014 [email protected] 11

UseCase_______

Page 12: UML Review

5. Component - Component describe physical part of a system

6. Node - A node can be defined as a physical; element that exist at run time

11/8/2014 [email protected] 12

Page 13: UML Review

Behavioral Blocks

▪ A behavioral thing consists of the dynamic parts of UML models, following are the behavioral things:

1. Actor - The outside entity that communicate with a system, typically a person playing a role or an external device

2. Interaction - Interaction is define as a behavior that consist of a group of messages exchanged among elements to accomplish a specific task

11/8/2014 [email protected] 13

Actor

Message

Page 14: UML Review

3. State machine - State machine is useful when the state of an object in its life cycle is important. It defines the sequence of states an object goes through in response to events. Events are external factors responsible for change state

11/8/2014 [email protected] 14

Page 15: UML Review

Grouping Blocks

▪ Grouping blocks can be defined as a mechanism to group elements of a UML model together, there only one grouping block available:

1. Package - Package is the only one grouping thing available for gathering structural and behavioral things

11/8/2014 [email protected] 15

Page 16: UML Review

An notational Blocks

▪ An notational blocks can be define as a mechanism to capture remakes, descriptions and comments of UML model elements.

1. Note - A note is used to render comments, constraints etc of UML elements

11/8/2014 [email protected] 16