You are on page 1of 412

Blm 1: Neden Modelliyoruz?

16-17 Eyll 2006 BT Akademi, stanbul


UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 1

AMALAR
Modellemenin nemi Modellemenin 4 temel prensibi Nesneye ynelik modelleme

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Yazlm Gelitirmede Modelleme


Baarl yazlm organizasyonlar, kullanc ihtiyacn tam olarak karlayan kaliteli yazlmlar sunmaktadr. Gelitirme takmnn temel rn; uzun dokmanlar ve toplantlar, byk sloganlar ya da kaynak kodlar deildir. Kullancnn deien ihtiyalarn karlayabilecek olan iyi bir yazlmdr. Dierleri ise ikincil neme sahiptir. Ancak ou yazlm firmas ikincil nem ile ilgisiz konular kartrmaktadr.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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...

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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 ? ? ?

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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 !

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

18

Nesneye Ynelik Modelleme


Bu tr sistemlerde temel bileenler snflardr. Nesneye ynelik modelleme byk sistemler oluturmada kendini ispatlam bir yntemdir. Nesneye ynelik sistemleri; grselletirme, belirtme (specify), oluturma ve dokmante etme; UMLin tam olarak amalarn oluturmaktadr. Nesneye ynelik paradigmada kullanlan modelleme de facto standart olarak UMLdir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

19

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

20

Blm 2: UMLe GR

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
UMLe Genel Bak UMLi Anlamak iin 3 Adm Yazlm Mimarisi Yazlm Gelitirme Sreci

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

UML (Unified Modeling Language)


UML, yazlmlarn modelini kurmada kullanlan standart bir dildir. Birletirilmi modelleme dili anlamna gelmektedir. Bilgi sistemlerinden, web tabanl datk uygulamalara ve hatta sk gerek zamanl gml sistemlere kadar uygulanabilmektedir. UML sreten bamszdr ancak optimal olarak; kullanm senaryosu gdml, mimari merkezli, iteratif ve artml srelerde kullanlmas gerekmektedir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

UMLe Genel Bak


UML; yazlm youn sistemlerin ktlarn Grselletirme (visualizing) Belirtme (specifying) Oluturma (constructing) Belgeleme (documenting) etmek iin kullanlan bir dildir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

UML Bir Dildir


Bir dil; kelimeler ve kelimeleri birletirmek iin kurallar sunar. Modelleme dilinde ise; kelimeler ve kurallar bir sistemin kavramsal ve fiziksel gsterimine odaklanmtr. UML iinde kelimeler ve kurallar modelleri nasl oluturacanz veya okuyacanz ifade ederken; hangi modelleri ne zaman oluturmanz gerektiini anlatmaz. Bu grev yazlm gelitirme srecine aittir. yi tanml bir sre hangi ktlarn retilmesi gerektiini, hangi aktivitelerin yaplmas gerektiini ve bu ktlar sreci lmek iin nasl kullanmak gerektiini anlatmada yardmc olmaldr.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 5

UML: Grselletirme iin Bir Dil


Resmi olmasa bile her durumda aslnda programc modelleme yapmaktadr (kada karalasa bile) Ancak farkl izimler iletiimi zorlatrr. Ayn firmada ayn ekilde kullanlsa dahi dardan bakanlar iin anlalmas zor olur. Kodlara bakarak anlalmas zor olan durumlarda modellerle bu zorluk alr (snf hiyerarilerini kod zerinden anlamak yerinde modelleri incelemek) Gelitirici aklndaki modeli yazmazsa, gelitirici ile birlikte bu bilgi de uup gider ve kod zerinden bu bilgiyi karmak kimi zaman gtr. UML, grafiksel sembolleri kmesinden te sembollerin arkasnda gl bir semantik barndadr. Bu sayede bir gelitiricinin modelini dieri aka anlayabilir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 6

UML: Belirtim iin Bir Dil


Bu balamda belirtim; tam, doru ve kesin modellerin oluturmas anlamna gelmektedir. zellikle yazlm youn sistemlerde; tm nemli analiz, tasarm ve gerekleme kararlarnn alnd belirtimi adresler.

UML: Oluturma iin Bir Dil


Modellerden kod oluturulabilir (forward engineering) Kodlardan model karlabilir (reverse engineering) Kod ve model, round-trip zellii olan aralarda srekli gncel tutulmaktadr.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

UML: Belgeleme in Bir Dil


Salkl yazlm firmalar yrtlebilir programa ek olarak aadaki ktlar retir. sterler, mimari, tasarm, kaynak kod, proje planlar, testler, prototipler, farkl srmler. Bu ktlar; projenin teslimatlar arasnda olmayabilir ancak sistemin geliimini izlemede ve iletiimi kolaylatrmada yarar salar. UML, bir sistemin mimarisini ve detaylarn belgeleyebilir. UML ile gereksinimler de ifade edilebilir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

UML Nerelerde Kullanlabilir?


Genelde yazlm-youn sistemlerde kullanlr.
Bilgi sistemlerinde Bankaclk-finans hizmetlerinde Telekomnikasyonda Tamaclkda Savunma / Uzay alannda Perakendecilikte Tp elektroniinde Bilimsel ilemlerde Datk web tabanl hizmetlerde

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

UMLin Kavramsal Modeli


UMLi anlamak iin, dilin kavramsal yapsn incelemek gerekir. Bu amala; 3 temel eleman renilmelidir.
UMLin temel yap talar Bu yap talarn balamada kullanlan kurallar UML iinde bavurulan baz yaygn mekanizmalar

Bu fikirler anlald zaman UML modellerini okuyabilir ve basit olanlar izilebilir. UMLi uygulamada deneyim kazandka dilin gelimi zelliklerini kullanarak karmak sistemler kolaylkla modellenebilir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

10

UMLin Yap Talar


3 tr yap ta mevcuttur. 1. Kavramlar: Modelde yer alan soyutlamalar (snf) 2. likiler: Kavramlar birbirine balayan yap ta 3. Diyagramlar: Farkl kavramlar biraraya getiren yap ta 1. UMLdeki Kavramlar 1.1 Yapsal kavramlar (structural things) 1.2 Davrana zg kavramlar (behavioral things) 1.3 Gruplama kavramlar (grouping things) 1.4 Aklayc kavramlar (annotational things)

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

11

1.1 YAPISAL KAVRAMLAR


Modelin statik yapsn oluturan elemanlardr. Snf: Ayn zellik ve operasyonlar paylaan nesneler kmesinin tanmlamasdr. Arayz: Bir snfn / bileenin verdii hizmetleri belirten operasyonlar topluluudur. Arayzler gerekleme iermez. Lolipop sunulan arayz, fincan istenen arayz tanmlar.Arayz snflar, snfn stne arayz yazlarak temsil edilir. Lolipop notasyonunda, operasyonlar yazlmaz. birlii (collaboration): birlii iinde alan elemanlarn etkileimini tanmlar. Yapsal veya davransal olabilir. Bir nesne birden fazla etkileimde alabilir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 12

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

15

1.2 DAVRANISAL KAVRAMLAR


UML modellerinin dinamik paralardr. Bir modelin fiilleridir, zamanda ve uzayda davran gsterirler. Mesajlar: Nesneler birbirine gnderir. Durumlar (state): Nesnenin yaam sresince ald davranlar. Eylemler (actions): Bir aktivitenin admlar. Durumlar ve eylemler; iinde bulunduu durumdan birbirinden ayrlr.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

16

1.3 GRUPLAMA KAVRAMLARI


Yapsal, davransal kavramlar; gruplama kavram iinde yer alabilir. Gruplama kavramna paket ad verilir. Bileenlerden farkl olarak (alma annda varolan kavramlar) bir paket kavramsaldr, sadece gelitirme zamannda mevcuttur. ereve, model, alt sistem gibi farkl trleri mevcuttur.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

17

1.4 AIKLAYICI KAVRAMLAR


UML modellerinin aklama paralardr. Modeldeki her bir eleman daha net aklamak iin kullandnz yorumlardr. Not isminde bir tane kavram mevcuttur. Kstlar ve yorumlar, bu kavrama yazlr.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

23

Snf Diyagram
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 24

Nesne Diyagramlar

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

25

Bileen Diyagramlar

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

26

Paket Diyagramlar

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

27

Datm Diyagramlar

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

28

Kullanm Durumu Diyagramlar

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

29

Sralama Diyagramlar

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

30

letiim Diyagramlar

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

31

Durum Diyagramlar

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

32

Aktivite Diyagramlar

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

33

Zamanlama Diyagramlar

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

34

Etkileim Genel Bak


Aktivite ve sralama diyagramlarnn hibrid hali

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

35

Karma Yap Diyagram


Yaplandrlm bir kavramn i yapsn gsterir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

36

UML Geniletme
Stereotype kullanlarak farkl teknolojiler iin yeni yap talar oluturulabilir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

37

Mimariye 5 farkl Bak As


Tasarm Bak Gerekleme Bak

Snflar,arayzler
Kullanm durumlar

Bileenler

Kullanm Durumu Bak Proses Bak Datm Bak

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

Yazlm Gelitirme evrimi


UML sre bamsz olmasna ramen daha verimli kullanlabilmesi iin; kullanm durumu gdml, mimari merkezli, iteratif ve artml bir sre izlenmelidir. Inception, elaboration, construction, transition

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

40

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

41

Blm 3: MERHABA DNYA

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Snflar ve ktlar (artifact) Statik ve dinamik modeller Modeller arasndaki balantlar UMLi geniletme

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

import java.awt.Graphics; public class HelloWorldApplet extends java.applet.Applet { public void paint(Graphics g) { g.drawString("Hello, World",10,10); } }

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Merhaba Dnya in Soyutlama

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Snf Diyagram

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Merhaba Dnya Kaltm Hiyerarisi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Snf Diyagram inde Paketleme Yaps

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Paint() Mekanizmas

Sralama diyagramlar ile olaylarn srasn modelleyebilirsiniz.


UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 9

kt (Artifact) Diyagram

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

12

Blm 4: SINIFLAR

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Snflar, zellikler, operasyonlar ve sorumluluklar Sistemin szck daarcnn modellenmesi Sistemde sorumluluklarn datlmasnn modellenmesi lkel (primitif) tiplerin modellenmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

zellik ve Operasyonlar Organize Etme


Bir snf izerken, tm zellik/operasyonlar gsterilmek zorunda deildir. Bazlar bir baka zel olabilir. ... ile listenin devam olduu belirtilebilir. Uzun listeleri organize etmek iin, steryotipler kullanarak her gruba bir kategori ismi verilebilir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Sistemin Szck Daarcnn Modellenmesi


Kullanc veya gerekleyicilerin problemi veya zm tanmlamak iin kulland kavramlar belirle Her kavram iin sorumluluklar tespit et Bu sorumluluklar gerekleyecek olan snflara ilikin zellik ve operasyonlar belirle

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

MVC rnei

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

10

lkel Tiplerin Modellenmesi


zm iin kullandnz programlama dilindeki kavramlar da modelleyebilirsiniz. r: string, boolean gibi Snflar ile temsil edip, deer kmesini kstlar ile gsterebilirsiniz.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

11

Enum rnei

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

12

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

13

Blm 5: LKLER

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Bamllk,genelletirme ve ortaklk ilikileri Basit bamllklarn gsterilmesi Basit kaltmn gsterilmesi Yapsal ilikilerin gsterilmesi liki ann oluturulmas

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

LKLER
OOPde snflar birbiri ile ibirlii yaparlar. Bu kapsamda; genelletirme/bamllk/ortaklk likileri UML iindeki en nemli iliki trleridir. Bu trler, programlama dilinden bamszdr.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

BAST BAIMLILIKLARIN MODELLENMES


Yaygn kullanm; bir snfn dier bir snf bir operasyonunun iinde parametre olarak kullanmasdr.

TEKL KALITIMIN MODELLENMES


Abstract snflarn ve abstract operasyonlarn isimleri italik yazlmas tercih edilir. Security, presentValue() ; srasyla abstract snf ve abstract operasyondur

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

YAPISAL LKLERN MODELLENMES

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

11

Blm 6: YAYGIN MEKANZMALAR

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Notlar Steryotipler, etiketli (tagged) deerler, kstlar Yorumlarn modellenmesi Yeni yap talarnn modellenmesi Yeni zelliklerin (property) modellenmesi Yeni semantiklerin modellenmesi UMLin geniletilmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Notlar ve Steryotipler/Etiketli deerler/Kstlar

Bir network modellediimizi dnelim. Hub, server gibi kavramlar modellemek iin dmlere (node), yeni steryotipler eklememiz gerekir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Dier Ssler (adornments)


Ss, bir elemann temel notasyonuna eklenen metinsel veya grafiksel bilgilerdir ve elemana ilikin ayrntl bilgileri grselletirir. UMLde; her eleman iin basit notasyonla bala ve modelinde yer almasn istediin gerekli bilgileri ss olarak ekle. Snf, bileen, dmlerde eksta bilgiler; varolan blmelerin altna yeni blmeler ekleyerek ve o blmelere uygun bir isim verilerek gerekletirilir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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)

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Etiketli Deerler (tagged values)


UML iindeki hereyin kendine zel zellik kmesi vardr: snflarn; ismi,veri eleman,operasyonlar olmas gibi Etiketli deerleri kullanarak bir steryotipe yeni zellikler ekleyebilirsiniz. Etiketli deerler ile, bir snfn hangi programlama dili ile gerekleneceini ifade edebilirsiniz. Bileenlerin; yazar ve version numaralar da bu sayede tanmlanabilir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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}

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

XML iin UML Profili (EA rnei)

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

10

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

11

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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)

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

13

Yeni zellikleri (property) Modelleme


Gelitirdiiniz projenin konfigrasyon ynetim sistemi ile modellerinizi balamak istediinizi dnn. Her alt sistem iin; versiyon numaralar ve mevcut checkin/check out durumunu kaydetmek istiyorsunuz. Versiyon ve status bilgisini, modelleme aracnz ile konfigrasyon ynetim sisteminiz tmleik alyorsa, otomatik olarak modele alabilirsiniz.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

14

Yeni Semantiin Modellenmesi


Yeni kstlar eklemek istiyorsanz, OCL veya notlar kullanarak kstlar tanmlayabilirsiniz. Bu amala nce, oluturmak istediiniz semantiin UML iinde olmadndan emin olmalsnz.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

15

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

16

Blm 7: Diyagramlar

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Diyagramlar, baklar, modeller Bir sistemin farkl baklarnn modellenmesi Farkl soyutlama seviyelerinin modellenmesi Kompleks baklarn modellenmesi Diyagramlar ve dier ktlarn (artifact) organize edilmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Bak Alar ve Diyagramlar


UML iinde mimari 5 farkl adan incelenebilir. Kullanm durumu, tasarm, etkileim, gerekleme ve datm bak as. Bu bak alarnn her biri; yapsal (statik kavramlarn modellenmesi) ve davrana zg (dinamik kavramlarn modellenmesi) modellemeyi ierir. Her bak as, gelitirilen sistemin farkl bir perspektiften temsil edilmesini salar. Kendi diyagramlarnz olutururak da UML elemanlarnn gsterimini salayabilirsiniz. Modelden kod retmek (forward engineering) veya varolan yazlmdan modeller retmek (reverse engineering) iin diyagramlar kullanabilirsiniz.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 3

Bak Alar ve Diyagramlar


UML iinde mimari 5 farkl adan incelenebilir. Kullanm durumu, tasarm, etkileim, gerekleme ve datm bak as. Bu bak alarnn her biri; yapsal (statik kavramlarn modellenmesi) ve davrana zg (dinamik kavramlarn modellenmesi) modellemeyi ierir. Her bak as, gelitirilen sistemin farkl bir perspektiften temsil edilmesini salar. Kendi diyagramlarnz olutururak da UML elemanlarnn gsterimini salayabilirsiniz. Modelden kod retmek (forward engineering) veya varolan yazlmdan modeller retmek (reverse engineering) iin diyagramlar kullanabilirsiniz.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 4

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

Farkl Baklarn Modellenmesi


Tek makinede alan basit bir uygulama iin aadaki diyagramlara ihtiya duyarsnz.
Kullanm durumu bak: Kullanm durumu diyagram Tasarm bak: Snf diyagramlar Etkileim bak: Etkileim diyagramlar Gerekleme bak: Bileen diyagramlar Datm bak: ----

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

Karmak Sistem iin Diyagramlar


Kullanm durumu bak: Kullanm durumu diyagramlar, sralama diyagramlar Tasarm bak: Snf diyagramlar, etkileim diyagramlar, durum diyagramlar,aktivite diyagramlar Etkileim bak: Etkileim diyagramlar Gerekleme bak: Snf diyagramlar ve bileke yap diyagramlar Datm bak: Datm diyagramlar

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Farkl Soyutlama Seviyelerinin Modellenmesi


Bir model, okuyucusuna gre farkl diyagramla gsterilebilir. E-ticaret projesinde analist ve programcnn, bir emri modellemesi farkl olacaktr.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Karmak Baklarn Modellenmesi


Detaylar saklayarak snf diyagram olutur Hala karmaksa elemanlar paketlerde topla ve diyagramlarda bu paketleri kullan Hala karmaksa, notlar kullan Hala karmaksa, byk bir ktsn alp duvara as. Ancak online versiyonu kaybetmi olacaksn.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

10

Blm 8: Snf Diyagramlar

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Basit ibirliklerinin modellenmesi Mantksal veritaban emasnn modellenmesi leri ve tersine mhendislik

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Snf Diyagram

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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)

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Basit birliklerinin Modellenmesi


Robotun, hareket etmesi iin ibirlii iinde olan snflara ilikin snf diyagram

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Mantksal Veritaban emasnn Modellenmesi


Modellediiniz birok sistemin kalc nesneleri olacaktr, sonraki eriimler iin veritabannda yer alacaktr. UMLin snf diyagramlar, veritabanlarndaki E-R diyagramlarnn st kmesidir. Ancak E-R diyagramlar veriye odaklanmken snf diyagramlar davrann modellenmesine de izin verir. Veritabanna zel detaylar iin steryotip kullanabilirsiniz.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

* 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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

10

Blm 8: Gelimi Snflar

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Snflayclar, zellik ve operasyonlarn zel trleri ve snflarn farkl trleri Snfn semantiinin modellenmesi Doru trde snflaycnn seimi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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:

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

rnek ve Statik Kapsam


Bir zelliin kapsam (scope); snflaycnn her rneinin o zellik iin kendine zg deeri olup olmadn veya tm rnekler tarafndan paylalan tek bir deerinin olduunu belirtir. 1. rnek (instance): Snflaycnn her rnei, zellik iin kendi deerini tutar. Bu default durumdur ve zel notasyon iermez. 2.statik: Snflaycnn tm rnekleri iin tek bir deer vardr. Ayn zamanda; snf kapsam (class scope) da denilir. zelliin altnn izilmesi ile gsterilir. Statik kapsam; Java/C++daki statik zellik ve operasyonlar gibi alr.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Soyut, Yaprak ve Polimorfik Elemanlar


Soyut snflarn isimleri italik yazlr (Icon gibi) ocuu olmayacak snflar UML iinde; snf isminin altnda {leaf} yazarak gsterebilirsiniz. Icon::getID() yaprak operasyondur. Bu da; operasyonun polimorfik olmad ve overriden yaplamayaca manasna gelir. (Javadaki final etiketli operasyonlar gibi) Icon::display() soyut operasyondur. C++da soyut operasyonlar pure virtual fonksiyonlara kar gelirken yaprak operasyonlar nonvirtual operasyonlara kar gelir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

ablon Snflar (template)


ablon,parametereli bir elemandr. ablon snflar; snf aileleri tanmlar. Bir ablon snf 2 ekilde rneklenebilir. << bind>> steryotipini kullanarak (explicit) Snf tanmlayarak (implicit)

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

10

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

11

Blm 10: Gelimi likiler

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Gelimi bamllk, genelletirme, ortaklk, gerekleme, artma (refinement) ilikileri liki ann modellenmesi liki ann oluturulmas

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Gelimi likiler
UML iinde; bamllk, genelletirme, gerekleme ve ortaklk ilikileri vardr.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Genelletirmeler
Genelletirme ilikisinde, ocuun rnekleri ebeveynin rnekleri (instance) yerine kullanlabilir. Person * p = new Man();

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

12

Ortaklk (association)
Niteleme (qualification): ok eitlilii azaltr.Bir dosyann ismi bir dizinde tektir. Var ya da yok

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

14

Association snflar
Ortaklk ilikisini, ortaklk snflar halinde gstermek yarar salayabilir. Eer; ortakln baka nesnelerle balants varsa veya nemli operasyonlara sahipse

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

16

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

17

Blm 11: Arayzler, Tipler, Roller

16-17 Eyll 2006 BT Akademi, stanbul


UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 1

AMALAR
Arayzler, tipler, roller ve gerekleme Sistemde katmanlar modelleme Statik ve dinamik tipleri modelleme Arayzleri anlalr klma

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Arayzler

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Operasyonlar

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Targettracker, Observer arayzn implemente ediyor. Tracker, Observer arayzne bamllk duyuyor. class TargetTracker implements Observer class Tracker { void run(Observer o){ } }

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Statik ve Dinamik Tiplerin Modellenmesi


Business objelerini modellerken, objeler tiplerini i ak srasnda deitirir. Bu nedenle, nesnenin tipininin dinamik doasn modellemek gerekir. Person snfnn rnekleri; 3 tipten biri olabilir. Aadaki rnek statik tiplerin modellenmesini gstermektedir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

10

Blm 12: Paketler

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Paketler Grnrlk import ve export

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Sahip Olunan Elemanlar


Bir paket; snf, arayz, bileen, dm, ibirlii, kullanm durumlar, diyagramlar ve hatta dier paketleri ierebilir. Sahiplik (ownership), ierme (composition) ilikisidir ve eleman o pakette tanmlanr. Eer paket yok edilirse, eleman da yok edilir. Her eleman, sadece bir paket tarafndan sahip olunabilir. Ayn paket iinde, ayn trden elemanlarn isimleri birden fazla kez kullanlmamaldr. rn: Queue isminde 2 snf ayn pakette olamaz. P1::Queue ve P2::Queue farkl paketlerde olabilir Farkl tipteki elemanlar ayn ismi alabilir. Ayn pakette Timer bir bileen olabilirken snf ad da olabilir. Ancak uygulamada iyi sonu vermez
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 5

Sahip Olunan Elemanlar


Paketler baka paketleri de ierebilir. Sensors::Vision::Camera gibi Metin veya grafik olarak ierik gsterilebilir. Uygulamada; bu ekilde paketlerin ierii gsterilmez. Bunun yerine aralar paketin ieriine bakmaya izin verir. (ift tklayarak ierii gsterilir)

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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)

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

10

Blm 13: rnekler

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
rnekler ve nesneler Somut (concrete) rneklerin modellenmesi Prototip rneklerin modellenmesi rneklerin gerek ve kavramsal dnyas

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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).

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

zellik Deerleri ve Durum


rneklerin zelliklerine deer atamas yaplabilir. id: SSN =444-777-7778 SSN tipinden , id zelliinin deerini gsterir. Nesnenin durumu keli parentezler iinde gsterilebilir. c: Phone [WaitingForAnswer] Phone tipinden c nesnesi, WaitingForAnswer stateindedir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Blm 14: Nesne Diyagramlar

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Nesne yaplarnn modellenmesi leri ve tersine mhendislik

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Hareket Eden Robot rnei

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Blm 15: Bileenler

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Bileenler, arayzler, gerekleme yap, portlar, paralar, konnektrler Alt bileenleri birlikte balama Bir APIyi modelleme

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Bileenler
Bileen deitirilebilirdir (replaceable) Ayn arayze uyan bileenle deitirilebilir Bileenleri paketler ekilde organize etmek mmkndr.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

yap (internal structure)


Part, bileenin bir birimidir Partn ismi ve tipi vardr Partnn multiplicity deeri 1den fazla ise ayn bileen iinde birden fazla o partdan bulunabilir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Ayn Tipin Farkl Paralar


Ayn tipten birden fazla para bir bileende yer alabilir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

Yapsal Snflarn Modellenmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

13

APIlerin Modellenmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

14

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

15

Blm 16: Etkileimler- Interactions

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Roller, balantlar, mesajlar, eylemler (action) ve sralamalar (sequence) Kontrol aklarnn modellenmesi yi yaplandrlm algoritmalarn oluturulmas

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Balantlar (link) ve Konnektrler


Balant; nesneler arasndaki anlamsal bir balantdr. Bir snflar baka bir snf arasnda association ilikisi varsa, snflarn rnekleri arasnda da bir balant (link) olmas muhtemeldir. 2 nesne arasnda balant varsa, bir nesne dierine mesaj gnderebilir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 4

Rol, Konnektr, Mesaj


ou modelde; prototip nesne ve balantlarla alrz. Prototip nesneye rol denilir, prototip balantya da konnektr ad verilir. Mesaj, nesneler arasndaki iletiimin bir spesifikasyonudur. Hedef nesneye mesaj geilince, nesnenin durumunda deiiklik olabilir veya bir eylemde bulunabilir. UML iinde; call (operasyon arma), return (arana deer dndrme), send (sinyal gnderme), create, destroy trnde mesajlar modellenebilir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 5

Mesaj

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Sralama ve letiim Diyagramlar

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

10

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

11

Blm 17: Kullanm Durumlar (Use Cases)

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Kullanm durumlar, aktrler, include ve extend ilikisi Bir elemann davrannn modellenmesi Kullanm durumlarn ibirlikleri (collaborations) ile geekleme

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

Kullanm Durumu simleri


Basit veya nitelikli (qualified) isimler kullanlabilir. Nitelikli isimde; : sembolnden nce kullanm senaryosunun iinde yer ald paket yazlr. simler; ksa ve fiil olarak verilir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Kullanm Durumlarnn Organize Edilmesi


Snflar paketler dahilinde organize ettiimiz gibi, kullanm durumlarn da paketler eklinde organize edebiliriz. erme (include), geniletme (extend), genelletirme (generalization) ilikileri kullanlabilir. Genelletirme ilikisi snflardaki gibidir. Validate User kullanm durumundan; farkl tipte check password ve retinal scan gibi kullanm durumlar oluturulabilir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

11

Tm likiler Birlikte

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

12

Bir Elemann Davrannn Modellenmesi


Perakende rneine bakalm. Bu sistemin kullanm durumlar neler olabilir?

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

13

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

14

Blm 18: Kullanm Durumu Diyagramlar

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Sistemin isterlerinin modellenmesi leri ve tersine mhendislik

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Kullanm Durumu Diyagramlar


Kullanm durumlar kmesini, aktrleri ve ilikileri gsterir. Sistemin dinamik yapsn gsteren diyagramlardandr. Dierleri; aktivite, durum, sralam ve iletiim diyagramlardr. Sistemin davrann modellemenin merkezidir Sistemin kullanm durumu bakn (use case view) modellemede kullanlr

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Kullanm Durumu Diyagramlar


Kullanm durumu diyagramlar; konu (subject), kullanm durumlar, aktrler, ilikiler, notlar ve kstlar ierebilir. Bir konunun kullanm durumu bakn modellerken Konunun kapsamn veya isterlerini belirlemek amacyla bu diyagramlar kullanabilirsiniz.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Kullanm Durumu Diyagramlar


Kullanm durumu diyagramlar; konu (subject), kullanm durumlar, aktrler, ilikiler, notlar ve kstlar ierebilir. Bir konunun kullanm durumu bakn modellerken Konunun kapsamn veya isterlerini belirlemek amacyla bu diyagramlar kullanabilirsiniz.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Sistem Kapsamnn Modellenmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Sistem sterlerinin Modellenmesi


Sistemin fonksiyonel isterleri, kullanm durumlar ile ifade edilebilir ve kullanm durumu diyagramlar ile bu durumlar ynetilebilir. Kullanm durumlarnn yaps tamamlannca; her kullanm durumunun davrann tanmlamalsnz (sralama diyagramlar kullanlabilir) Hata veya exception durumlarn da izmelisiniz
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 7

leri ve Tersine Mhendislik


Kullanm durumlar, bir elemann nasl davrandn tanmlar davrannn nasl gereklendiini gstermez. Bu nedenle; kullanm durumu diyagramlar ileri veya tersine mhendislikte dorudan kullanlamaz. Ancak test case olutururken kullanm durumlar kullanlabilir. Tersine mhendislik iin, dokmante edilmemi yazlmn aktrlerini ve kullanm durumlarn otomatik belirlemek bilgi kayb olduu iin mmkn deildir. Ancak elle baz karmlar yaplabilir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Blm 19: Etkileim Diyagramlar

16-17 Eyll 2006 BT Akademi, stanbul


UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 1

AMALAR
Zaman sras asndan akn modellenmesi Organizasyon asndan akn modellenmesi leri ve tersine mhendislik

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Etkileim Diyagramlar
Sralama ve iletiim diyagramlar; etkileim diyagramlar olarak bilinmektedir. Sralama diyagramnda zaman; iletiim diyagramlarnda ise nesne organizasyon yaps vurgulanmaktadr.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Sralama Diyagram

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Sralama Diyagramlarnda Yaplandrlm Kontrol


Lineer sra iin mevcut yap yeterlidir ancak dngler, artl durumlar gstermemiz de gerekebilir. Ezamanl (concurrent) yrtme de oklu sralamalar eklinde gsterilmesi gerekebilir. Bu durumda; sralama diyagramlarnda yaplandrlm kontrol operatrlerine ihtiya duyulur. Sralama diyagramnda dikdrtgensel bir blge ile ifade edilir ve sol stte bir isme sahiptir. Bu isim, operatrn tipini belirtir. Optional execution (opt), conditional execution (alt), paralel execution (par), loop execution (loop) kullanlabilir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

13

Zaman Sras Asndan Akn Modellenmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

14

Organizasyon Asndan Akn Modellenmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

15

leri ve Tersine Mhendislik


Etkileim diyagramlarndan kod retilebilir eer diyagram bir operasyonu gsteriyorsa. rnein; az nceki rnekte yer alan register operasyonu iin bir ara u kodu retebilir.

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

17

Blm 20: Aktivite Diyagramlar

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
aknn modellenmesi Bir operasyonun modellenmesi leri ve tersine mhendislik

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Aklar, balang ve biti


Aklar oklar ile gsterilir Balang ii dolu daire ile ifade edilir Biti, i ie 2 daire ile gsterilir

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

atallanma (forking) ve Birleme (join)


Paralel aklar gstermek iin, senkronizasyon bar kullanlr Bu izgi; yatay veya dey olarak izilebilir Paralel gsterilen eylemlerin, paralel gerekletirilme zorunluluu yoktur sadece iler arasnda ardllk olmadn ifade etmektedir atal, bir girii birden fazla k vardr Birlemenin, birden fazla girii 1 k vardr Paralel yryen aktiviteler birbirine sinyal gndererek haberleebilir

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

10

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

11

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

12

Nesne Ak
Nesneleri, aktivite diyagramlarnda gstermek mmkndr Nesnelerin iinde bulunduu durumlar da (state) bu diyagramlarda gsterilebilir [state1]

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

13

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

Operasyonun Modellenmesi leri ve Tersine Mhendislik

leri ve tersine mhendislik mmkndr!

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

17

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

18

Blm 21: Olaylar ve Sinyaller

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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)

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Sinyaller
Bir operasyon sinyal gnderebilir moveTo operasyonunda olduu gibi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

ar Olaylar (call events)


Sinyal; asenkron bir olayken; ar olay senkrondur

Zaman ve deiim olaylar (time and change events)


After veya at anahtar szckleri ile zaman olaylar gsterilebilir Deiim olaylar; when ile ifade edilir

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Sinyaller ve Aktif Snflar


Snflar zel bir blmde sinyalleri gsterebilir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Sinyal Ailesinin Modellenmesi


Olay gdml (event-driven) sistemlerde, sinyal olaylar hiyerariktir. Otonom robotun, sinyale ailesi gsterilmektedir Collision sinyalinin 1 parametresi vardr

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Hata Durumlarnn Modellenmesi


Bir snfn, operasyonlar tarafndan retilebilecek anormal durumlarn da gstermek gerekir Anormal olaylar sinyaller eklinde modellenebilir ve zel bir operasyona eklenebilir Set snf tarafndan retilebilecek anormal durumlar

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

10

Blm 22: Durum Makineleri

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Durumlar, geiler, aktiviteler Nesnenin yaam sresinin belirlenmesi yi yaplandrlm algoritmalar oluturma

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Durum Makinesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Durum Makinesi
Durum makinesinin balang ve biti durumu vardr.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Gelimi Durumlar ve Geiler


Kompleks davranlar modellemek iin ek zellliklere ihtiya duyulur. Giri ve k etkileri: Duruma girite ve kta baz eylemler tanmlayabilirsiniz. geiler: Durumdan kmadan ynetilecek olaylar. Do aktivitesi: O durumda yaplacak eylemleri gsterir. Ertelenmi (deferred) olaylar: Baka bir durum aktif olana kadar ertelenen olaylar. rnein; tracking durumundayken selfTest sinyali gelmise ertelenir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

12

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

14

Gemi Durumlar (History States)


Kompozit durumun alt durumlarndan birinden aniden klp baka bir duruma geilmesi gerekebilir ve geri dndnde alt durumun hatrlanmas gerekebilir. Copying alt durumu srasnda kullanc query yaparsa, Command durumuna geilir ve bu durumdan klnca tekrar Copying alt durumu hatrlanlarak geilir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

15

atal ve Birleim (fork and join)


Alt durumlarn giriinden deil de aralarndan ak balatmak istenebilir. Bu durumda; ak (explicit) atal kullanlr ve kta birleim gerekletirilir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

17

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

18

Blm 23: Prosesler ve Threadler

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Aktif nesneler, prosesler, threadler oklu akn modellenmesi Prosesler aras iletiimin modellenmesi Thread-safe soyutlamalarn oluturulmas

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

oklu Akn Modellenmesi


Etkileim diyagramlar ile aktif nesneler modellenebilir

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Prosesler Aras letiimin Modellenmesi


IPC iin 2 yntem vardr: mesaj geirme ve uzaktan prosedr arma (remote procedure call) Mesaj geirme; asenkron iletiim ile modellenirken; uzaktan metot arma senkron iletiimle modellenir. birlii veya notlar ile iletiim iin altta kullanlan mekanizma ifade edilmelidir. 4 nodeda alan proseslerden oluan datk rezervasyon sistemi rneine bakalm. Location ile; proseslerin fiziksel yeri ifade edilmitir. ReservationAgent, TicketingManager, HotelAgent arasndaki iletiim asenkrondur ve iletiim Java Beans mesajlama servisi ile gerekletirilir TripPlanner ve ReservationAgent arasndaki iletiim senkrondur ve CORBA ORB ile gerekleir.
UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 8

IPC Modellenmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

10

Blm 24: Zaman ve Uzay

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Zaman, sre, yer Zamanlama kstlarnn modellenmesi Nesnelerin dalmnn modellenmesi G eden (migrate) nesnelerin modellenmesi Gerek zaman ve datk sistemlerle alma

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Zaman Kstlarnn Modellenmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Zaman Kstlarnn Modellenmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Nesne Dalmnn Modellenmesi


Nesne diyagramlar ile datk sistem nesneleri modellenebilir. 2 nesne serverda, 2 nesne workstationda, 1 nesne de dataWarehouseda yer alyor.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Blm 25: Durum Diyagramlar

16-17 Eyll 2006 BT Akademi, stanbul


UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 1

AMALAR
Reaktif nesnelerin modellenmesi leri ve tersine mhendislik

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Reaktif Nesnelerin Modellenmesi


XML mesajlarn parse eden bir parser rneinde Message: < string > string ;

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

leri Mhendislik (forward engineering)


leri mhendislik gerekletirilebilir. Tersine mhendislikte gerekletirilebilir ancak uygulamada yararl deildir. Tasarmcnn gzyle durumlarn tanmlanmas daha anlamldr. Bunun yerine diagramn animasyonunun gerekletirilmesi daha yararldr.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Blm 26: ktlar (Artifacts)

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
ktlar, snflar ve ortaya koyma (manifestation) Yrtlebilir dosyalar ve ktphaneleri modelleme Tablo, dosya ve dokmanlar modelleme Kaynak kodu modelleme

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Yrtlebilir Dosyalar ve Ktphaneler

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Tablolar, Dosyalar ve Dokmanlar

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Kaynak Kodun Modellenmesi


Render.dll iin modelleme

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Blm 27: Datm (Deployment)

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Dmler ve balantlar lemciler ve cihazlarn (device) modellenmesi ktlarn dalmnn modellenmesi Sistem mhendislii

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Dmler ve ktlar
ktlar; sistemin almasnda rol oynayan kavramlardr; dmler ise ktlarn fiziksel datmn gsterir. ktlar; dmler tarafndan yrtlr. Dmlere; zellik ve operasyon tanmlanabilir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Balantlar
Dmler arasnda en fazla kullanlan iliki association ilikisidir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

lemci ve Cihazlarn Modellenmesi


lemci; ilem yetenei olan bir dmdr Cihaz; ilem yetenei yoktur, gerek dnyaya arayz gstermek iin kullanlr. Console ve kiosk; ilemci tipinde ilen RAID farm cihaz tipindedir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

ktlarn Dalmnn Modellenmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Blm 28: birlii (Collaborations)

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
birlii, gerekleme ve etkileim Kullanm durumu gereklemesinin modellenmesi Operasyon gereklemesinin modellenmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

birliinin Yapsal Grnts

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Davran
birliinin davran yaps, etkileim diyagramlar ile gsterilir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

birliklerinin Organize Edilmesi


Sistemin mimarisinin kalbi, ibirliklerinde atmaktadr nk mekanizmalar nemli tasarm kararlarn gsterir birlii bir kullanm durumunu veya operasyonu gerekleyebilir ve dier ibirliklerini tasfiye edebilir / inceltebilir (refinement)

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Kullanm Durumunun Gereklenmesi


Her kullanm durumu; bir veya daha fazla ibirlii tarafndan gereklenmelidir. Place Order kullanm durumu; Order Management ibirlii tarafndan gereklenmektedir. Genelde aralar bu navigasyonu salar ve aka bu iliki gsterilmesine gerek yoktur.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

10

Blm 29: Paternler ve ereveler (Patterns and Frameworks)

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Paternler ve ereveler (patterns and frameworks) Tasarm paternlerinin modellenmesi Mimari paternlerin modellenmesi Paternlerin eriilebilir klnmas

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Tasarm Paternlerinin Modellenmesi


Command paterni: Bir istei nesne eklinde sarmalar ve istemcileri farkl isteklerle parametreletirmeye izin verir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Patern Tanmnn Yapsal Grnts ve Bind Edilmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

10

Tasarm Paterninin Davran Grnts

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

11

Mimari Paternlerin Modellenmesi


ereveler; paketler eklinde gsterilir. Mekanizmalar ve kullanm durumlar ierirler. r:Reasoning engine ve Blackboard; mekanizmadr Apply new knowledge resources, kullanm durumudur Kullanm durumlar; bu erevenin istemcilerine bilgi verir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

12

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

13

Blm 30: kt Diyagramlar (Artifact)

16-17 Eyll 2006 BT Akademi, stanbul


UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006 1

AMALAR
Kaynak kodun modellenmesi Yrtlebilir dosyalarn modellenmesi Fiziksel veritabanlarnn modellenmesi Adapte olabilen sistemlerin modellenmesi leri ve tersine mhendislik

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Kaynak Kodun Modellenmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Yrtlebilir Srmn Modellenmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Fiziksel Veritabannn Modellenmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Adapte Olabilen Sistemlerin Modellenmesi


Buraya kadar aklanan yaplarda; hep statik yap gsterildi. Ancak ktlar bir dmden dierine g edebilir. r: bir sunucu knce birincil veritabanna geen bir hareketli agent gibi. Veritabannn kopyalanmas rnekte verilmektedir:

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

leri ve Tersine Mhendislik


Mmkndr. rnekte; vbrun.dllin tersine mhendislik sonucu oluan resmi verilmitir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

10

Blm 31: Datm Diyagramlar (Deployment)

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Gml sistemin modellenmesi stemci/sunucunun modellenmesi Tamamen datk bir sistemin modellenmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

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.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Gml Sistemlerin Modellenmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

stemci/Sunucu Sistemi Modelleme

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Datk Sistemin Modellenmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Blm 32: Sistemler ve Modeller

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Sistemler, alt sistemler, modeller ve baklar Sistem mimarisinin modellenmesi Gelitirme ktlarnn organize edilmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Sistemler ve Alt Sistemler

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

z (trace)
Farkl modeller arasndaki ilikileri gstermede kullanlr. sterlerden gereksinimlere ve bir versiyondan baka bir versiyona izler kullanlabilir. Genelde; hyperlinkler ile bu ilem gerekletirilir.

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Sistem Mimarisinin Modellenmesi

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

UML2.0 Dier Diyagramlar

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

AMALAR
Zamanlama diyagramlar (timing diagrams) Etkileim bak diyagram (interaction overview) Kompozit yap diyagram (composite structure)

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Zamanlama Diyagram
Etkileim diyagramdr. Mesajlarn bal sralarn gstermek yerine gerek zamanlar gsterir Gerek zamanl uygulamalarda yararldr

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Etkileim Bak Diyagram


Aktivite ve sralama diyagramlarnn hibrid halidir Sralama diyagram notasyonuna, aktivite diyagramlarndaki fork ve join ilemleri eklenmitir Birden ok aktivite arasndaki ilikiyi tanmlar

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Kompozit Yap Diyagram


birliinin i yapsn gsterir

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Kompozit Yap Diyagram

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

BLM SONU

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

EK: UML Notasyonu

16-17 Eyll 2006 BT Akademi, stanbul

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Yapsal Kavramlar

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Davrana zg Kavramlar

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

likiler

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Geniletilebilirlik

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

Gruplama / Aklama

UML2.0 Eitimi, BT Akademi, 16-17 Eyll 2006

You might also like