You are on page 1of 45

NESNEYE YNELK PROGRAMLAMA

Unified Modelling Language (UML)


Btnleik Modelleme Dili
zlem AYDIN
Trakya niversitesi
Bilgisayar Mhendislii Blm

MODEL NEDR?
Model, gerek dnyadaki bir olayn veya sistemin soyutlanmas,
basitletirilmesi ve kavramlatrlmasdr.

Model, olay veya sistemi tanmlamaya baka bir deyile bir rnek
tretmeye yardmc olur.
Modeller gerek dnyadaki rneklerinin yerini alamazlar, ancak
gerek olay veya sistemin karmak yapsnn anlalabilir paralara
indirgenmesinde yararl olurlar.

MODELLEME NEDR?
Modelleme bir sistemi incelemek zere o
sistemin basit bir rnei yaplmas anlamna
gelir. Bu rnek gerek sistemin yardmcs ve
basitletirilmi bir eklidir.
Modelleme
sistemlerin
karmakln
zmlemede kullanlan en eski ve en etkin
yntemdir.

MODELLEME NEDR?
Bir sistem modellenirken farkl bak alaryla
tekrar tekrar incelenir.
Bu inceleme srasnda modellemeyi yapan kimse
sistemin zelliklerinden o anda ilgilendiklerini
ne karrken dierlerini gz ard edebilir.
Sonuta oluan bu soyut yap sistemin ilgilenilen
zelliklerinin bir modeli olur.
Hibir model gerek sistemin
zelliklerini
tmyle iermez.

Yazlmda sistemin modellenmesi


Yazlm projelerinde yer alan proje yneticileri,
mteriler,
analistler,
tasarmclar,
programclar, testiler ve teknik yazarlardan her
birinin eitim dzeyleri ve alt yaplar farkldr.
Eer bir sistem, tm proje ekibinin
anlayabilecei ortak bir dille modellenirse, ok
karmak
anlatmlar
basitleebilir
ve
aralarndaki iletiim eitli diyagramlarla
maksimum dzeyde tutulabilir.

Yazlmda sistemin modellenmesi


Bir yazlm sistemin modellenmesi sreci aamalar:
Sistem analizi
Sistem tasarm

Bu aamalarda sistemin farkl ynlerini ortaya koyan


modeller oluturulur.
Her model sistemin farkl alardan incelenmesini
salar ve yazlmcnn sistemi kavramasnda, zm
seenekleri oluturmasnda, mteriyle ve proje ekibiyle
fikir alveriinde bulunmasnda yardmc olur.

Yazlmda sistemin modellenmesi


Yazlm sektrnde modelleme iin gelitirilmi
eitli diller mevcuttur.
Nesneye ynelik sistemlerin analiz ve tasarmnda
standart olarak kullanlan modelleme dili UMLdir.

UML NEDR?
UML, yazlmn modellenmesi ve planlanmas iin kullanlan standart bir
dildir.
UML yazlm mhendisliinde nesneye ynelik sistemleri modellemede
kullanlan ak standart olmu bir grsel modelleme dilidir.
Bir program ya da yazlm gelitirme dili deildir.
Yazlm gelitirmenin analizden bakma kadar tm aamalarnda ekipler ve
bireyler arasndaki iletiimin dzgn yrtlmesi iin kullanlmaktadr.
Yazlmn yaam dngs iinde farkl grev gruplarnn projeye ve sisteme
farkl bak alar vardr. Bundan dolay UML eitli bak alarn ifade
eden diyagramlar iermektedir.
ok zengin bir dil olmasndan dolay, Yazlm Mhendisliinin bir
ynden ihtiyalarn karlamaktadr.

ok

UMLNN GELM SREC


1989-1994 yllar yazlm mhendisliinde metot savalar olarak bilinen bir
dnemdir. Sistemleri modellemek iin kullanlan birok modelleme dili vard.
90larn ortalarna doru ne kan 3 yntem vardr:

Booch
Yaratcs Grady Boochdur. Tasarm ve gerekletirimde mkemmel.
OMT (Object Modelling Technology - Nesne Modelleme Teknolojisi)
Yaratcs Jim Rumbaugh. Analiz ve veri younluu ok olan sistemler iin
uygun.
OOSE (Object Oriented Software Engineering - Nesneye Ynelik
Yazlm Mhendislii)
Yaratcs Ivar Jacobson. Use-Case ad verilen gl bir teknik ieriyordu.

UMLNN GELM SREC


1994 ylnda Grady Booch (Booch) ve Jim Rumbaugh (OMT)
Rational firmasnn ats altnda sahip olduklar iki yntemi
birletirecek bir yntem yaratmak iin almaya baladlar.
Firmaya 1995 ylnda Ivar Jacobsonn (OOSE) da
katlmasyla, 3 Amigolar olarak bilinen grup, kendi
yntemlerinin gl ynlerini birletirip bir sistem modelleme
dili olarak UMLi gelitirdiler.
1997de OMG (Object Management Group), UMLyi
sahiplendi ve ak standart olarak gelitirmeye balad.

UMLNN TARH

UMLYE NEDEN GEREK VAR?


Hatalarn kolaylkla fark edilip en dk seviyeye indirgenmesi.(Risk,
zaman, maliyet)
Yazlm retiminde baar orannn dk olmas.
Yazlmda paylam nemlidir. Tm ekibin ayn dili konuabilmesi
gerekmektedir.

Sistemin tamamn basit bir dille ve grsellikle grebilmek ve


tasarlayabilmek gerekli.
Modellenmi ve dokmante edilmi bir yazlmn tantmnn kolay
olmas.
Yazlm kalitesini arttrma.

UML DYAGRAMLARI

UML DYAGRAMLARI
UML, modelleme iin deiik diyagramlar kullanr.
Diyagramlar, bir sistem modelini ksmen tarif eden grafiklerdir.

UML 2.0, 3 blmde incelenen 13 farkl diyagram ierir.


Yapsal diyagramlarda modellenen sistemde nelerin var
olmas gerektii vurgulanr.

Davran diyagramlarnda modellenen sistemde nelerin


meydana gelmesi gerektiini belirtir.
Davran diyagramlarnn bir alt kmesi olan Etkileim
diyagramlarnda ise modellenen sistemdeki elemanlar
arasndaki veri ve komut ak gsterilir.

DAVRANI DYAGRAMLARI
Kullanc Senaryosu (Use-Case) diyagram

Durum (Statechart) diyagram


Etkinlik (Activity) diyagram

YAPISAL DYAGRAMLAR
Snf (Class) diyagram
Nesne (Object) diyagram

Bileen (Component) diyagram


Paket (Package) diyagram

Dalm (Deployment) diyagram


Birleik Yap (Composite Structure) diyagram

ETKLEM DYAGRAMLARI
Sralama (Sequence) diyagram

letiim (Communication) diyagram


Etkileime Bak (Interaction Overview)
diyagram
Zaman Ak (Timing) diyagram

USE CASE DYAGRAMLARI


Analiz aamasnda Use Case Diyagramlar kullanlr.
Tasarm aamasnda ise modellerin 3 tipi ortaya konulur.
1. Snf Diyagramlar
2. Durum Diyagramlar
3. Etkileim Diyagramlar

USE CASE DYAGRAMLARI


Sistemin ok basit bir ekilde modellenmesini ve ilerin
detaynn (senaryonun) metin olarak anlatlmasn ierir.
Aktrden gelen baz isteklere kar sistemin yapt
aktiviteleri gsterir.
Ama
Sistemin ieriini belirtmek.
Sistemin gereksinimlerini elde etmek.
Sistemin mimarisini geerli klmak.

Analistler ve uzmanlar tarafndan gelitirilir.

Basit bir use case diyagram yaps


Sistem
Use case
Aktr

Aktr

Basit bir use case diyagram rnei

USE CASE DYAGRAMLARI BLEENLER


Aktr
Sistemin kullanclardr.
Aktrler genelde belirli bir rol ifade ederler.
Dier aktrlerle balantl olabilirler bu balant bir ok ile
gsterilir.

Sistem snrlar dnda gsterilir.

USE CASE DYAGRAMLARI BLEENLER


Use case
Sistemin destekleyecei iler.

Use case

Sistem fonksiyonelliinin byk bir parasn gsterir.

Dier bir use case ile geniletilebilir.


Dier bir use case ierebilir.
Sistem snrlar iinde gsterilir.

USE CASE DYAGRAMLARI BLEENLER


Sistem snr
erisinde sistemin ismi yazldr.
Sistemin kapsamn gsterir.

Bant ilikisi
Aktr ve use caseler arasndaki
banty gsteren izgidir.

Sistem

USE CASE DYAGRAMLARI BLEENLER


Inclusion (ierme) ilikisi

Bu metotla bir use case iindeki admlardan birini baka bir use case
iinde kullanabiliriz.
Bir use-casein dierinin davrann iermesi.
Inclusion yntemini kullanmak iin <<include>> eklindeki bir ifade
kullanlr.
Kullanmak istediimiz use case 'ler arasna ektiimiz noktal izginin
zerine <<include>> yazsn yazarz.
<<include>>

USE CASE DYAGRAMLARI BLEENLER


Inclusion (ierme) ilikisi- bir rnek
Rezervasyon

<<include>>

ye girii

USE CASE DYAGRAMLARI BLEENLER


Extension (eklenti) ilikisi
Bu metodla varolan bir Use Casee yeni admlar
ekleyerek yeni use caseler yaratlr.
Inclusion'da olduu gibi extensionlar gstermek iin
yine use caseler arasna noktal izgiler konur ve
zerine <<extend>> ibaresi yazlr.
<<extend>>

USE CASE DYAGRAMLARI BLEENLER


Extension (eklenti) ilikisi-bir rnek

Rezervasyon

<<extend>>

Telefon ile
Rezervasyon

<<extend>>

Online
Rezervasyon

USE CASE DYAGRAMLARI BLEENLER


Genelleme ilikisi:

ki use-case veya iki aktr arasndaki kaltm ilikisidir.


Yani zellemi use case ile daha genel use case
arasndaki ilikidir.
zellemi use caseden temel use casee doru bir ok
ile gsterilir.

USE CASE DYAGRAMLARI BLEENLER


Genelleme ilikisi:

USE CASE DYAGRAMI OLUTURMADA YNTEM


1.

Aktrleri ve use-caseleri belirle.


Ama: Sisteminin aktrlerini ve use-caselerini belirlemek ve st seviye usecase modelini oluturmak.

2.

Aktrler belirlenir
Use-caseler belirlenir
Her aktr ve use case ksaca tanmlanr
st seviye use-case modeli tanmlanr

Use-caseleri detaylandr.
Ama: Belirlenen tm use-caselerin is aklarn detayl olarak tanmlamak.
Ana aks tanmlanr
Alternatif akslar tanmlanr

USE CASE DYAGRAMI OLUTURMADA YNTEM


3.

Use-case modelini yaplandr

Ama: Oluturulan use case modelini ortak noktalar en aza indirecek


ekilde yaplandrmak.
Gereken yerlerde extend ve include iliskileri kullanlabilir
Yaplandrlan use-case modeli, is srelerini referans alnarak
deerlendirilir.

4.

Kullanc arayzlerini tanmla

Ama: Use case tanmlar esas alnarak kullanc arayzlerini st seviyeli


olarak tanmlamak.
Kat zerinde izim yaplabilir
Arayz prototipleme arac kullanlabilir

Bir rnek: ATM uygulamas


Bir bankann ATM cihaz iin yazlm
gelitirilecektir.
ATM, banka kart olan mterilerin
hesaplarndan
para
ekmelerine,
hesaplarna para yatrmalarna ve hesaplar
arasnda para transferi yapmalarna olanak
salayacaktr.
ATM, banka mterisi ve hesaplar ile ilgili
bilgileri, gerektiinde merkezi banka
sisteminden alacaktr.

Bir rnek: ATM uygulamas


ATM uygulama yazlmnn kullanclar:

Banka mterisi
Aktrler

Merkezi Banka Sistemi

Bir rnek: ATM uygulamas


Belirlenen aktrler ATMden ne istiyorlar?

Aktr: Banka mterisi


Para ekme
Para yatrma
Para transferi

Aktr: Merkezi Banka Sistemi


Gnlk zet alma

Bir rnek: ATM uygulamas


Aktr: Banka mterisi
Bankada hesab ve banka kart olan, ATMden ilem
yapma hakk olan kiidir.

Use case: Para ekme


Banka mterisinin nasl para ekeceini tanmlar.
Para ekme ilemi srasnda banka mterisinin
istedii tutar belirtmesi ve hesabnda bu tutarn
mevcut olmas gerekir.

Bir rnek: ATM uygulamas

Bir rnek: ATM uygulamas

Bir rnek: ATM uygulamas

Bir use case diyagram rnei

Bir use case diyagram rnei


Bir web sayfasna gelen bir
kullancnn neler yapabileceini
use case diyagramlaryla
gstermeye alalm. Siteye gelen
bir kullanc kaytsz artsz makale
balklarn grebilmektedir. Online
olan kullanc Siteyi tavsiye
edebilir, siteye ye olabilir,kitaplar
inceleyebilir. Ancak makale
okumas ve kaynak kod
indirebilmesi iin siteye ye girii
yapmaldr. Makale okumas ve
kaynak kod indirebilmesi iin
gereken art siteye ye
olmaktr.Siteye balanan bir
kullancnn site zerindeki
hareketlerini belirtir diyagram bu
ekilde oluturulabilir.

UMLNN AVANTAJLARI-1
Kodlama kolayl salar. UML ile uygulamanzn tasarm
analiz aamasnda yapld iin, modellemeniz bittikten
hemen sonra kod yazmaya balayabilirsiniz.
Kullanlan tekrar kod says ayrt edilebilir bu sayede verim
salanr.

Mantksal hatalarn minimum seviyeye drlmesini salar.


Btn sistem tasarland iin oluabilecek hatalarn
dzeltilmesi de daha kolaydr.
Gelitirme maliyetinin dmesini salar.

UMLNN AVANTAJLARI-2
UML diyagramlar ile yazlm tamamn grebileceimiz
iin verimli bellek kullanm salanabilir.
Karmak sistemlerde deiiklik yapmay kolaylatrr.
UML ile dokmanlatrlm kodlar dzenlemek daha az
zaman alacaktr.
UML diyagramlarn kullanan yazlmclar ayn dili
konuacaklarndan kolay iletiim salanr. Ayrca
mteriler ve teknik sorumlular diyagramlar zerinden
kolaylkla iletiim kurabilirler.

Kaynaklar
Martin Fowler, Kendall Scott, Rafine UML, Alfa Yaynlar, 2003.
http://en.wikipedia.org/wiki/Unified_Modeling_Language.
http://web.itu.edu.tr/~kanoglu/crs-iscpm-systemmodeling.pdf
ftp://ftp.cs.hacettepe.edu.tr/pub/dersler/BBS6XX/BBS651_YM/de
rs%20notlari/hafta-05%20(4%20kasim)/BBS-651-DN04.pdf

You might also like