Upload
yunus-mete
View
223
Download
0
Embed Size (px)
Citation preview
7/30/2019 Class Diagram 1299692936 Phpapp01
1/42
Snf DiyagramlarClass Dia rams
Seyfullah DemirHacettepe niversitesi
1
7/30/2019 Class Diagram 1299692936 Phpapp01
2/42
Snf DiyagramlarTanm
Snf diyagram: Birsistemin yapsn; sistemdeki snflar,snflarn niteliklerini ve snflar arasndaki ilikilerigstererek ifade eden diyagramdr.
Sistemin statik yaps n ifade eder. Yapsal (structural ) bir diyagramdr.
UMLdekien temel diyagram tiplerinden biridir. Snf diyagramlar, nesneye-ynelik modellemeninyaptadr.
2
7/30/2019 Class Diagram 1299692936 Phpapp01
3/42
Snf Diyagramlar Snf diyagram, sistem iin tanmlanan tm
snflar iermeyebilir. Bir sistemi modellemek iin birden fazla snf
. Bir sistemle ilgili izilenbir snf diyagram
sistemin belirli bir grnmn ifade ederken,izilen btn snf diyagramlar birlikte btnsistemi gsterir.
3
7/30/2019 Class Diagram 1299692936 Phpapp01
4/42
Snf Diyagramlar Snf diyagram temelde statik bak as sunar.
Yol Haritas gibi Nesneler ehirleri, ilikiler ehirler arasndaki yollar gsterir Hedefe ulamak iin hangi yolun takip edilmesi gerektiini
sylemez Snf diyagramnda hangi nesnelerin ibirlii
yapt belli,ancak nesnelerin nasl ibirlii
yapacaklar belli deildir. Nasl sorusunun cevab sequence veya
collaborationdiyagramlarnda tanmlanr
4
7/30/2019 Class Diagram 1299692936 Phpapp01
5/42
Snf Diyagramlar Snf diyagramlar, nesneye-ynelik
programlama dilleriyle dorudaneletirilebilen tek diyagram trdr. Bu
kullanlmaktadr. Snf diyagramlar gelitirme boyunca kullanlr Snf diyagram UML 2.0da pek deimemitir.
5
7/30/2019 Class Diagram 1299692936 Phpapp01
6/42
Snf ve Nesne Snf nedir?
Ortak durum ve davranlara sahip nesneler ayn snf altnda gruplanr.
UML diliyle snf bir eitsnflandrc(classifier)dr rnein, Volkswagen, Toyota ve Ford ortak zellikleri olan ve
ortak davranlar gsteren birer arabadr. yleyse bunlarnhepsini Araba snfyla ifade edebilirim.
Nesne nedir? Belirli bir snfa ait olgudur(instance).
rnein Araba snfnn bir nesnesi Toyota olabilir.
6
7/30/2019 Class Diagram 1299692936 Phpapp01
7/42
Snf Diyagramlar Snf Gsterimi
7
7/30/2019 Class Diagram 1299692936 Phpapp01
8/42
Snf DiyagramlarNitelikler (Attributes) ki eit gsterim ekli vardr
Satr ii (inlined)
Sn ar aras i i i er vastasy a okluk (multiplicity), biriciklik (uniqueness)ve
sralama (ordering) gibi kavramlar dagsterilebiliyor.
8
7/30/2019 Class Diagram 1299692936 Phpapp01
9/42
Snf DiyagramlarSatr iinde gsterilen nitelikler Satr iinde gsterilen nitelikler iin aadaki
standart gsterim kullanlr.
visibility / name : type multiplicity = default { property strings and constraints } visibility ::=
{+|-|#|~} multiplicity ::= [ lower ..upper ]
9
7/30/2019 Class Diagram 1299692936 Phpapp01
10/42
Snf Diyagramlar visibility: Niteliin grnrln belirtir.
+ : public - : private # : protected ~ : package
/ : Niteliin tretilmi(derived) bir nitelik olduunu belirtir. name : Niteliin ad
ype: e n r . multiplicity: Niteliin ka tane olgusunun ( instance ) olabileceini belirtir.
Kullanlmadnda 1 tane olgunun olaca anlalr. Bir tamsay olabilir. Niteliin belli bir aralkta olgusu olabiliyorsa, bu aral belirleyen iki tamsay keli parantez
iinde ve .. le ayrlarak gsterilir. st limiti yoksa snr belirtmek iin * simgesi kullanlabilir. Sfr ya da daha ok olgusu olabilecei ifade edilmek istendiinde ise * simgesi tek bana
kullanlr.
10
7/30/2019 Class Diagram 1299692936 Phpapp01
11/42
Snf Diyagramlar default : Niteliin varsaylan deeri varsa
belirtilir. property strings : zellik ve etiketlerden oluan
bir ksmdr. Biriciklik uni ueness vesralama(ordering) gibi kavramlar ifade etmekiin kullanlr.
constraints : Nitelikle ilgili bir ya da daha fazlakstlama belirtilebilir. Doal dille ifadeedilebilecei gibi OCLile de ifade edilebilir.
11
7/30/2019 Class Diagram 1299692936 Phpapp01
12/42
Snf Diyagramlar Nitelikler - rnek
12
7/30/2019 Class Diagram 1299692936 Phpapp01
13/42
Snf DiyagramlarSnflar arasndaki ilikiler vastasyla gsterilen
nitelikler Daha ayrntl bir snf diyagram
Karma tr e i nite i er iin a a a aycbilgi salar.
13
7/30/2019 Class Diagram 1299692936 Phpapp01
14/42
Snf DiyagramlarSnflar arasndaki ilikiler vastasyla gsterilen
nitelikler
14
7/30/2019 Class Diagram 1299692936 Phpapp01
15/42
Snf Diyagramlarlemler (Operations)
Birsnfn gerekletirdii ilemler Ekrana bir drtgen izme Listeden seilen elemanlarnn saysn hesaplama
z Operasyonlar u gsterimle ifade edilir.
visibility name ( parameters ) : return-type {properties}
parameters: direction parameter_name : type [ multiplicity ] =default_value { properties }
15
7/30/2019 Class Diagram 1299692936 Phpapp01
16/42
Snf Diyagramlarlem Gsterimi visibility: lemin grnrln belirtir. name : lemin adn belirtir. Yaplan ilemin
. return-type : lemin dndrecei deerin
tr n belirtir.
properties : lemle ilikilikstlamalar vezellikleri (constraints and properties ) belirtir.
16
7/30/2019 Class Diagram 1299692936 Phpapp01
17/42
Snf DiyagramlarParametre Gsterimi direction : Parametre ilemde nasl kullanlrsorusunun
cevabn belirtir. in, inout , out ya da return olabilir. parameter-name : Parametrenin ad. type : Parametrenin tr .
multiplicity: leme geilen parametrenin olgu saysyla ilgilibilgi verir. default value : parametrenin varsaylan deeri. properties : parametre ile ilikili kstlamalar ve zellikleri
(constraints and properties ) belirtir.
17
7/30/2019 Class Diagram 1299692936 Phpapp01
18/42
Snf Diyagramlar lemler - rnek
18
7/30/2019 Class Diagram 1299692936 Phpapp01
19/42
Snf Diyagramlar lemler ve Methodlar
Operasyon , yalnzca bir davran ortaya karmak
ierirken; metot , bu davrann gerekte naslimplement edildii ni gsterir.
19
7/30/2019 Class Diagram 1299692936 Phpapp01
20/42
Snf DiyagramlarSoyut Snflar(Abstract Classes) Soyut snflar, gerekletirimi yaplmam bir
operasyon imzas (signature ) salayan.
20
7/30/2019 Class Diagram 1299692936 Phpapp01
21/42
Snf DiyagramlarLKLER (RELATIONSHIPS)Dependency
Snflar arasndaki en zayf ilikidir. ki snf arasnda dependency ilikisinin olmas demek, bir snf dier
snf kullanr ya da onun bilgisine sahiptir demektir. uses i i isi var r. Srekli bir iliki yok. (transient relationship ) Baml snfn nesnesi dier snfn nesnesini gerektiinde kullanr.
Window uses WindowClosingEvent 21
7/30/2019 Class Diagram 1299692936 Phpapp01
22/42
Snf DiyagramlarAssociation
Dependency ilikisinden daha gl has a ilikisi vardr. Kaynak snf , hedef snfn olgusunu nitelik olarak ierir.
(shared ).
Window has a Cursor22
7/30/2019 Class Diagram 1299692936 Phpapp01
23/42
Snf DiyagramlarAssociation(Devam) Association ilikisiisimlendirilebilir, hangi snfn hangi snf
kulland (navigability) aka gsterilebilir. Multiplicity bilgisi aka gsterilebilir.
23
7/30/2019 Class Diagram 1299692936 Phpapp01
24/42
Snf DiyagramlarAggregation
Association ilikisinindaha gl versiyonu Aidiyet gerektirir. ki snfn yaam evreleri arasnda bir iliki gerektirebilir. Birbirlerinden
bamsz olarak yok edilemeyebilirler.
Navigability, multiplicity gsterilebilir.
Window owns a Rectangle
24
7/30/2019 Class Diagram 1299692936 Phpapp01
25/42
Snf DiyagramlarComposition
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. navigability, multiplicity gsterilebilir.
TitleBar is a part of Window 25
7/30/2019 Class Diagram 1299692936 Phpapp01
26/42
Snf DiyagramlarGeneralization
Snf genelletirmesi yapmak amal kullanlr. is a ilikisi vardr.
, . UML oklu kaltm destekler.
Cat is a Animal
26
7/30/2019 Class Diagram 1299692936 Phpapp01
27/42
Snf DiyagramlarAssociation Snflar (Association Classes) Association snf; normal bir snf gibi ismi ve
nitelikleri olan bir association dr.
27
7/30/2019 Class Diagram 1299692936 Phpapp01
28/42
Snf DiyagramlarArayz (Interface) Gerekletirimi olmayan ilemler ieren snf. Snfndaryla nasl iletiim kuracan gsterir.
. Normal snf gsterimiyle gsterilebilir.
sterotype kullanlr.
28
7/30/2019 Class Diagram 1299692936 Phpapp01
29/42
Snf DiyagramlarRealization Bir eit genelletirme (generalization) olarak
dnlebilir.
arayzdeki btn ilemleri gerekletirmek(implement) zorundadr.
29
7/30/2019 Class Diagram 1299692936 Phpapp01
30/42
Snf Diyagramlarablonlar(Templates) reysel(generic) bir nitelik Herhangi bir trden elemanlar saklayabilecek
30
ir iste; anca istenin tn e eman ar ayntrden olacak.
7/30/2019 Class Diagram 1299692936 Phpapp01
31/42
Ktphane Destek SistemiGereksinimleri hatrlayalm Ktphane islemlerini desteklemek amacyla web
tabanl bir yazlm sistemi olusturulacaktr. ye olmak isteyen kisi sisteme kayt olacak ve kaytl
yeler kaytl kitap ve dergileri dn alacaktr.
Kisiler sisteme ye olmadan da kitap ve dergikatalogunu grebileceklerdir. Ktphane sistem yneticisi, yeni kitap ve dergilerin
satn almasn yapacaktr. Popler yaynlardan birdenok kopya satn alnacaktr. Eski kitap ve dergiler, zamanasmna ugradklarnda veya ok yprandklarnda yokedilecektir.
31
7/30/2019 Class Diagram 1299692936 Phpapp01
32/42
Ktphane Destek Sistemi Sistemde, ye bilgilerini dzenleyecek, ye kayt islemini
onaylayacak ve gerektiginde evrimii yardm hizmetiverebilecek bir ktphane grevlisi kullancs bulunacaktr.
Ktphane grevlisi kullancs kitap veya dergi dnislemleri ile ilgili olarak sisteme bilgi girecektir.
,kitap veya dergiyi rezerve edebilecektir. Kitap veya dergiktphaneye geri dndrldgnde, rezervasyonu yapanye e-posta yoluyla haberdar edilecektir. Rezervasyon, ye,kitap veya dergiyi dn aldgnda veya yenin zel istegi
zerine iptal edilebilecektir.
32
7/30/2019 Class Diagram 1299692936 Phpapp01
33/42
Ktphane Destek Sistemi Sistem; kitap ve dergi baslklarnn, kitap ve dergi kopyalarnn,
yelerin, dn islemlerinin ve rezervasyonlarn kaydedilmesine,
gncellenmesine ve silinmesine olanak saglayacaktr. Uygulama, isletim sisteminden bagmsz alsabilecek ve modern birkullanc arayzne sahip olacaktr.
Yazlm, merkezi bir veri tabanna baglanarak Web tabanl olarak a sa ece t r. on u anc ar s steme stan art r e taraycs
ile baglanabilmeli ve kullanc makinenin zerine herhangi baska birprogram yklenmesine gerek kalmamaldr. Sistem zel bilgilerin aktarm sz konusu oldugu durumda Web
tarayc ile gvenli kanallar zerinden iletisim saglayacaktr.
Sistem yeni islevler eklemek suretiyle genisletilebilir olacaktr.
33
7/30/2019 Class Diagram 1299692936 Phpapp01
34/42
Ktphane Destek Sistemi
D z T rm Analiz Snflar
(Domain Classes)
34
7/30/2019 Class Diagram 1299692936 Phpapp01
35/42
Ktphane Destek Sistemi
35
7/30/2019 Class Diagram 1299692936 Phpapp01
36/42
Ktphane Destek Sistemi
D T rmlk Aamalar
(Detailed Design)
36
7/30/2019 Class Diagram 1299692936 Phpapp01
37/42
KDS - Snf DiyagramlarKullanici Yonetimi
37
7/30/2019 Class Diagram 1299692936 Phpapp01
38/42
KDS - Snf DiyagramlarKatalog Yonetimi
38
7/30/2019 Class Diagram 1299692936 Phpapp01
39/42
KDS - Snf Diyagramlardn Alma ve Rezervasyon lemleri Ynetimi
39
7/30/2019 Class Diagram 1299692936 Phpapp01
40/42
KDS - Snf DiyagramlarYetki Ynetimi
40
7/30/2019 Class Diagram 1299692936 Phpapp01
41/42
Referanslar Oreilly Uml 2.0 In A Nutshell Jun 2005 http://en.wikipedia.org/wiki/Class_diagram http://www.tutorialspoint.com/uml/uml_basi
c_notations.htm http://www.visual-
paradigm.com/VPGallery/diagrams/Class.html
41
7/30/2019 Class Diagram 1299692936 Phpapp01
42/42
42