Uml in software engineering

4,472 views 15 slides Aug 18, 2016
Slide 1
Slide 1 of 15
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15

About This Presentation

complete discruption about UMLs


Slide Content

Aug 18, 2016
Simple UML

2
What is UML?
UML stands for Unified Modeling Language
UML is a diagramming language designed for Object-
Oriented programming
UML can be used to describe:
the organization of a program
how a program executes
how a program is used
how a program is deployed over a network
…and more

3
Design Patterns
Design Patterns describe the higher-level organization
of solutions to common problems
Design Patterns are a current hot topic in O-O design
UML is always used for Design Patterns
Design Patterns are used to describe refactorings
We will discuss some Design Patterns later on in this
course

4
UML is complex
UML is a big, complicated diagramming language
UML comprises at least seven or eight different kinds
of diagrams
This talk will cover just a tiny bit of one kind of
diagram, the class diagram
A class diagram is often all that is needed to describe
a particular Design Pattern

5
Class diagrams
A class diagram shows classes, interfaces, and their
relationships
We’ll cover most of classes and interfaces, and a few
of the most important relationships

6
Classes
A class is drawn as a rectangle with two or three
compartments:
Name of the class
Variables [optional]
Methods

7
Variables I
A variable is written as:
visibility name : type
where:
+ means public visibility
# means protected visibility
- means private visibility
<blank> means default (package) visibility
Example: +length:int

8
Variables II
Static variables are underlined
An initial value can be shown with =value
Example:
-numberOfEmployees:int=10
means numberOfEmployees is:
private
static
integer
and has 10 as its initial value

9
Methods
Methods are written as:
visibility name (parameters) : returnType
where
visibility uses the same syntax variables (+, -, #, blank)
parameters are given as name:type
if the returnType is void, it is omitted
constructors are preceded by «constructor»
interfaces are preceded by «interface»
an ellipsis (…) indicates omitted methods

10
Example of a class
Card
cardId:int
-copy:boolean=false
«constructor» Card(int id)
+isKind(desiredKind:int)
+isSharable():boolean
+toString():String

11
Types of relationships
A
B
Class B
extends
class A
C
D
1..4
Class C
contains
1 to 4 objects
of class D
Factory
Product
creates
Other
kinds of
relations

12
Example: Secret Code program

13
UML tools
Rational Rose is the “real world” standard; full round-
trip code generation
Recently acquired by IBM (right under Microsoft’s nose!)
Together (from Borland) is a lot like Rational Rose
I haven’t used it in about three years (since before Borland
bought it from TogetherSoft)
ArgoUML looks interesting (and is open source)
BlueJ, of course, displays simple UML diagrams
Drawing programs with UML support
Visio is a Microsoft tool
Dia is a freeware clone of Visio

14
Tool links
Rational Rose
http://www-3.ibm.com/software/awdtools/developer/rosexde/
Together
http://www.borland.com/together/
ArgoUML
http://argouml.tigris.org
Visio
Hard to find info on Microsoft’s site!
http://msdn.microsoft.com/office/understanding/visio/
Dia
http://www.lysator.liu.se/~alla/dia

15
The End
Tags