004 Uml Modeli Yapisi [64 Slides]

Post on 15-Dec-2014

684 views 7 download

description

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

Transcript of 004 Uml Modeli Yapisi [64 Slides]

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

Bölüm 4/7

İç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

İçerik

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

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.

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ı

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ı

?

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ı

İçerik

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

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

Tanımlama Teknikleri

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

… ve bunların kombinasyonları

• 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ı

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

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

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

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

Tekniklerin KombinasyonlarıÇağrı Kontrol

changeDigitAnalysisInformation (...)

Initiate Call

Receive Digit and Connect

Hook Signal and DisconnectSubscription

Trunk

Specification elements

Tanım elemanları

Metodlar

• Üç 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

İçerik

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

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)

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ı

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»

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.

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

Collaboration Sembolleri

Collaboration Notasyonu

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

Collaboration

Rol

Class

Rol adı

Rol adıRol adı

Rol adı

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

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.

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

Use Case Realization (UCR)

Use Case Realization (UCR)

Use Case Realization (UCR)

Use Case Realization (UCR)

Model Bağımlılıkları

Üniversite Kayıt Sistemi

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

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)

İçerik

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

Model

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

Model

Tasarım Modeli

Use Case Modeli

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

Trace

Analiz

Tasarım

«trace»

Model / Şema

Use Case Modeli

Şemalar modeli dokümante eder

Tasarım Modeli

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

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

İçerik

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

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ü

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

[2] ModellerGereksinim Modeli

[3] ModellerAnaliz ve Tasarım Modelleri

[4] ModellerEk Modeller

Rational SoftwareReferans UML Modeli

PearlCircle İnternette Açık Artırma

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

Analiz Mdl.

UC Mdl.

Tasarım

Tasarım

User Experience

Mdl.

Gereksinim → Analiz

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

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.

Analiz → Tasarım

Gereksinim → Kullanıcı Arayüzü

Bid on Item – Analiz - VOPC

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

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

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

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