Örneklerle Etkileşim, İşbirliği ve Sıra Diyagramları

Etkileşim Diyagramı Nedir?

Etkileşim Şeması UML'de nesneler arasında iletişim kurmak için kullanılır. Belirli iletişim yolu ile ilişkili verileri değiştirmez. Etkileşim diyagramları çoğunlukla mesaj aktarımına ve bu mesajların bir sistemin bir işlevselliğini nasıl oluşturduğuna odaklanır. Etkileşim diyagramları, nesnelerin bir sistemin belirli gereksinimlerini nasıl gerçekleştireceğini göstermek için tasarlanmıştır. Bir etkileşim diyagramındaki kritik bileşen yaşam çizgisi ve mesajlardır.

Çeşitli UML öğeleri genellikle etkileşim diyagramlarına sahiptir. Etkileşimin ayrıntıları, dizi diyagramı, zamanlama diyagramı, iletişim/iş birliği diyagramı gibi çeşitli gösterimler kullanılarak gösterilebilir. Etkileşim diyagramları herhangi bir sistemin dinamik davranışını yakalar.

Etkileşim Şeması
Etkileşim Diyagramının Gösterimi

UML'de tanımlanan farklı etkileşim diyagramı türleri şunlardır:

  • Sıra diyagramı
  • İşbirliği diyagramı
  • zamanlama diyagramı

Bir dizi diyagramının amacı UML diyagramı sistemdeki bir mesaj akışının sırasını görselleştirmektir. Yazılım Mühendisliğindeki Sıra Diyagramı, iki yaşam çizgisi arasındaki etkileşimi zaman sıralı bir olay dizisi olarak gösterir.

UML'deki İşbirliği Diyagramına iletişim diyagramı da denir. İşbirliği şemasının amacı, bir sistemin yapısal yönlerini, yani sistemdeki çeşitli yaşam hatlarının nasıl bağlandığını vurgulamaktır.

Zamanlama diyagramları bir mesajın bir nesneden başka bir nesneye gönderildiği örneğe odaklanır.

Etkileşim Diyagramının Amacı

Etkileşim diyagramları bir sistemin etkileşimli davranışını görselleştirmenize yardımcı olur. Etkileşim diyagramları, sistemdeki bir veya daha fazla nesnenin birbiriyle nasıl bağlandığını ve iletişim kurduğunu göstermek için kullanılır.

Etkileşim diyagramları bir sistemin dinamik davranışına odaklanır. Bir etkileşim diyagramı bize sistemdeki bir veya daha fazla yaşam çizgisi arasındaki etkileşimin bağlamını sağlar.

In UMLEtkileşim diyagramları aşağıdaki amaçlar için kullanılır:

  • Etkileşim diyagramları bir sistemin dinamik davranışını gözlemlemek için kullanılır.
  • Etkileşim diyagramı, sistemde geçen mesajların iletişimini ve sırasını görselleştirir.
  • Etkileşim Modelleme diyagramı sistemdeki çeşitli nesnelerin yapısal yönlerini temsil eder.
  • Etkileşim diyagramı, bir sistem içindeki etkileşimlerin sıralı sırasını temsil eder.
  • Etkileşim diyagramı, gerçek zamanlı verilerin UML aracılığıyla görselleştirilmesinin yollarını sağlar.
  • UML Etkileşim Diyagramları nesne yönelimli veya dağıtık bir sistemin mimarisini açıklamak için kullanılabilir.

Önemli terminoloji

Bir etkileşim diyagramı yaşam çizgilerini, mesajları, operatörleri, durum değişmezlerini ve kısıtlamaları içerir.

hayat çizgisi

Yaşam çizgisi, bir etkileşimdeki tek bir katılımcıyı temsil eder. Belirli bir sınıflandırıcının örneğinin etkileşime nasıl katıldığını açıklar.

Bir yaşam çizgisi, sınıflandırıcının bir örneğinin etkileşimde oynayabileceği bir rolü temsil eder. Bir yaşam çizgisinin çeşitli nitelikleri aşağıdadır,

  1. İsim
    1. Belirli bir etkileşim içindeki yaşam çizgisine atıfta bulunmak için kullanılır.
    2. Cankurtaran halatının adı isteğe bağlıdır.
  2. Tip
    1. Yaşam çizgisinin bir örneğini temsil ettiği sınıflandırıcının adıdır.
  3. Seçici
    1. Gereksinimi karşılayan belirli bir örneği seçmek için kullanılan bir Boole koşuludur.
    2. Seçici özelliği de isteğe bağlıdır.

Yaşam çizgisi notasyonu notasyon bölümünde açıklanmıştır.

Mesajlar

Bir mesaj, bir etkileşimdeki iki yaşam hattı arasındaki belirli bir iletişim türüdür. Bir mesaj, aşağıdaki aktiviteleri içerir:

  1. Bir işlemi çağırmak için kullanılan çağrı mesajı.
  2. Örnek oluşturmak için bir mesaj.
  3. Bir örneği yok etmek için bir mesaj.
  4. Sinyal göndermek için.

Bir yaşam hattı bir çağrı mesajı aldığında, mesajda belirtilene benzer bir imzaya sahip bir işlemin başlatılması talebi olarak hareket eder. Bir yaşam hattı bir mesajı yürütürken kontrol odağına sahiptir. Etkileşim zaman içinde ilerledikçe, kontrolün odağı çeşitli yaşam hatları arasında hareket eder. Bu harekete kontrol akışı denir.

Sistem Etkileşim Diyagramında kullanılan mesajlar şunlardır:

Mesaj Adı anlam
Syncsaatli mesaj Mesajı gönderen kişi, alıcının mesajın yürütülmesinden kontrolü geri almasını beklemeye devam eder.
Eşzamansız mesaj Gönderen, alıcıdan geri dönüş beklemez; bunun yerine bir sonraki mesajın yürütülmesine devam eder.
Mesajı geri gönder Daha önceki bir mesajın alıcısı, kontrolün odağını gönderene verir.
Nesne oluşturma Gönderen, bir sınıflandırıcının bir örneğini oluşturur.
Nesne imhası Gönderen, oluşturulan örneği yok eder.
Mesaj bulundu Mesajın göndereni etkileşim kapsamı dışındadır.
Kayıp mesaj Mesaj asla hedefe ulaşmaz ve etkileşimde kaybolur.

Durum değişmezleri ve kısıtlamalar

Bir bulut sunucusu veya yaşam hattı bir mesaj aldığında, durumun değişmesine neden olabilir. Durum, bir nesnenin ömrü boyunca bazı kısıtlamaları karşıladığı, bazı işlemleri gerçekleştirdiği ve bazı olayları beklediği bir durum veya durumdur.

Etkileşim diyagramında tüm mesajlar bir örneğin durumunun değişmesine neden olmaz. Bazı mesajlar bazı niteliklerin değerlerine sahip değildir. Bir nesnenin durumu üzerinde hiçbir yan etkisi yoktur.

Kullanım

Operatör, işlenenlerin nasıl yürütüleceğine ilişkin bir işlemi belirtir. UML'deki operatörler, veri üzerindeki işlemleri hem dallanma hem de yineleme biçiminde destekler. UML modelinde yineleme ve dallanmanın kullanılmasını sağlamak için çeşitli operatörler kullanılabilir. Dallanma işlemleri için opt ve alt operatörleri kullanılır. Döngü operatörü, tatmin edici bir sonuç elde edilene kadar bir koşulun tekrar tekrar yürütüldüğü yineleme işlemlerini sağlamak için kullanılır. Break operatörü döngü veya yineleme işlemlerinin içinde kullanılır. Bir kesme operatörüyle karşılaşıldığında döngünün sonlandırılmasını sağlar. Bir ara koşulu belirtilmezse döngü sonsuz sayıda yürütülür ve bu da programın çökmesine neden olur.

Etkileşim diyagramında kullanılan operatörler şunlardır:

Kullanım İsim anlam
Opt seçenek Koşul doğruysa bir işlenen yürütülür.
örneğin, If else
Ara Toplam Alternatif Durumu doğru olan işlenen yürütülür.
örneğin, anahtar
döngü döngü Belirli bir süre boyunca bir talimatı döngüye almak için kullanılır.
mola mola Bir koşulun doğru ya da yanlış olması durumunda döngüyü keser ve bir sonraki talimat yürütülür.
Ref Referans Başka bir etkileşime atıfta bulunmak için kullanılır.
tarafından Paralel Tüm işlenenler paralel olarak yürütülür.

tekrarlama

Bir etkileşim diyagramında yinelemeyi bir yineleme ifadesi kullanarak da gösterebiliriz. Bir yineleme ifadesi, bir yineleme belirticisinden ve isteğe bağlı bir yineleme yan tümcesinden oluşur. UML yinelemesi için önceden belirlenmiş bir sözdizimi yoktur.

Yinelemede mesajların paralel olarak gönderildiğini göstermek için paralel yineleme belirteci kullanılır. Paralel yineleme belirticisi *// ile gösterilir. UML'de yineleme döngü operatörü kullanılarak gerçekleştirilir.

Dallanma

Bir etkileşim diyagramında, mesajlara koruma koşulları ekleyerek dallanmayı temsil edebiliriz. Koruma koşulları bir mesajın iletilip gönderilemeyeceğini kontrol etmek için kullanılır. Bir mesaj yalnızca koruma durumu doğru olduğunda iletilir. Bir mesaj birden fazla koruma koşuluna sahip olabilir veya birden fazla mesaj aynı koruma koşuluna sahip olabilir. UML'de dallanma alt ve opt operatörlerinin yardımıyla gerçekleştirilir.

Bunlar bazıları en önemli UML etkileşim diyagramında kullanılan terminolojiler.

Etkileşim diyagramı ve Gösterim Türleri

UML'de tanımlanan farklı etkileşim diyagramı türleri şunlardır:

  • Sıra diyagramı
  • İşbirliği diyagramı
  • zamanlama diyagramı

Etkileşimin temel gösterimi, dikdörtgen bir kutunun sol üst köşesinde bir beşgen bulunan bir dikdörtgendir.

Sıra Diyagramı Nedir?

A Sıra Diyagramı nesneler arasındaki etkileşimi sıralı bir şekilde tasvir eder. UML'deki sıra diyagramının amacı, sistemdeki mesaj akışının sırasını görselleştirmektir. Sıra diyagramı, iki yaşam çizgisi arasındaki etkileşimi zaman sıralı bir olay dizisi olarak gösterir.

  • Sıra diyagramı sistemdeki bir senaryonun uygulanmasını gösterir. Bir sistemin yürütülmesi sırasında sistemdeki yaşam hatları görev alır.
  • Bir dizi diyagramında yaşam çizgisi dikey bir çubukla temsil edilir.
  • İki veya daha fazla nesne arasındaki mesaj akışı, sayfanın alt kısmı boyunca uzanan dikey noktalı bir çizgi kullanılarak temsil edilir.
  • Bir sıra diyagramında yukarıda açıklanan farklı mesaj ve operatör türleri kullanılır.
  • Bir dizi diyagramında yineleme ve dallanma da kullanılır.
Sıra Diyagramı
Sıra Diyagramındaki Gösterimler

Yukarıdaki dizi diyagramı, yaşam çizgisi gösterimlerini ve bir dizi diyagramında kullanılan oluşturma, yanıtlama, asenkron mesaj vb. gibi çeşitli mesajların gösterimlerini içerir.

Sıra diyagramı örneği

Aşağıdaki sıra diyagramı örneği McDonald's sipariş sistemini temsil etmektedir:

Sıra Diyagramı
Mcdonald's sipariş sisteminin sıra diyagramı

Belirli bir sıra diyagramındaki olayların sıralı dizisi aşağıdaki gibidir:

  1. Sipariş vermek.
  2. Kasaya para ödeyin.
  3. Sipariş onayı.
  4. Sipariş hazırlığı.
  5. Servis siparişi verin.

İşlemlerin sırasını değiştirirseniz, bu durum programın çökmesine neden olabilir. Ayrıca hatalı veya hatalı sonuçlar üretilmesine de yol açabilir. Yukarıda verilen dizi diyagramındaki her dizi, farklı bir mesaj türü kullanılarak gösterilir. Diyagramdaki tüm etkileşimleri belirtmek için aynı türde mesaj kullanılamaz çünkü bu sistemde karmaşıklık yaratır.

Herhangi bir etkileşim için bir mesajın notasyonunu seçerken dikkatli olmalısınız. Gösterim, diyagram içindeki belirli sıra ile eşleşmelidir.

Sıra Diyagramının Faydaları

  • Sıra diyagramları herhangi bir gerçek uygulamayı veya sistemi keşfetmek için kullanılır.
  • Sıra diyagramları bir nesneden diğer nesneye mesaj akışını temsil etmek için kullanılır.
  • Sıra diyagramlarının bakımı daha kolaydır.
  • Sıra diyagramlarının oluşturulması daha kolaydır.
  • Sıra diyagramları sistemdeki değişikliklere göre kolaylıkla güncellenebilir.
  • Sıra diyagramı ileri ve geri mühendisliğe izin verir.

Sıra diyagramının dezavantajları

  • Sistemde çok fazla yaşam hattı yer aldığında sıra diyagramları karmaşık hale gelebilir.
  • Mesaj dizisinin sırası değiştirilirse hatalı sonuçlar üretilir.
  • Her bir dizinin farklı mesaj gösterimleri kullanılarak temsil edilmesi gerekiyor ki bu da biraz karmaşık olabilir.
  • Mesajın türü, diyagram içindeki sıranın türünü belirler.

İşbirliği Diyagramı Nedir?

İşbirliği Şeması yazılım nesneleri arasındaki ilişkileri ve etkileşimleri tasvir eder. Bir sıra diyagramındaki gibi bir mesajın akışından ziyade bir sistem içindeki nesne mimarisini anlamak için kullanılırlar. Bunlara ayrıca "İletişim Diyagramları" da denir.

Nesne Yönelimli Programlamaya (OOP) göre, bir nesne varlığı, onunla ilişkilendirilmiş çeşitli niteliklere sahiptir. Genellikle, nesne yönelimli bir sistemin içinde, her nesnenin sistem içindeki herhangi bir diğer nesneyle ilişkilendirilebileceği birden fazla nesne bulunur. İş Birliği Diyagramları, sistem içindeki nesnelerin mimarisini keşfetmek için kullanılır. Nesneler arasındaki mesaj akışı, bir iş birliği diyagramı kullanılarak temsil edilebilir.

İşbirliği Diyagramının Faydaları

  • Aynı zamanda iletişim şeması olarak da adlandırılır.
  • Bir etkileşim diyagramının yapısal yönlerini, yani yaşam çizgisinin nasıl bağlandığını vurgular.
  • Söz dizimi dizi diyagramına benzer, ancak yaşam çizgilerinin kuyrukları yoktur.
  • İletilen mesajların sıralaması, her bir mesajın hiyerarşik olarak numaralandırılmasıyla gösterilir.
  • Sıra diyagramı ile karşılaştırıldığında iletişim şeması anlamsal olarak zayıftır.
  • Nesne diyagramları iletişim diyagramının özel durumudur.
  • Sıra diyagramında anlatıldığı gibi mesaj akışına odaklanmak yerine öğelere odaklanmanızı sağlar.
  • İşbirliği diyagramları çok anlamlı olmadığından, dizi diyagramları kolayca bir işbirliği diyagramına dönüştürülebilir.
  • İşbirliği diyagramlarını sıra diyagramlarıyla modellerken bazı bilgiler kaybolabilir.

İşbirliği Diyagramı Gösterimleri
İşbirliği Diyagramı Gösterimleri

Yukarıdaki işbirliği diyagramı notasyonu, bir işbirliği diyagramında kullanılan bağlayıcıların, kendi kendine döngülerin, ileri ve geri mesajların yanı sıra yaşam çizgilerini de içerir.

İşbirliği Diyagramının Dezavantajları

  • Sistem içerisinde çok fazla nesne mevcut olduğunda işbirliği diyagramları karmaşık hale gelebilir.
  • Sistem içindeki her nesneyi keşfetmek zordur.
  • İşbirliği diyagramları zaman alıcıdır.
  • Bir programın sona ermesinden sonra nesne yok edilir.
  • Bir nesnenin durumu anlık olarak değişir, bu da bir sistemin nesnesinde meydana gelen her değişikliğin takip edilmesini zorlaştırır.

İşbirliği şeması örneği

Aşağıdaki diyagram öğrenci yönetim sistemi üzerindeki sıralamayı göstermektedir:

İşbirliği Şeması

Öğrenci yönetim sistemi için işbirliği şeması

Yukarıdaki işbirliği şeması bir öğrenci bilgi yönetim sistemini temsil etmektedir. Yukarıdaki şemada iletişim akışı şu şekilde verilmiştir:

  1. Öğrenci, giriş sistemi üzerinden giriş talebinde bulunur.
  2. Yazılımın bir kimlik doğrulama mekanizması isteği kontrol eder.
  3. Eğer veritabanında öğrenci girişi varsa erişime izin verilir; aksi takdirde hata döndürülür.

Zamanlama Diyagramı Nedir?

Zamanlama Şeması herhangi bir zamanda bir yaşam çizgisinin durumunu tanımlamak için kullanılan bir dalga biçimi veya grafiktir. Bir nesnenin bir formdan başka bir forma dönüşmesini ifade etmek için kullanılır. Zamanlama diyagramı, sıra ve işbirliği diyagramında gerektiği gibi notasyonlar içermez. Çeşitli zaman dilimlerinde yazılım programı arasındaki akış, bir dalga formu kullanılarak temsil edilir.

  • Çeşitli nesneler arasında gönderilen mesajların belirli zamanlamalarına odaklanan etkileşimlerin uygun bir temsilidir.
  • Zamanlama diyagramları, belirli bir nesnenin ayrıntılı zaman işleyişini açıklamak için kullanılır.
  • Zamanlama diyagramları bir nesnenin ömrü boyunca nasıl değiştiğini açıklamak için kullanılır.
  • Zamanlama diyagramları çoğunlukla dağıtılmış ve gömülü sistemlerde kullanılır.
  • UML'de zamanlama diyagramları sol kenarda belirtilen yaşam çizgisinin adına göre soldan sağa doğru okunur.
  • Zamanlama diyagramları, bir yaşam hattında zaman zaman meydana gelen çeşitli değişiklikleri temsil etmek için kullanılır.
  • Zamanlama diyagramları, bir yaşam hattının birim zaman başına çeşitli durumlarının grafiksel bir temsilini görüntülemek için kullanılır.
  • UML, birim zaman başına iki yaşam çizgisi arasındaki geçiş durumunu basitleştirmek için çeşitli gösterimler sağlar.

Zamanlama diyagramı Örneği

Aşağıda verilen zamanlama diyagramı bir sürecin birkaç aşamasını temsil etmektedir. yazılım geliştirme Yaşam Döngüsü.

Zamanlama Şeması

Zamanlama Diyagramı Örneği

Yukarıdaki diyagramda, yazılım önce gereksinim aşamasından, sonra tasarım aşamasından ve daha sonra geliştirme aşamasından geçer. Belirli bir zaman örneğinde önceki aşamanın çıktısı, ikinci aşamaya girdi olarak verilir. Bu nedenle, zamanlama diyagramı UML'de SDLC'yi (Yazılım Geliştirme Yaşam Döngüsü) tanımlamak için kullanılabilir.

Zamanlama Diyagramının Faydaları

  • Zamanlama diyagramları, bir nesnenin belirli bir zaman dilimindeki durumunu temsil etmek için kullanılır.
  • Zamanlama diyagramı ileri ve geri mühendisliğe izin verir.
  • Zamanlama diyagramı sistemdeki her değişikliği takip etmek için kullanılabilir.

Zamanlama Diyagramının Dezavantajları

  • Zamanlama diyagramlarını anlamak zordur.
  • Zamanlama diyagramlarının bakımı zordur.

Etkileşim diyagramı nasıl çizilir?

Etkileşim diyagramları bir sistemin etkileşimli davranışını temsil etmek için kullanılır. Etkileşim diyagramları bir sistemin dinamik davranışına odaklanır. Bir etkileşim diyagramı bize sistemdeki bir veya daha fazla yaşam çizgisi arasındaki etkileşimin bağlamını sağlar.

Bir etkileşim diyagramı çizmek için, öncelikle etkileşim diyagramı çizmeniz gereken senaryoyu belirlemelisiniz. Durumu belirledikten sonra, etkileşime dahil olacak çeşitli yaşam hatlarını tanımlayın. Tüm yaşam hattı öğelerini kategorilere ayırın ve olası bağlantıları ve yaşam hatlarının birbirleriyle nasıl ilişkili olduğunu belirlemek için bunları inceleyin. Bir etkileşim diyagramı çizmek için aşağıdaki şeyler gereklidir:

  1. Bir etkileşimin parçası olacak toplam yaşam çizgisi sayısı
  2. bir sistemin çeşitli nesneleri içindeki mesaj akışının bir dizisidir.
  3. Bir etkileşim diyagramının işlevselliğini kolaylaştırmak için çeşitli operatörler.
  4. Etkileşimi daha net ve kesin bir şekilde görüntülemek için çeşitli mesaj türleri.
  5. Sıralı mesaj dizisi.
  6. Bir nesnenin organizasyonu ve yapısı.
  7. Bir nesnenin çeşitli zaman yapıları.

Etkileşim diyagramının kullanılması

Etkileşim diyagramları bir dizi diyagramı, işbirliği diyagramı ve zamanlama diyagramlarından oluşur. Aşağıda bir etkileşim diyagramının belirli amacı verilmiştir:

  • Sıra diyagramları herhangi bir gerçek uygulamayı veya sistemi keşfetmek için kullanılır.
  • Etkileşim diyagramları, sıra, işbirliği ve zamanlama diyagramlarının kullanımını araştırmak ve karşılaştırmak için kullanılır.
  • Etkileşim diyagramları bir sistemin davranışını yakalamak için kullanılır. Bir sistemin dinamik yapısını gösterir.
  • Sıra diyagramları bir nesneden diğer nesneye mesaj akışını temsil etmek için kullanılır.
  • İşbirliği diyagramları, mesaj akışından ziyade bir sistemin nesne mimarisini anlamak için kullanılır.
  • Etkileşim diyagramları, bir sistemi zaman sıralı olaylar dizisi olarak modellemek için kullanılır.
  • Etkileşim diyagramları ileri mühendislikte olduğu gibi tersine mühendislikte de kullanılır.
  • Etkileşim diyagramları etkileşimli öğelerin yapısını düzenlemek için kullanılır.

ÖZET

  • Etkileşimler basitçe bir sınıflandırıcının davranışının birimleridir.
  • Bir etkileşim şemasındaki kritik öğeler yaşam çizgisi ve mesajlardır.
  • Etkileşim diyagramları çoğunlukla mesaj aktarımına odaklanır.
  • Etkileşim diyagramları herhangi bir sistemin dinamik davranışını yakalar.
  • Etkileşim diyagramı; dizi diyagramı, zamanlama diyagramı, iletişim/işbirliği diyagramını içerir.
  • Sıra UML diyagramı, sistemdeki bir mesaj akışının sırasını görselleştirmek içindir.
  • İşbirliği diyagramının amacı yapısal yönleri vurgulamaktır.
  • Zamanlama diyagramları bir mesajın bir nesneden başka bir nesneye gönderildiği örneğe odaklanır.