64
UML/UP ile Yazılım Geliştirme Bölüm 4/7

004 Uml Modeli Yapisi [64 Slides]

Embed Size (px)

DESCRIPTION

Unified Process ve UML ile Yazılım Geliştirme - 4 - UML Modeli Yapısı

Citation preview

Page 1: 004 Uml Modeli Yapisi [64 Slides]

UML/UP ile Yazılım Geliştirme

Bölüm 4/7

Page 2: 004 Uml Modeli Yapisi [64 Slides]

İçerik

• UML’in Sizin için Anlamı• UML Şemaları, Semboller ve Semantik İlişkileri• Şema ve Model Bazlı UML Çalışmaları

Arasındaki Farklar• Alternatif Yazılım Geliştirme Süreçlerinde

UML'in Yeri• UML ile Gereksinim Yönetimi• UML ile Nesne Yönelimli Tasarım

Page 3: 004 Uml Modeli Yapisi [64 Slides]

İçerik

• Modüllerin Yapısı• Modül Tanımlama Teknikleri• Modül Gerçekleştirme Teknikleri• Modellerin Yapısı• Modellerin İlişkileri

Page 4: 004 Uml Modeli Yapisi [64 Slides]

Modül (Subsystem) Özellikleri

• Bir modülün iki özelliği vardır:– Dış görünümü: modülün sağladığı

hizmetleri gösterir. – İç görünümü: modülün verdiği hizmetleri

destekleyen altyapıyı gösterir.

• Bu iki görünüm arasında bire bir bir ilişki vardır.

Page 5: 004 Uml Modeli Yapisi [64 Slides]

Modül Özellikleri

Bir modül bir sistemin hem tanımlanma hem de gerçekleştirilme aşaması çalışmalarını içerir.

Gerçekleştirme elemanları

Tanım elemanları

Page 6: 004 Uml Modeli Yapisi [64 Slides]

Modülün Gerçekleştirilmesi

• Gerçekleştirme elemanları subsytem’in içeriğini gösterir.

• Modül gerçekleştirilmesi genellikle class’lar ve ilişkilerini içerir.

Gerçekleştirme elemanlarıTanım elemanları

?

Page 7: 004 Uml Modeli Yapisi [64 Slides]

Modül tanımı modülün dışarıdan nasıl görüldüğü belirtir

Gerçekleştirme elemanlarıTanım elemanları

?

Modül Tanımlanması

Page 8: 004 Uml Modeli Yapisi [64 Slides]

İçerik

• Modüllerin Yapısı• Modül Tanımlama Teknikleri• Modül Gerçekleştirme Teknikleri• Modellerin Yapısı• Modellerin İlişkileri

Page 9: 004 Uml Modeli Yapisi [64 Slides]

Modül Tanımlanması

• Modül tanımı– Modülün verdiği hizmetleri tanımlar– Sistemin kullanıcılarına yaşatacağı deneyimi

tanımlar – Modülün iç yapısını gözler önüne dökmez – Modülün interface’lerini tanımlar

Page 10: 004 Uml Modeli Yapisi [64 Slides]

Tanımlama Teknikleri

• Use Case yaklaşımı• State Machine yaklaşımı• Mantıksal Class yaklaşımı• Metod Yaklaşımı

… ve bunların kombinasyonları

Page 11: 004 Uml Modeli Yapisi [64 Slides]

• Modülü sunduğu hizmetlerle alakalandırabilmek için• Spesifikasyonun teknik olmayan insanlara aktarılabilmesi

için

Gerçekleştirme elemanlarıTanım elemanları

1. Use Case Yaklaşımı

Page 12: 004 Uml Modeli Yapisi [64 Slides]

1. Use Case Yaklaşımı

Çağrı Kontrol

Tanım elamanları Realization elements

Change Digit Analysis Information

Initiate Call

Receive Digit and Connect

Hook Signal and Disconnect

Operator

Trunk

Subscription

Page 13: 004 Uml Modeli Yapisi [64 Slides]

2. State Machine Yaklaşımı

• Duruma göre davranışı değişen modüller için (Simülasyon vs.)

• Modülün yaşadığı durumlar ve bu durumlar arasındaki geçişlere odaklanır

Tanım elemanları

Stopped Running

Error

Maintenance

Exhausted

Çağrı Kontrol

Page 14: 004 Uml Modeli Yapisi [64 Slides]

Tanım elemanları

AnalyzerNumber

Dictionary

Network Manager

Çağrı Kontrol

3. Mantıksal Class Yaklaşımı

• Modülün kullanımı nesnelerin manipülasyonu olarak görülüyorsa

• Gereksinimler belli bir standarda uyum zorunluluğundan kaynaklanıyorsa

Page 15: 004 Uml Modeli Yapisi [64 Slides]

4. Metod Yaklaşımı

• Basit (atomic) hizmetler veren modüller için• Metodlar birbirlerinden bağımsız olarak çağrılıyorlarsa

MetodlarinitiateConnection (…)

dialledDigit (…)

throughConnect (…)

bAnswer (…)

bOnHook (…)

aOnHook (…)

Çağrı Kontrol

Page 16: 004 Uml Modeli Yapisi [64 Slides]

Tekniklerin KombinasyonlarıÇağrı Kontrol

changeDigitAnalysisInformation (...)

Initiate Call

Receive Digit and Connect

Hook Signal and DisconnectSubscription

Trunk

Specification elements

Tanım elemanları

Metodlar

Page 17: 004 Uml Modeli Yapisi [64 Slides]

• Üç tanımlı parçadan oluşur• Bu parçalar isteğe bağlı olarak kullanılmayabilir

Gerçekleştirme elemanları

Tanım elemanları

OperationsMetodlar

Eksiksiz Modül Notasyonu

Page 18: 004 Uml Modeli Yapisi [64 Slides]

İçerik

• Modüllerin Yapısı• Modül Tanımlama Teknikleri• Modül Gerçekleştirme Teknikleri• Modellerin Yapısı• Modellerin İlişkileri

Page 19: 004 Uml Modeli Yapisi [64 Slides]

Tanım (Specification) – Gerçekleştirme (Realization)

• Tanım ve gerçekleştirme birbirleriyle uyumlu olmalıdır

• Tanım ile gerçekleştirme arasındaki ilişki (mapping) şu şekilde ifade edilebilir:– gerçekleştirme (realization) ilişkisi– birliktelik (collaboration)

Page 20: 004 Uml Modeli Yapisi [64 Slides]

Metodlar

operation1( ) : Type1

operation2( ) : Type2

operation3( ) : Type3

operation4( ) : Type4

operation5( ) : Type5

Gerçekleştirme elemanları

«realize»

operation1( )

Gerçekleştirme İlişkisi

Gerçekleştirme (Realization) özellikle tek seviyeli ilişkileri göstermekte faydalı

Page 21: 004 Uml Modeli Yapisi [64 Slides]

Gerçekleştirme İlişkisi

Gerçekleştirme elemanları

Tanım elemanları

changeDigitAnalysisInformation ( )

Initiate Call

Receive Digit and Connect

Hook Signal and DisconnectSubscription

Trafik Kontrol

Metodlar

Trunk

changeDigitAnalysisInformation ( )::

«realize»

Page 22: 004 Uml Modeli Yapisi [64 Slides]

Collaboration

• Collaboration (Birliktelik): Belli bir hedefe yönelik olarak nesne etkileşimlerinin resmedilmesidir. Bu bir UC senaryosu veya class ilişkileri incelemesi olabilir.

• Interaction (Etkileşim):Bir birliktelik içindeki nesnelerin arasındaki haberleşmelerdir.

Page 23: 004 Uml Modeli Yapisi [64 Slides]

Collaboration

• Bir ‘collaboration’ bir iş yerine getirilirken gereken rolleri tanımlar

• Bu roller birbirleriyle etkileşen nesneler aracılığıyla canlandırılır

Sequence Şeması

:Trunk :Traffic Control :Subscription

markBusy

dialledDigit

dialledDigit

throughConnect

bAnswer

markBusy

Collaboration Şeması

:Trunk

:Traffic Control

:Subscription

3: dialledDigit6: bAnswer

5: markBusy1: markBusy

4: throughConnect

2: dialledDigit

Page 24: 004 Uml Modeli Yapisi [64 Slides]

Collaboration Sembolleri

Page 25: 004 Uml Modeli Yapisi [64 Slides]

Collaboration Notasyonu

Bir birliktelik (collaboration) ve katılımcıları

Collaboration

Rol

Class

Rol adı

Rol adıRol adı

Rol adı

Page 26: 004 Uml Modeli Yapisi [64 Slides]

Tanım elemanları Gerçekleştirme elemanları

Receive Digit and Connect

Hook Signal and Disconnect

Initiate Call

CoordinatorAnalysisDatabase

NetworkInterface

Collaboration

Collaboration genellikle daha karmaşık durumlarda faydalıdır

Page 27: 004 Uml Modeli Yapisi [64 Slides]

Collaboration ÇeşitleriRol modeli bir özel durumu ifade ederken Class modeli dahagenele yönelik. Dolayısıyla her Class modeline karşılık birdenfazla Rol modeli olacaktır.

Page 28: 004 Uml Modeli Yapisi [64 Slides]

Use Case RealizationCollaboration Şeması: “Sipariş Alınması”

Page 29: 004 Uml Modeli Yapisi [64 Slides]

Use Case Realization (UCR)

Page 30: 004 Uml Modeli Yapisi [64 Slides]

Use Case Realization (UCR)

Page 31: 004 Uml Modeli Yapisi [64 Slides]

Use Case Realization (UCR)

Page 32: 004 Uml Modeli Yapisi [64 Slides]

Use Case Realization (UCR)

Page 33: 004 Uml Modeli Yapisi [64 Slides]

Model Bağımlılıkları

Üniversite Kayıt Sistemi

Page 34: 004 Uml Modeli Yapisi [64 Slides]

Modüller Ne Zaman Gerekli?

• Büyük bir sistemin hangi parçalardan oluştuğunu ve bu parçaların bağımlılıklarını göstermek gerektiğinde (Sistem Mimarisi)

• Dağıtık (distributed) yazılım geliştirme yapılıyorsa • Bir grup modülün nasıl büyük bir sisteme

dönüştürülebileceğini gözlemleyebilmek için (Sistem Mimarisi)

• Bileşen bazlı yazılım geliştirme yapabilmek için

Page 35: 004 Uml Modeli Yapisi [64 Slides]

Modül Oluşturma Teknikleri• Büyük bir sistemin her kendine haslık gösteren

parçasını bir modülle ifade edin• Tanımlama (specification) tekniğini sistem ve

modülün özelliklerine göre belirleyin• Her modülü ayrı ayrı ve tanımlama elemanlarını

(gereksinim) kullanarak gerçekleştirin (realize)

Page 36: 004 Uml Modeli Yapisi [64 Slides]

İçerik

• Modüllerin Yapısı• Modül Tanımlama Teknikleri• Modül Gerçekleştirme Teknikleri• Modellerin Yapısı• Modellerin İlişkileri

Page 37: 004 Uml Modeli Yapisi [64 Slides]

Model

Bir model sisteme belli nedenden dolayı farklı bir bakış şeklidir. Oluşturulma amacına uygun şekilde dokümantasyona ve detay seviyesine sahiptir.

Page 38: 004 Uml Modeli Yapisi [64 Slides]

Model

Tasarım Modeli

Use Case Modeli

Page 39: 004 Uml Modeli Yapisi [64 Slides]

Model Sembolleri

Model

Trace

Sembol Tanım Syntax

Modeller arasındaki bağımlılık aynı konuların farklı bakış açıları altındaki ürünlerini temsil eder.İşaret tek veya çift yönlü olabilir.

«trace»

Sistemi belli muhataplara onlara özel detay seviyesiyle sistemin ilgili yönlerinin gösterilmesidir.

İsim

Page 40: 004 Uml Modeli Yapisi [64 Slides]

Trace

Analiz

Tasarım

«trace»

Page 41: 004 Uml Modeli Yapisi [64 Slides]

Model / Şema

Use Case Modeli

Şemalar modeli dokümante eder

Tasarım Modeli

Page 42: 004 Uml Modeli Yapisi [64 Slides]

Model Ne Zaman Gerekli?

• Farklı paydaşlara sisteme kendi ihtiyaçlarına göre bakabilmelerini sağlamak için

• Sistemi gerektiğinde sadece tek bir yönden inceleyebilmek

• Yazılım geliştirme sürecinde farklı aşamalarda üretilenleri dokümante edebilmek

Page 43: 004 Uml Modeli Yapisi [64 Slides]

Model Oluşturma Teknikleri

• Her modelin amacını tanımlayınız • Her model amacına uygun şekilde sistemin

eksiksiz bir resmini çizmelidir • Modelin amacına odaklanarak ilgisiz

bilgileri modele eklemeyiniz

Page 44: 004 Uml Modeli Yapisi [64 Slides]

İçerik

• Modüllerin Yapısı• Modül Tanımlama Teknikleri• Modül Gerçekleştirme Teknikleri• Modellerin Yapısı• Modellerin İlişkileri

Page 45: 004 Uml Modeli Yapisi [64 Slides]

Modeller ve ModüllerModeller ve Modüller arasında hiyerarşik ilişkiler kurulabilir:

Bankacılık Sistemi

Tasarım Modeli

Analiz Modeli

UC Realization

MuhasebeModülü

MuhasebeModülü

Page 46: 004 Uml Modeli Yapisi [64 Slides]

[1] Modellerİş Modeli (Seçeneğe Bağlı)

Page 47: 004 Uml Modeli Yapisi [64 Slides]

[2] ModellerGereksinim Modeli

Page 48: 004 Uml Modeli Yapisi [64 Slides]

[3] ModellerAnaliz ve Tasarım Modelleri

Page 49: 004 Uml Modeli Yapisi [64 Slides]

[4] ModellerEk Modeller

Page 50: 004 Uml Modeli Yapisi [64 Slides]

Rational SoftwareReferans UML Modeli

PearlCircle İnternette Açık Artırma

Page 51: 004 Uml Modeli Yapisi [64 Slides]

Model ElemanlarıGereksinim, Analiz, Tasarım ve Kullanıcı Arayüzü Tasarımıçalışmalarının ilişkileri.

Tasarım

Gereksinim

Analiz

KullanıcıArayüzüTasarımı

Specification

Realization

Realization

Page 52: 004 Uml Modeli Yapisi [64 Slides]

Analiz Mdl.

UC Mdl.

Page 53: 004 Uml Modeli Yapisi [64 Slides]

Tasarım

Tasarım

Page 54: 004 Uml Modeli Yapisi [64 Slides]

User Experience

Mdl.

Page 55: 004 Uml Modeli Yapisi [64 Slides]

Gereksinim → Analiz

Etkileşim Şeması # <= Akış #

Page 56: 004 Uml Modeli Yapisi [64 Slides]

Analiz ÇalışmalarıParticipants: Kullanılan class’larınUC bazında gruplanmasıdır.

Analysis Elements: class’ların mantıkiilişkilerine göre yeniden gruplandırılmalarıdır.Bu geleneksel modüler yapıya karşılık gelir.

Page 57: 004 Uml Modeli Yapisi [64 Slides]

Analiz → Tasarım

Page 58: 004 Uml Modeli Yapisi [64 Slides]

Gereksinim → Kullanıcı Arayüzü

Page 59: 004 Uml Modeli Yapisi [64 Slides]

Bid on Item – Analiz - VOPC

Page 60: 004 Uml Modeli Yapisi [64 Slides]

Bid on Item – Analiz – Temel AkışBid on Item – Analiz – Temel Akış

Page 61: 004 Uml Modeli Yapisi [64 Slides]

Bid on Item – Tasarım - VOPCBid on Item – Tasarım - VOPC

Page 62: 004 Uml Modeli Yapisi [64 Slides]

Bid on Item – TasarımBid on Item – TasarımTemel AkışTemel Akış

Page 63: 004 Uml Modeli Yapisi [64 Slides]

Bid on Item – UX - VOPCBid on Item – UX - VOPC

Page 64: 004 Uml Modeli Yapisi [64 Slides]