Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

erik

BL211 Ders 3: UML ile Nesnesel Modelleme (Ch.2 Jia)


Erdoan Dodu
TOBB Ekonomi ve Teknoloji niversitesi Bilgisayar Mhendislii Blm Ankara

Esaslar ve Kavramlar Yaplarn ve ilikilerin modellenmesi Dinamik hareketlerin (behavior) modellenmesi Gereksinimlerin kullanm ekilleri (use cases) ile modellenmesi rnek bir alma: E-Kitap

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

UML tarihesi
UML: Unified Modelling Language
Many modelling methodologies by 1990s Booch method, Rumbaughs OMT, Jacobsons OOSE unified in Rational Object Management Group (OMG) www.omg.org UML 1.0 (1997) UML 2.0 (2004)

UML nedir?
Yazlm tasarm iin kullanlan bir modelleme dili Tasarlanan sistemin 3 nemli ynn modeller
Fonksiyonel (ilevsel) model
Kullancnn bak ile sistem (kullanm ekilleri)
UML Use Case Diagrams

Nesne modeli
Sistemin yaps: nesneler, zellikleri, ilemler, yapsal ilikiler
UML Class Diagrams

Dinamik model
Sistemin i ileyii
UML Sequence, Avtivity, State-Chart Diagrams

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

Nesneler ve Snflar
Nesne (object)
Gerek dnyada, ayr ayr tanmlanabilen herey bir nesnedir. Modelde, her nesnenin bir kimlii, durumu, ve davran vardr.

Nesneler ve Snflar
Gerek Dnyada Yorumlanmas Nesne (Object) Ayr ayr tanmlanabilen herey bir nesnedir Modelde Gsterimi

Snf (class)
Gerek dnyada, benzer karakteristik ve davranlara sahip nesneler bir snf (class) ile temsil edilir. Modelde, bir snf, nesneler tarafndan paylalan durum ve davranlar temsil eder.
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 5

Snf (Class)

Her nesnenin bir kimlii (identity), durumu (state), ve davran (behavior) vardr Benzer karakteristik Bir snf, nesneler ve davranlara sahip tarafndan nesneler bir snf paylalan durum ve (class) ile temsil davranlar temsil edilir eder
TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 6

7 Ekim 2005

Nesne (object)
Kimlik (identity)
Nesneyi birtek (unique) olarak tanmlar ve onu dier nesnelerden ayrr

Nesne (object): rnek


renci123456:
Durum:
ad: Serdar Dodu renciNo: st123456 yl: 2005

Durum (state)
zellikler (fields veya attributes) ile belirtilir zellik =
ad (name) + tr (type) + deer (value)

Davran (behavior)
Metotlar (methods veya operations): nesnenin durum bilgilerine eriebilen ve deitirebilen ilemler. Metot, metot ad, ald parametre trleri, ve dndrd tr ile tanmlanr. Herhangi bir deer dndrmeyen metotlar void ile belirtilir.
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 7 7 Ekim 2005

Metotlar:
dersEkle() dersSil() danmanAta()

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

Nesne (object)
ki nesne:
eit (equal): durumlar ayn; zellik deerleri ayn. ayn (identical): ayn nesne

Snf (class)
Nesneler (objects veya instances) snf (class) tanm kullanarak oluturulurlar (instantiation). Snf (class) aadakileri tanmlar:
Alanlar (fields): Nesne zelliklerini tanmlayan deikenler, adlar ve trleri ile. Metotlar (methods): Metot adlar, dndrd tr, parametreleri, ve metotu gerekletiren program kodu

Metotlar:
eriim metotlar (accessors): zellik deerlerini deitirmeyen metotlar deiim metotlar (mutators): zellik deerlerini deitiren metotlar
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 9 7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

10

Snf (class): rnek


renci
Alanlar (fields)
String ad String renciNo int yl

UMLde snf (class) gsterimi


Snfsmi alan1 alan2 . . alann metot1 metot2 . . metotm
11 7 Ekim 2005

Snf Ad Alanlarn tanmlar

renci String ad String renciNo int yl


boolean dersEkle(String dersKodu, String dnem)

Metotlar (methods)
boolean dersEkle(String dersKodu, String dnem) boolean dersSil(String dersKodu, String dnem) boolean danmanAta(Danman yeniDanman)
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

Metotlarn tanmlar

boolean dersSil(String dersKodu, String dnem) boolean danmanAta(Danman yeniDanman)

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

12

UML snf tanmlar


Alanlar
[Eriim][Tr] Ad [[Say]] [=lkDeer] rnek: private String ad = Serdar Standart UML gsterimi
[Eriim] Ad [[Say]] [:Tr] [=lkDeer] rnek: private yl:int = 2005

Eriim (visibility)
Public: dier snflar eriebilir Protected: ayn paketteki (package) dier snflar ve btn alt snflar (subclasses) tarafnda eriilebilir Package: ayn paketteki (package) dier snflar tarafnda eriilebilir Private: yalnzca iinde bulunduu snf tarafndan eriilebilir (dier snflar eriemezler)
13 7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 14

Metotlar
[Eriim][Tr] Ad ([Parametre, ...]) rnek: public boolean dersAl (String dersKodu) Standart UML gsterimi
[Eriim] Ad ([Parametre, ...]) [:Tr] rnek: public danmanAta(Danman d):boolean
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

Eriim (visibility)
Eriim (visibility) public protected package private
7 Ekim 2005

UML alan rnekleri


UML + # ~

Java public protected

Date doumGn doumGn:Date

(Java) (UML)

public int sre = 100 (Java) +sre:int = 100 (UML) private renci renciler[0..MAX_R] (Java) -renciler[0..MAX_R]:renci(UML)
15 7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 16

private

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

UML metot rnekleri


boolean dersEkle(String dersKodu, String dnem) (Java) ~dersEkle(String dersKodu, String dnem):boolean (UML) public int getSize() +getSize():int (Java) (UML)

UML snf rnekleri


UML (Java syntax): Point private int x private int y public void move(int dx, int dy) - x:int - y:int +move(dx:int, dy:int) UML (ksaltlm): Point
veya

UML (standart): Point

Point x y move()
18

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

17

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

UML nesne (object) gsterimi


nesneAd : SnfAd alan1= deer1 alan2= deer2 . . alann= deern Nesne ve Snf Ad; alt izili Alanlar ve aldklar deerler

UML nesne gsterimi


UML
p1:Point x=0 y=0 p2:Point x = 24 y = 40

Java

Point p1 = new Point(); p1.x = 0; p1.y = 0; Point p1 = new Point(); p1.x = 24; p1.y = 40;

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

19

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

20

Mesaj Geme (message passing)


Nesneler birbirleriyle mesaj geerek iletiim kurarlar
Mesaj geme (message passing) veya Metot arma (method invocation)

UML Paket (package) gsterimi


Birbirleriyle ilikili snflar bir paket (package) iine yerletirilirler. Paket isimler kk harflerle yazlr. Yaygn olarak kullanlacak paket isimleri internet domain ismini tersten yazarak kullanrlar.
tr.edu.etu.bil
Paket ad paket1 paket2 Paket ad

Mesaj bir nesneye gnderilir (alc recipient) ve alc nesne arlan metodu altrr rnek: p1.move(10, 20) (p1 nesnesi: xde 10, yde 20 pixel kay)
Alc: p1, metot: move(), parametreler: (10,20)
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 21

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

22

UML Paket: rnekler


java.awt datatransfer event Point
snf

Nesnesel Yazlm Gelitirme Prensipleri


Modlerlik (modularity) Soyutlama (abstraction) Kapama (encapsulation) Polymorphism

java.lang

image

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

23

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

24

Modlerlik (modularity)
Karmak sistemler, paralara blnerek gelitirilmeli ve denetlenmelidir Parala-fethet (divide-and-conquer) teknii Sistem modllere paralanmaldr (decomposition)
Tek bir yolu yok; bu bir sanat Kriter:
Cohesion: Modl iindeki nesneler birbirleriyle fonksiyonel olarak ilikili olmaldr Coupling: Modller aras iletiim basit olmaldr
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 25

Soyutlama (abstraction)
Esas olann, esas olmayandan ayrlmas Bir modln davranlar, veya ilevleri, bir kontrat arayz (contractual interface) ile belirlenmelidir. Bu arayz modln soyutlanm halidir; modln ne yaptn belirtir. Modl: servis salayc (service provider) Kontrat arayz: servis kontrat
Hangi servisler saland belirtilir (what) Servislerin nasl saland belirtilmez (not how)
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 26

Soyutlama: rnek
Telefon
Olduka karmak bir sistem: sesin elektronik sinyallere ve tekrar sese evrimi, sinyallerin analog ve dijital olarak aktarm, sinyallerin enkript/dekript edilmesi, balant kurulmas vs.

Kapama (encapsulation)
Mteri (servis kullanc) servisi kullanmak iin servis kontrat dnda hibirey bilmek zorunda deildir Bir modl gerekletirilirken, detaylar kullanclardan gizlenmelidir; yalnzca kontrat arayz aracl iletiim kurulmaldr Bilgi gizleme (information hiding) Arayz sabit kald srece, program kodu dier kullanclar etkilemeden deitirilebilir..
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 28

Telefon kullanc asndan


El kitab kullanlarak
(1) Arama, (2) konuma, ve (3) kapama Telefon servisinin kullanc asndan soyutlanm hali Bu servislerin telefon servisi tarafndan nasl yapld (detaylar) servis kullancy ilgilendirmemektedir
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 27

Kapama: rnek
Telefon servisi eskiden yalnzca analogdu imdi dijital telefon servisi de salanyor, ayrca encription (kodlama) ile gvenlik de salanabiliyor Fakat servis arayz (interface) deimedi Kullanclar servisi eskisi gibi kullanyorlar, fakat ses ve servis kalitesi artt Javada servis arayz, gerekletirimden tamamen ayrlabilir
interface ve interfacei gerekletiren snf (class)
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 29

Polymorphism
Birden fazla servis salayc ayn servis kontratn kabul edebilir (honor) Servis salayc, kullancy etklilemeden, yer deitirilebilir (baka bir servis salaycya geilebilir)

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

30

Polymorphism: rnek
Baz cep telefonlar hem analog hem dijital telefon kullanma kapasitesine sahipler Kullanlan alan hangisi ise, telefon otomatik olarak dijital veya analog servise gemektedir. Kullanclar hangi servisin kullanldn bilmemekteler; servis arayz her iki durumda da ayn (GSM, TDMA, CDMA servislerini, yada deiik frekanslar kullanma kapasitesine sahip telefonlar da bunun bir rneidir)
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 31

kikilerin ve Yaplarn Modellenmesi


UML Class Diagram
Inheritance (kalt) Association (ilikili) Aggregation ve Composition (agregasyon ve kompozisyon) Dependency (bamllk)
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 32

Inheritance (kalt)
Snf ve arayzler arasndaki iliki 3 tr
Extension: stsnf (superclass) ve altsnf (subclass) arasnda Arayzler aras extension Implementation: bir snf bir arayz gerekletiriyor

Inheritance (kalt)
UML notasyonu
Superclass Superinterface Interface

Subclass Extension of classes

Subinterface Extension of interfaces

Implementation Implementation of interfaces

UMLce:
Specialization (extension) Realization (implementation)
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 33

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

34

Inheritance: rnek
renci

Inheritance
Multiple Inheritance (oklu kalt): Bir snf birden fazla stsnftan kalt alabilir (inherit from multiple superclasses) Single Inheritance (tekli kalt): ou nesnesel programlama dili tekli kalta izin verir. Java gibi. Javada kstl olarak oklu kalta izin vardr; ancak bu arayzlerden (interface) olabilir.

Dardanrenci

Lisans

YksekLisans

Inheritance = is-a Kalt = dir

Master

Doktora

Her Lisans rencisi bir rencidir. Her Master rencisi bir YksekLisans rencisidir
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 35 7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 36

Soyutlama Dzeyleri (levels of abstraction)


Kalt ilikileri snflar bir hiyerari ierisine koyar. Hiyerari iinde yukar kldka, snflar genelleir, aaya inildike zelleir. Spersnflar daha genel soyutlamalardr. Altsnflar daha zel soyutlamalardr.

Association (ilikili)
Snflar aras ikili (binary) ilikiler
Snf1
ad rol rol

Snf2

renci
danan *

kaytl

Ders
1 1 dersveren

liki yn 1,*: Say/okluk

danlan

Danman

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

37

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

38

likinin okluu (says)


a .. : alt deerden st deere kadar. i : tek bir deer * : 0 .. n rnekler: 0 .. * 0 veya daha fazla 1 .. * 1 veya daha fazla 2 .. 5 2den 5e kadar 2, 5, 7 2, 5, veya 7 1, 3, 5 .. * 1, 3, 5, veya daha fazla
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 39

Aggregation ve Composition (agregasyon ve kompozisyon)


Associationnn zel bir hali Para-Btn (part-whole)ilikisini temsil eder Para veya btnn hayat sresi konusunda bir yaptrm yoktur Aggregasyonun daha gl bir hali komposizyon (composition) dur. Kompozisyonda, paralar btn olmadan olmazlar (ortadan kalkarlar) Associationdaki multiplicity, isimlendirmeler, navigasyon (ilikilerin yn) (agregasyon ve kompozisyonda) aynen uygulanr.
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 40

Aggregation ve Composition
Aggregation Aggregate
rol ad rol ad rol

Aggregation/Composition : rnek
1 1 * 1 1 yesi 1 1 *

Composition Aggregate
rol bakan

niversite

Faklte

Blm
1

renci

Component

Component

retimyeleri Faklte olmadan blmler olamaz (kompozisyon) niversite olmazsa faklteler de olamaz (kompozisyon) Blm olmadan retim yeleri ve renciler(?) olabilir (agregasyon)

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

41

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

42

Bamllk (dependency)
Bir snfn dier bir snfa bal olmas rnein: bir snfn dier bir snf kullanmas (use) (snfn dier snfn metotlarn armas gibi, yada o snftan bir nesneyi dndrmesi gibi..
Snf1 Snf2

Bamllk (dependency): rnek


rencileri
void dersEkle(DersProgram p, Ders d) void dersSil(DersProgram p, Ders d) Ders dersBul(String ad) void kaydet(Ders d, renci ) void sil(Ders d, renci )

DersProgram Ders renci

Snf1, Snf2ye baml (dependent)

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

43

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

44

Dinamik davranlarn modellenmesi


Class diagrams : statik yap Dinamik davranlar?
Nesneler aras aktiviteler, bir nesne zerinde olaylarn ve hareketlerin sralanmas

Sequence Diagrams
Nesneler aras metot arma ilemlerinin zaman izgisinde sral gsterimi Zaman izgisi y-ekseni zerinde yukardan aa gsterilir lgili nesneler x-ekseni zerinde en stte soldan saa sralanr
nesne:Snf
nesne <<olutur>> metot(param) Method alyor Hayat izgisi Nesne oluturma (new) Metot ar Metot geri dner
46

Sequence diyagramlar State (durum) diyagramlar


-ie durum (nested state) diyagramlar

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

45

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

Sequence Diagrams : rnek


client:
<<create>> submit(myDoc)

State Diagram (durum diyagram)


Finite State Machine (sonlu durum makinesi) nin genelletirilmii Durumlar (states) ve bunlar arasndaki geilerin (transitions) gsterilmesi Gei (transition): nesnenin bir durumdan dierine gemesi. Bu bir olayla tetiklenebilir (triggered) ve hibir sebep olmadan olabilir (triggerless).
[Olay-listesi][[Kontrol]][/Aksiyon]

:PrintQueue pj:PrintJob
add(this) assignJobNo()

print()

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

47

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

48

State Diagram (durum diyagram)

State Diagram: Telefon rnei


Ak bekliyor son Aktif Kapal Balant dt aryor alyor
Tularbaslyor Tular-ald
Tularkapand

Bir durum

Durum

Kaynak Durum

olaylar[koul]/aksiyon

ald

Gelenarama

lk durum Son durum

Bir gei Hedef Durum

kapand balanyor

konu

Tularald konuuyor

Balant-saland

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

49

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

50

Gereksinimlerin modellenmesi
Sistem gereksinimleri UML Use Case (kullanm ekilleri) diyagramlar ile belirtilir Yazlm gelitirme iin gerekli deildir, fakat gereksinimler ve nesnesel modeller arasnda en nemli balantdr Use Case: Kullanm ekli
Bir sistem fonksiyonunun dardan gzlemlenen davran Sistemle, sistem d aktrler (kullanc veya dier sistemler gibi) arasnda etkileimler.. Sistem ne yapyorla ilgili, nasl yapyorla ilgili deil..
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 51

Gereksinimlerin modellenmesi
Use Cases (Kullanm ekilleri)
Bir ad var Birka senaryordan oluabilir
Bunlardan birisi ana senaryo, dierleri alternatif senaryolar olabilir

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

52

Use Cases (grafik gsterim)


Kullanc

Aktrler aras iliki


Kullanc

Aktr

ekil1

Kullanm ekli (Use case)


renci retimyesi Ynetici

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

53

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

54

Kullanm ekilleri: rnek


Notlar kontrol et renci
<<include>>

rnek alma: eKitap


Kavramsallatrma (conceptualization) Kullanm ekilleri (use cases) Nesnesel model (class diagrams)

<<include>>

Snf listesi al
<<include>>

Kullancy dorula

Kullanc

retimyesi

<<extend>>

<<include>>

Notlar gir Ynetici Notlar dorula

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

55

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

56

eKitap: Kavramsallatrma
Sitemin temel gereksinimleri:
Mterilerin kitaplar, mzik CDlerini, ve bilgisayar yazlmlarn nternet zerinden taramalarn ve satn almalarn salamak

eKitap: Kullanm ekilleri (Use Case Diagram)


Kayt Giri
<<include>>

Kullanc
<<include>>

Sistemin temel fonksiyonlar:


Mterilere satn almalarnda yardmc olacak bilgileri vermek, Mterilerin kaytlarn, siparilerini, ve adres bilgilerini almak, Sistem ynetimi: kayt girme, silme, ve deitirme; mteri bilgilerinin gncellenmesi
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 57

Mteri Alveri
<<include>>

Katalog ynetimi

Katalog yneticisi

Sistem yneticisi
7 Ekim 2005

Kayt ynetimi

Sipari ileme

Depo yneticisi
58

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

eKitap: Use Case


nkoul (precondition): Mteri kaytl Ana senaryo: Aktr: Mteri Giri eylemi Sistem eylemi ve cevab Giri istei Hogeldin mesaj, kullanc ad ve ifresi istei Kullanc ad ve ifre girilir Kullanc dorulanr ve girie izin verilir Tekrarla: Arama ve listeleme Satlan eylerin listelenmesi Almak zere seme Seilen eyin sepete eklenmesi Alveri tamamland Sepettekileri, deme/gnderme adresleri gster Siparii dorula, deme metodunu dorula ve deme yap deme tamamlanr Sipari ilenir, e-fi verilir; depoya sipari emri k Alternatif senaryo: Mteri alverii tamamlamadan, alveri sepetini saklar, kar Aykr senaryo (exceptional): Mteri girii baarsz olur; giri yinelenir Aykr senaryo (exceptional): deme ilemi baarsz olur; mterinin baka bir deme yntemi girmesi..
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 59

eKitap: Nesne modelleri


Snflarn belirlenmesi Use caselerde geen snflarn belirlenmesi Ne snftr, hangi zellikler snfta olmaldr?
Snflar, nesneleri ifade etmelidir, eylemleri deil
Fiziki nesneler (ara, gere, rn, vs.) Kiiler (renci, retim yesi, mteri, ve bunlarn rolleri, gibi) Organizasyonlar (niversite, irket, blm, vb.) Yer (bina, oda, koltuk, vb.) Olaylar (farenin tklanmas, servis istei, alm siparii, vb.) Kavramlar (okboyutlu uzaylar, ilemler, hava raporu haritalar, vb.)

Eylemler, snflarn metotlar olarak modellenmeli Basit kural:


Snf -> SMLER (NOUN) Metotlar -> EYLEM (VERB)

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

60

10

eKitap: Snflarn belirlenmesi


Mterilerin kitaplar, mzik CDlerini, ve bilgisayar yazlmlarn nternet zerinden taramalarn ve satn almalarn salamak Sistemin temel fonksiyonlar:
Mterilere satn almalarnda yardmc olacak bilgileri vermek, Mterilerin kaytlarn, siparilerini, ve adres bilgilerini almak, Sistem ynetimi: kayt girme, silme, ve deitirme; mteri bilgilerinin gncellenmesi
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 61

eKitap: Snflar
EKitap: Tm sistem Mteri: eKitap mterileri Kitap: eKitapda satlan kitaplar MuzikCD Yazlm Ayrca: Sepet: Mterinin almak istediklerini tutan geici liste Sipari: Mterinin siparii Adres: Mteri adresi
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 62

eKitap: Classes
Mteri ad msteriNo ifre gndermeAdresi faturaAdresi Adres sokak ehir lke postaKodu

eKitap: Classes

Kitap ad yazar yaync yl bask cilt ISBN fiyat


7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 63 7 Ekim 2005

MzikCD ad sanat yaync yl say ISBN fiyat

Yazlm ad yaync yl versiyon ISBN fiyat

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

64

eKitap: Classes
ge ad yaync yl ISBN fiyat

eKitap: Class Diagram


Sepet Siparisgesi geler[*] ekle(ge ge, int say) sil(ge ge) sayDeitir(ge ge, int say) Sepetge ge ge int say

* 1
ge Kitap yazar bask cilt
7 Ekim 2005

MzikCD sanat say

Yazlm versiyon

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

65

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

66

11

eKitap: Class Diagram


Sipari Mteri mteri Sepet geler float satVergisi float kargocreti float toplam deme deme

eKitap: Class Diagram (son)


Mteri EKitap

1 1

Mteri

1 1 1
Sepet

* *
ge

Sipari

1 *
Siprarigesi

deme

* 1 1

Kitap

MzikCD

Yazlm

Sepet

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

67

7 Ekim 2005

TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara

68

dev
Exercise 2.3 (Jia) Sayfa 52-53 (Teslim: 28 Eyll)
Aadaki sistemin nesnesel modelini gelitirin
Aktrleri ve use caseleri belirleyin, UML use case diyagramn izin Sistemin UML class diagramn izin

zet
Nesnesel yazlm gelitirmede temel esaslar: modularity, abstraction, encapsulation, levels of abstraction. Ama: karmakl azaltmak, esneklii artrmak. Decomposition (sistemin paralarna ayrlmas): ki temel kriter uygulanr, cohesion (modller iinde snflarn uyumluluu) ve coupling (modller arasnda balarn gevek olmas). UML nesnesel modelleme iin yaygn olarak kullanlan bir modelleme dilidir. Sistemin statik yaps class diyagramlar ile modellenir, Sistemin dinamik yaps ise sequence ve state diyagramlar kullanlarak modellenir. Use case diyagramlar ise sistemin kullanm gereksinimlerini modellemek iin kullanlr (to model what the system does, not how).
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 70

Havayolu Rezervasyon Sistemi:


Sistem bir mterinin uak seyahati rezervasyonu yapmasn salar. Mteri, seyahatin balang ehrini, gidilecek yeri, gidi ve dn tarihlerini, uu saatlerini, tercih edilen havayolu irketini, ka kiilik yer ayrtlacan belirtir. Sistem mterinin tercihlerine uygun uular ve yer olup olmadn listeler. Mteri uygun bir uuu ve yeri seer, biletleri satn alr.
7 Ekim 2005 TOBB Ekonomi ve Teknoloji niversitesi, Bilgisayar Mh.Bl., Ankara 69

12

You might also like