UML Review

Preview:

DESCRIPTION

UML Diagram

Citation preview

UML Review Compile by Zafar Ayub

zafar_ayub@hotmail.com

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 zafar_ayub@hotmail.com 2

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 zafar_ayub@hotmail.com 3

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 zafar_ayub@hotmail.com 4

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 zafar_ayub@hotmail.com 5

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 zafar_ayub@hotmail.com 6

History chart

11/8/2014 zafar_ayub@hotmail.com 7

Types of UML diagram

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

11/8/2014 zafar_ayub@hotmail.com 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

Blocks of UML diagram

▪ UML blocks are dived into four categories

11/8/2014 zafar_ayub@hotmail.com 9

2.4.1 Blocking Structural Blocks

Behavioral Blocks

Grouping Blocks

An notational Blocks

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 zafar_ayub@hotmail.com 10

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 zafar_ayub@hotmail.com 11

UseCase_______

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 zafar_ayub@hotmail.com 12

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 zafar_ayub@hotmail.com 13

Actor

Message

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 zafar_ayub@hotmail.com 14

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 zafar_ayub@hotmail.com 15

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 zafar_ayub@hotmail.com 16

Recommended