You are on page 1of 60

NESNEYE YNELK

PROGRAMLAMA
Yrd.Do.Dr. Zeynep ORMAN
ormanz@istanbul.edu.tr

Kullanm Diyagramlar (Use Case


Diagram)
Kullanm senaryolar sadece dz metin (text) olarak

deil, istendiinde metin yerine UML diyagram olarak


da ifade edilebilirler.
Kullanm diyagramlarnda, kullanm senaryolarnn
aktrler ile ve kendi aralarndaki ilikileri grafik olarak
gsterilir.
Bir sistemin iinde bir ok senaryo grubu
bulunabilmekte ve deiik aktrler deiik senaryo
gruplar ile ilikili olabilmektedir.
Ayrca senaryolarn kendi aralarnda da ierme
(include) ve geniletme (extend) ilikileri
bulunabilmektedir.

Kullanm Durum Diyagramlar


Kullanm Durum Diyagramlar, aktrlere

baklarak oluturulurlar.
Aktr sistemin sunduu hizmetleri kullanan bir
kii veya baka bir sistemdir.
Aktrler, sistemin dnda olan ve sistemle
etkileimde bulunmas olas bir ahs veya
farkl bir sistem olarak belirtilirler.
lk olarak sorulacak soru sistemle kim
iletiimde bulunacak sorusudur.

Kullanm Durum Diyagramlar


Ders seim modeli iin aktr olarak u

hususlardan bahsedebiliriz :
Kayt memuru, renci, profesr ve de d bir
deme sistemini ele alabiliriz. (aktr illaki bir
insan olmak zorunda deildir farkl bir sistem
de aktr olabilir)
Sistemdeki kullanm durumlarn bulmak iin o

sisteme ksaca aktrlerin sistemi ne amala


kullanmak istediklerini sormak yeterli olacaktr.

Basit bir Kullanm Durum Diyagram


yaps

KULLANIM DURUM DYAGRAMLARI


BLEENLER
Aktr
Sistemin kullanclardr.
Aktrler genelde belirli bir rol ifade ederler.
Sistem snrlar dnda gsterilir.
Aktrler arasnda dorudan (genelleme
ilikisi dnda) iliki tanmlamak mmkn
deildir.
Arada mutlaka kullanm durumlar olmaldr.

KULLANIM DURUM DYAGRAMLARI


BLEENLER
Kullanm Durumu
Sistemde yer alan tm alternatif senaryolardr.
Sistem fonksiyonelliinin byk bir parasn

gsterir.
Dier bir use case ile geniletilebilir. (extend)
Dier bir use case ierebilir. (include)
Sistem snrlar iinde gsterilir.

KULLANIM DURUM DYAGRAMLARI


BLEENLER

KULLANIM DURUM DYAGRAMLARI

erme (include) ilikisi


erme ilikisini kullanmak iin <<include>>

eklindeki bir ifade kullanlr.


Kullanmak istediimiz kullanm durumlar

arasna ektiimiz noktal izginin zerine


<<include>> yazsn yazarz.

erme (include) ilikisi


rnek:

Geniletme (extend) likisi


Include'da olduu gibi geniletme ilikisini

gstermek iin yine kullanm durumlar


arasna noktal izgiler konur ve zerine
<<extend>> ibaresi yazlr.

Geniletme (extend) likisi


rnek:

Genelleme likisi
Sales system

Sales system

ListProducts

ListProducts

Customer
OrderProducts

Purchaser

AcceptPayment

AcceptPayment

SalesAgent

OrderProducts

CalcualteCommission

CalcualteCommission
Customer

SalesAgent

Genelleme likisi
ki kullanm durumu veya iki aktr arasndaki

kaltm ilikisidir.

Genelleme likisi

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
Merkezi Banka Sistemi

Aktrler

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.


Kullanm Durumu: 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 web sayfasna gelen bir kullancnn neler

yapabileceini kullanm durum 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.

Kullanm Durum Diyagram rnei


Siteye balanan bir kullancnn site zerindeki

hareketlerini belirtir diyagram bu ekilde


oluturulabilir.

Kullanm Durum Diyagram rnei

UML Snf Diyagramlar (Class Diagrams)


Bir snf, ortak yaps, ortak davranlar, ortak

ilikileri ve ortak anlam bulunan nesneler


koleksiyonudur.
rnein, Volkswagen, Toyota ve Ford ortak
zellikleri olan ve ortak davranlar gsteren birer
arabadr.
yleyse bunlarn hepsini Araba snfyla ifade
edebilirim.
Nesne, belirli bir snfa ait olgudur(instance).
rnein Araba snfnn bir nesnesi Toyota olabilir.

UML Snf Diyagramlar (Class Diagrams)


Snf diyagram: Bir sistemin yapsn;

sistemdeki snflar, snflarn niteliklerini ve


snflar arasndaki ilikileri gstererek ifade eden
diyagramdr.
Sistemi oluturan snflar ve bunlar arasndaki

ilikileri gsterir.
Sistemin statik yapsn ifade eder.

Yol Haritas gibi


Nesneler ehirleri, ilikiler ehirler arasndaki yollar

gsterir
Hedefe ulamak iin hangi yolun takip edilmesi
gerektiini sylemez

UML Snf Diyagramlar


UMLdeki en temel diyagram tiplerinden biridir.
Snf diyagramlar, nesneye-ynelik modellemenin

yaptadr.
Snf diyagram, sistem iin tanmlanan tm snflar
iermeyebilir.
Bir sistemi modellemek iin birden fazla snf
diyagram kullanlabilir.
Bir sistemle ilgili izilen bir snf diyagram sistemin
belirli bir grnmn ifade ederken, izilen btn
snf diyagramlar birlikte btn sistemi gsterir.

UML Snf Diyagramlar


UML de farkl alan olan bir dikdrtgen eklinde

gsterilirler.
Bu blmden ilki snf ismini, ikinci ksm
yapsn(attributes), ve nc blm ise
davrann(operations) gsterir.
Snflarn gsteriminde sadece snf ismini, yapsn
ya da davranlarn veya her n de birden
grebilirsiniz.
Snflar isimlendirilirken bir standardizasyon olmas
amacyla btn isimler byk harf ile balarlar.

UML Snf Diyagramlar


Snf Ad
zellikler(properties)
Metodlar(functions)

Grnrlk (Visibility)

Grnrlk (Visibility)
Public:dier snflar eriebilir. UMLde + sembol ile

gsterilir.
Private:yalnzca iinde bulunduu snf tarafndan
eriilebilir (dier snflar eriemezler). UMLde sembol ile gsterilir.
Protected:ayn paketteki (package) dier snflar ve
btn alt snflar (subclasses) tarafndan eriilebilir.
UMLde # sembol ile gsterilir.
Package:ayn paketteki (package) dier snflar
tarafnda eriilebilir. UMLde ~ sembol ile gsterilir.

UML Snf Diyagram Kod Aras liki

+
+

UML Snf Tanmlamalar


Alanlar:

Kod  private long maas


UML  - maas:long
Metotlar:

Kod  public double maasHesapla(int,double,int)


UML  + maasHesapla(int,double,int):double

UMLde Nesne Gsterimi

UMLde Nesne Gsterimi

UMLde Paket Gsterimi


Birbirleriyle ilikili snflar bir paket (package) iine

yerletirilirler.
Paket isimler kk harflerle yazlr

Snflar Aras likiler


(multiplicity)
Bire-bir (varsaylan)
Bire-ok
Bire bir veya daha ok
Bire sfr veya bir
Bire-snrl aralk
Bire-n (*)

liki
(association):
has a ilikisidir.

Snflar Aras likiler


Reflexive(Kendine dnen)iliki:

Bir snfn sistemde birden fazla rol vardr.

Snflar Aras likiler


Birliktelik nesneler aras uzun sreli ilikidir.
Gerek hayatta , rnein , insanlar ve arabalar

bir iliki olutururlar.


Bu iliki bir birlikteliktir, bir yerden baka bir yere
gitme olaynda , ne kullanc arabasz
dnlebilir nede araba kullancsz
dnlebilir.
ki tr birliktelik vardr:
erme (Aggregation)
Kompozisyon -Oluum (Composition)

erme (Aggretation) Kavram


Btn para yukarda olacak ekilde ve btn

parann uuna ii bo elmas yerletirilecek


ekilde gsteririz.
i bo elmas ile gsterilen ilikilerde herbir para
ayr bir snftr ve tek balarna anlam ifade eder.
owns a ilikisi vardr.
Para btn arasnda sk bir iliki yoktur.
ki snfn yaam evreleri arasnda bir iliki vardr.

Ancak birbirlerinden bamsz olarak yok


edilebilirler.

erme (Aggretation) Kavram

Window owns a Rectangle

Kompozisyon(Composite) liki
Snflar arasnda ok gl bir iliki kurar.
Para-btn ilikisi kurar.
Btn rolndeki nesne yok edildiinde para da

yok olur.
is part of ilikisi vardr.

TitleBar is a part of Window

Kompozisyon(Composite) liki

Bamllk (Dependency) likisi


Snflar arasndaki en zayf ilikidir.
ki snf arasnda dependency ilikisinin olmas

demek, bir snf dier snf kullanr ya da onun


bilgisine sahiptir demektir.
uses ilikisi vardr.
Srekli bir iliki yok. (transient relationship)
Baml snfn nesnesi dier snfn nesnesini
gerektiinde kullanr.

Bamllk (Dependency) likisi

Window uses WindowClosingEvent

Genelletirme (generalization) likisi


Snf genelletirmesi yapmak amal kullanlr.
is a ilikisi vardr.
liki isimlendirilmez, multiplicity tanmlanmaz.
UML oklu kaltm destekler.

Arayz (Interface) Kavram


Herhangi bir snfla ilikisi olmayan ve standart baz

ilemleri yerine getiren snfa benzer yaplara arayz


denir.
Arayzlerin zellikleri yoktur.
Sadece baz ilemleri yerine getirmek iin baka
snflar tarafndan kullanlrlar.
Kesik izgilerle ve izginin ucunda bo bir gen
olacak ekilde gsterilir.
Gerekleme(Realization)Bir snfn bir arayze
erierek , arayzn fonksiyonlarn
gerekletirmesine denir.

Arayz (Interface) Kavram


Arayz kavram, nesnelerin davranlarn

belirleyen kurallar btn olarak dnlebilir.


Ara yzler kurallar belirlerler ancak, bu kurallarn
nasl uygulanacana karmazlar.
Bir snf, ilgili ara yzn yordamlarn
gerekleyerek, ara yzn belirledii kurallara
uymu olur.

Arayz (Interface) Kavram

Arayz (Interface) Kavram

Bir TuaBasma arayz yaplarak istenirse


Kumanda snfnda, istenirse de Klavye snfnda
kullanlabilir.

Snf Diyagramlar - RNEKLER

Trafik Polisi

oluturur

TrafikRaporu
1..*

id : long
tanm: String
tarih : Date

raporlar
1..*
Polis
id : long
ad : String
derece : int

Sulu

Ceza
id : long
tanm: String

isim: String
id : long

Musteri
-MID: int
-Ad: string
-soyad: string
-dTarih: date

Siparis

0..*

-SipId: int
-Adet: int
-Tanimi: string

+KrediHesapla(int id, int miktar): double

Adres
Urun

Kurumsal Musteri
+KMID: int
+Limit: double
+hesapla(int miktar, double limit): double

Bireysel Musteri

Snf likileri zet Tablosu

You might also like