Sınıf nedir?
Sınıf, Nesne oluşturmak için kullanılan bir plandır. Sınıf, nesnenin neler yapabileceğini tanımlar.
Sınıf Diyagramı nedir?
UML SINIF ŞEMASI , sınıfları, öznitelikleri, işlemleri ve bunların ilişkilerini görüntüleyerek bir yazılım sistemine genel bir bakış sağlar. Bu Diyagram, sınıf adını, özniteliklerini ve işlemi ayrı belirlenmiş bölmelerde içerir.
Sınıf Diyagramı, sistemdeki nesne türlerini ve bunlar arasında var olan farklı ilişki türlerini tanımlar. Bir uygulamanın üst düzey görünümünü verir. Bu modelleme yöntemi neredeyse tüm Nesne Yönelimli Yöntemlerle çalışabilir. Bir sınıf başka bir sınıfa başvurabilir. Bir sınıf kendi nesnelerine sahip olabilir veya diğer sınıflardan miras alabilir.
Sınıf Diyagramı, yazılım uygulaması geliştirme için kod oluşturmaya yardımcı olur.
Bu eğitimde şunları öğreneceksiniz:
- Sınıf nedir?
- Sınıf Diyagramı nedir?
- Sınıf Şemasının Faydaları
- Bir UML sınıf diyagramının temel öğeleri
- Sınıf adı
- Öznitellikler:
- İlişkiler
- Toplama ve Kompozisyon
- Soyut Sınıflar
- UML Sınıf Şeması Örneği:
- Yazılım Geliştirme Yaşam Döngüsünde Sınıf Şeması:
- Sınıf Şemasının Tasarlanması için en iyi uygulamalar
Sınıf Şemasının Faydaları
- Sınıf Şeması Çok karmaşık bilgi sistemleri için bile veri modellerini gösterir
- Gerçek kodu incelemeden önce uygulamanın nasıl yapılandırıldığına dair bir genel bakış sağlar. Bu, bakım süresini kolayca azaltabilir
- Bir uygulamanın genel şemalarının daha iyi anlaşılmasına yardımcı olur.
- Programlanması gereken kodu vurgulayan ayrıntılı grafikler çizmeye izin verir
- Geliştiriciler ve diğer paydaşlar için faydalıdır.
Bir UML sınıf diyagramının temel öğeleri
UML sınıf diyagramının temel öğeleri şunlardır:
- Sınıf adı
- Öznitellikler
- Operasyonlar
Sınıf adı
Sınıfın adı yalnızca sınıfın grafiksel sunumunda gereklidir. En üst bölmede görünür. Bir sınıf, aynı ilişkileri, nitelikleri, işlemleri ve anlambilimini paylaşabilen bir nesnenin taslağıdır. Sınıf, adı, öznitelikleri ve ayrı bölmelerdeki işlemler dahil olmak üzere bir dikdörtgen olarak oluşturulur.
Bir sınıfı temsil ederken aşağıdaki kurallara dikkat edilmelidir:
- Bir sınıf adı her zaman büyük harfle başlamalıdır.
- Bir sınıf adı her zaman ilk bölmenin ortasında olmalıdır.
- Bir sınıf adı her zaman kalın biçimde yazılmalıdır .
- Soyut bir sınıf adı italik formatta yazılmalıdır.
Öznitellikler:
Bir öznitelik, modellenen nesneyi tanımlayan bir sınıfın özelliğidir. Sınıf diyagramında bu bileşen isim bölmesinin hemen altına yerleştirilmiştir.
Türetilmiş bir öznitelik, diğer özniteliklerden hesaplanır. Örneğin öğrencinin yaşı, doğum tarihinden itibaren kolaylıkla hesaplanabilir.
Öznitelik özellikleri
- Nitelikler genellikle görünürlük faktörü ile birlikte yazılır.
- Genel, özel, korumalı ve paket, sırasıyla +, -, # veya ~ işaretleriyle gösterilen dört görünürlüktür.
- Görünürlük, bir sınıfın bir özniteliğinin erişilebilirliğini tanımlar.
- Nitelikler, bir sınıfta kullanımını tanımlayan anlamlı bir isme sahip olmalıdır.
İlişkiler
UML'de başlıca üç tür ilişki vardır:
- Bağımlılıklar
- Genellemeler
- Dernekler
Bağımlılık
Bağımlılık, birindeki bir değişikliğin diğerinde değişiklikleri zorlayabileceği iki veya daha fazla sınıf arasındaki ilişki anlamına gelir. Ancak, her zaman daha zayıf bir ilişki yaratacaktır. Bağımlılık, bir sınıfın diğerine bağlı olduğunu gösterir.
Aşağıdaki örnekte, Student'ın Kolej'e bağımlılığı vardır
Genelleme:
Bir genelleme, bir alt sınıfı üst sınıfına bağlamaya yardımcı olur. Bir alt sınıf, üst sınıfından miras alınır. Arayüz uygulamasını modellemek için genelleme ilişkisi kullanılamaz. Sınıf diyagramı, birden fazla üst sınıftan miras almaya izin verir.
Bu örnekte Öğrenci sınıfı Kişi Sınıfından genelleştirilmiştir.
Bağlantı:
Bu tür bir ilişki, A ve B sınıfları arasındaki statik ilişkileri temsil eder. Örneğin; bir çalışan bir organizasyon için çalışıyor.
İşte İlişkilendirme için bazı kurallar:
- İlişkilendirme çoğunlukla fiil veya fiil cümlesi veya isim veya isim ifadesidir.
- İlişkilendirme yolunun sonuna eklenen sınıfın oynadığı rolü belirtecek şekilde adlandırılmalıdır.
- Dönüşlü dernekler için zorunlu
Bu örnekte, öğrenci ve kolej arasındaki ilişki olan çalışmalar gösterilmektedir.
Çokluk
Çokluk, bir öznitelikle ilişkili bir faktördür. Bir sınıf başlatıldığında kaç öznitelik örneğinin oluşturulacağını belirtir. Çokluk belirtilmezse, varsayılan olarak bir varsayılan çokluk olarak kabul edilir.
Diyelim ki bir üniversitede 100 öğrenci var. Üniversitenin birden fazla öğrencisi olabilir.
Toplama
Toplama, toplam ve parçaları arasındaki bütünsel bir ilişkiyi modelleyen özel bir ilişkilendirme türüdür.
Örneğin, sınıf koleji bir veya daha fazla öğrenciden oluşur. Toplamada, içerilen sınıflar hiçbir zaman tamamen konteynerin yaşam döngüsüne bağlı değildir. Burada, öğrenci müsait olmasa bile üniversite sınıfı kalacaktır.
Kompozisyon:
Kompozisyon, bir sınıf başka bir sınıfın parçası olduğunda iki sınıf arasında güçlü bir sahiplik olduğunu gösteren özel bir toplama türüdür.
Örneğin, kolej sınıf öğrencilerinden oluşuyorsa. Kolej birçok öğrenciyi içerebilirken, her öğrenci yalnızca bir üniversiteye aittir. Yani üniversite çalışmıyorsa tüm öğrenciler de kaldırılır.
Toplama ve Kompozisyon
Toplama |
Kompozisyon |
Toplama, çocuğun ebeveyn sınıfından ayrı olarak var olabileceği bir ilişkiyi belirtir. Örnek: Otomobil (Ebeveyn) ve Araba (Çocuk). Yani, Otomobili silerseniz, çocuk Araba hala var. |
Çocuğun ebeveynden bağımsız olarak asla var olmayacağı kompozisyon görüntüleme ilişkisi. Örnek: Ev (ebeveyn) ve Oda (çocuk). Odalar asla bir eve ayrılmayacaktır. |
Soyut Sınıflar
İşlem prototipine sahip bir sınıftır, ancak uygulama değildir. İçinde hiçbir işlem bildirilmemiş soyut bir sınıfa sahip olmak da mümkündür. Özet, sınıflar arasındaki işlevleri tanımlamak için kullanışlıdır. Soyut bir sınıf örneğini ele alalım. Bir yöntem veya içinde bildirilmiş bir işlem ile hareket olarak adlandırılan soyut bir sınıfımız olduğunu varsayalım. Soyut sınıf içinde bildirilen yönteme move () denir .
Bu soyut sınıf yöntemi, mevcut konumu değiştirmek için araba, hayvan, robot vb. Gibi herhangi bir nesne tarafından kullanılabilir. Bu soyut sınıf yöntemini bir nesneyle kullanmak etkilidir, çünkü verilen işlev için herhangi bir uygulama sağlanmamıştır. Birden çok nesne için herhangi bir şekilde kullanabiliriz.
UML'de, soyut sınıf, sınıfınki ile aynı gösterime sahiptir. Bir sınıf ile soyut bir sınıf arasındaki tek fark, sınıf adının kesinlikle italik bir yazı tipiyle yazılmasıdır.
Soyut bir sınıf başlatılamaz veya başlatılamaz.
Yukarıdaki soyut sınıf gösteriminde, birden çok sınıf nesnesi tarafından kullanılabilen tek bir soyut yöntem vardır.
UML Sınıf Şeması Örneği
Bir sınıf diyagramı oluşturmak basit bir işlemdir. Çok fazla teknik içermiyor. İşte bir örnek:
Müşterilerin nakit almak için bazı düğmelere basması gerektiğinden ATM sistemi çok basittir. Ancak, herhangi bir ATM sisteminin geçmesi gereken birden fazla güvenlik katmanı vardır. Bu, dolandırıcılığı önlemeye ve bankacılık müşterilerine nakit veya ihtiyaç ayrıntılarını sağlamaya yardımcı olur.
Aşağıda bir UML Sınıf Şeması örneği verilmiştir:
Yazılım Geliştirme Yaşam Döngüsünde Sınıf Şeması
Sınıf diyagramları çeşitli yazılım geliştirme aşamalarında kullanılabilir. Sınıf diyagramlarının üç farklı perspektifte modellenmesine yardımcı olur.
1. Kavramsal perspektif: Kavramsal diyagramlar gerçek dünyadaki şeyleri açıklamaktadır. İncelenen alandaki kavramları temsil eden bir şema çizmelisiniz. Bu kavramlar sınıfla ilgilidir ve her zaman dilden bağımsızdır.
2. Spesifikasyon perspektifi: Spesifikasyon perspektifi, yazılım soyutlamalarını veya spesifikasyonları ve arayüzleri olan bileşenleri tanımlar. Ancak, belirli bir uygulama için herhangi bir taahhütte bulunmaz.
3. Uygulama perspektifi: Bu tür sınıf diyagramları, belirli bir dildeki veya uygulamadaki uygulamalar için kullanılır. Uygulama perspektifi, yazılım uygulaması için kullanım.
Sınıf Şemasının Tasarlanması için en iyi uygulamalar
Sınıf diyagramları, yazılım uygulaması geliştirme için kullanılan en önemli UML diyagramlarıdır. Bir Sınıf Diyagramı çizerken dikkate alınması gereken birçok özellik vardır. Bir yazılım uygulamasının çeşitli yönlerini temsil ederler.
Sınıf diyagramı çizerken akılda tutulması gereken bazı noktalar şunlardır:
- Sınıf diyagramına verilen isim anlamlı olmalıdır. Dahası, sistemin gerçek yönünü tarif etmelidir.
- Her unsur arasındaki ilişkinin önceden tanımlanması gerekir.
- Her sınıf için sorumluluk tanımlanmalıdır.
- Her sınıf için minimum özellik sayısı belirtilmelidir. Bu nedenle, istenmeyen özellikler diyagramı kolayca karmaşık hale getirebilir.
- Diyagramın bazı yönlerini tanımlamanız gerektiğinde kullanıcı notları dahil edilmelidir. Çizim sonunda yazılım geliştirme ekibi için anlaşılır olmalıdır.
- Son olarak, son versiyonu oluşturmadan önce, diyagramın düz kağıt üzerine çizilmesi gerekir. Ayrıca, son teslimata hazır olana kadar yeniden çalışılmalıdır.
Sonuç
- UML, yazılım sistemlerinin yapıtlarını belirlemek, tasarlamak ve görselleştirmek için standart dildir
- Bir sınıf, bir nesnenin taslağıdır
- Sınıf diyagramı, sistemdeki nesne türlerini ve bunlar arasında var olan farklı ilişki türlerini açıklar.
- Bir yazılım uygulamasının statik görünümünün analizine ve tasarımına izin verir
- Sınıf diyagramları, yazılım uygulaması geliştirme için kullanılan en önemli UML diyagramlarıdır
- UML sınıf diyagramının temel öğeleri şunlardır: 1) Sınıf 2) Nitelikler 3) İlişkiler
- Sınıf Şeması, gerçek kodu incelemeden önce uygulamanın nasıl yapılandırıldığına dair bir genel bakış sağlar. Bakım süresini kesinlikle kısaltır
- Sınıf diyagramı, Java, C ++, Ruby, Python vb. Gibi nesne yönelimli programlama dillerini eşlemek için kullanışlıdır.