Jul 7, 2011
utkuozan

Sınıf diyagramı

Sınıf diyagramları bir sistem içerisindeki nesne tiplerini ve birbirleri ile olan ilişkileri tanımlamak için kullanılırlar. Sınıf diyagramları, sınıf yapısını ve içeriğini sınıflar, paketler ve nesneler kullanarak modeller ve bir sistemi 3 farklı perspektiften; kavramsal, tanımsal ve yaşamsal açıdan ele alır.

Sınıf’lar üç şeyden oluşur: bir isim, nitelikler (property) ve işlemler (method).

Sınıf diyagramı

Sınıf diyagramları aynı zamanda içerme, kalıtım, ilişki ve diğer bağlantıları ifade eder. Aşağıda bir ilişki bağlantısı gösterilmektedir.

Sınıf ilişkileri

İlişki bağlantıları bir sınıf diyagramdaki en genel bağlantıdır. İlişki sınıf’ın örnek (instance)’leri arasındaki bağlantıları gösterir. Örneğin Sipariş sınıfı Müşteri sınıfı ile ilişkilidir. Çokluk ilişkisi bu ilişkiye dahil olabilecek nesne sayısını temsil eder. Örnekte Sipariş nesnesi sadece bir Müşteriye ilişkilendirilebilirken bir Müşteri birden fazla Sipariş ile ilişkilendirilebilir.

Sınıf diyagramlarında sıklıkla kullanılan bir diğer ilişki de genelleştirmedir. Genelleştirme iki sınıfın biribirine benzer olup da sadece küçük farklarla ayrıldığı durumlarda kullanılır. Aşağıda bir genelleştirme örneği görülmektedir.

Genelleştirme

Bu örnekte Kurumsal Müşteri ve Bireysel Müşteri sınıflarında ad ve adres gibi alanlar ortak olmakla birlikte her sınıfın kendine özgü alan ve metodları da mevcuttur. Müşteri sınıfı ise her iki sınıfın genel yapısını temsil eder.

Sınıf Diyagramları nasıl çizilir:

Sınıf diyagramları en zor çizilen UML diyagramları arasındadır. Detaylı ve kullanışlı bir diyagram çizebilmek uzun süreli bir UML ve OO bilgisi gerektirir. Burada ise sadece genel bir bakış ortaya koyan, temel bir örnekle yetinilecektir.

Sınıf diyagramı çizmeden önce, çizilecek diyagramın sistemi her üç perspektiften de (kavramsal, tanımsal ve yaşamsal) göstermesi gerektiğini unutmayın. Diyagram tek bir perspektife odaklanmamalı, hepsinin bir arada nasıl çalışabileceğini göstermelidir.

Bir sınıfı tasarlarken hangi özelliklere ve işlemlere sahip olması gerektiğini göz önünde bulundurun. Daha sonra bu sınıftan türetilen örneklerin birbirleri ile nasıl etkileşeceğini düşünün. Bunlar her ne kadar bir sınıf diyagram çizmenin ilk adımları olsa da bu temel çizim ile bile sistemin genel yapısı ortaya koyulabilir.

Sınıf diyagramı nasıl çizilir
Jul 7, 2011
utkuozan

Use-case diyagramları

Use case, bir kullanıcı ile sistem arasındaki etkileşimi göstermek üzere kullanılan senaryolar topluluğudur. Bir use case diyagramı aktörler ile use case’ler arasındaki ilişkiyi gösterir. Bu diyagram türünün iki temel elemanı aktör ve use case’dir.

uml01

Aktör, modellemekte olduğumuz sistem ile etkileşimde bulunan bir kişi ya da diğer bir sistemi temsil eder. Use case ise kullanıcının bir işlemini yerine getirmek üzere yapılan eylemleri yapan sistemin, dışarıdan bir görünüşüdür.

Use case diyagramları nasıl çizilir:

UML diyagramlarının çizimi kolay bir iş olmasına rağmen örnek olarak çok basit bir model ele alınmıştır.

Bunun için önce bir işlemi tamamlamak için kullanıcının ilerleyeceği süreçler sıralanır. Örneğin bir firmaya sipariş verecek olan kişi aşağıdaki adımları izleyecektir.

  • Katalog tarama ve ürün seçme
  • Müşteri temsilcisini arama
  • Teslimat bilgisini verme
  • Ödeme bilgilerini verme
  • İşlemi onaylatma

Bahsedilen bu adımların use case diyagramı aşağıdaki gibi olmaktadır.

uml02

Bu örnekte aktör olarak müşteri gösterilmiştir çünkü sipariş sürecini yürüten kişi müşteridir. Diyagram, yukarıda listelenen adımları alır ve müşterinin gerçekleştirebileceği eylemler olarak gösterir. Bu diyagrama müşteri temsilcisi de dahil edilmelidir, çünkü bu süreçte o da etkileşimde bulunmaktadır.

Yukarıda gösterilen diyagramdan sipariş sürecinin işleyişi kolaylıkla çıkarılabilmektedir. Sistem gereken eylemleri yerine getirebilmek için  listelenen bütün use case’leri gerçekleştirmelidir.

Jul 7, 2011
utkuozan

UML’e giriş

UML nedir?

Unified Modelling Language (UML) yazılım sistemlerinin olgularını tanımlamak, görselleştirmek, oluşturmak ve dokümante etmek için kullanılan bir standartlar dilidir. UML, büyük ve karmaşık sistemlerin modellenmesinde başarısı ispatlanmış deneyimlerin bir araya gelmesiyle oluşmuştur ve Object Oriented Software (OOS) ve yazılım geliştirme sürecinin önenli bir parçasıdır. UML, yazılım projelerinin tasarımını daha çok grafiksel öğeler ile belirtir. UML kullanımı ekip içerisindeki iletişimi güçlendirir, potansiyel tasarımların ortaya çıkmasını sağlar ve yazılımın mimari tasarımını ortaya koyar.

UML’in amaçları

  • Kullanıcılara geliştirip paylaşabilecekleri anlamlı bir göresel modelleme dili sunmak.
  • Temel kavramları genişletmeye yönelik olarak genişleyebilir ve özelleştirilebilir bir mekanizma sunmak.
  • Uygulama geliştirme dillerinden ve geliştirme süreçlerinden bağımsızlığı sağlamak.
  • Modelleme dillerini anlamak üzere biçimsel bir zemin hazırlamak.
  • Bileşen, pattern, framework ve bir arada yürütülen projelerin ileri seviyede geliştirilmesine destek sağlamak.

UML Diyagram tipleri

Aslında UML tipleri burada bahsedeceklerimizden çok daha fazladır. Fakat giriş seviyesinde ortalama bir programcının bilmesi gereken ve en sık kullanılan UML diyagramlarına öncelik vermek istedim. Diğer diyagramları da sıra geldikçe açıklamaya çalışacağım.

Use case diyagramı: Aktörler ve use case’ler arasındaki ilişkiyi gösterir.

Sınıf diyagramı: Sınıf, package ve nesne gibi tasarım elemanlarını kullanarak sınıf yapısını ve içeriğini gösterir.

Etkileşim diyagramları

Dizge (Sequence) diyagramı: Etkileşimde bulunan nesnelerin zaman içindeki sıralanışını gösterir. Dikey boyut (zaman) ve yatay boyut (nesneler)’tan oluşur.

İşbirliği (Collaboration) diyagramı: Nesnelerin çevreleri ile kurduğu etkileşimleri ve birbirlerine olan bağlantılarını gösterir. Mesajların sırası numaralar ile belirtilir.

Durum (State) diyagramı: Bir nesnenin yaşam döngüsü içerisinde gelen isteklere verdiği tepkileri; yanıtları ve eylemleri ile birlikte durum sırasında gösterir.

Etkinlik (Activity) diyagramı: Çoğu durumun eylem durumu olduğu ve geçişlerin bir durumdaki eylemin sonuçlanması ile tetiklendiği özel bir durum diyagramı türüdür. Bu diyagram daha çok iç işlemler esnasındaki akışı gösterir.

Fiziksel diyagramlar

Bileşen (Component) diyagramı: Kodun yüksek seviyede paketlenmiş yapısını gösterir. Bileşenler arasındaki bağlantılar kaynak kodu bileşeni, ikili (binary) kod bileşenler ve çalıştırılabilir bileşenleri de içerecek şekilde gösterilir. Bazı bileşenler derleme zamanında, bağlama zamanında, çalışma zamanında ya da birkaçında birden var olabilir.

Dağıtım (Deployment) diyagramı: Çalışma zamanında işlenen elemanları ve yazılım bileşenlerini, süreçleri ve üzerinde yaşayan nesnelerin düzenleşimlerini gösterir.

Jul 7, 2011
utkuozan

Merhaba

İnternette tamamen kendime ait bir alanda yazmayalı uzun zaman olmuştu. Öğrencilik yıllarımdan kalma, Notepad’de, HTML ile yazılmış ilk web sayfamdan bu yana geçen yıllarda hep internetteki ücretsiz, kullanımı serbest alanları kullandım. Aslında hep aklımdaydı, kendi alan adımı alıp kendi sitemde yazmak. Fakat kimi zaman fikirleri fiiliyata dökmek sandığımız kadar kolay olmuyor. Anca bu sene, nihayet üzerimdeki ataleti atıp, kendi alanımı yaratabildim internet üzerinde. Ve ilk iş olarak da blog’umu ayağa kaldırdım.

Şimdilik kısa bir merhabayla başlayan bu blog’umda ağırlıkla yazılım konuları işlenecek olsa da içeriği tamamen kısıtlamayacağım. Ne de olsa hayat sadece işten ibaret değil.

İlk olarak internette dağınık olarak bulunan yayınlarımı toplayacağım ardından da kendi yazılarımı yayınlayacağım bu blog adresinde ve kısa bir sürede açmayı planladığım asıl web sitem‘de tekrar görüşmek üzere….

Hoşçakal… değil… Merhaba…

Pages:«12

AzerbaijaniEnglishFrenchGermanItalianPortugueseRussianSpanishTurkish