Upload
erol-bozkurt
View
673
Download
7
Embed Size (px)
DESCRIPTION
Unified Process ve UML ile Yazılım Geliştirme - 4 - UML Modeli Yapısı
Citation preview
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