class diagram 1299692936 phpapp01

Upload: yunus-mete

Post on 04-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 Class Diagram 1299692936 Phpapp01

    1/42

    Snf DiyagramlarClass Dia rams

    Seyfullah DemirHacettepe niversitesi

    [email protected]

    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