updated uml aima final lecture 23 apr

93
Session 1 Session 1 Introduction to OOAD and UML

Upload: dinesh

Post on 05-Jul-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 1/93

Session 1Session 1Introduction to

OOAD and UML

Page 2: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 2/93

Introduction to UML 2

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / 2 of 27

Objectives

Discuss the basic concepts of OOA and UML

Discuss the concept and use of UML

Give a whole preview of the elements of

UML, and use simple examples to explain the

function of UML

Page 3: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 3/93

Introduction to UML 3

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / of 27

Object Oriented

Analysis and Design

(OOA&D) 

Object oriented Analysis and Design refers tothe analysis and design of a system based on

the concets of object orientation!

UML is a diagrammatic aroach to model

the soft"are to be de#eloed!

Page 4: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 4/93

Introduction to UML $

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / ! of 27

SDLC 

Soft"are De#eloment Life %ycle &SDL%' is a

se(uence of acti#ities carried out by analyst)

designers) and users to de#elo andimlement an information system!

Analyst * Studies re(uirements

Designer  * Designs the system

User – An entity

Page 5: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 5/93

Introduction to UML +

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / " of 27

Object Oriented

Analysis (OOA)  Phase of the project during which a precise

and concise model of the problem in terms

of real world objects and concepts asunderstood by the user is developed.

 The analysis must also identify therelevant characteristics, interactions and

relations between the entities.  This kind of real life mapping to computer

analysis is the advantage oered by the

Object Oriented Analysis.

Page 6: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 6/93

Introduction to UML ,

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / # of 27

Object Oriented Design (OOD) 

-rograms are organi.ed as co/oerati#ecollections of objects!

0he urose of Object Oriented Design is toadat the results of OOA hase!

Designer defines the resonsibilities) oerationsattributes and relationshis of one or se#eral

classes! Designer also designs the database and alies

normali.ation techni(ues!

Diagrams can be classified into static or

dynamic!

Page 7: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 7/93Introduction to UML

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / 7 of 27

Advantages of OOA&D over

Traditional Analysis and Design  %lose match bet"een "hat is being imlemented and the actual

roblem!

-romotes reuse of objects

Since reuse of objects is ossible) it reduces errors andmaintenance roblems!

euse of objects also seeds u the rocess of design andde#eloment!

 Aeals to the "oring of human cognition) as it is our natural "ay

of thining! -roagates data encasulation

4els to handle the comle5ity of soft"are de#eloment and aidsgeneration of adatable and resilient soft"are systems!

Page 8: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 8/93Introduction to UML 6

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / $ of 27

Modeling

 A model is a simlification of reality

-ro#ides the bluerints of a system

Models may encomass detailed lans

 A good model includes those elements that ha#e broadabstraction!

4els to #isuali.e a system as it is or according to theneed!

Models ermit to secify the structure or beha#ior of asystem!

Models gi#e a temlate that guides in constructing asystem!

Models document the decisions that ha#e been made

Page 9: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 9/93Introduction to UML 7

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / % of 27

SDLC !ases"#

Page 10: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 10/93Introduction to UML 18

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / 1& of 27

SDLC !ases"$

reli%inary nvestigation ('easibility Stdy)   An imortant outcome of the reliminary in#estigation is

determining "hether the system to be de#eloed is feasible

  or not!

e*ire%ent Analysis (Analysis)   In#ol#es study of the current business system in detail and to

find out ho" it "ors and "here the imro#ements ha#e to

  be made!

 

Page 11: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 11/93Introduction to UML 11

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / 11 of 27

SDLC !ases"+

Design of t!e Syste%

0he design hase states ho" a system "ill meet the re(uirements

identified during the systems analysis hase as mentioned in the

e(uirements Secifications!

Identification of data entry forms) data elements) reorts) oututs

the ne" system should roduce) data elements and tables for

database!

Setch the form or dislay as e5ected to aear at the end of

comletion of the system!

%omutation rocedures e5laining the rocess of deri#ing the

outut from gi#en inut!

Page 12: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 12/93Introduction to UML 12

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / 12 of 27

SDLC !ases",

Soft-are Constrction Actual construction &coding' of the rograms

Syste% Testing Actual soft"are code construction

Unit 0esting9 .!ite /o0 testing

Indeendent Unit 0esting

Page 13: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 13/93Introduction to UML 13

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / 1 of 27

SDLC !ases"1

Syste% Testing 

 After the rograms are tested indi#idually) the system as a "hole

needs to be tested! All the soft"are modules are integrated and tested to ensure that

they do not fail i!e! it "ill run according to secifications as

mentioned in re(uirement secification document and in the "ay

the users e5ected it to!

Secial test data is reared as inut for rocessing and theresults are e5amined to find out any de#iations from the desired

results!

bj i d l i d i

Page 14: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 14/93Introduction to UML 1$

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / 1! of 27

SDLC !ases"2

Syste% %3le%entation De#eloed system is deloyed at the user:s site for use

User ersonnel are trained

0he data files needed by the system are constructed

Syste% Maintenance Due to en#ironmental changes) the soft"are may turn obsolete and it may

call for modifications and enhancements for its effecti#e use!

0he acti#ity of system maintenance may #ary deending on the scale of

modifications and enhancements!

Obj O i d A l i d D i

Page 15: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 15/93Introduction to UML 1+

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / 1" of 27

Model

0he language used to reresent a model is called aModeling Langage4

Object Model can be e5lained as a model to reresentobjects of a system!

rinci3le of Model Creation 0he choice of "hat models to create has a rofound influence on

ho" a roblem is attaced and ho" a solution is shaed!

;o single model is sufficient!

Obj t O i t d A l i d D i

Page 16: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 16/93Introduction to UML 1,

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / 1# of 27

Object Oriented Model Creation 

0he contemorary #ie" of soft"are

de#eloment is an object/oriented ersecti#e!In this aroach the main building bloc of allsoft"are systems is the object or class!

Obj t O i t d A l i d D i

Page 17: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 17/93Introduction to UML 1

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / 17 of 27

ntrodction to UML 

Some of the leading comanies that ha#econtributed to"ards and romoted thede#eloment of UML are

4e"lett * -acard

Microsoft

Oracle

I<M

Unisys

Obj t O i t d A l i d D i

Page 18: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 18/93Introduction to UML 16

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / 1$ of 27

A33lication in Soft-are

Develo3%ent Life Cycle  reli%inary nvestigation5 Use %ases to cature the

re(uirements of a customer!

Analysis5 %lass diagrams are made at real "orld abstractle#el to deict their e5istence and relationshi!

Design5 %lasses are modeled

Develo3%ent5 -rogrammers refer to the #arious UML

diagrams reared in the design stage to understand andde#elo code!

Testing5 UML has different diagrams to suort testing of

soft"are!

Object Oriented Analysis and Design

Page 19: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 19/93Introduction to UML 17

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / 1% of 27

UML Overvie- 

6ie-s" "ould mean =to obser#e: or =to e5amine:

Diagra%s" is a art of a secific #ie" and "hen it is

dra"n it is allocated to a #ie"!

elations!i3s"ro#ide a ath"ay for communication

bet"een objects!

Modeling 7le%ents"consist of symbols that hel in

rearing diagrams and #ie"s!

Object Oriented Analysis and Design

Page 20: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 20/93Introduction to UML 28

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / 2& of 27

8+9#: vie-

Object Oriented Analysis and Design

Page 21: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 21/93

Introduction to UML 21

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / 21 of 27

UML ;ello .orld 

Object Oriented Analysis and Design

Page 22: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 22/93

Introduction to UML 22

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / 22 of 27

Co%3onent 

Source code comonents &e!g!) !h) !c files) shellscrits) data files'

<inary code comonents! >5amles include9 ja#a

<eans) Acti#e? controls) %OM objects &DLL:s andO%?:s from @<') %O<A objects'

>5ecutable comonents &!e5e:s'

Stereotyes &"ith alternati#es icons' may be used to

define these secific inds of comonents!

Object Oriented Analysis and Design

Page 23: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 23/93

Introduction to UML 23

Object Oriented Analysis and Design

CDAC (Formerly NCST)OOAD with UML / Session 1 / 2 of 27

S%%ary

UML is a modeling tool @arious Diagrams of UML are used to model a system UML is used many areas of alications

UML is used in all the hases of SDL% 0he $B1 #ie"C architectural model is a simlified descrition

&an abstraction' of a system from a articular ersecti#e or#antage oint) co#ering articular concerns) and omittingentities that are not rele#ant to this ersecti#e!

Different arts of UML are

Views Diagrams elationships Model !lements

Page 24: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 24/93

UML:UML: An Introduction An Introduction

Object Oriented Analysis and Design

Page 25: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 25/93

Introduction to UML 2+

Object Oriented Analysis and Design

CDAC (Formerly NCST)

%ontents

hy model E

-rinciles of modeling

hat is UML E

%oncetual Model of the UML

<uilding <locs

ules

%ommon Mechanisms

Object Oriented Analysis and Design

Page 26: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 26/93

Introduction to UML 2,

Object Oriented Analysis and Design

CDAC (Formerly NCST)

hy Model E

 Analyse the roblem/domain

simlify reality

cature re(uirements

#isuali.e the system in its entirety

secify the structure andFor beha#iour of the

system

Design the solution document the solution / in terms of its

structure) beha#iour) etc!

Object Oriented Analysis and Design

Page 27: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 27/93

Introduction to UML 2

Object Oriented Analysis and Design

CDAC (Formerly NCST)

-rinciles of Modeling

%hoose your model "ell / the choice of model profoundly

impacts the analysis of the problem and the design of the solution.

>#ery model may be e5ressed at different le#els

of recision / the same model can be scaled up (or down) todifferent granularities.

0he best models are connected to reality - simplify

the model, but don’t hide important details.

;o single model suffices - every nontrivial system has

different dimensions to the problem and its solution.

Object Oriented Analysis and Design

Page 28: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 28/93

Introduction to UML 26

Object Oriented Analysis and Design

CDAC (Formerly NCST)

hat is UML E

UML / Unified Modeling language

UML is a modeling language) not a methodology

or rocess

De#eloed by Grady <ooch) Hames umbaugh

and I#ar Hacobson at ational Soft"are!

 Acceted as a standard by the Object

Management Grou &OMG') in 177!

Object Oriented Analysis and Design

Page 29: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 29/93

Introduction to UML 27

Object Oriented Analysis and Design

CDAC (Formerly NCST)2%

hat is UMLE

 A standardi.ed) grahical modeling languageC forcommunicating soft"are design!

 Allo"s imlementation/indeendent secification of9

userFsystem interactions &re(uired beha#iors'

artitioning of resonsibility &OO' integration "ith larger or e5isting systems

data flo" and deendency

oeration orderings &algorithms'

concurrent oerations

-retty ictures! UML is not rocessC! &0hat is) it doesn:t tell you ho" to do

things) only "hat you should do!'

Object Oriented Analysis and Design

Page 30: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 30/93

Introduction to UML 38

Object Oriented Analysis and Design

CDAC (Formerly NCST)&

Moti#ations for UML

UML is a fusion of ideas from se#eral recursormodeling languages!

e need a modeling language to9

hel de#elo efficient) effecti#e and correctdesigns) articularly Object Oriented designs!

communicate clearly "ith roject

staeholders &concerned arties9 de#eloers)

customer) etc'!

gi#e us the big ictureC #ie" of the roject!

Object Oriented Analysis and Design

Page 31: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 31/93

Introduction to UML 31

Object Oriented Analysis and Design

CDAC (Formerly NCST)

Structural 0hings

 The nouns of UML models; usually the staticparts of the system in question.

%lass / an abstraction of a set of things in the problem-

domain that have similar properties and/or functionality.

 Notation: customer 

 Notation:

Interface ' a collection of operations that specify the services rendered by a class or component.

Object Oriented Analysis and Design

Page 32: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 32/93

Introduction to UML 32

j y g

CDAC (Formerly NCST)

Structural 0hings &contd!'

%ollaboration / a collection of UM building bloc!s

(classes, interfaces, relationships) that wor! together to

 provide some functionality within the system.

 Notation:  AccountsSystem

 Notation:-rocess

Order 

Use %ase - an abstraction of a set of functions that the

 system performs" a use case is #reali$ed% by a collaboration.

Object Oriented Analysis and Design

Page 33: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 33/93

Introduction to UML 33

j y g

CDAC (Formerly NCST)

 Acti#e %lass / a class whose instance is an active ob&ect" an

active ob&ect is an ob&ect that owns a process or thread (units of

e'ecution)

Structural 0hings &contd!'

 Notation: e#entManager 

 Notation: DML-arser!%

%omonent ' a physical part (typically manifests itself as

a piece of software) of the system.

Object Oriented Analysis and Design

Page 34: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 34/93

Introduction to UML 3$

j y g

CDAC (Formerly NCST)

;ode / a physical element that e'ists at run-time and

represents a computational resource (typically, hardware

resources).

Structural 0hings &contd!'

 Notation:-rintSer#er 

Object Oriented Analysis and Design

Page 35: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 35/93

Introduction to UML 3+

j y g

CDAC (Formerly NCST)

<eha#ioral 0hings

 The verbs of UML models; usually the dynamicparts of the system in question.

Interaction / some behaviour constituted by messagese'changed among ob&ects" the e'change of messages is with a

view to achieving some purpose.

 Notation:

-arse

Object Oriented Analysis and Design

Page 36: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 36/93

Introduction to UML 3,

j y g

CDAC (Formerly NCST)

<eha#ioral 0hings &contd!'

State machine / a behaviour that specifies the seuence

of #states% an ob&ect goes through, during its lifetime.

#state% is a condition or situation during the lifetime of an

ob&ect during which it e'hibits certain characteristics and/or

 performs some function.

>ngine

Idling Notation:

Object Oriented Analysis and Design

Page 37: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 37/93

Introduction to UML 3CDAC (Formerly NCST)

Grouing 0hings

 The organisational part of the UML model; provides ahigher level of abstraction (granularity).

-acage / a general-purpose element that comprises UM

elements - structural, behavioral or even grouping things. *ac!ages are conceptual groupings of the system and need

not necessarily be implemented as cohesive software modules.

 Notation:

!

 AccountsDeartment

Object Oriented Analysis and Design

Page 38: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 38/93

Introduction to UML 36CDAC (Formerly NCST)

 Annotational 0hings

 The explanatory part of the UML model; addsinformation/meaning to the model elements.

;ote / a graphical notation for attaching constraints and/or

comments to elements of the model.

Parses user!"uery and builds

e#pression stack$or invokes%rror&andler'

 Notation:

Object Oriented Analysis and Design

Page 39: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 39/93

Introduction to UML 37CDAC (Formerly NCST)

elationshis

 Articulates the meaning of the links between things.

Deendency / a semantic relationship where a change in

one thing (the independent thing) causes a change in the

 semantics of the other thing (the dependent thing).

 Notation:

(arrow-head points to the independent thing)

 Association ' a structural relationship that describes the

connection between two things. 

 Notation:

Object Oriented Analysis and Design

Page 40: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 40/93

Introduction to UML $8CDAC (Formerly NCST)

elationshis &contd!'

Generalisation / a relationship between a general thing

(called #parent% or #superclass%) and a more specific !ind of

that thing (called the #child% or #subclass%), such that the

latter can substitute the former.

 Notation:

(arrow-head points to the superclass)

Object Oriented Analysis and Design

Page 41: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 41/93

Introduction to UML $1CDAC (Formerly NCST)

elationshis &contd!'

eali.ation / a semantic relationship between two things

wherein one specifies the behaviour to be carried out, and

the other carries out the behaviour.

  a collaborationrealizesa Use %aseCthe Use +ase specifies the behaviour (functionality)

to be carried out (provided), and the collaboration

actually implements that behaviour.

 Notation:(arrow-head points to the thing being

reali$ed)

Object Oriented Analysis and Design

Page 42: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 42/93

Introduction to UML $2CDAC (Formerly NCST)

Diagrams

 The graphical presentation of the model. Representedas a connected graph - vertices (things) connected byarcs (relationships).

UML includes nine diagrams - each capturing adifferent dimension of a software-system architecture.

%lass Diagram Object Diagram

Use %ase Diagram Se(uence Diagram %ollaboration Diagram

Statechart Diagram  Acti#ity Diagram

%omonent Diagram Deloyment Diagram

Object Oriented Analysis and Design

Page 43: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 43/93

Introduction to UML $3CDAC (Formerly NCST)

More on Diagrams!!!

%lass Diagram / the most common diagram found in

, shows a set of classes, interfaces, collaborations and

their relationships. Models the static view of the system.

Object Diagram / a snapshot of a class diagram" modelsthe instances of things contained in a class diagram.

Use %ase Diagram / shows a set of #Use +ases% (sets

of functionality performed by the system), the #actors%

(typically, people/systems that interact with this systemproblem-domain) and their relationships. Models

012 the system is e'pected to do.

Object Oriented Analysis and Design

Page 44: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 44/93

Introduction to UML $$CDAC (Formerly NCST)

More on Diagrams!!!

Se(uence Diagram / models the flow of control by time-

ordering" depicts the interaction between various ob&ects by

of messages passed, with a temporal dimension to it.

%ollaboration Diagram / models the interactionbetween ob&ects, without the temporal dimension" merely

depicts the messages passed between ob&ects.

Statechart Diagram / shows the different state machines

and the events that leads to each of these state machines.3tatechart diagrams show the flow of control from state to

 state.

Object Oriented Analysis and Design

Page 45: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 45/93

Introduction to UML $+CDAC (Formerly NCST)

More on Diagrams!!!

 Acti#ity Diagram /  shows the flow from activity to

activity" an #activity% is an ongoing non-atomic e'ecution

within a state machine.

%omonent Diagram / shows the physical pac!agingof software in terms of components and the dependencies

between them.

Deloyment Diagram /  shows the configuration of the

 processing nodes at run-time and the components that live onthem.

Object Oriented Analysis and Design

Page 46: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 46/93

Introduction to UML $,CDAC (Formerly NCST)

Dimensions!!!

! ! !of Soft"are Architecture

User View

Structural

 View

Implementation

 View

Behavioral

 View

Environment

 View

Class DiagramsObject Diagrams

Sequence DiagramsCollaboration Diagrams

  Statechart Diagrams  Activity Diagrams

Component Diagrams

Deployment Diagrams

Use CaseDiagrams

Object Oriented Analysis and Design

Page 47: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 47/93

Introduction to UML $CDAC (Formerly NCST)

(ules

Secify "hat a "ell/formed model should

loo lie!

0he UML has semantic rules for 

;ames Scoe @isibility Integrity >5ecution

Object Oriented Analysis and Design

Page 48: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 48/93

Introduction to UML $6CDAC (Formerly NCST)

)ommon *echanisms

MechanismsFelements that aly consistently

throughout the language9

Secifications

 Adornments

%ommon Di#isions

>5tensibility Mechanisms

(4otes)

3tereotypes 2agged values +onstraints

Object Oriented Analysis and Design

Page 49: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 49/93

Introduction to UML $7CDAC (Formerly NCST)

 Adornments

“Adorn” the model - i.e., enhance the model. Adds tothe meaning and/or semantics of the element to

 which it pertains.

“Notes” are the mechanism provided by UML foradorning a model:

grahical symbol to render constraints) comments) etc!

a note that renders only a comment has no semantic

imact on the element it is adorningJ at most addsmeaning to it andFor ro#ides guidelines for

imlementation!

Object Oriented Analysis and Design

Page 50: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 50/93

Introduction to UML +8CDAC (Formerly NCST)

"&

UML synta5) 2

 Arro"s9 arro"s indicate all manner of things)deending on "hich articular tye of UML

diagram they:re in! Usually) arro"s indicate

flo") deendency) association or generali.ation!

%ardinality9 alied to arro"s) cardinalities

sho" relati#e numerical relationshis bet"een

elements in a model9 1 to 1) 1 to many) etc!

Object Oriented Analysis and Design

Page 51: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 51/93

Introduction to UML +1CDAC (Formerly NCST)

"1

UML synta5) 3

%onstraints9 allo" notation of arbitrary constraints onmodel elements! Used) for e5amle) to constrain the

#alue of a class attribute &a iece of data'!

Stereotyes9 allo" us to e5tend the semantics of UML

"ith >nglish! A stereotye is usually a "ord or shorthrase that describes "hat a diagram element does!

0hat is) "e mar an element "ith a "ord that "ill

remind us of a common &stereotyical' role for that sort

of thing! Stereotyes should al"ays be alied

consistently &"ith the same intended meaning in all

instances'!

Object Oriented Analysis and Design

Page 52: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 52/93

Introduction to UML +2CDAC (Formerly NCST)

"2

UML diagrams9 use cases

 A use case encodes a tyical user interaction "ith thesystem! In articular) it9

catures some user/#isible function!

achie#es some concrete goal for the user!

 A comlete set of use cases largely defines there(uirements for your system9 e#erything the user can

see) and "ould lie to do!

 A use case mas actors to functions! 0he actors need

not be eole!

Object Oriented Analysis and Design

Page 53: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 53/93

Introduction to UML +3CDAC (Formerly NCST)

"

Use se e*m+les, 1

(-i.h'leel 0se se for +ower+oint)

Object Oriented Analysis and Design

Page 54: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 54/93

Introduction to UML +$CDAC (Formerly NCST)

"!

 About the last e5amle!!!

 Although this is a #alid use case for o"eroint)and it comletely catures user interaction "ith

o"eroint) it:s too #ague to be useful!

Object Oriented Analysis and Design

Page 55: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 55/93

Introduction to UML ++CDAC (Formerly NCST)

""

Use case e5amles) 2&Kiner/grained use cases for o"eroint!'

Object Oriented Analysis and Design

Page 56: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 56/93

Introduction to UML +,CDAC (Formerly NCST)

"#

 About the last e5amle!!!

0he last e5amle gi#es a more useful #ie" ofo"eroint &or any similar alication'!

0he cases are #ague) but they focus your attention

the ey features) and "ould hel in de#eloing a

more detailed re(uirements secification!

It still doesn:t gi#e enough information to

characteri.e o"eroint) "hich could be secified

"ith tens or hundreds of use cases &though doing

so might not be #ery useful either'!

Object Oriented Analysis and Design

3

Page 57: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 57/93

Introduction to UML +CDAC (Formerly NCST)

"7

Use case e5amles) 3&elationshis in a ne"s "eb site!'

Object Oriented Analysis and Design

Ab h l l

Page 58: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 58/93

Introduction to UML +6CDAC (Formerly NCST)

"$

 About the last e5amle!!!

0he last is more comlicated and realistic use casediagram! It catures se#eral ey use cases for the

system!

;ote the multile actors! In articular) =A- "ire: is an

actor) "ith an imortant interaction "ith the system) butis not a erson &or e#en a comuter system)

necessarily'!

0he notes bet"een mars are stereot"pes# 

identifiers added to mae the diagram more informati#e!4ere they differentiate bet"een different roles &ie)

different meanings of an arro" in this diagram'!

Object Oriented Analysis and Design

UML i d t

Page 59: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 59/93

Introduction to UML +7CDAC (Formerly NCST)

"%

UML in your documents

UML is intended to ease the tas ofcommunicating soft"are designs!

0yical uses of UML in G,$4LL9

concetual comonent diagrams in theconcet document!

use cases and class diagrams in there(uirements document!

 class) se(uence) state) acage anddeloyment diagrams in the architecturedocument!

Object Oriented Analysis and Design

UML itf ll 1

Page 60: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 60/93

Introduction to UML ,8CDAC (Formerly NCST)

#&

UML itfalls) 1

UML is a language) "ith a &reasonably' rigoroussynta5 and acceted semanticsJ that is) thediagrams ha#e a meaning! 0hus you ha#e to be

careful that the meaning of your diagram is "hatyou intended!

4o"e#er) the semantics of UML are less "ell/defined than a rogramming language &"here thesemantics are defined by the comiler'! 0hus

there is some lee"ay to use UML your o"n "ay9but you must be consistent in "hat you mean bythe things you dra"!

Object Oriented Analysis and Design

UML di l

Page 61: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 61/93

Introduction to UML ,1CDAC (Formerly NCST)

#1

UML diagrams9 class

diagram Moti#ated by Object/Oriented design androgramming &OOD) OO-'!

 A class diagram artitions the system into areas

of resonsibility &classes') and sho"s

associationsC &deendencies' bet"een them!

 Attributes &data') oerations &methods')

constraints) art/of &na#igability' and tye/of

&inheritance' relationshis) access) andcardinality &1 to many' may all be noted!

Object Oriented Analysis and Design

%l di

Page 62: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 62/93

Introduction to UML ,2CDAC (Formerly NCST)

#2

%lass diagram

ersecti#eC %lass diagrams can mae sense at three distinctle#els) or ersecti#es9

%oncetual9 the diagram reresents the concets in the

roject domain! 0hat is) it is a artitioning of the rele#ant

roles and resonsibilities in the domain!Secification9 sho"s interfaces bet"een comonents in

the soft"are! Interfaces are indeendent of

imlementation!

Imlementation9 sho"s classes that corresond directly

to comuter code &often Ha#a or %BB classes'! Ser#es asa bluerint for an actual reali.ation of the soft"are in

code!

Object Oriented Analysis and Design

%l di l

Page 63: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 63/93

Introduction to UML ,3CDAC (Formerly NCST)

#

%lass diagram e5amles&A classroom scheduling system9 secification ersecti#e!'

Object Oriented Analysis and Design

Ab t th l t l

Page 64: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 64/93

Introduction to UML ,$CDAC (Formerly NCST)

#!

 About the last e5amle!!!

>ach bo5 is a class) "ith necessary attributesand oerations secified!

;a#igability arro"s sho" "hich classes can

reference "hich others!

%ardinality mared in bi/directional manner on

arro"s!

0he classes together reresent the comlete

systemJ thus the the classes are a partitioningof the system!

Object Oriented Analysis and Design

ht is Clss Di.rm3

Page 65: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 65/93

Introduction to UML ,+CDAC (Formerly NCST)

#"

s C ss . 3

4 A lss 5i.rm is iew of the stti str0t0re

of system 6 Mo5els ontin mny lss 5i.rms

4 Clss 5i.rms ontin

 6 89.es, lsses, interfes, n5 reltionshi+s

4  Nottion

-acage;ame

%lass ;ameInterface ;ame

Interface

Object Oriented Analysis and Design

:eltionshi+s

Page 66: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 66/93

Introduction to UML ,,CDAC (Formerly NCST)

##

+

4 Clss 5i.rms my ontin the followin.

reltionshi+s

 6 Assoition, ..re.tion, 5e+en5eny, reli;e, n5

inheritne

4  Nottion

 Association  Aggregation Deendency

Inheritance eali.e

Object Oriented Analysis and Design

Page 67: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 67/93

Introduction to UML ,CDAC (Formerly NCST)

#7

A<o0t the ne*t 2 sli5es=

4 The ne*t sli5e shows +9.e 5i.rm,

with 5e+en5enies

4 The followin. sli5e shows lss 5i.rm,with rio0s ssoitions <etween the

lsses

Object Oriented Analysis and Design

89.e :eltionshi+s

Page 68: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 68/93

Introduction to UML ,6CDAC (Formerly NCST)

#$

. +

Object Oriented Analysis and Design

M0lti+liity >n5itors

Page 69: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 69/93

Introduction to UML ,7CDAC (Formerly NCST)

#%

<ero or %ore=44>

One or %ore#44>

<ero or one=44#

S3ecified range$44?

70actly one#

+ y

4 ?h en5 of n ssoition or ..re.tion

ontins m0lti+liity in5itor 

 6 >n5ites the n0m<er of o<@ets +rtii+tin. in the

reltionshi+

Object Oriented Analysis and DesignM0lti+liity >n5itors

Page 70: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 70/93

Introduction to UML 8CDAC (Formerly NCST)

7&

+ y

Page 71: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 71/93

71

Se(uence DiagramsSe(uence Diagrams

Object Oriented Analysis and Design

UML diagrams se( ence

Page 72: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 72/93

Introduction to UML 2CDAC (Formerly NCST)

72

UML diagrams9 se(uence

diagram

Se(uence diagram describe algorithms) though usually at ahigh le#el9 the oerations in a useful se(uence diagram

secify the message assingC &method in#ocation'

bet"een objects &classes) roles' in the system!

0he notation is based on each object:s life san) "ith

message assing mared in time/order bet"een the

objects! Iteration and conditional oerations may be

secified!

May in rincile be used at the same three le#els as class

diagrams) though the secification le#el "ill usually be mostuseful! &At the imlementation le#el) you might better use

seudocode!'

Object Oriented Analysis and Design

Se(uence diagram

Page 73: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 73/93

Introduction to UML 3CDAC (Formerly NCST)

7

Se(uence diagram

e5amle

Object Oriented Analysis and Design

More on UML

Page 74: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 74/93

Introduction to UML $CDAC (Formerly NCST)

More on UML!!!

UML is a modeling language for #isualising)

secifying) constructing and documenting the

artifacts&ieces' of soft"are systems!

@isualising / a picture is worth a thousand

words" a graphical unambiguously

communicates the overall view of the system

(problem-domain).

Object Oriented Analysis and Design

UML diagrams9 -acage

Page 75: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 75/93

Introduction to UML +CDAC (Formerly NCST)

7"

UML diagrams9 -acage

diagram  A tye of class diagram) acage diagrams sho"

deendencies bet"een high/le#el system comonent!

 A acageC is usually a collection of related classes)

and "ill usually be secified by it:s o"n class diagram!

0he soft"are in t"o distinct acages is searateJacages only interact through "ell/defined interfaces)

there is no direct sharing of data or code!

;ot all acages in a system:s acage diagram are

ne" soft"areJ many acages &comonents' in acomle5 system are often already a#ailable as e5isting

or off/the/shelf soft"are!

Object Oriented Analysis and Design

-acage diagram e5amle

Page 76: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 76/93

Introduction to UML ,CDAC (Formerly NCST)

7#

-acage diagram e5amle

Object Oriented Analysis and Design

About the last e5amle

Page 77: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 77/93

Introduction to UML CDAC (Formerly NCST)

77

 About the last e5amle!!!

0his acage diagram indicates that9 there are three deendent but decouled soft"are

comonents that "ill be de#eloed in My -rojectC)

"hich is itself a acage or comonent!

-arts of my soft"are deend on some e5istingsoft"are acages) "hich I "on:t be de#eloing) but

 just using &ebser#erC and DatabaseC'!

0here is a globally a#ailable acage User

authenticationC "hich all the other acages deendon!

Object Oriented Analysis and Design

Page 78: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 78/93

Introduction to UML 6CDAC (Formerly NCST)

7$

A<o0t the ne*t sli5e=

4 The ne*t sli5e shows om+lete deployment

diagram

4

A 5e+loyment 5i.rm is 0sef0l for showin. howyo0r softwre will <e 5e+loye5 on hr5wre >t

my show how yo0r system will inte.rte with

e*istin. systems in the 5omin

Object Oriented Analysis and DesignExercise: Deployment Diagram

Page 79: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 79/93

Introduction to UML 7CDAC (Formerly NCST)

7%

Object Oriented Analysis and Design

More on UML

Page 80: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 80/93

Introduction to UML 68CDAC (Formerly NCST)

More on UML!!!

Secifying / UM provides the means to model precisely, unambiguously and completely, the

 system in uestion.

%onstructing / models built with UM

have a #design% dimension to it" these are

language independent and can beimplemented in any programming language.

Object Oriented Analysis and Design

More on UML

Page 81: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 81/93

Introduction to UML 61CDAC (Formerly NCST)

More on UML!!!

Documenting / every software

 pro&ect involves a lot of documentation -

 from the inception phase to the

deliverables.

4 e(uirements4 Design4 0ests

 ocumentation is

(among others) for5

UML ro#ides the

notations for

documenting some

of these artifacts

Object Oriented Analysis and Design

Stereotyes

Page 82: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 82/93

Introduction to UML 62CDAC (Formerly NCST)

Stereotyes

Used to create ne" building blocs frome5isting blocs!

;e" building blocs are domain/secific!

 A articular abstraction is mared as a

stereotyeC and this stereotye is then used at

other laces in the model to denote the

associated abstraction! Notation: Nmetaclass

Object Oriented Analysis and Design

0agged @alues

Page 83: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 83/93

Introduction to UML 63CDAC (Formerly NCST)

0agged @alues

Used to add to the information of the element&not of its instances'!

Stereotyes hel create ne" building blocsJ

tagged #alues hel create ne" attributes! %ommonly used to secify information rele#ant

to code generation) configuration management)

etc! Notation: P#ersionQ1!$R

Object Oriented Analysis and Design

%onstraints

Page 84: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 84/93

Introduction to UML 6$CDAC (Formerly NCST)

%onstraints

Used to create rules for the model!

ules that imact the semantics of the model)

and secify conditions that must be met!

%an aly to any element in the model /

attributes of a class) relationshi) etc!

 Notation: P incomlete) disjoint R

Object Oriented Analysis and Design

Summary

Page 85: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 85/93

Introduction to UML 6+CDAC (Formerly NCST)

Summary

Modeling catures the system in its entirety) along "iththe different dimensions of its comle5ity!

Kacilitates (uic and efficient analysis and design and

hels communicate the o#erall system architecture

unambiguously!

-rinciles of modeling lay do"n that9 model must be chosen "ell model should encasulate different granularities

models can mae simlifying assumtions) but nothide imortant facts

no single model can cature all dimensions of the

comle5ity

Object Oriented Analysis and Design

Summary

Page 86: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 86/93

Introduction to UML 6,CDAC (Formerly NCST)

Summary

UML &Unified Modeling Language' is a language thathels analyse and design solutions for soft"are/

intensi#e systems

De#eloed by <ooch) umbaugh and Hacobson at

ational Soft"areJ subse(uently adoted as an oenstandard by the Object Management Grou in 177!

UML is a modeling language for #isualising) secifying)

constructing and documenting the artifacts of a

soft"are system!

It is a modeling language and not a methodology or a

rocess!

Object Oriented Analysis and Design

Summary

Page 87: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 87/93

Introduction to UML 6CDAC (Formerly NCST)

Summary

0he concetual model of the UML comrises the 6uilding 6loc!sC of UML) its  7ulesC and certain

+ommon MechanismsC that are alicable across the

entire language!

0he <uilding <locs comrise 2hingsC)  7elationshipsC

and  iagramsC!

0hingsC are of groued into $ categories9 structural

things) behavioral things) grouping things andannotational things!

Object Oriented Analysis and Design

Summary

Page 88: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 88/93

Introduction to UML 66CDAC (Formerly NCST)

Summary

Structural things describe the static art of the model andare of se#en tyes9 class) interface) collaboration) use

case) active class) component ) node!

<eha#ioral things describe the dynamic art of the model

and are of t"o tyes9 interaction and state machine!

 *ac!ages are included under Grouing things) and

 4otes under Annotational things

elationshisC lin things to each other and are of fourtyes9 ependency) ssociation) 8eneralisation and

 7eali$ation!

Object Oriented Analysis and Design

Summary

Page 89: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 89/93

Introduction to UML 67CDAC (Formerly NCST)

Summary

DiagramsC are essentially connected grahs / a set of#ertices &things' connected by arcs &relationshis'! 0here

are se#eral tyes of diagrams) each one caturing a

different dimension of the system:s comle5ity!

Diagrams are of nine tyes9 +lass iagram) b&ect iagram) Use +ase iagram) 3euence iagram)

+ollaboration iagram) 3tatechart iagram) ctivity

 iagram) 9mplementation iagram) eployment iagram!

0he UML has semantic rules for ;ames of classifiers)Scoe of these names) @isibility of these names) and the

Integrity and >5ecution of the model!

Object Oriented Analysis and Design

Summary

Page 90: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 90/93

Introduction to UML 78CDAC (Formerly NCST)

Summary

%ertain common mechanisms aly uniformly across themodel! 0here are four such mechanisms9 3pecifications)

+ommon ivisions) dornments) :'tensibility Mechanisms!

;otes are the most common adornments used) that add

to the meaning of a classifier!

>5tensibility mechanisms include Stereotyes) 0agged

#alues and constraints!

R fReferences

Page 91: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 91/93

ReferencesReferences

  The +nied *odeling -anguage +seruide8rady 6ooch, ;ames 7umbaugh, 9var ;acobson

Addison!/esley $0nternational 1tudent %dition'

  +*- Distilled Martin <owler (with =endall 3cott)

Addison!/esley

Object Oriented Analysis and Design

Model 7le%ents

Page 92: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 92/93

Introduction to UML 72CDAC (Formerly NCST) OOAD with UML / Session 1 / %2 of 27

Model 7le%ents

Component Name

Use casename

De+en5eny

enerli;tion

Assoition

A..re.tion

( form of Assoition)

Class

Attributes

Operations

Object Oriented Analysis and Design

UML in /rief

Page 93: Updated Uml Aima Final Lecture 23 Apr

8/16/2019 Updated Uml Aima Final Lecture 23 Apr

http://slidepdf.com/reader/full/updated-uml-aima-final-lecture-23-apr 93/93

UML in /rief  

Use/%ase diagrams to illustrate user interactions "ith thesystem!

%lass diagrams to illustrate logical structure Object diagrams to illustrate objects and lins

State diagrams to illustrate beha#ior  %omonent diagrams to illustrate hysical structure of the

soft"are! Deloyment diagrams to sho" the maing of soft"are to

hard"are configuration Interaction diagram &i!e!) collaboration and se(uence

diagrams' to illustrate beha#ior!  Acti#ity diagrams to illustrate the flo" of e#ents in a Use/

%ase!