Professional Documents
Culture Documents
AMALAR
Modellemenin nemi Modellemenin 4 temel prensibi Nesneye ynelik modelleme
Kullanc ihtiyacn karlamak iin, kullancy da gelitirme sreci iinde kullanmak gerekmektedir. Kaliteli yazlm iin, deiiklie izin veren mimari oluturulmaldr. Hzl ve zamannda ileri yetitirmek iin doru insan, doru aralar ve doru oda bulmak gerekmektedir. Tm bunlar yapabilmek iin projelerde gelitirme sreci uygulanmaldr. Modelleme, kaliteli yazlm iin gerekli olan aktivitelerin merkezi niteliindedir.
Modellemenin nemi
Kpek evi yaptnz dnelim. Gerekenler; kereste, ivi, testere, mezure, eki ... Kimsenin yardmn almadan, fonksiyonel bir kpek evi kolaylkla yapabilirsiniz. Szdrma ve genilikte sorun yoksa kpeiniz mutlu olacaktr.
Aileniz iin bir ev yapyor olsanz, ayn aralarla balayabilirsiniz ancak bu ilem ok uzun srecek ve ailenizin ok sabr olmayacaktr. Kaliteli bir ev iin kat stnde baz karalamalar oluturacaksnz, planlama yapacaksnz. Tek banza bu ii yapmak mmkn grnse de sre asndan baz ileri alt yklencilere yaptrmak ve hazr bileenler kullanmak ileri hzlandracaktr. Zamannda biterse sorun yok, bitmezse...
Gkdelen yapyor olsak, bakalarnn paralarn kullanyor olacamz iin onlarn grlerini de dikkate almalyz. Detayl planlama yaplmal. Binann uzmanlar tarafndan mimar planlarnn karlmas gerekir. Bir sre izlenmelidir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 7
Ne yazk ki birok yazlm gelitiren firma, yksek binalar oluturmak isterken; sanki probleme kpek evi yapacak ekilde yaklamaktadrlar ? ? ?
Bazen anslyzdr. Doru adamlar, doru yerde ve doru anda birliktedir. Ancak genelde bu 3l beraber bulunamyor. Gelitirme aamasnda kriz kt durumda, daha fazla almann doru eylem olduu sanlr. Endstrimiz, kahramanca programlama efsaneleriyle doludur. Ancak birok projeyi, fazla mesailer dahi baarszlktan kurtaramamaktadr.
Eer bir gkdelene e bir yazlm gelitirmek istiyorsanz, problem ok fazla kod yazmaktan te doru yazlm oluturma ve daha az kod yazmaktr. Bazen de projeler kpek evi yapma eklinde balar ancak bir bakarsnz ki projeye artan rabet sonucu gkdelen seviyesine ulalmas beklenmektedir. Ancak kpek evi, gkdelenin arln tayamaz ve yklr !
10
Baarsz projelerin kendine has nedenleri varken, baarl projeler birok adan benzerdir. Baarl yazlm organizasyonunu salayan birok eleman mevcutur, en yaygnlarnnda birisi de MODELLEMEDR. Gkdelenlerin mimari modellerini kurarak kullanclara rn hakknda grsel bilgi verilebilmektedir. Matematiksel modellerle deprem veya rzgarlarn binalar zerindeki etkisi analiz edilebilmektedir. Yeni bir otomobili veya ua modellemeden piyasaya srmek mmkn deildir. Sosyoloji, ekonomi, iletme ynetimi gibi birok alanda, modeller kurarak teorilerimizi geerli klabiliriz.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 11
Modelleme nedir?
Modelleme, gerekliin basitletirilmi halidir. Modeller detaylar sunabilecei gibi daha genel planlar da gsterebilir. Bir model; yapsal veya davransal olabilir. Yapsalda, sistemin organizasyonu vurgulanrken davransal da sistemin dinamii vurgulanmaktadr. Gelitirdiimiz sistemleri daha iyi anlayabilmek iin modeller oluturuyoruz.
12
Modelleme ile 4 amac gerekletiriyoruz. Modeller gelitirdiimiz sistemi grselleirmede bize yardm eder. Modeller sistemin yapsal veya davransal yapsn belirtmeye izin verir. Modeller sistemi olutururken kullanabileceimiz ablonlar salar. Modeller aldmz kararlar dokmante etmemizi salar. Modelleme sadece byk sistemler iin deildir. Ancak sistem karmaklatka modellemenin nemi de artar.
13
Modelleme sayesinde, sistemi Dijkstrann Bl & Ynet yaklam ile daha kk paralara blyoruz. Aslnda en basit projelerde bile gelitiriciler modelleme yapmaktadr. Kada veya tahtaya baz ekiller izer. Bu yntemler alyorsa sorun yoktur ancak kiiye zeldirler ve iletiim sorunu doururlar. Elektrik mhendisliinde, matematiksel modellemede, yapm endstrisinde ortak bir dil vardr ve yazlm modelleme iin de ortak bir dil olmas yazlm gelitirme organizasyonlar asndan yarar salamaktadr. Tm yararl sistemlerin zamanla karmaklat dnlrse, ok ge olmadan gelitirme srecine modellemeyi dahil etmek kanlmazdr.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 14
Modellemenin Temelleri
Seilen model, probleme yaklamda ve zmn ekillendirilmesinde byk etki gsterir. Bir sistemi veritaban gelitiricisi gzyle oluturuyorsanz, davran trigger ve stored procedurelara tayan E-R modellerine odaklanrsnz. Yapsal analist gzyle sistemi oluturursanz, algoritmik merkezli bir sistem oluturursunuz. Nesneye ynelik gelitirici gzyle sistemi oluturursanz, snflara ve paternlere odaklanrsnz. Deneyimler nesneye ynelik bakn esnek mimariler kurmada daha etkin olduunu gstermektedir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 15
Her model farkl duyarllk seviyesinde ifade edilebilir. Gkdeleni mimari plann kullancya gsterirken kullanlan lekle, kpek evinin plann gsteren lek farkl olacaktr. Eer son kullancya demo yapacaksanz GUIler yeterli olacaktr. Analist ne sorusu zerinde younlamakta iken gelitirici nasl sorusuna cevap bulduu modelleri grmek isteyecektir.
16
En iyi modeller gereklikle balantldr. Her model gereklii basitletirirken nemli detaylar maskelememelidir. Ayrca, nesneye ynelik sistemlerde sistemin bamsz baklarn anlamsal bir btn dahilinde toplamak mmkndr. T ek bir bak yeterli deildir. Bir bina yapyorsanz tek planda tm ayrntlar toplamak mmkn deildir. Kat planlar, asansrler, elektrik planlar, stma planlarna ihtiya duyulmaktadr. Nesneye ynelik sistemlerde de bir sistemin mimarisini anlamak iin farkl baklar deerlendirilmelidir. Kullanm senaryosu bak, tasarm bak, etkileim bak, gerekleme bak ve datm bakdr. Tm bu baklar bir sistemin ayrntl modelini vermede kullanlr.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 17
Sistemin doas gerei, baz baklar dierlerinden daha nemli olabilir. Veri youn sistemlerde, statik tasarm adresleyen bak GUI youn sistemlerde statik ve dinamik kullanm senaryosu baklar Sk gerek zamanl sistemlerde dinamik proses baklar Datk sistemlerde ise datm (deployment) ve gerekleme modelleri en nemlidir.
18
19
BLM SONU
20
Blm 2: UMLe GR
AMALAR
UMLe Genel Bak UMLi Anlamak iin 3 Adm Yazlm Mimarisi Yazlm Gelitirme Sreci
UML, yazlm modellemeyle snrl deildir. Sistemlerin i akn oluturmada, donanm tasarlamada, salk sisteminin yapsn ve davrann modellemek iin de kullanlabilir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 9
Bu fikirler anlald zaman UML modellerini okuyabilir ve basit olanlar izilebilir. UMLi uygulamada deneyim kazandka dilin gelimi zelliklerini kullanarak karmak sistemler kolaylkla modellenebilir.
10
11
13
Kullanm senaryosu (use-case): Sistemdeki bir aktrn gerekletirdii eylemler dizisidir. Aktif snf: Nesneleri bir veya daha fazla proses veya thread ieren snflardr. Bileen: Bir sistemin modler bir parasdr. Bir sistemdeki bileenle ayn arayz salayan farkl bir bileen kolayca deitirilebilir. kt (artifact): Sistemde yer alp fiziksel bilgi ieren ve deitirilebilir bir paradr. r: dll Dm: alma annda varolan fiziksel bir elamandr ve bir kayna temsil eder. Kp ile gsterilir. Bunlarn dnda yapsal eleman olarak; aktrler, iaretler, prosesler/threadler, dosyalar, tablolar gibi bu elemanlarn deitirilmi trleri mevcuttur.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 14
15
16
17
18
2. UMLdeki likiler
2.1 Bamllk (dependency) 2.2 Ortaklk (association) 2.3 Genelletirme (generalization) 2.4 Gerekleme (realization) 2.1 Bamllk: Bir model elemanna yaplan deiiklik dier bir elemann semantik yapsn etkiler.
19
2.2 Ortaklk (association): Ortak alan snflar arasndaki balantlar tanmlar. Aggregation (birletirme) ilikisi, bu ilikinin zel bir trdr. Bu zel trde; btn ve paralar arasndaki yapsal iliki temsil edilir. 2.3 Genelletirme: Kaltm (inheritance) ilemini temsil eder. 2.4 Gerekleme: Arayzler ve snflar arasnda gerekleir.
20
3. Diyagramlar
Diyagramlar; elemanlar ve ilikilerin kullanld grafiksel gsterimlerdir. Teorik olarak diyagramdaki; eleman ve iliki saysnda snr yoktur. UMLde 13 tr diyagram mevcuttur. Snf, Nesne, Bileen, Karma yap (composite structure), Kullanm Durumu, Sralama, letiim (communication), Durum, Aktivite, Datm (deployment), Paket, Zamanlama ve Etkileim Genel Bak (interaction overview) diyagramlar Communication diyagramlarna 1.xde collaboration diyagramlar deniliyordu.
21
Snf diyagram: Snflar,arayzler arasndaki ilikiler gsterilir. En yaygn diyagramdr. Statik yapy gsterir. Nesne diyagram: Nesneler arasndaki ilikiler gsterilir. Statik yapy ifade eder. Bileen diyagram: Bileenlerin gsterildii diyagramlar Kullanm durumu: Kullanm senaryolar, aktrler ve aralarndaki ilikiler gsterilir. Etkileim diyagramlar: Sralama ve iletiim diyagramlar, etkileim diyagramlar trndendir. Sralama diyagramlar mesajlarn zaman srasn vurgularken, iletiim diyagramlar mesaj gnderen nesnelerin organizasyon yapsn vurgular. Zamanlama diyagramlar: Mesajlarn nesneler arasnda deitirildii gerek zamanlar gsterir.Mesajlarn rlatif srasn deil. Etkileim Genel Bak: Aktivite ve sralama diyagramlarnn hibrid halidir. zel kullanm yerleri vardr.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 22
Durum: Reaktif sistemleri modellerken yararldr. Farkl durumlar arasnda gei yapan nesneleri modeller. Aktivite: Adm adm bir srecin i yapsn gsterir. Dinamik bak salar. Nesneler arasnda kontrol akn vurgular. Datm (deployment): alma anndaki dmlerin konfigrasyonunu ve onlar zerinde yer alan bileenleri gsterir. kt (artifact) diyagram: Bir sistemin fiziksel elerini gsterir. Datm diyagramlar ile birlikde kullanlr. UML kt diyagramlarna, datm diyagramlarnn deitirilmi hali eklinde bakar. Paket: Model ayrtrlmasn gsterir.
23
Snf Diyagram
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 24
Nesne Diyagramlar
25
Bileen Diyagramlar
26
Paket Diyagramlar
27
Datm Diyagramlar
28
29
Sralama Diyagramlar
30
letiim Diyagramlar
31
Durum Diyagramlar
32
Aktivite Diyagramlar
33
Zamanlama Diyagramlar
34
35
36
UML Geniletme
Stereotype kullanlarak farkl teknolojiler iin yeni yap talar oluturulabilir.
37
Snflar,arayzler
Kullanm durumlar
Bileenler
Aktif snflar
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006
Dmler
38
Kullanm durumu bak: Sistem davrann kullanm durumlar ile ifade eder. Son kullanc, analist, testilerin gzyle tanmlar. Tasarm bak: Problemi ve zmn ifade eden snflar ve arayzler ile gsterilir. Statik ksm, snf ve nesne diyagramlar ile; dinamik ksm ise etkileim, durum ve aktivite diyagramlar ile temsil edilir. Proses Bak (veya etkileim): Sistemin farkl bileenleri arasndaki kontrol akn gsterir. Senkronizasyon ve e zamanllk konularn da temsil eder. Sistem performans, leklenebilirlik bu kapsamda deerlendirilir. Gerekleme Bak: Fiziksel sistemi birletirmek ve srmn hazrlamak iin gerekli ktlar gsterir. Datm Bak: Sistemin alaca donanm oluturan dmler gsterilir. Her payda istenen bak ile mimariyi deerlendirebilir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 39
40
BLM SONU
41
AMALAR
Snflar ve ktlar (artifact) Statik ve dinamik modeller Modeller arasndaki balantlar UMLi geniletme
MERHABA DNYA
C programlama dilinin yazarlar; Brian Kernighan ve Dennis Ritchie bir programlama dilini renmenin tek yolunun o dil ile program yazmak olduunu ifade ediyor. Bu UML iin de geerli. UMLi renmenin tek yolu onunla modeller oluturmaktr. lk program genelde her zaman Merhaba Dnya dr. Bir applet, istemci uygulamada/yerel makinede, Java Sanal Makineye sahip herhangi bir taraycda derlenerek altrlan dinamik bir java programcndan baka bir ey deildir.
import java.awt.Graphics; public class HelloWorldApplet extends java.applet.Applet { public void paint(Graphics g) { g.drawString("Hello, World",10,10); } }
Snf Diyagram
Paint() Mekanizmas
kt (Artifact) Diyagram
10
HelloWorld snf en stte gsteriliyor. Dier ikonlar, gerekleme bak asndan baklacak olursa, ktlar temsil ediyor. Bir kt; fiziksel bir kavram gsterir. HelloWorld.java ve HelloWorld.class birer ktdr. Bunlar; HelloWorld snfnn gereklenmi halini gsterir <<manifest>>. Hello.html, hello.java, hello.jpg ktlar; kullanc tanml ikonlarla deitirilmitir. Bu nedenle isimler st ksma yazlmtr. Web tabanl sistemlerde; kt diyagramlarn kullanarak sayfalar ve dier yrtlebilir ktlar modellemek olduka yararldr.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 11
BLM SONU
12
Blm 4: SINIFLAR
AMALAR
Snflar, zellikler, operasyonlar ve sorumluluklar Sistemin szck daarcnn modellenmesi Sistemde sorumluluklarn datlmasnn modellenmesi lkel (primitif) tiplerin modellenmesi
SINIFLAR
Snf; ayn zellikleri, operasyonlar, ilikileri, semantii paylaan nesneler kmesinin bir tanmdr. Snflar ile gelitirilen sistemin szck daarc ifade edilir. Basit isimler veya paketi de gsteren ayrntl isimler kullanlabilir. Snf ismi, genelde ksadr ve iindeki kelimenin ilk harfleri byktr. r: TemperatureSensor
zellikler (attributes)
Genellikle kelimenin ilk harfi kk, devamnda gelen kelimelerin ilk harfleri byk yazlr. zellik tipleri ve ilk deerleri modelde gsterilebilir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 4
Operasyonlar (operations)
Genellikle kelimenin ilk harfi kk, devamnda gelen kelimelerin ilk harfleri byk yazlr. Parametreler ve tipleri, geri dn deerleri; modelde gsterilebilir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 5
Sorumluluklar (responsibility)
Uygun zellik ve operasyonlarla her snf bir veya daha fazla sorumluluu sistem iinde yerine getirir. yi yaplandrlm snf sadece 1 sorumluluk yerine getirmelidir (single responsibility rule). Operasyonlarn altnda, ayr bir blmde izilebilir ve metin olarak yazlabilir.
r: Perakendicilik iin bir sistem Perakendecilik; direk reticiden veya ana bayiden rnleri tketici tercihleri dorultusunda araclar aradan kaldrarak kalite ve fiyat garantisiyle rnleri tketiciye ulatran Pazar yerleridir
Sorumluluklarn Datlmas
ok fazla soyutlama, ok fazla snf ortaya karr ve ynetimi/anlalmas zordur ok az soyutlama, deitirilmesi zor ve yeniden kullanlrl mmkn olmayan bir sistem dourur.
Bir davran yerine getirmek iin birlikte alan snflar belirle Bu snflar iin, sorumluluklar kmesi belirle Tm snflara bir btn olarak bakarak ok fazla sorumluluk ierenleri parala, basit i yapanlar birletir ve dengeleme sala. birlii iinde bulunan bu snflar tekrar inceleyerek sorumluluk atamasnn yeniden yap
MVC rnei
10
11
Enum rnei
12
BLM SONU
13
Blm 5: LKLER
AMALAR
Bamllk,genelletirme ve ortaklk ilikileri Basit bamllklarn gsterilmesi Basit kaltmn gsterilmesi Yapsal ilikilerin gsterilmesi liki ann oluturulmas
LKLER
OOPde snflar birbiri ile ibirlii yaparlar. Bu kapsamda; genelletirme/bamllk/ortaklk likileri UML iindeki en nemli iliki trleridir. Bu trler, programlama dilinden bamszdr.
1. Bamllk
Bamllk, bir snf baka bir snfn bir hizmetini kulland zaman ortaya kar. r: Window snf Event snfnn hizmetlerini kullanabilir. UML iinde sadece snflar arasnda deil, notlar ve paketler arasnda da bamllk ilikisi kullanlabilir. Bamlla bir isim verilebilir ancak genelde ihtiya duyulmaz. Kullanlmak istenirse, steryotipler yardmc olur.
2. Genelletirme
Ebeveyn/ocuk ilikisini gstermede kullanlr. Ebeveyni olmayan snfa, temel snf (base) ad verilir. ocuu olmayan snfa da yaprak snf (leaf) ad verilir. Birden fazla ebeveynden treyen snf oklu kaltm, bir ebeveynden treyen snf ise tekli kaltm uygulam olur. Snflarda olduu gibi dmler (node-donanm) arasnda da genelletirme kullanlabilir.
3. Ortaklk (association)
Ortaklk, yapsal bir ilikidir. Dz izgi zerine isim yazlarak adlandrlabilir ve okumay kolaylatrmak zere yn geni konulabilir. Ortaklk trnn net anlalmas iin isim kullanlmaldr Son ismi veya rol ismi(end name): Snfn bu ortaklktaki spesifik roln gsterir. UML1de bunlara rol ismi denilirken 2.0da son ismi denmeye baland. rnekte;Person snf alan roln oynarken, irket snf iveren roln oynamaktadr.
Ortaklk...
eitlilik (multiplicity): Bir ortaklkta, bir snfa ait ka nesnenin bulunabilecei ortaklk iliki tiplerinde gsterilebilir. 0..* ifadesi, * ifadesi ile ayn anlama gelir. Bir irket; 1 veya daha fazla kii nesnesine sahip olabilirken; bir kii 0 veya bir daha fazla irket nesnesine sahip olabilir.
Ortaklk...
Aggregation (birletirme): Para / btn ilikisini gstermede kullanlr. Has-a likisini temsil eder. i dolu olmayan baklava dilimi ile gsterilir.
Dik ada olmayan veya dik ada oklar kullanlabilir. Ancak izgiler st ste gelirse, kk bir yay kullanlabilir. Bu sayede, bu durum modele aktarlabilir.
i bo baklava, aggregation (para-btn) ilikisidir. Paralar tek bana bulunabilir. i dolu baklava, dierinden daha gldr. Bu ilikiye composite (bileke) ad verilir. Paralar tek bana bulunamazlar.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 10
BLM SONU
11
AMALAR
Notlar Steryotipler, etiketli (tagged) deerler, kstlar Yorumlarn modellenmesi Yeni yap talarnn modellenmesi Yeni zelliklerin (property) modellenmesi Yeni semantiklerin modellenmesi UMLin geniletilmesi
Bir network modellediimizi dnelim. Hub, server gibi kavramlar modellemek iin dmlere (node), yeni steryotipler eklememiz gerekir.
Notlar
Yer ald modelin anlamn deitirmez 1 ya da birden fazla elemana eklenebilir. Kstlara ek olarak, gereksinimleri, incelemeleri,aklamalar gstermek iin kullanlabilir Metin ve grafik ierebilir. URL yer alabilir, baka bir dokmana link verilebilir. Bu sayede; UMLi gelitirme aamasndaki tm ktlar kullanacak organize edecek ekilde kullanabilirsiniz.
Steryotipler
Kendi alma alannza uygun tipleri yaratmanz salar. << isim >> eklinde gsterilir (1) Bir steryotip iin ikon da tanmlayabilirsiniz ve o ikonu isminin yanna yerletirebilirsiniz (2) Ya da o ikonu, steryotipli isim olarak kullanabilirsiniz (3)
Kstlar (constraint)
Kstlar ile ortaklk tipi kstlanabilir {security} Bir nesne iin,bir snfa bal ortaklklardan sadece birinin geerli olmas istenebilir {xor} Kstlar dz metin eklinde yazlabilecei gibi, UMLin Object Constrain Language (OCL) kullanlarak da yazlabilir {self.wife.gender = female and self.husband.gender=male}
Profiller
Genelde bir alan iin UMLi uyarlamak yararldr rnein; veritabanlarn modellemede kullanmak iin aday anahtarlar ve indeksleri steryotip olarak oluturmu olmak gerekir. Profil; n tanml steryotipler,etiketli deerler ve kstlardan oluan bir UML modelidir. Profil, bir alan iin UMLin zel bir versiyonunu tanmlar. Yeni bir dil deildir. Birok profil; framework ve tool reticileri tarafndan oluturulacaktr. Modelleyiciler de bunlar kullanacaktr. Fonksiyon ktphaneleri rneindeki gibi (uzmanlar oluturur ve birok programc kullanr) Farkl platformlar, veritabanlar, farkl iletme alanlar iin profiller oluturulucan umuyoruz.
10
11
12
Yorumlar Modelleme
Bamllk ilikisi ile bir notu elemana balayabilirsiniz (1) Yorumlar uzunsa dosyaya yazlp, linkli hali ile not verilebilir. (2) Modelden anlalamayan bilgileri yorum olarak tut (3)
13
14
15
BLM SONU
16
Blm 7: Diyagramlar
AMALAR
Diyagramlar, baklar, modeller Bir sistemin farkl baklarnn modellenmesi Farkl soyutlama seviyelerinin modellenmesi Kompleks baklarn modellenmesi Diyagramlar ve dier ktlarn (artifact) organize edilmesi
Diyagramlar
Sistemin Statik yaps iin, 1. Snf diyagram Snflar,arayzler,ibirlikleri 2. Bileen diyagram Bileenler 3. Bileke yap diyagram yap 4. Nesne diyagram Nesneler 5. Datm diyagram Dmler 6. kt diyagram ktlar Sistemin dinamik yaps iin, 7. Kullanm durumu diyagram 8. Sralama diyagram 9. letiim diyagram 10. Durum diyagram 11. Aktivite diyagram kullanlr.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 5
Sistem reaktif ise, durum ve aktivite diyagramlarn katarak dinamik yap modellenebilir. stemci/sunucu uygulamasnda; sistemin fiziksel detaylar bileen ve datm diyagramlar ile modellenir. Karmak, datk bir sistemde tm diyagramlara ihtiya duyarsnz.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 6
BLM SONU
10
AMALAR
Basit ibirliklerinin modellenmesi Mantksal veritaban emasnn modellenmesi leri ve tersine mhendislik
Snf Diyagram
Snf Diyagramlar
Snf diyagramlar genellikle; snflar, arayzler, bamllk/genelletirme/ortaklk ilikilerini ierir Snf diyagramlar; paketler veya alt sistemler ierebilir Genellikle 3 amala kullanabilirsiniz:
1.
2. 3.
Sistemin szck daarcn modellemek iin (sistemin soyutlamalarnda alnan kararlar saptanr) Basit ibirliklerini modellemek iin Mantksal veritaban emasn modellemek iin (kavramsal tasarmn modellenmesi iin)
* renciyi atamadan nce; bir ders iin nkoul olan derslerin renci tarafndan salanp salanmad, bu diyagramda gsterilmemitir. * nk o kural i kuraldr (business rule) ve veritaban btnl (integrity) iin geerli operasyonlardan farkldr, daha st dzey soyutlamada gsterilir.
leri Mhendislik
leri mhendislik, modelden kod retilmesidir ve bilgi kaybyla sonlanr. nk UMLdeki modeller semantik olarak programlama dillerinden daha zengindir. Bu durum zaten modellerin varolma sebebidir.
Tersine Mhendislik
Kodun tasarma dntrlmesidir. Tasarmdan koda dntrrken bilgi kayb olduu iin, koddan da tasarm tam olarak yeniden oluturamayz. Kodda gemeyen ve tasarmda olmas gereken bilgileri elle tasarma ilemeliyiz.
BLM SONU
10
AMALAR
Snflayclar, zellik ve operasyonlarn zel trleri ve snflarn farkl trleri Snfn semantiinin modellenmesi Doru trde snflaycnn seimi
Snflayclar (classifiers)
Snflayc; yapsal ve davrana zg zellikleri tanmlayan bir mekanizmadr. Snflayclar; snflar, birlikler, arayzler, veri tipleri (built-in tipler), sinyaller, bileenler, dmler, kullanm durumlar ve alt sistemleri ierir. Genellikle, rnekleri (instance) olabilen her modelleme elemanna snflayc denilir. Aada snflayclar verilmektedir:
Grnrlk (visibility)
Bir zelliin grnrl, baka snflayclar tarafndan kullanlp kullanamayacan tanmlar. Public (+) : Snflaycnn dndan da kullanlabilir Protected (#): Snflaycnn ocuklar zellii kullanabilir Private (-) : Sadece snflaycnn kendisi zellii kullanabilir Package (~): Ayn paketteki snflayclar bu zellii kullanabilir Sembol konmamsa, public olduu varsaylr.
ok eitlilik (multiplicity)
Snftan retilebilecek rnek says, snfn ok eitliliini belirler. 0 ise utility snftr, 1 ise singletondr, 1den fazla ise normal davrantr. Snf ikonunun sa st kesine yazlr. Multiplicity, snf zelliklerine de uygulanabilir. zellik isminden sonra keli parantezlerde bu say verilebilir.
zellikler (attributes)
Aadaki tanmlara, zellikler iindir: Aksi belirtilmedike, zellikler daima deitirilebilirdir. Readonly zellii ile nesne ilklendirildikten sonra zelliinin deerinin deimemesi salanabilir. Readonly ile constant ifadeler modellenebilir. Readonly C++daki const ifadesine kar gelir.
Operasyonlar
UML iinde; operasyon ve metot farkl anlama gelir. Metot; operasyonun gereklenmesidir. Bir snfn soyut olmayan operasyonlarnn hepsi, bir metota sahiptir. Kaltm hiyerarisinde; ayn operasyon iin birden fazla metot olabilir ve polimorfizm alma annda hangisinin alacan seer.
10
BLM SONU
11
AMALAR
Gelimi bamllk, genelletirme, ortaklk, gerekleme, artma (refinement) ilikileri liki ann modellenmesi liki ann oluturulmas
Gelimi likiler
UML iinde; bamllk, genelletirme, gerekleme ve ortaklk ilikileri vardr.
Bamllklar
Bamllk; bir kavramn spesifikasyonunda deiiklik olduu zaman, onu kullanan dier kavramn da etkileneceini gsterir. UML ierisinde bamllklarda kullanmak zere birok steryotip mevcuttur. 1. bind: Kaynak; hedef ablonu verilen parametrelerle rnekler (template instantination) 2. derive: Kaynak, hedeften hesaplanabilir. Person snfnn, Age ve BirthDate zellikleri varsa; Agein BirthDateden hesaplanabilecei derive steryotipi ile gsterilebilir. 3. permit: Kaynaa, hedef iinde zel bir grnrlk tanmlanr. C++ friend snflarda olduu gibi, bir snf baka bir snfn private deikenlerine erimek istiyorsa bu permit steryotipini kullanabilir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 4
Bamllklar
4. instanceOf: Kaynak; hedefin bir rneidir. Genelde; source: Target eklinde gsterilir. Snf ve nesneleri ayn diyagramda gsterirken kullanlr. 5. instantiate: Kaynak, hedefin rneklerini oluturur. Genelde bir snf baka bir snfn nesneleri yaratyorsa kullanlr. 6. refine: Ayn kavram farkl soyutlama seviyelerinde gsteren snflar modellemede kullanlr. rnein, analiz aamasnda Customer snfn belirlersiniz ve daha detayl Customer snfn tasarmda oluturursunuz. 7. use:Kaynak elemann semantii, hedefin public blmnn semantiine baldr.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 5
Bamllklar
8. import: Hedef paketin public ierii, kaynan public isim uzayna girer. 9. access: Hedef paketin public ierikleri, kaynan private isim uzayna girer. import ve access, dier paketlerde tanmlanm elemanlara erimek iin kullanlr. Bu sayede fully qualified ekilde kullanma zorunluluu ortadan kalkar. Kullanm senaryolarnda bamllk ilikisi iin; extend ve include kullanlabilir. 10. extend: hedef, kaynan davrann geniletir. 11. include: kaynak kullanm durumu, baka bir kullanm durumunu ierir. Extend ve include ile, kullanm senaryolar yeniden kullanlabilir paralara ayrlabilir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 6
Bamllklar
12. send: Kaynak snf hedefe event gnderir. Bir eventi hedef nesneye dispatch eden operasyonu modellemede kullanabilirsiniz. 13. trace: Hedef, kaynan eski bir atasdr. (gelitirmenin nceki admlarndan) rnein; sisem mimarisi balamnda, bir kullanm durumu modelindeki kullanm durumu tasarm modelinde bir pakete kar dm olabilir.
Genelletirmeler
Genelletirme ilikisinde, ocuun rnekleri ebeveynin rnekleri (instance) yerine kullanlabilir. Person * p = new Man();
Genelletirmeler
oklu kaltmdan saknmak gerekir. Eer ocuk, ebeveynleri ile akan davrana sahipse problemler olacaktr. Bu nedenle, oklu kaltm delegasyon ile deitirmek gerekir. rnein; Vehicledan bir boyutta, LandVehicle, WaterVehicle, AirVehicle oluturup dier boyutta GasPowered, WindPowered, MusclePowered snflar oluturmak yerine; Vehiclea bir veri eleman olarak meansOfPropulsion (itici g) eklenebilir. Alt snflardaki yer deitirme avantaj azalsa da oklu kaltmdan kurtulu oluruz.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 9
Genelletirmeler
UML genelletirmede uygulanabilecek 4 kst tanmlamtr. Complete: Modelde, genelletirmede gsterilebilecek tm ocuklar gsterilmitir ve daha fazla ocua izin verilmez. incomplete: Hepsi gsterilmemitir. Disjoint: Ebeveynin nesnelerinin bir tipten fazla ocuu olamaz. r: Person snf Man ve Woman gibi disjoint snflara ayrlabilir. Overlapping: Birden fazla olabilir. r: Vehicle snf, LandVehicle ve WaterVehicle snflarna ayrlabilir ve ikisini de salayan nesnesi olabilir. Disjoint ve overlapping, oklu kaltm durumunda UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 karmza kar.
10
Ortaklk (association)
UML genelletirmede uygulanabilecek 4 kst tanmlamtr. Navigasyon: Aksi belirtilmedike, ortaklk ilikisinde navigasyon ift ynldr. rnein; verilen bir kullanc adndan ifreleri elde etmek isterken tersinin yaplmasn istemediiniz durumda navigasyon kullanmanz gerekir. Kaynak nesne, hedef nesneye baz referanslar tutmaktadr.
11
Ortaklk (association)
Grnrlk: User nesnesinden Password nesnesi elde edilebilir. Ancak, Password Usera zeldir ve dardan eriilmemelidir. Bu nedenle UserGrouptan User nesnelerine eriebilirsin fakat Password nesnelerine eriemezsin
12
Ortaklk (association)
Niteleme (qualification): ok eitlilii azaltr.Bir dosyann ismi bir dizinde tektir. Var ya da yok
13
erme (composition)
Composition: Aggregation ilikisi, para btn ilikisi gibidir ve kavramsaldr. Composition ise, daha gl ierme bilgisi tar, kesinlikle iermelidir. i dolu baklava ile gsterilir.
14
Association snflar
Ortaklk ilikisini, ortaklk snflar halinde gstermek yarar salayabilir. Eer; ortakln baka nesnelerle balants varsa veya nemli operasyonlara sahipse
15
Gerekleme
Arayzler ve ibirliklerinde kullanlabilir. Genelde; arayz ve snf arasndaki ilikiyi, bileenin sunduu operasyonu gstermede kullanlr 2 farkl ekilde arayz gereklemesi gsterilebilir. Lolipop ve kesikli izgilerle. Kullanm durumu ve onu gerekleyen ibirlii arasnda da kullanlabilir.
16
BLM SONU
17
AMALAR
Arayzler, tipler, roller ve gerekleme Sistemde katmanlar modelleme Statik ve dinamik tipleri modelleme Arayzleri anlalr klma
Arayzler
Arayz
Arayz, bir snfn veya bileenin verdii hizmeti tanmlamak zere sahip olduu operasyonlarn biraraya getirilmi halidir. Salanan arayz (provided interface): Snf tarafndan salanan servisleri gsterir. stenen arayz (required interface): Bir snf tarafndan istenen ancak baka bir snfa ait servisleri gsterir Arayz isimleri, basit veya nitelikli (qualified) isim olarak verilebilir.
Operasyonlar
likiler
Bir snf birden fazla arayz gerekleyebilir (realize) Salamay kabul ettii servisler kmesi, onun salanan arayzdr (provided interface)-gerekleme ilikisini yanstr Bir snfn dier snflardan istedii servisler kmesi, o snfn istenen arayzdr (required interface) bamllk ilikisini yanstr Bir arayz gerekleme 2 ekilde gsterilebilir. Lolipop notasyonu ve kesikli izgi ile gsterim. Lolipop notasyonunda operasyonlar gstermek mmkn olmad iin dezavantaj vardr.
Targettracker, Observer arayzn implemente ediyor. Tracker, Observer arayzne bamllk duyuyor. class TargetTracker implements Observer class Tracker { void run(Observer o){ } }
rnek
Ledger; IStreaming ve ITransaction arayzlerine ihtiya duyuyor - kullanyor Bu nedenle alan bir sistemde; bu 2 arayz gerekleyen bileenler sunulmaldr Ledger; ILedger ve IReports arayzlerini implemente ediyor.
BLM SONU
10
AMALAR
Paketler Grnrlk import ve export
Paketler
Paket; modelleme elemanlarn gruplar eklinde organize edilmesi iin kullanlan genel amal mekanizmalardr. yi tasarlanm paketler; semantik olarak yakn ve birlikte deimesi muhtemel elemanlarn biraraya getirilmesiyle oluur. yi yaplandrlm paketler, gevek baldr. (loosely coupled) alma esnasnda bir anlam yoktur,kavramsaldr.
simler
Basit isimler veya nitelikli (qualified) isimler kullanlabilir :: ifadesi ile paket isimleri ayrlr. Ek blmeler (compartment) veya etiketli deerler (tagged values) kullanlabilir. alma esnasnda bir anlam yoktur,kavramsaldr.
Grnrlk
Bir paket tarafndan sahip olunan elemanlarn grnrln kontrol edebilirsiniz. OrderForm, Clientin public blmdr. Order private blmdr. Clienti import eden bir paket; OrderFormu grebilir fakat Order gremez. Client::OrderForm eklinde eriilir.
Import ve Export
A ve B snflar olsun. Ann paketi Bnin paketini import ederse, A Byi dorudan grebilir. Ancak B Ay nitelikli isim kullanmazsa gremez. mport ilemi, hedef paketin public elemanlarn import eden paketin public uzayna ekler. mport; hedefin ieriini kaynan public uzayna ekler. Access ise hedef paketin ieriini kaynan private uzayna ekler. Tek fark; eer 3.bir paket orjinal kaynak paketi import ederse, import edilen elemanlar re-export edilemez. Genelde import kullanlr. Bir paketin public blmleri o paketin exportlardr.
import ve export...
GUI::EventHandler, protected olduu iin Policies paketi iin grnr deildir. Ancak GUI::Window ve GUI::Form, Policies paketi tarafndan Window ve Form isimleriyle eriilebilir nk public tanmlanmtr. Serverdan GUInin Window snfna erimek iin nitelikli isim kullanlmaldr. GUIden Servern ieriine eriilemez nk private. (nitelikli isimle bile eriilemez)
BLM SONU
10
AMALAR
rnekler ve nesneler Somut (concrete) rneklerin modellenmesi Prototip rneklerin modellenmesi rneklerin gerek ve kavramsal dnyas
rnekler
rnek; soyutlamann somut halidir. rnek ve nesne genellikle e anlamldr. rnekler, alt izili olarak gsterilir. Nesneler, snflarn rnekleridir. Her nesne rnektir ancak her rnek nesne olmak zorunda deildir. r: bir associationn rnei nesne deildir, bir balantdr (link).
Soyutlamalar ve rnekler
UML iinde soyutlama (abstraction) ve rnek (instance) birbirinden kolayca ayrt edilebilir. rnek olduunu belirtmek iin alt izilir. rnek; uzayda yer kaplayan bir kavramdr. Bir dmn rnei, bir odada yer alan bilgisayar olabilir. Soyut snflarn ve arayzlerin nesneleri oluturulmamasna ramen, prototip olarak rnekleri gsterilebilir. Bu sayede, somut ocuklarn gsterecei zellikler modellenmi olacaktr. rnekler modellendii zaman, nesne diyagramlarnda (yapsal detay iin), etkileim ve aktivite diyagramlarnda (dinamik yap iin) gsterilebilir. Genellikle gerekli olmasa da, rnekler snf diyagramnda gsterilebilir. Bu sayede, nesnenin soyutlamas ile ilikisi temsil edilmi olur.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 4
Tipler ve simler
rneklerin tipi, isminde sonra : konularak gsterilir. tname : Transaction Burada tip, Transaction, isim de Tdir. Gelitirme srasnda, snflaycs (classifier) ile ilikilendirilmemi rnekler oluturabilirsiniz. Bu rnekler, ok soyut davran modellemede kullanlabilir.
Dier zellikler
Prosesler ve threadler, sistemin proses bakn gsterirken olduka nemli elemanlardr. UML aktif ve pasif elemanlarI kolayca ayrt edebilir. Aktif nesneler genellikle etkileim diyagramlarnda gsterilir. Associationn rnei bir balantdr (link) ve nesneleri birbirine balar. Snf tanmnda statik zellikler de alt izili olarak gsterilir. Onlar da birer rnektir (instance). Steryotipli nesneleri gstermek de mmkndr.
BLM SONU
AMALAR
Nesne yaplarnn modellenmesi leri ve tersine mhendislik
Nesne Diyagramlar
Nesne diyagramlar; snf diyagramlarnda yer alan kavramlarn modellenmesidir. Nesne diyagram; nesneler kmesini ve aralarndaki ilikileri gsterir. Nesne diyagramlar, statik tasarm bakn veya statik proses bakn modellemek iin kullanlr. Nesne diyagram, bir etkileimin statik blmn gsterir. Birlikte ibirlii iinde olan nesneler gsterilir ancak aralardaki mesajlar gsterilmez. Zamann bir annda alnan bir grnt gibidir. Nesneler, balantlar, dmler ve kstlar diyagramda yer alabilir. Ayrca snflar da dahil edilebilir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 3
Nesne Diyagramlar
Datm (deployment) diyagramlar da, generic ve instance biiminde olabilir. Genel datm diyagramlar; dm tiplerini tanmlarken, rnek datm diyagramlar bu tiplerden oluan dmler kmesinin somut bir konfigrasyonunu tanmlar. Nesne diyagramlar, karmak veri yaplarn modellemede olduka yararldr
BLM SONU
AMALAR
Bileenler, arayzler, gerekleme yap, portlar, paralar, konnektrler Alt bileenleri birlikte balama Bir APIyi modelleme
Bileenler
Bileen; bir sistemin mantksal, yerine baka bir eleman konabilir bir parasdr ve arayzler kmesini gerekler / salar. yi tasarlanm bileenlerin, iyi tanml arayzleriyle yerine yenileri kolaylkla konabilir. Port; bileen iinde zel bir penceredir ve mesaj kabul eder veya belirlenen arayze uyan bileene mesaj gnderir. yap (internal structure): Birlikte balanan paralardan oluan bileenin gereklenmi halidir. Para (part): Bileenin bir blm Konnektr: Bileen iindeki 2 para veya portun arasndaki iletiim ilikisidir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 3
Bileenler ve Arayzler
Tm bileen tabanl OS kolaylklar (COM+, CORBA, EJB) bileenleri birlikte balayan arayzleri kullanr. Bileenlere bal olarak bir sistemi oluturmak iin, sistemdeki katmanlar gsteren arayzleri belirtmeniz gerekir. Arayzleri gerekleyen bileenler oluturulur. Bir bileenin gerekledii arayze salanan arayz (provided interface) ad verilir. Bir bileen birok arayz gerekleyebilir. Bir bileenin kulland arayz ise istenen arayzdr (required interface). Bu da bu bileenin baka bileenlerden hizmet isteyecei durumda uyaca arayz gstermektedir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 4
Bileenler ve Arayzler
Bileenlerin sa st kesinde ikonlar vardr Bir bileen; zellik ve operasyonlara sahip olabilir ancak genelde ekilde gsterilmez 2 farkl ekilde bileenler ve arayz ilikileri gsterilebilir. Lolipop ve klasik gsterim Bir bileen bir arayz gereklerken, dier bileen bir arayz kullanmaktadr.
Bileenler
Bileen deitirilebilirdir (replaceable) Ayn arayze uyan bileenle deitirilebilir Bileenleri paketler ekilde organize etmek mmkndr.
Portlar
Bir bileene giren veya bileenden kan tm etkileimler portlar zerinden yaplr Bileenin dtan grnr davran onun portlardr, ne eksik ne fazlas! Bir bileen dieriyle zel bir porttan iletiim kurar. Portlar kimlik bilgisi tarlar, genel deildir. Required ve provided arayzler,bir port sembolne eklenebilir. Required arayz, portun baka bir bileenden bir hizmet istediini gsterir. Provided arayz, o port zerinden istenebilecek servisi gsterir. Port ad ve bileeni ad birlikte zel bir bileende zel bir portu tanmlar.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 7
Portlar
Portlar bir bileenin parasdr Portlarn instancelar, bileenle yaratlp yok edilir. Ticket Seller bileeni gsterilmektedir. Her portun bir ismi vardr. Bileenin, charging, attractions, ticket sales iin portlar vardr. Priority ve normal satlar iin 2 ayr port vardr. kisi de ayn arayze sahiptir, TicketSales Booking arayz ile; bileen biletlerin availabilitysi konusunda sorgulama yapabiir ve bileti satn alabilir.
10
Konnektr
ki port arasndaki balantya konnektr denilir ki porttan birisi arayz salyor ve dieri istiyorsa balanabilir Balama sayesinde; isteyen port servislerine ulamak iin salayan port invoke edecektir. Portlarn avantaj tasarm aamasnda iki bileenin birbirini bilmesine gerek olmamasdr. Eer tabii ki arayzler uyumlu ise.
11
Konnektr
OrderEntry portunda d istekler, OrderTaking alt bileeninin portuna delegate edilir. Bu bileen bu k OrderHandoff portuna gnderir orderHandling bileeni, Inventory iindeki stoklarda itemi bulmaya alr (direct connector) Bulununca OrderHandling, Credit servisine eriir ve charging portuna delegate edilir. Cevap gelince OrderHandling bileeni shipment iin ShipItems ile iletiim kurar. Daha sonra FullFillment servisi ile shipment tamamlanr.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 12
13
APIlerin Modellenmesi
14
BLM SONU
15
AMALAR
Roller, balantlar, mesajlar, eylemler (action) ve sralamalar (sequence) Kontrol aklarnn modellenmesi yi yaplandrlm algoritmalarn oluturulmas
Etkileimler
Etkileim; belirli bir amac gerekletirmek iin, nesneler arasnda dolaan mesajlardan oluan bir davrantr. Mesaj; nesneler arasndaki iletiimin bir spesifikasyonudur. Nesne diyagramlar; etkileimin statik ynn gsteren diyagramlar olarak dnebiliriz. Daha sonradan mesajlar bu diyagramlara ekleniyor.
Mesaj
Sralama (Sequencing)
Sralama, i ie (nested) gsterimli (1.1 gibi) veya dz sralama ile gsterilebilir. k yntemde ii dolu ok konurken, 2.sinde okun ii botur. lki daha fazla tercih edilir. Birden fazla ak kontrolu varsa (multiple thread), mesaj gnderen threadi de mesajda belirtmek gerekir. D5: eject(3) ifadesi ile; D isimli thread 5.srada 3 parametresiyle eject operasyonunu arr. Geri dn deerleri de gsterilebilir. r: 1.3.2 : p := find(Ahmet) Ahmet operasyon parametresi, p geri dn deeridir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 7
Gsterim ekilleri
UMLde mesaj sralar veya mesajlarn organizasyonel yaps vurgulanmak istenebilir. lk durumda; sralama diyagramlar (sequence) 2. durumda iletiim diyagramlar (communication) kullanlr. Bu 2 diyagram da etkileim diyagram trndedir. Zamanlama diyagramlar da etkileim diyagramlar altndadr ancak orada mesajlar arasnda geen zamanlar tam olarak ifade edilir. Sralama diyagramlarndan iletiim diyagramlarna dnm baz aralarca yaplmaktadr.
10
BLM SONU
11
AMALAR
Kullanm durumlar, aktrler, include ve extend ilikisi Bir elemann davrannn modellenmesi Kullanm durumlarn ibirlikleri (collaborations) ile geekleme
Kullanm Durumlar
Kullanm durumlar; gelitirilen sistemin istenen davranlarn ortaya koyar ve nasl gereklenecei ile ilgilenmez. Gelitiricilerinizin; son kullanclar ve alan uzmanlar ile sistemi ayn ekilde alglamasn salar. Gelitirme aamasnda sistemin ve mimarinin geerlenmesini (validation) salamada yardmc olur. ok genel veya zele kamadan sistemin temel davranlarn gstermesi gerekir. Bir ATM makinesinin i almasn bilmeseniz dahi kullanm durumlarn o alan biliyorsanz izebilirsiniz.
Kullanm Durumu
sterler analizinde (requirement analysis) belirlenirler. Kullanm durumu; eylemler dizisinden oluan bir kmenin tanmdr. Sistem seviyesinde; sistemi dardan kullanan ile sistemin kendisi arasndaki etkileimi gsterir. Banka iin bir kullanm senaryosu, faizle verilen bor ileminin ilenmesidir. Alt sistemlere uygulanan kullanm durumlar; regresyon testlerinde olduka yararldr Tm sisteme uygulanan kullanm durumlar; entegrasyon ve sistem testlerinde yarar salar.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 4
Aktrler
Kullanm durumlarnn kullanclardr. nsan, donanm paras ve sistemle etkileimde bulunan baka bir sistem olabilir. Modellerde aktrler kullanlr ancak gelitirilen yazlmn bir paras deillerdir. Genelletirme ilikisi ile daha zel aktrler oluturabilir veya UMLin steryotip mekanizmas ile farkl aktrler tanmlayp yeni ikonlar oluturabilirsiniz Aktrler ve kullanm durumlar, association ilikisi ile birbirine balanr.
Senaryolar
Kullanm durumu iin olaylarn ak ilk anda metin ile ifade edilebilir. Daha sonra sralama diyagramlar ile temel ak ve alternatif aklar gsterilebilir. Senaryo; bir kullanm durumunun rneidir (instance) Hire employee kullanm durumunda; iinin farkl bir departmandan kiralanmas veya farkl bir irketten kiralanmas her biri ayr ayr bir senaryodur. Bir kullanm durumu iin; birincil (temel sralamalar) ve ikincil senaryolar (alternatifler) oluturulabilir. Bir kullanm durumunun onlarca senaryosu olabilir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 7
birlikleri
Kullanm durumlarnn gereklenmesi, ibirlii iinde alan snflar ve dier elemanlarca gerekleir. ou zaman; bir kullanm durumunun gereklenmesi sadece 1 tane ibirlii tarafndan gerekletirildii iin bu ilikinin modellenmesine gerek yoktur.
nclude likisi
Ayn olaylar akn defalarca tekrarlamaktansa, ierme ilikisi ile gsterilebilir. Sistemin baz sorumluluklar bir kullanm durumunda toplanr ve dierleri bunlar ierir. Kullanm durumlarnn senaryolarn gstermede, doal dil kullanlabilir. Birok yazar formal olmayan yntemlerin kullanlabileceini ifade etmektedir. nk buradan kod retilmiyor. UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006
10
Extend ilikisi
Sistemin seime bal davranlarnn modellenmesinde kullanlr Genileme noktalar, temel kullanm durumunda tanmlanr ve bu noktalara extend eden kullanm durumu balanr. Place order kullanm durumunda; set priority bir genileme noktasdr ve kullanlmayabilir. Ancak place rush order iin bu nokta kullanlacaktr.
11
Tm likiler Birlikte
12
13
BLM SONU
14
AMALAR
Sistemin isterlerinin modellenmesi leri ve tersine mhendislik
BLM SONU
AMALAR
Zaman sras asndan akn modellenmesi Organizasyon asndan akn modellenmesi leri ve tersine mhendislik
Etkileim Diyagramlar
Etkileim diyagramlar; nesneler kmesi ve bu nesneler arasndaki ilikileri, mesajlar gsterir. Sralama diyagramnn; X ekseninde nesneler Y ekseninde ise zamann ak gsterilir. letiim diyagramnda ise; nesneler ve aralarndaki mesajlar gsterilir.
Etkileim Diyagramlar
Sralama ve iletiim diyagramlar; etkileim diyagramlar olarak bilinmektedir. Sralama diyagramnda zaman; iletiim diyagramlarnda ise nesne organizasyon yaps vurgulanmaktadr.
Sralama Diyagramlar
Etkileimi balatanlar en sola yerletirilir ve daha sonra gelenler saa doru konulur. Nesneler arasndaki mesajlar diyagrama yerletirilir ve dey eksende aa doru zamann artt dnlr. letiim diyagramlarndan farkl olarak; yaam izgisi (lifeline) kavram vardr. Nesnenin zaman boyunca varln ifade eder. Eer batan sona mevcutsa, kesikli izgi aa kadar ekilir. Dier farkllk da; kontrol odadr (focus of control). Bu odak, dikdrtgenle gsterilir ve nesnenin bir eylemi dorudan veya dolayl gerekletirdii periyodu gsterir. Dikdrtgenin st, eylemin balangcn ifade ederken alt ksm bitiini gsterir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 5
Sralama Diyagramlar
Senkron mesajlar, ii dolu genle gsterilirken asenkron mesajlar normal okla gsterilir. Senkron mesajlarn dn (bir ardan geri dn) kesikli okla gsterilir. Kesikli okun zerine geri dn deeri yazlabilir.
Sralama Diyagram
Yaplandrlm Kontrol...
Opsiyonel yrtme: Guard condition gerekletii durumda yrtlr ve bu art sol ste yazlr. Duruma bal yrtme: Yatay kesikli izgilerle alt blgelere diyagram ayrlr ve her blge artn bir daln gsterir. Eer o blge iin art salanyorsa, alt blge yrtlr. zel Bir guard condition mevcuttur ve sttekiler salanmazsa bu yrtlr [else] . Paralel yrtme: Yatay kesikli izgilerle alt blgelere diyagram ayrlr ve her blge paralel yrtlr. Dng yrtme: Sol stteki art saland srece yrtlr. Tm diyagram dikgrtgene alnarak st ksmna, sd (structured diagram) diyagram ismi yazlarak gsterilir. Paralel ilemler; daima paralel yaplaca manasna gelmiyor sadece aralarnda srasal iliki yok demektir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 9
10
letiim Diyagramlar
Etkileime katlan nesnelerin organizasyonunu vurgular Yaam izgisi ve kontrol oda kullanlmaz Mesaj numaras kullanlr terasyonu gstermek iin; mesaj srasnn yanna * sembolnden sonra [i := 1..n] yazlr. Veya detay nemsiz ise sadece * konabilir. artl durum iin sra numaras yanna [x>0] gibi bir ifade yazlabilir. UML iterasyon ve dallanma iin keli parantezler iinde kullanmak zere zorunluluk getirmez. Szde kod veya bir programlama sentaksnda yazlabilir. Sralama diyagramlarnda ise; iterasyon ve dallanma kontrol yaplar ile gerekletirilir. Sralama diyagramlarnda nesneler arasndaki balantlar gsterilmez, iletiimde gsterilir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 11
letiim Diyagramlar
12
Semantik Edeerlik
Sralama ve iletiim diyagramlar ayn bilgiden tretildikleri iin dnm yaplabilir ve semantik olarak edeerdir. Ancak grsel olarak ayn bilgiyi vermezler. rnein; iletiim diyagramnda kullanlan {local} ve {global} ifadeleri nesnelerin nasl balandn gsterirken bu bilgi sralamada yoktur. Benzer olarak; sralama diyagramlarnda geri dn bilgisi (committed) varken iletiimde yoktur. Sralama diyagramlar; iterasyonlar ve artl durumlar iletiim diyagramlarndan daha iyi grselletirir.
13
14
15
Koddan diyagram da retilebilir, eer kod bir operasyonun bodysini gsteriyorsa. Ayrca; mesajlarn akn interaktif olarak gsteren animasyonlar da olduka yararldr.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 16
BLM SONU
17
AMALAR
aknn modellenmesi Bir operasyonun modellenmesi leri ve tersine mhendislik
Aktivite Diyagramlar
Sistemin dinamik grntsn ortaya koyan 5 diyagramdan birisidir. Aktiviteden aktiviteye ak gsteren, bir ak diyagram (flowchart) olarak dnlebilir Ancak; flowchartlarda olmayan dallanma ve e zamanllk zellikleri bu diyagramlar ile gsterilebilmektedir. Nesneler topluluunun veya bir operasyonun akn gstermede kullanlabilir.
Eylemler, aktivite dm
Aktivite diyagram; bir aktiviteden dierine ak gsterir Bu diyagramlar, eylem (action) ad verilen aktiviteler ile modellenir. Eylemler; atomiktir ve ayrtrlamaz. Ya tamam gerekletirilir ya da hibiri. Eylemler iine, genelde dz metin eklinde ifadeler yazlr ancak programlama diline zel ifadeler de girilebilir. Aktivite dm (activity node); eylemlerden oluan bir gruptur. Notasyon asndan, eylemlerden fark yoktur. Dmlerin ek olarak baz paralar daha vardr.
Dallanma
Baklava dilimi ile gsterilir Oklarn stne koruma durumu (guard condition) yazlr ve durum salanyorsa o aktan geilir ki ak birletirmek istiyorsanz, yine baklava dilimi kullanabilirsiniz (merge durumu) Merge durumunda, koruma durumu yazlmasna gerek yoktur
Kulvarlar (swimlanes)
Kulvar, bir paket tr olarak dnlebilir. srelerinin i aklarn modellerken, eylemleri gruplara gre ayrmak olduka yararldr. Bu gruplara UML iinde kulvar ad verilir ve dey izgi ile gsterilir. Her kulvarn bir ismi vardr ve bir irketin farkl departmanlarn gsterebilir. Her eylem bir kulvara ait olabilirken, kulvarlar arasnda geiler (transition) olabilir.
10
11
12
Nesne Ak
Nesneleri, aktivite diyagramlarnda gstermek mmkndr Nesnelerin iinde bulunduu durumlar da (state) bu diyagramlarda gsterilebilir [state1]
13
14
Genileme Blgeleri
Bir listenin elemanlar zerinde gerekleen ilemleri modellemek iin kullanlr Diyagramn bir blm kesikli izgilerle gsterilir Bu blgeye giri ve blgeden klar kolleksiyonun (colelction) deerleridir Bu deerler yan yana izilen kk karelerle gsterilir Programlamadaki forall ilemini gerekletirir
15
Order kolleksiyonundaki her bir eleman, genileme blgesine girmektedir ve ayn ilemlere maruz kalrlar (r: ArrayList<int> collection type ) Genileme blgesinde kullanlan eleman ise scaler typedir. Bu da rnek iin integer oluyor. kta Shipment ve Bill tipinden 2 kolleksiyon kmaktadr.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 16
17
BLM SONU
18
AMALAR
Sinyal olaylar (signal events), arma olaylar (call events), zaman olaylar (time events) ve deiim olaylar (change events) Sinyal ailesinin modellenmesi Aykr (exception) durumlarn modellenmesi Aktif ve pasif nesnelerdeki olaylarn ynetilmesi
Olaylar ve Sinyaller
Olay (event); zamanda ve uzayda yer kaplayan nemli bir durumun meydana gelmesidir. Sinyal; rnekler arasndaki asenkron mesajn spesifikasyonunu gsteren zel bir tr olaydr. Durum diyagramlar balamnda; bir olay durum geiini tetikleyen bir olutur. OffHook eventi, nesneyi Active durumundan Idle durumuna (state) geirerek dropConnection eyleminin yrtlmesini salar.
Olay Trleri
D ve i olaylar olabilir (external/internal) D olaylar; sistem ve aktrler arasnda geer. Butona baslmas, arpma sensrnden gelen kesme d olaylara rnektir. olaylar,sistem iinde yaayan nesneler arasnda geer rnein; tama aykr durumu (overflow exception) UMLde 4 tr olay modellenebilir Sinyaller (signals), arlar (calls), zamann geii (passing of time), durumda deiiklik (change in state)
Sinyaller
Bir operasyon sinyal gnderebilir moveTo operasyonunda olduu gibi
BLM SONU
10
AMALAR
Durumlar, geiler, aktiviteler Nesnenin yaam sresinin belirlenmesi yi yaplandrlm algoritmalar oluturma
Kavramlar
State Machine (Durum Makinesi) "State Manchine", bir nesnenin btn durumlarn bir ema halinde gsteren yapdr. State (Durum) Tek bir nesnenin herhangi bir durumunu ifade etmek iin "State" szc kullanlr. Event (Olay) Nesnenin "state" ler arasndaki geiini salayacak yordama event(olay) denir. Action (Aksiyon) Nesnenin bir durumdan dier bir duruma getiinde yapt ilere "action" denilmektedir. Aktivite (activity) Nesnenin ilgili state iinde geekletirdii ilemler (entry/exit/do) Transition (Gei) Nesnelerin durumlar arasndaki geii sembol etmeye "Transition" denir. UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006
Durum Makinesi
Etkileimleri kullanarak, birlikte alan nesnelerin davran modellenebilmektedir Durum makinesini kullanarak, tek bir nesnenin davran modellenebilir Durum makinesi; nesnenin yaam boyunca sahip olaca durumlar dizisini tanmlayan bir davrantr Durum makineleri ile bir sistemin dinamik grnts modellenir Snf, kullanm durumu veya tm sistemi modellemek iin durum makineleri kullanlabilir
Durum Makinesi
Durum Makinesi
Durum makinesinin balang ve biti durumu vardr.
Geiler (Transitions)
Bir geiin 5 paras vardr.
Kaynak durum (source state): Mevcut durum Hedef durum (target state): Geilen yeni durum Olay Tetikleyicisi (event trigger): Geii salayan olay Koruma durumu (guard condition): Gei koulu Etki (effect): Yrtlebilir bir davran. r: bir eylem (action)
Tamamlanma geii (completion transition): Evente ihtiya duyulmaz, kaynak durumun ii bitince kullanlr
10
AltDurumlar
Alt durum; baka bir durumun iinde bulunan durumdur Alt durumlar olan duruma, kompozit durum denilir. Kompozit durum; e zamanl (concurrent) / orthogonal veya ardl (sequential) / nonorthogonal alt durumlar ierebilir. r: CD alar alrken; ya kayt yapyor olabilir ya da cdyi alyordur.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 11
Nonorthogonal Durumlar
ATM makinesi 3 durumda olabilir: Idle, Aktif, Bakm Aktif durumdayken; mteriyi dorulama, transactioni seme, transactioni gerekletirme ve fii basma alt durumlarnda olabilir. Aktif alt durumlarnn her birinde kullanc ilemi iptal etmek isteyebilir ve bu durumda diyagramda birok gei gsterilmesi gerekir. Ancak alt durumlarla bu ilem kolay.
12
13
Orthogonal Durumlar
E zamanl alt durumlar ifade etmede kullanlr. Orthogonal blgelerde alma paralel yrtlr Kontrol IDLEdan, Maintenancea geince, kontrol 2 e zamanl ak oluturur ki blgedeki ilem de sonlannca join ilemi gerekleir ve tek bir aka der
14
15
16
Aktif Nesneler
E zamanll modellemenin dier bir yolu da aktif nesneler kullanmaktr. Bir nesnenin durum makinesini 2 e zamanl blgeye ayrmak yerine, 2 aktif nesne tanmlayabilir ve her biri bir blgenin sorumluluunu yerine getirir. Eer bu aklarn davranlar birbirlerinin durumundan etkileniyorsa, orthogonal blgeler kullanmak isteyeceksinizdir. Mesajlarla etkileniyorsa, aktif nesneler kullanacaksnz. Etkileim yoksa seim size kalm ancak aktif nesneler tasarm kararlarn daha iyi yanstmaktadr.
17
BLM SONU
18
AMALAR
Aktif nesneler, prosesler, threadler oklu akn modellenmesi Prosesler aras iletiimin modellenmesi Thread-safe soyutlamalarn oluturulmas
Aktif Nesne
Gerek dnyay modellediiniz zaman, proses bakna dikkat edilmelidir Sistemin ezamanllk ve senkronizasyon mekanizmalarn oluturmak iin prosesler ve threadler kullanlr UMLde her bamsz ak aktif nesne ile modellenir ve bu nesneler bir prosesi veya threadi gstermektedir Aktif nesne; kontrol aktivitesini balatabilen ve proses veya threade sahip olan bir nesnedir.
letiim
Nesneler iletiim halindeyken 4 durum sz konusudur: Pasif nesneden pasif nesneye: Operasyon arlmasndan baka birey deildir. Aktif nesneden aktife: Bu durumda IPC gerekleir ve 2 durum mevcuttur. Bir aktif nesne dierinin operasyonunu senkron ekilde arabilir ve bu iletiimin sonlanmasnn ardndan kendi almalarna devam ederler. Ya da asenkron olarak sinyal gnderebilir veya asenkron ekilde operasyonunu arabilir (mailbox) Aktif nesneden pasif nesneye: Eer baka bir aktif nesnede pasif nesnenin zelliklerini deitiriyorsa bu durumda conflict oluabilir, senkronizasyon kullanlmal. Pasiften aktif nesneye: Mmkndr.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 4
letiim
Senkronizasyon
Baz programlama dillerinde dorudan senkronizasyon anahtar kelimeleri vardr. Javadaki synchronized ifadesi UMLde bu amala concurrent zellii vardr Bir operasyona bu zellik atanarak senkronizasyon salanm olacaktr
IPC Modellenmesi
BLM SONU
10
AMALAR
Zaman, sre, yer Zamanlama kstlarnn modellenmesi Nesnelerin dalmnn modellenmesi G eden (migrate) nesnelerin modellenmesi Gerek zaman ve datk sistemlerle alma
Temel Kavramlar
Zamanlama iareti (timing mark): Bir olayn balad zaman gsteren bir ifadedir. Sralama diyagramlarnda izgi yannda gsterilir. Zaman ifadesi (time expression): Mutlak veya bal bir zaman gsteren ifadedir. Zamanlama kst (timing constraint): Zaman ile ilgili anlamsal bir ifadedir. Yer (location): Bir bileenin yer ald blgedir.
Zaman ve Uzay
Zaman ve uzayn modellenmesi; gerek zaman ve datk sistemlerin en nemli konusudur Gerek zamanl sistemlerde baz davranlarn belirli sreler iinde gerekletiriliyor olmas gerekir Datk sistemlerde; bileenler fiziksel olarak farkl dmlerde yer alabilir.
Yer (Location)
ou sistemde bileenler sabittir ancak bazlarnda bileenler dmden dme g edebilir nitalizer.exe, LoadAgent snfn implemente etmektedir. Bir ktnn (artifact)in yerini 2 ekilde gsterebilirsiniz Router rneindeki gibi, dm iine yerletirerek veya <<deploy>> steryotipini kullanarak
BLM SONU
AMALAR
Reaktif nesnelerin modellenmesi leri ve tersine mhendislik
Durum Diyagramlar
Aktivite ve durum diyagramlar bir nesnenin yaam sresini gstermesi asndan olduka yararldr. Aktivite diyagramlar, bir aktiviteden dier bir aktiviteye doru ak gsterirken; durum diyagram bir durumdan dier duruma doru ak gsterir. Durum diyagram; durum makinesinin basit gsterimidir
BLM SONU
AMALAR
ktlar, snflar ve ortaya koyma (manifestation) Yrtlebilir dosyalar ve ktphaneleri modelleme Tablo, dosya ve dokmanlar modelleme Kaynak kodu modelleme
ktlar
kt; bir sistemin fiziksel ve deitirilebilir parasdr Tablolar, dosyalar, dokmanlar, ktphaneler, yrtlebilir dosyalar, .NET bileenleri her biri bir ktdr. ktlara; basit veya nitelikli isimler verilebilir
ktlar ve Snflar
ktlar dmlerde yer alr ve fizikseldir; snflar mantksal soyutlamalar gsterir. ktlar; mantksal elemanlarn gereklenmi halidir. Ortaya koyma (manifestation) ilikisi sayesinde kt ve snflar arasndaki ilikiler gsterilebilir veya kt iinde bir blmde bu snflar yazlabilir. 3 tr kt vardr:
Datm ktlar (deployment): Yrtlebilir sistemi oluturmak iin gerekli ktlar (dll, exe gibi) rn ktlar (work product): Gelitirme aamas ktlar (kaynak kod, dokman gibi) Yrtme ktlar (execution): Bir sistemin almas sonucunda oluan ktlar (bir log dosyas olumas gibi)
UML iinde ktlara uygulanmak zere; executable, library, file ve document steryotipleri tanmlanmtr.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 4
kt ve Snflar
BLM SONU
AMALAR
Dmler ve balantlar lemciler ve cihazlarn (device) modellenmesi ktlarn dalmnn modellenmesi Sistem mhendislii
Datm
Dm (node); alma annda varolan ve bir kayna temsil eden fiziksel elemandr, genellikle bellei ve ilem yetenei olur. Dmlerle, sistemin alaca topoloji modellenir Bir dm; genellikle ktlarn datmnn yaplaca ilemciyi ve cihaz temsil eder.
Dmler ve ktlar
ktlar; sistemin almasnda rol oynayan kavramlardr; dmler ise ktlarn fiziksel datmn gsterir. ktlar; dmler tarafndan yrtlr. Dmlere; zellik ve operasyon tanmlanabilir.
Balantlar
Dmler arasnda en fazla kullanlan iliki association ilikisidir.
BLM SONU
AMALAR
birlii, gerekleme ve etkileim Kullanm durumu gereklemesinin modellenmesi Operasyon gereklemesinin modellenmesi
birlii
Kullanm durumlarnn ve operasyonlarnn gereklenmesi ve sistemin mimari adan nemli mekanizmalarnn modellenmesi iin kullanlrlar. birlii; bir davran gerekletirmek iin birlikte alan snflar, arayzler ve dier elemanlardan oluan topluluktur. birliinin; yapsal ve davrana zg 2 yn vardr. birliine zoom yaplrsa detayl snf diyagram grntlenebilir r: internode messaging
Davran
birliinin davran yaps, etkileim diyagramlar ile gsterilir.
Rollerin Modellenmesi
Roller; somut rneklerden daha farkldr, bir tanmdr Birok deer alabilir ve genelde etkileim, aktivite diyagramlarnda kullanlr Somut rnekler ise; nesne, bileen ve datm diyagramlarnda kullanlr a,c,t1 ve t1 4 tane rol gstermektedir.
Operasyonun Gereklenmesi
Render operasyonu karmak olduu iin; Ray trace ibirlii ile gsterilmitir ancak progress basit olduu iin sadece nota gerekli ifade yazlmtr. Operasyonu modellemek iin aktivite diyagram da olduka yarar salayacaktr
BLM SONU
10
AMALAR
Paternler ve ereveler (patterns and frameworks) Tasarm paternlerinin modellenmesi Mimari paternlerin modellenmesi Paternlerin eriilebilir klnmas
Paternler ve ereveler
yi yaplandrlm bir sistem paternlerle doludur Patern; genel bir problem iin oluturulmu genel bir zmdr Mekanizma; snflar topluluuna uygulanan bir tasarm paternidir r: sorumluluk zinciri paterni ile olay gdml bir sistemde event handlerlar modellenebilir (Tasarm paterni =Mekanizma) ereve; bir alan iindeki uygulamalar iin geniletilebilir ablon sunan mimari bir paterndir r: Bilgi sisteminde 3 katmanl mimari kullanmak Mekanizmalar; ibirlii eklinde gsterilirken, ereveler steryotipli paketler eklinde gsterilir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 3
Mekanizmalar ve ereveler
Mekanizmalar ve ereveler
Tasarm paternleri snflar topluluunun yapsn ve davrann tanmlarken; mimari paternler (ereveler) tm sistemin yapsn ve davrann tanmlar. Mekanizmalar 2 ekilde gsterilebilir. 1.Basit olarak snflar topluluuna bir ibirlii ismi vermek 2. ablon (template) bir ibirlii oluturmak rnekte; Subject ve Observer snflar; CallQueue ve SliderBar somut snflarna balanmtr. Patern uygulannca; oluan snflar; yeni operasyonlar kazanmtr (notify(), getState(), update() ) 2. yntem; altnz alandan bamsz oluturulduu iin yeni bir alanda farkl snflar balayabilirsiniz.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 5
ereveler
ereveleri; bir problemi zmek iin birlikte alan mekanizmalar kmesini sarmalayan mikro-mimari tr olarak dnebilirsiniz. ereveyi tanmladnzda, mimarinin iskeletini de tanmlam olursunuz. rnekte; CyclicExecutive bir frameworktr. CommonEvents event snflarn ieren bir design paterndir. EventHandler da olaylar cyclic ekilde ileyen bir tasarm paternidir. Bu framework kullanan Pacemaker istemcisidir.
10
11
12
BLM SONU
13
AMALAR
Kaynak kodun modellenmesi Yrtlebilir dosyalarn modellenmesi Fiziksel veritabanlarnn modellenmesi Adapte olabilen sistemlerin modellenmesi leri ve tersine mhendislik
kt Diyagramlar (Artifacts)
Datm ve kt diyagramlar; UML iinde sistemlerin fiziksel ynn modellemede kullanlr kt diyagramlar; kt kmesini ve ilikileri gsterir Sistemin statik gerekleme bakn modellerken, 4 ekilde bu diyagramlardan yararlanlabilir:
Kaynak kodu modellemek Yrtlebilir srmleri modellemek Fiziksel veritabanlarn modellemek Adapte olabilen sistemleri (adaptable) modellemek
BLM SONU
10
AMALAR
Gml sistemin modellenmesi stemci/sunucunun modellenmesi Tamamen datk bir sistemin modellenmesi
Datm Diyagramlar
alma anndaki dmleri ve bu dmler zerinde yer alan ktlar gsteren diyagramdr. Sistemin zerinde alt donanm topolojisini modellemeye alr. Gml sistemlerde, istemci/sunucu sistemlerinde, datk sistemlerde kullanmak olduka yarar salar.
BLM SONU
AMALAR
Sistemler, alt sistemler, modeller ve baklar Sistem mimarisinin modellenmesi Gelitirme ktlarnn organize edilmesi
z (trace)
Farkl modeller arasndaki ilikileri gstermede kullanlr. sterlerden gereksinimlere ve bir versiyondan baka bir versiyona izler kullanlabilir. Genelde; hyperlinkler ile bu ilem gerekletirilir.
BLM SONU
AMALAR
Zamanlama diyagramlar (timing diagrams) Etkileim bak diyagram (interaction overview) Kompozit yap diyagram (composite structure)
Zamanlama Diyagram
Etkileim diyagramdr. Mesajlarn bal sralarn gstermek yerine gerek zamanlar gsterir Gerek zamanl uygulamalarda yararldr
BLM SONU
Yapsal Kavramlar
Davrana zg Kavramlar
likiler
Geniletilebilirlik
Gruplama / Aklama