SİSTEM ANALİZİ VE TASARIMI Dersi UML İLE NESNE YÖNELİMLİ ANALİZ VE MODELLEME soru cevapları:
Toplam 44 Soru & Cevap#1
SORU:
Nesne tabanlı programlama dillerinin kullanımı niçin yaygınlaşmaktadır?
CEVAP:
Nesne tabanlı programlama dillerinin kullanımı giderek yaygınlaşmaktadır. Bunun nedeni, nesne tabanlı programlama dillerinin, kodların yeniden kullanımına olanak sağlaması ve programlama maliyetlerini azaltmasıdır. Ayrıca, nesne tabanlı programlama yaklaşımı sayesinde, farklı programlama takımlarının bir yazılımın ortaya çıkmasında iş birliği içinde çalışması mümkün olmaktadır. Bu sproramlama grupları coğrafi olarak farklı konumlarda ikamet edebilmektedir. Her programlama grubu, belirlenmiş bir arayüze bağlı kalarak, bir ya da daha çok nesnenin gerçekleştirilmesi için gereken programlama kod parçalarını bağımsız olarak geliştirmek ile sorumlu olabilmektedir.
Programlamada nesne tabanlı yaklaşım, nesne tabanlı analiz (NTA) ve nesne tabanlı tasarım (NTT) için birtakım tekniklerin kullanılmasını gerektirir. Bu tekniklerde nesne tabanlı diyagramlar kullanılır. Sistem nesne tabanlı ortamda gerçeklenmeyecekse bu diyagramlar içinden sınıf (class) ve dizge (sequence) diyagramlar gibi bazılarının kullanımı, uygun değildir. Nesne tabanlı analiz ve tasarım için geliştirilen diğer diyagramlar, herhangi bir ortam içinde kullanılabilir. Örneğin, kullanım durum (use case) diyagramları, nesne tabanlı ya da geleneksel yapısal analizler için kullanılabilir. Benzer şekilde, nesne tabanlı analiz ve tasarım için geliştirilen, etkinlik (activity) ve dağılım (deployment) diyagramları diğer metodolojiler ile birlikte de kullanılabilir.
#2
SORU:
Nesne nedir, tanımlayınız?
CEVAP:
Sistem geliştirmede nesne tabanlı yaklaşım, sistem ortamının nesnelerden oluşması üzerine kuruludur. Yaşadığımız dünya nesnelerden oluşmaktadır. Gerçekten de çevremizde, kapılar, masalar, dolaplar, ağaçlar gibi nesneler ve her nesnenin kendine özgü nitelikleri ve işlevleri bulunmaktadır. Ayrıca, nesneler birbirleri ile etkileşim içindedir.
Nesneler, sadece görülebilen ve dokunulabilen somut şeyler olmayabilir. Örneğin, arkadaşınızdan telefon çağrısı bekliyorsunuz. Gelen çağrı, görülemez ve dokunulamaz. Ancak, algılayabildiğimiz telefon çağrısı soyut bir nesnedir. Buna göre, içinde bulunduğumuz çevre somut ya da soyut nesnelerden oluşmaktadır. Sistem geliştirmede nesne tabanlı yaklaşım kullanıldığında, sistemi oluşturacak nesnelerin belirlenmesi önemlidir. Nesneler, bir insan, bir yer, bir olay ya da bilgiyi bünyesinde tutmak istediğimiz bir şey olabilir. Bir çalışan, müşteri, eğitmen ve öğrenci insan nesneleri; bir depo, ofis, bina ve oda yer nesneleri; bir ürün, otomobil, bilgisayar ve bilgisayar ekranındaki pencere bir şey nesnesi; sipariş, ödeme, fatura ve rezervasyon, birer olay nesnesi olabilir.
#3
SORU:
Öznitelik nedir, tanımlayınız?
CEVAP:
Her nesne, öznitelik olarak adlandırılan ve sahip olduğu özellikleri belirten verilere sahiptir. Örneğin, “müşteri” olarak tanımlanan bir nesne, müşteri numarası, isim, soyisim, ev adresi, iş adresi, ev telefon numarası, iş telefon numarası gibi özniteliklere sahip olabilir.
#4
SORU:
Davranış, fonksiyon ve kapsülleme kavramlarını açıklayınız?
CEVAP:
Her nesne, davranışlara sahiptir. Bu davranışlar, nesnenin neler yapabileceğini belirtir. Örneğin, bir nesne olarak kapı ile eşleştirilen davranışlar vardır. Kapı açılabilir, kapanabilir, kilitlenebilir ve kilidi açılabilir. Tüm davranışlar, kapı ile ilişkili davranışlardır. Başka bir nesne ile ilgisi yoktur. Nesne tabanlı programlamada, davranışlar fonksiyonlar olarak oluşturulur. Kapsülleme kavramı, nesne tabanlı sistemler ile ilişkilidir. Kapsülleme, nesneleri, nesnelerin özniteliklerini belirten verileri ve kendi verileri üzerinde işlem gerçekleştiren fonksiyonları bünyesinde barındırır.
#5
SORU:
Sınıf nedir, tanımını yapınız?
CEVAP:
Nesne modellemede bir başka önemli kavram, nesnelerin gruplandırılması için kullanılan sınıflardır. Benzer öznitelik tiplerine ve davranışlara sahip nesneler, sınıf olarak tanımlanır. Belirli bir sınıfa ait nesne örneklendiğinde, o sınıf için önceden tanımlanan özniteliklere ve davranışlara sahip bir nesne var olur. Her nesnenin örneklendiği bir sınıf vardır. Her sınıftan, farklı özniteliklere sahip birden çok nesne örneklenebilir.
#6
SORU:
Miras, genelleşme ve özelleşme kavramlarını açıklayınız?
CEVAP:
Sınıflar, üst sınıf ve alt sınıf olarak düzenlenebilmektedir. Bu düzenleme içinde, üst ve alt sınıflar arası ilişki miras (inheritance) ilişkisi olarak tanımlanmaktadır. Miras kullanılarak tasarlanan sınıfların ortak veri ve fonksiyonları üst sınıf altında toplanmaktadır. Bu teknik, genelleşme olarak tanımlanabilir. Üst sınıftaki veri ve fonksiyonları kullanmak üzere oluşturulan sınıflar alt sınıf olarak adlandırılır. Alt sınıflar, üst sınıftan kullandıkları veri ve fonksiyonlara ilave olarak yeni veri ve fonksiyonlar da içerir. Buna da özelleşme denir.
#7
SORU:
Nesneler arasındaki ilişkiyi özetleyiniz?
CEVAP:
Nesneler, diğer nesnelerden izole edilmiş (yalıtılmış) varlıklar değildir. Bir iş ya da işlem yerine getirmek üzere, birbirleri ile etkileşim içindedir. Buna göre bir nesne işin tamamlanması için bir diğer nesneden destek alabilir. Örneğin, bir yere giderken arabayı kullanarak onunla etkileşim içinde bulunulur. Ya da uzaktaki birisi ile konuşmak için telefon kullanılır. Benzer şekilde, nesneler de diğer nesneler ile etkileşim içindedirler. Örneğin, “Hasta” sınıfı ile “Randevu” sınıfı, bir bilgi sistemi ortamında var olabilir ve bir randevu gerçekleştirme amacı ile birlikte işlem yürütebilir. Buna göre; • Bir hasta, sıfır ya da daha fazla randevu alabilir. • Bir randevu, sadece ve sadece bir hasta tarafından alınır.
Sınıf ilişkilerini grafiksel olarak gösterildiğinde, çarpan değeri, bir sınıfın diğer sınıfa ait kaç tane nesne ile ilişkilendirileceğini belirtmektedir. Nesneler arasındaki ilişkinin türü farklılık gösterebilir. Söz konusu ilişki türleri, bir parçasıdır (is a part of) ya da –dan oluşmaktadır (is entirely made of) cümlecikleri ile ifade edilir. Toplanma (aggregation), bir nesnenin bir ya da daha çok nesneyi içermesini belirten ilişki türüdür. Örneğin, bilgisayar ve klavye ilişkisi bir örnek olarak verilebilir. Klavye, bilgisayarın bir parçasıdır. Bilgisayar, klavyeyi bir araç olarak kullanır. Ancak, bilgisayar kullanılamaz olduğunda, klavye bir başka bilgisayar ile kullanılmaya devam edebilir. Bu ilişkide, bütün içindeki bir parça, bütün olmadan da var olmaya devam eder. Toplanmaya göre daha sıkı ilişki, bileşim (composition) ile tanımlanmaktadır. Örneğin, masa ve ayak ilişkisi bu kategoride değerlendirilebilir. Masa, ayaklardan oluşmaktadır. Ayaklar, masa var olduğu sürece var olacaktır. Bu ilişkide bütün, parçalardan oluşmuştur. Bütün, parçaların örneklenmesinden ve yok edilmesinden tamamen sorumludur. Ayrıca, parça sadece bir bütüne aittir.
#8
SORU:
Mesaj ve mesaj gönderme nedir, açıklayınız?
CEVAP:
Nesnelerin etkileşimi ya da haberleşmesi ifadeleri, bir nesnenin diğer nesneye mesaj göndermesi anlamında kullanılır. Mesaj göndermek ise bir nesnenin sahip olduğu fonksiyona çağrı yapılmasını belirtmektedir. Mesaj gerçekte bir nesneden bir başka nesneye bir fonksiyon çağrısıdır. Örneğin, hasta ve randevu birer sınıf olsun. Hasta randevunun mevcut durumunu kontrol etmek üzere, randevu nesnesinin durum Goster fonksiyonuna çağrı yaparak bir mesaj gönderir.
#9
SORU:
Çok biçimlilik nedir, açıklayınız?
CEVAP:
Nesnelerin mesajlaşması ile ilgili önemli bir kavram, çok biçimlilik (polymorphism) olarak adlandırılmaktadır. Bu kavram, farklı nesneler tarafından aynı mesajın farklı yorumlanabilmesi olarak tanımlanabilir. Örneğin, kuş, balık ve kurbağa birer nesne olsun. Bütün bu nesnelerin ortak davranışları vardır: Hepsi hareket etme davranışına sahiptir. Ancak bu davranış her birinde farklı biçimde ortaya çıkmaktadır. Kuş uçarak,
balık yüzerek, kurbağa zıplayarak bu davranışı sergiler. Böylece, ortak bir davranış tipi farklı nesneler tarafından farklı biçimlerde ortaya çıkmaktadır. Bu yapının güzel tarafı, bir eylem bir nesne tarafından yürütülürken nasıl yapıldığı ile ilgilenilmemesidir. Basitçe, bir mesaj nesneye iletildiğinde, o nesne mesajı uygun şekilde yorumlamak ve yerine getirmekten sorumlu olmaktadır.
#10
SORU:
Alt sınıfın yerine geçme kavramı nedir, açıklayınız?
CEVAP:
Çok biçimlilik, miras sınıf hiyerarşisi ile oluşturulmaktadır. Üst sınıfa tanımlanan davranışların aynıları alt sınıflarda da bulunur. Harekete geçirilmek istenen davranışlar için mesajlar üst sınıfa iletilir. Üst sınıf, hangi alt sınıfın yerine geçti ise, o sınıfa ait davranış ortaya çıkar. Hiyerarşide bulunan tüm alt sınıflara üst sınıf üzerinde erişilir. Böylece, üst sınıf, alt sınıflar için bir arayüz görevi üstlenmiş olur. Nesne ilişkileri arayüz nesnesi üzerinden oluşturulacağından, arayüz nesnesi altına eklenen yeni alt sınıf, sistemde az bir değişiklik yapılarak ya da hiç değişiklik yapılmadan kullanılabilir.
#11
SORU:
Birleşik modelleme dilinin amacı nedir, açıklayınız?
CEVAP:
Birleşik modelleme dili (UML-Unified Modeling Language)nin amacı, herhangi bir sistem geliştirme projesinin, analizinden tasarımına kadar modellemesi için yeterince zengin ortak bir kelime dağarcığının sağlanmasıdır. UML kapsamında yer alan diyagram yapıları, hedeflenen bilgi sisteminin modellemesinde kullanılır. Modelin, düz yazı ile ifade edilmesi yerine grafiksel olarak temsil edilmesinin önemli bir gerekçesi vardır. Grafiksel gösterim, modelin daha kolay anlaşılmasını sağlar. Ayrıca, bilgi teknolojileri uzmanlarının sistem analizi ve tasarımı üzerinden daha hızlı ve doğru bir şekilde haberleşmesi, UML diyagramları kullanımı ile mümkün olabilmektedir.
#12
SORU:
Yapısal diyagramlar ve davranış diyagramlarını açıklayınız?
CEVAP:
UML 2.5 sürümünde, 15 farklı diyagram tekniği bulunmaktadır. Bu diyagramlar, yapısal diyagramlar ve davranış diyagramları olmak üzere iki grupta toplanabilir. Yapısal diyagramlar, bir bilgi sisteminde bulunan veriler ve statik ilişkileri temsil etmek üzere kullanılır. Davranış diyagramları ise bilgi sistemini temsil eden nesneler arasındaki dinamik ilişkileri tanımlamak için kullanılır. Ayrıca bu davranış diyagramları, bir nesnenin var olduğu sürece sergilediği dinamik davranışları modellemeye de imkân sağlar.
#13
SORU:
Kullanım durum diyagramlarını açıklayınız?
CEVAP:
Kullanım durum’lar, bütün UML diyagram teknikleri arasında en yaygın olarak kullanılanıdır. Kullanım durum, bilgi sistemi ile bu sistemin kullanıcıları arasındaki etkileşimi modellemek için kullanılır. Kullanım durum diyagramlarında, aktörler, kullanım durumlar, sistem sınırı ve ilişkiler için grafiksel gösterim elemanları bulunmaktadır. Aktörler, adam şeklinde gösterilir. Aktör belirli bir kullanıcı değil, kullanıcının sistem ile etkileşiminde oynadığı roldür. Aktör aynı zamanda, sistem ile etkileşim içinde olan başka bir sistem de olabilir. Bu durumda aktör, içinde <<actor>> yazan bir dikdörtgen şekil ile gösterilir. Kullanım durum’lar ve aktörler arasındaki ilişki, aralarında bulunan bir çizgi ile gösterilir. Kullanım durum’lar, elips şekli ile gösterilir ve içinde kullanım durum’u belirten bir isim-fiil ifadesi yer alır. Aktörün isteği ile sistem tarafında yapılacak işlemler bu elipsler ile gösterilir. Kullanım durum’lar, bir sistem sınırı içinde toplanır. Sistem sınırı bir kutu şeklinde gösterilir ve sistemin kapsamını belirtir.
#14
SORU:
Sınıf diyagramlarını açıklayınız?
CEVAP:
Başlıca diyagram tekniklerinden bir diğeri, sınıf diyagramlarıdır. Sınıf diyagramları, gelişen sistemin statik görüntüsünü veren statik bir modeldir. Sınıfları ve sınıflar arasındaki ilişkileri gösterir. Bu diyagramda, ana yapısal blok sınıftır. Üç parçalı dikdörtgen şekli ile gösterilmektedir. En üst parçada sınıfın adı, orta parçada öznitelikleri ve en alt parçada ise fonksiyonları bulunur. Sınıf üyelerinin erişilebilir olması, bilginin saklanma düzeyleri ile tayin edilmektedir. Buna göre, public tanımlı üyelere, bütün nesneler tarafından erişilebilir. protected tanımlı üyelere, sınıfın alt sınıfları dışındaki tüm sını ar ve nesnelerin erişimi engellenir. private tanımlı üyelere, bütün diğer sınıfların ve nesnelerin erişimi engellenir. Sınıfın diyagramda gösteriminde, public üyeler (+), protected üyeler (#) ve private üyeler (-) işareti ile gösterilmektedir.
#15
SORU:
Dizge diyagramlarını açıklayınız?
CEVAP:
Dizge diyagramları, bir kullanım durum içindeki faaliyetleri gerçekleştiren nesneleri ve bir kullanım durum için aralarında geçen mesajları gösterir. Geliştirilen sisteme dinamik bir bakış sağlayan dinamik bir modeldir. Tanımlı bir etkileşim içinde, nesneler arasında gerçekleşen mesaj dizisi gösterilir. Dizgenin katılımcıları (aktörler ya da nesneler), diyagramda en tepede yan yana yerleştirilir. Nesneler belirtilirken, üstüste iki noktanın solunda nesne adı, sağında ise sınıf belirtilir. Aynı isimde başka bir nesne ya da aktör yoksa üst üste iki noktanın solunda nesne adı yazılmayabilir. Aktörler, kullanım durum’da bulunan sembollerle ya da dikdörtgen şekli ile gösterilmektedir. Her bir nesne ve aktörün altında dikey kesikli bir çizgi bulunmakta ve bu çizgi her biri için hayat çizgisini belirtmektedir. Ayrıca, kesikli çizgi üzerinde bulunan ince dikdörtgen, nesnenin mesaj gönderdiği ya da aldığı zamanı belirtmektedir. Nesnelerin hayat çizgileri arasında gösterilen oklar ise bir nesneden diğerine aktarılan mesajı belirtir.
#16
SORU:
Durum geçiş diyagramlarını açıklayınız?
CEVAP:
Dizge diyagramları, bir kullanım durum içindeki faaliyetleri gerçekleştiren nesneleri ve bir kullanım durum için aralarında geçen mesajları gösterir. Geliştirilen sisteme dinamik bir bakış sağlayan dinamik bir modeldir. Tanımlı bir etkileşim içinde, nesneler arasında gerçekleşen mesaj dizisi gösterilir. Dizgenin katılımcıları (aktörler ya da nesneler), diyagramda en tepede yan yana yerleştirilir. Nesneler belirtilirken, üstüste iki noktanın solunda nesne adı, sağında ise sınıf belirtilir. Aynı isimde başka bir nesne ya da aktör yoksa üst üste iki noktanın solunda nesne adı yazılmayabilir. Aktörler, kullanım durum’da bulunan sembollerle ya da dikdörtgen şekli ile gösterilmektedir. Her bir nesne ve aktörün altında dikey kesikli bir çizgi bulunmakta ve bu çizgi her biri için hayat çizgisini belirtmektedir. Ayrıca, kesikli çizgi üzerinde bulunan ince dikdörtgen, nesnenin mesaj gönderdiği ya da aldığı zamanı belirtmektedir. Nesnelerin hayat çizgileri arasında gösterilen oklar ise bir nesneden diğerine aktarılan mesajı belirtir. Bu diyagramlar oluşturulurken kullanılan elemanlardan biri durumdur. Durum, belli bir zamanda belli bir noktada, bir nesneyi tanımlayan değerler kümesidir. Diyagramda olaylar, nesnelerin bir durumdan diğerine geçmesinde tetikleyici olarak görev alır. Geçiş, diyagramda ok ile gösterilir ve nesnenin hangi durumdan hangisine geçeceğini gösterir. Geçişi tetikleyen olay, ok çizgisinin üzerinde bulunur.
#17
SORU:
Etkinlik diyagramlarını açıklayınız?
CEVAP:
Kullanım durum ya da iş süreç faaliyetlerinin ardışık akışını göstermek için etkinlik diyagramları kullanılır. Etkinlik diyagramı oluşturulurken kullanılan başlıca bileşenler, eylemler ve faaliyetlerdir. Bu elemanlar, diyagramda köşeleri yumuşatılmış dikdörtgen şekli ile oluşturulur. İçinde, fiil ve isim çi inden oluşan kelimeler vardır. İsimler, kolayca anlaşılması için yeterince bilgi içerecek biçimde mümkün olduğunca kısa olmalıdır. Eylem ile faaliyetler arasındaki fark, faaliyetlerin daha sonra bir dizi eylem ve alt faaliyetlere bölünebilmesidir. Ancak, eylemler bölünemezler. Ayrıca diyagramda, düğümler bulunmaktadır. Temelde, başlangıç, karar, birleşim ve bitiş düğümü olarak dört tür düğüm bulunmaktadır. Başlangıç düğümü, faaliyet ve eylemlerin başlangıcını tanımlar. Bitiş düğümü, faaliyetlerin sonlanmasını gösterir. Bu düğüm ayrıca bir nesne akışı ya da kontrol akışının sonlanmasını da gösterir. Karar düğümü, akışın hangi yoldan ilerleyeceği kararının verilmesi gereken noktayı temsil eder. Birleşim düğümü, birden çok akışın birleşmesini sağlar.
#18
SORU:
Nesne tabanlı analiz gerçekleştirmenin amacını ve aşamalarını belirtiniz?
CEVAP:
Nesne tabanlı analiz gerçekleştirmenin amacı diğer sistem analiz metotlarında olduğu gibi, sistemin ve sistemden beklenen işlevlerin daha iyi anlaşılmasıdır. Böylece, nesne tabanlı analiz sürecinde, kullanıcı açısından istenen sistem fonksiyonları belirlenmektedir. Ayrıca, gereksinimlerin yerine getirilmesini sağlayacak olan nesnelerin, sahip oldukları verilerin, davranışların ve ilişkilerinin belirlenmesi söz konusudur. Nesne tabanlı analiz, aşağıda sıralanan üç aşamada gerçekleştirilir: • Sistem fonksiyonlarının modellenmesi• Nesnelerin saptanması ve tanımlanması• Nesnelerin düzenlenmesi ve ilişkilerinin tanımlanması
#19
SORU:
Sistem fonksiyonlarının modellenmesini açıklayınız?
CEVAP:
Bu aşamada öncelikle kullanım durum modeli oluşturulur. Sonra, kullanım durum faaliyetleri modellenir. Son olarak da sistemin dizge diyagramları çizilir.
#20
SORU:
Kullanım durum modeli oluşturma aşamalarını belirtiniz?
CEVAP:
Adım 1. Yeni aktörlerin saptanması, tanımlanması ve belgelendirilmesi: İş gereksinimlerinin kullanım durum modellerine, nesne tabanlı analiz sırasında yeni aktörlerin eklenmesi gerekebilir. Bu aşamada, eklenecek aktörler belirlenir ve aktörlerin tanımlaması yapılır.
? Adım 2. Yeni kullanım durumlarının saptanması, tanımlanması ve belgelendirilmesi: Yeni aktörlerin eklenmesi ile yeni kullanım durum’ların eklenmesi de söz konusu olabilir. Bu adımda, yeni kullanım durum’lar saptanır ve tanımlanır.
? Adım 3. Yeniden kullanım olasılıklarının belirlenmesi: Aynı iş amacına sahip olan birden çok kullanım durum’u olabilir. Bu kullanım durumlar, farklı kullanıcılar için aynı adımlara sahip olabilir. Fazlalık adımları atmak için bu ortak adımlar çıkarılıp ayrı bir soyut (abstract) kullanım durum altında toplanabilir. Diğer tara an, kullanım durumlar analiz edilirken, anlaşılmayı güçleştiren karmaşık işlevlerin bulunduğu adımlar saptanırsa, daha karmaşık adımlar genişleme (extension) ve ekleme (include) kullanım durumlar olarak adlandırılan ayrı bir kullanım durum içinde toplanabilir. Şekil 7.13’te ekleme ve genişleme kullanılan kullanım durum diyagramı örneği verilmiştir.
? Adım 4. Kullanım durum model diyagramının düzeltilmesi: Yapılan eklemelere uygun olarak
kullanım durum diyagramlarını yeniden düzenlemek gerekebilir.
? Adım 5. Sistem analizi kullanım durum hikâyelerinin belgelenmesi: Tüm iş gereksinimlerine göre oluşturulan kullanım durum’lar, kullanıcılar tarafından incelenir ve onaylanır. Sonra, her bir kullanım durum, sistem işlevselliğini ayrıntılı olarak anlatacak ve daha fazla bilgi içerecek biçimde düzenlenir.
#21
SORU:
Kullanım durum etkinliklerini modelleme nedir açıklayınız?
CEVAP:
Bir başka diyagram tipi olan etkinlik diyagramı, süreç adımlarını ya da sistem faaliyetlerini modellemek için kullanılır. Bir iş süreci ya da kullanım durum’un faaliyet akışı grafiksel olarak gösterilir. Akış diyagramlarına benzerlik göstermesine rağmen, bu diyagram paralel işleyen faaliyetleri gösterecek mekanizmalara sahiptir. Etkinlik diyagramları oluşturulurken aşağıdaki süreç işletilebilir.
? Başlangıç noktası olarak, bir başlangıç düğümü ile başlanır.
? Analizle ilgili ise bölütler eklenir. Kullanım durum’un her bir temel adımı ya da aktörün başlattığı her bir temel adım için bir eylem eklenir.
? Her bir eylemden diğerine, bir akış, bir karar düğümü ya da bir bitiş düğümü eklenir. Yüksek hassasiyet için, her bir eyleme bir gelen bir de giden akış olmalıdır.
? Değişen rotalara bölünen akışlar için karar düğümleri eklenir. Akışların, birleştirici ile bir araya gelmesine de dikkat edilir.
? Etkinlikler, tek bir bitiş düğümde bitirilir.
#22
SORU:
Sistem dizge diyagramlarını, açıklayınız?
CEVAP:
Sistem fonksiyonlarının modellenmesinde kullanılan bir başka araç, dizge diyagramlarıdır. Dizge diyagramları, kullanım durum’un işleyişi sırasında, mesajlar aracılığıyla nesnelerin etkileşimini gösterir. Sistem dizge diyagramlarını oluşturmak için aşağıdaki adımlar izlenebilir.
? Gösterilecek kullanım durum’un senaryosu belirlenir.
? Bir bütün olarak sistemi belirten bir dikdörtgen çizilir ve altında hayat çizgisi genişletilir.
? Sisteme girdi sağlayan ya da sistemin çıktısını alan aktörler belirlenir ve her birinin hayat çizgisi çizilir.
? Sistem girdi ve çıktılarını belirlemek için kullanım durum senaryoları incelenir. Sistem içinde gerçekleşen mesajlar dikkate alınmaz. Aktörlerden sisteme ve sistemden aktörlere giden mesajlar hayat çizgileri arasındaki yatay ok ile gösterilir. Girdiler isimlendirilir. Bunlar daha sonra, nesnelerin verilerini ve davranışlarını belirlemekte yardımcı olacaktır.
? Tercihli mesajlar için koşullarla birlikte çerçeveler eklenir. Çerçeveler ayrıca, döngüler ve alternatifl eri de gösterebilir.
? Mesajların yukarıdan aşağıya doğru uygun bir sırada gösterildiği teyit edilir.
#23
SORU:
Nesne bulma ve tanımlama sürecinde kullanılan aşamaları sıralayınız?
CEVAP:
Adım 1. Potansiyel nesneleri bul: Bu adımda, kullanım durum’lara bakılacak ve iş varlıkları ve olaylarını belirten isimler bulunacaktır. Bu isimlerden bir liste oluşturulacaktır.
? Adım 2. Önerilen nesneleri seç: Oluşturulan listedeki tüm isimler bir nesne oluşturamaz. Her bir aday nesne analiz edilir, aşağıdaki sorular yöneltilir ve listede kalıp/kalmayacağına karar verilir.
? Aday, başka bir nesne ile eş anlamlı mı? Ya da farklı bir isimle aynı nesne zaten var mı? • Aday, sistemin kapsamı dışında mı? • Aday, hiç bir davranışa sahip olmayan bir rol mü? Ya daharicı^bir rol mü? • Aday, tam açık değil mi ve odaklanma ihtiyacı mı var? Aday, başka bir nesneyi tanımlayan bir eylem ya da özellik mi?
Eğer bu sorulardan herhangi birine verilen cevap evet ise o isim listeden çıkarılır. Eğer adaylardan özellik belirtenler varsa, onlar ayrı bir listede tutulabilir. Bu listeye, sınıf diyagramı oluşturulurken ihtiyaç duyulabilir. Eğer sorunun cevabından emin olunmazsa, aday listede bırakılır.
#24
SORU:
Nesnelerin düzenlenmesi ve ilişkilerin tanımlanması için hangi aşamalar izlenir?
CEVAP:
Adım 1. İlişkileri ve çarpanı belirle: Bu adımda, nesneler arasında bulunan ilişkiler tanımlanır. Bu ilişkiler, hangi nesnelerin arasında mesajlaşma olduğunu ve mesajın iletilme yönü hakkında bilgi verir. İlişki belirlendikten sonra çarpanın da belirlenmesi gerekir. Bir sınıf matrisi oluşturmak, ilişkilerin belirlenmesinde faydalı olacaktır. Matrisin satır ve sütunlarında nesneler bulunur ve bu matris nesneler arasında çapraz karşılaştırma yapma imkânı verir.
? Adım 2. Genelleştirme/Özelleştirme ilişkilerini tanımla: Nesneler arasındaki temel ilişki ve çarpan belirlendikten sonra, genelleştirme ya da özelleştirme ilişkisi olup/olmadığı incelenir.
? Adım 3. Toplanma /bileşim ilişkilerinin belirlenmesi: Bu kısımda, nesneler arasında toplanma ya da bileşim ilişkisi aranır.
? Adım 4.Sınıf diyagramı hazırlama: Belirlenen sınıflar ve ilişkilerinin UML sınıf diyagramı olarak hazırlanması gerekir.
#25
SORU:
Sistem geliştirmede nesne tabanlı yaklaşımda nesne kavramı nasıl açıklanmaktadır?
CEVAP:
Sistem geliştirmede nesne tabanlı yaklaşım kullanıldığında, sistemi oluşturacak nesnelerin belirlenmesi önemlidir. Nesneler, bir insan, bir yer, bir olay ya da bilgiyi bünyesinde tutmak istediğimiz bir şey olabilir. Bir çalışan, müşteri, eğitmen ve öğrenci insan nesneleri; bir depo, ofis, bina ve oda yer nesneleri; bir ürün, otomobil, bilgisayar ve bilgisayar ekranındaki pencere bir şey nesnesi;
sipariş, ödeme, fatura ve rezervasyon, birer olay nesnesi olabilir.
#26
SORU:
Nesne tabanlı modelleme yaklaşımında davranışlar nelerdir?
CEVAP:
Davranışlar (behaviors), bir nesnenin yapabildiği şeyleri belirtir ve nesnenin verileri üzerinde işlem yürüten fonksiyonlar olarak gerçeklenir.
#27
SORU:
Kapsülleme nasıl tanımlanmaktadır?
CEVAP:
Kapsülleme (encapsulation), verilerin ve bu veriler ile ilişkili işlemlerin bir varlık içerisinde tutulmasıdır.
#28
SORU:
Nesne modellemedeki bir sınıf içinde miras kavramı nasıl tanımlanmaktadır?
CEVAP:
Sınıflar, üst sınıf ve alt sınıf olarak düzenlenebilmektedir. Bu düzenleme içinde, üst ve alt sınıflar arası ilişki miras (inheritance) ilişkisi olarak tanımlanmaktadır. Miras (inheritance), bir nesnenin sahip olduğu veri
ve fonksiyonların başka bir nesne tarafından miras yolu ile kullanılmasını belirten kavramdır.
#29
SORU:
Nesneler arası ilişkiler düşünüldüğünde toplanma (aggregation) nasıl bir ilişki türüdür?
CEVAP:
Toplanma (aggregation), bir nesnenin bir ya da daha çok nesneyi içermesini belirten ilişki türüdür. Örneğin, bilgisayar ve klavye ilişkisi bir örnek olarak verilebilir. Klavye, bilgisayarın bir parçasıdır. Bilgisayar, klavyeyi bir araç olarak kullanır. Ancak, bilgisayar kullanılamaz olduğunda, klavye bir başka bilgisayar ile kullanılmaya devam edebilir. Bu ilişkide, bütün içindeki bir parça, bütün olmadan da var olmaya devam eder.
#30
SORU:
Nesnelerin birbirleriyle mesajlaşmalarında çok biçimlilik nasıl gerçekleşmektedir?
CEVAP:
Nesnelerin mesajlaşması ile ilgili önemli bir kavram, çok biçimlilik (polymorphism) olarak adlandırılmaktadır. Bu kavram, farklı nesneler tarafından aynı mesajın farklı yorumlanabilmesi olarak tanımlanabilir. Örneğin, kuş, balık ve kurbağa birer nesne olsun. Bütün bu nesnelerin ortak davranışları vardır: Hepsi hareket etme davranışına sahiptir. Ancak bu davranış her birinde farklı biçimde ortaya çıkmaktadır. Kuş uçarak, balık yüzerek, kurbağa zıplayarak bu davranışı sergiler. Böylece, ortak bir davranış tipi farklı nesneler tarafından farklı biçimlerde ortaya çıkmaktadır.
#31
SORU:
Birleşik modelleme dilinin amacı nedir?
CEVAP:
Birleşik modelleme dili (UML-Unified Modeling Language)nin amacı, herhangi bir
sistem geliştirme projesinin, analizinden tasarımına kadar modellemesi için yeterince zengin ortak bir kelime dağarcığının sağlanmasıdır.
#32
SORU:
Yapısal diyagramların kullanılmasının nedenleri nelerdir?
CEVAP:
Yapısal diyagramların kullanılmasının nedenleri şu şekildedir:
Sınıf (Class)-Sistemde modellenen sınıflar ve ilişkilerini gösterir.
Nesne (Object)-Sistemde modellenen nesneler ve ilişkilerini gösterir.
Paket (Package)-Sınıflar ve diğer UML yapılarının paket içinde nasıl düzenleneceğini gösterir.
Dağılım (Deployment)-Sistemin fiziksel mimarisini gösterir. Ayrıca, fiziksel
mimaride yer alan yazılım bileşenlerini göstermek üzere
kullanılabilir.
Bileşen (Component)-Yazılım bileşenlerinin fiziksel ilişkilerini gösterir.
Birleşik Yapı (Composite Structure)-Bir sınıf, bileşen ya da kullanım durum’un içyapısını gösterir.
Profil (Profile)-UML için uzantılar geliştirmekte kullanılır.
#33
SORU:
Davranışsal diyagramlar haberleşmede neden kullanılmaktadır?
CEVAP:
Davranışsal diyagramlar bir kullanım durum ya da faaliyetlerin işletilme sürecinde nesnelerin davranışlarını modeller. İş birliği yapan nesnelerin haberleşmesine odaklanır.
#34
SORU:
UML diyagramları arasında en yaygın kullanılan diyagram hangisidir?
CEVAP:
Kullanım durum’lar, bütün UML diyagram teknikleri arasında en yaygın olarak kullanılanıdır.
#35
SORU:
Sınıf diyagramlarında public, protected ve private üyeler arasındaki işleyiş nasıl gerçekleşmektedir?
CEVAP:
Sınıf üyelerinin erişilebilir olması, bilginin saklanma düzeyleri ile tayin edilmektedir. Buna göre, public tanımlı üyelere, bütün nesneler tarafından erişilebilir. protected tanımlı üyelere, sınıfın alt sınıfları dışındaki tüm sınıflar ve nesnelerin erişimi engellenir. private tanımlı üyelere, bütün diğer sınıfların ve nesnelerin erişimi engellenir. Sınıfın diyagramda gösteriminde, public üyeler (+), protected üyeler (#) ve private üyeler (-) işareti ile gösterilmektedir.
#36
SORU:
Karmaşık sınıfların fonksiyonları için geliştirilen algoritmaların basitleştirilmesine yardım eden diyagram türü hangisidir?
CEVAP:
Durum geçiş diyagramları, tek bir sınıfın olaylara tepki olarak geçiş yaptığı farklı
durumları gösteren dinamik bir modeldir. Bütün sınıflar için kullanılmaz ancak, karmaşık sınıfların fonksiyonları için geliştirilen algoritmaların basitleştirilmesine yardım eder.
#37
SORU:
Etkinlik diyagramı oluşturulurken kullanılan başlıca bileşenler nelerdir?
CEVAP:
Etkinlik diyagramı oluşturulurken kullanılan başlıca bileşenler eylemler
ve faaliyetlerdir. Bu elemanlar, diyagramda köşeleri yumuşatılmış dikdörtgen şekli ile oluşturulur. İçinde, fiil ve isim çiftinden oluşan kelimeler vardır.
#38
SORU:
Nesne tabanlı analiz hangi aşamalarla gerçekleşmektedir?
CEVAP:
Nesne tabanlı analiz, aşağıda sıralanan üç aşamada gerçekleştirilir:
• Sistem fonksiyonlarının modellenmesi
• Nesnelerin saptanması ve tanımlanması
• Nesnelerin düzenlenmesi ve ilişkilerinin tanımlanması
#39
SORU:
Kullanım durum modeli oluşturulurken 4. adımda süreç nasıl gerçekleşmektedir?
CEVAP:
Adım 4. Kullanım durum model diyagramının düzeltilmesi: Yapılan eklemelere uygun olarak kullanım durum diyagramlarını yeniden düzenlemek gerekebilir.
#40
SORU:
Etkinlik diyagramları oluşturulurken hangi aşamalar izlenmektedir?
CEVAP:
Etkinlik diyagramları oluşturulurken aşağıdaki süreç işletilebilir:
• Başlangıç noktası olarak, bir başlangıç düğümü ile başlanır.
• Analizle ilgili ise bölütler eklenir.
• Kullanım durum’un her bir temel adımı ya da aktörün başlattığı her bir temel adım için bir eylem eklenir.
• Her bir eylemden diğerine, bir akış, bir karar düğümü ya da bir bitiş düğümü eklenir.
Yüksek hassasiyet için, her bir eyleme bir gelen bir de giden akış olmalıdır.
• Değişen rotalara bölünen akışlar için karar düğümleri eklenir. Akışların, birleştirici ile bir araya gelmesine de dikkat edilir.
• Etkinlikler, tek bir bitiş düğümde bitirilir.
#41
SORU:
Nesne modelleme sürecinde, nesnelerin düzenlenmesi ve ilişkilerinin tanımlanması adımları nelerdir?
CEVAP:
Adım 1. İlişkileri ve çarpanı belirlenmesi
Adım 2. Genelleştirme/Özelleştirme ilişkilerini tanımlanması
Adım 3. Toplanma /bileşim ilişkilerinin belirlenmesi
Adım 4.Sınıf diyagramı hazırlanmasıdır.
#42
SORU:
Nesnelerin saptanması ve tanımlanması basamağında önerilen nesnelerin seçilmesinde hangi sorulara cevap aranmaktadır?
CEVAP:
• Aday, başka bir nesne ile eş anlamlı mı? Ya da farklı bir isimle aynı nesne zaten var mı?
• Aday, sistemin kapsamı dışında mı?
• Aday, hiç bir davranışa sahip olmayan bir rol mü? Ya da haricî bir rol mü?
• Aday, tam açık değil mi ve odaklanma ihtiyacı mı var?
• Aday, başka bir nesneyi tanımlayan bir eylem ya da özellik mi?
Eğer bu sorulardan herhangi birine verilen cevap evet ise o isim listeden çıkarılır.
#43
SORU:
Nesneler belirlenirken kullanım durum modellerinden faydalanılmasının nedeni nedir?
CEVAP:
Nesneler belirlenirken çok sayıda isim, potansiyel nesne olarak ortaya çıkabilir. Bu sayıyı azaltmak için, sistemin kullanım durum modellerinden faydalanılabilir. Çünkü kullanım durum modelleri, sistem kapsamını kullanım durum’lar olarak bölmektedir. Aşağıdaki adımlar, nesne bulma ve tanımlama sürecinde kullanılır.
#44
SORU:
Bölüt nedir?
CEVAP:
Bölüt, etkinlik diyagramında faaliyetleri gerçekleştirecek aktör ya da nesnelerin satır veya sütun olarak gösterildiği kısımlardır. Faaliyetler ilgili oldukları aktör ya da nesnelerin bölütleri altında gösterilir.