27
Presenter : Waseem khan 1

Uml Explained Step ByStep

Embed Size (px)

Citation preview

Page 1: Uml Explained Step ByStep

Presenter : Waseem khan

1

Page 2: Uml Explained Step ByStep

What is UML? Motivations for UML Types of UML diagrams UML Syntax Descriptions of the various diagram types Tools for UML

2

Page 3: Uml Explained Step ByStep

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

Prototyping is used in some industries which have problems

Allows implementation-independent specification of:◦ user/system interactions (required behaviors)◦ partitioning of responsibility (OO)◦ integration with larger or existing systems◦ data flow and dependency◦ operation orderings (algorithms)◦ concurrent operations

3

Page 4: Uml Explained Step ByStep

UML is a fusion of ideas from several precursor modeling languages.

We need a modeling language to:◦ help develop efficient, effective and correct designs,

particularly Object Oriented designs.◦ communicate clearly with project stakeholders

(concerned parties: developers, customer, etc).◦ give us the “big picture” view of the project.

4

Page 5: Uml Explained Step ByStep

There are different types of UML diagram, each with slightly different syntax rules:◦ use cases.◦ class diagrams.◦ sequence diagrams.◦ package diagrams.◦ state diagrams◦ activity diagrams◦ deployment diagrams.

5

Page 6: Uml Explained Step ByStep

Actors: Indicates an interface (point of interaction) with the system.

Boxes: Used variously throughout UML to indicate discrete elements, groupings and containment.

Arrows: All manner of things, depending on which particular type of UML diagram they’re in. Usually, arrows indicate flow, dependency, association or generalization.

Cardinality: shows numerical relationships between elements in a model.

Stereotypes: allow us to extend the semantics of UML with English denoted by <<>>

6

Page 7: Uml Explained Step ByStep

A use case encodes a typical user interaction with the system. In particular, it:◦ captures some user-visible function.◦ achieves some concrete goal for the user.

A complete set of use cases largely defines the requirements for your system.

7

Page 8: Uml Explained Step ByStep

8

Page 9: Uml Explained Step ByStep

9

Page 10: Uml Explained Step ByStep

Motivated by Object-Oriented design and programming (OOD, OOP).

A class diagram partitions the system into areas of responsibility (classes), and shows “associations” (dependencies) between them.

Attributes (data), operations (methods), constraints, part-of (navigability) and type-of (inheritance) relationships, access, and cardinality (1 to many) may all be noted.

10

Page 11: Uml Explained Step ByStep

11

Page 12: Uml Explained Step ByStep

12

What is a Class Diagram?

• A class diagram is a view of the static structure of a system– Models contain many class diagrams

• Class diagrams contain:– Packages, classes, interfaces, and relationships

• Notation:

Package Name

Class NameInterface Name

<<Interface>>

Page 13: Uml Explained Step ByStep

13

Relationships

• Class diagrams may contain the following relationships:– Association, aggregation, dependency, realize, and

inheritance

• Notation:

Association Aggregation Dependency

Inheritance Realize

Page 14: Uml Explained Step ByStep

14

Class Relationships

Page 15: Uml Explained Step ByStep

15

Zero or more0..*

One or more1..*

Zero or one0..1

Specified range2..7

Exactly one1

Multiplicity Indicators

• Each end of an association or aggregation contains a multiplicity indicator– Indicates the number of objects participating in the

relationship

Page 16: Uml Explained Step ByStep

16

Multiplicity Indicators

Page 17: Uml Explained Step ByStep

Sequence diagram describe algorithms, though usually at a high level

the operations in a useful sequence diagram specify the “message passing” (method invocation) between objects (classes, roles) in the system.

May in principle be used at the same three levels as class diagrams, though the specification level will usually be most useful.

At implementation level one must use pseudo code

17

Page 18: Uml Explained Step ByStep

18

Page 19: Uml Explained Step ByStep

A type of class diagram, package diagrams show dependencies between high-level system component.

A “package” is usually a collection of related classes, and will usually be specified by it’s own class diagram.

The software in two distinct packages is separate; packages only interact through well-defined interfaces, there is no direct sharing of data or code.

Not all packages in a system’s package diagram are new software; many packages (components) in a complex system are often already available as existing or off-the-shelf software.

19

Page 20: Uml Explained Step ByStep

20

Page 21: Uml Explained Step ByStep

21

Deployment Diagram

A deployment diagram is useful for showing how your software will be deployed on hardware. It may show how your system will integrate with existing systems in the domain.

Page 22: Uml Explained Step ByStep

State diagrams: similar in function to sequence diagrams, but with focus on the prerequisites for an operation, rather than the exact sequence of actions.

Activity diagram : is another important diagram in UML to describe dynamic aspects of the system.

Activity diagram is basically a flow chart to represent the flow form one activity to another activity. The activity can be described as an operation of the system.

22

Page 23: Uml Explained Step ByStep

23

Page 24: Uml Explained Step ByStep

UML collaboration/communication diagrams like UML sequence diagrams,

Used to explore the dynamic nature of your software.

Collaboration diagrams show the message flow between objects in an OO application, and also imply the basic associations (relationships) between classes

24

Page 25: Uml Explained Step ByStep

25

Page 26: Uml Explained Step ByStep

Rational Rose Microsoft Visio

26

Page 27: Uml Explained Step ByStep