• Yapay zekadan makale özeti

    • Bu video, yazılım mühendisliği ve Neslimin programlama serisi kapsamında hazırlanmış bir eğitim içeriğidir. Eğitmen, UML (Unified Modeling Language) ve Java programlama dili arasındaki ilişkiyi anlatmaktadır.
    • Video, UML'de gösterilen class telegramlarının Java koduna nasıl dönüştürüleceğini adım adım göstermektedir. İçerik, UML'de class telegramlarının yapısı, access modifier'lar, constructor'lar, return type'lar ve multiplicity kavramlarını ele alarak başlıyor, ardından UML ilişkilerini (generalization, realization, dependency, aggregation ve composition) detaylı olarak açıklıyor ve son olarak EasyML kullanarak NetBeans'ta UML çizimi yapma sürecini gösteriyor.
    • Eğitim, UML diagram'ların Java koduna dönüştürülmesi sürecini örneklerle açıklamakta ve bir sonraki bölümde design pattern'ların anlatılacağı bilgisiyle sonlanmaktadır.
    00:01UML ve Java Programlama
    • Bu video hem yazılım mühendisliği video serisi hem de Nesli'nin programlama serisi içinde yer alacak.
    • Video, UML'deki tasarımın Java dilindeki yansımasını göstermeye odaklanacak.
    • Linux'un yaratıcısı Linus Torvalds'ın "lafı bırak bana kodu göster" sözüne dayanarak, tasarım ve kod arasındaki bağlantıyı kurmaya çalışılacak.
    00:47UML'de Class Diagramlar
    • Instance diagramlar, classlardan üretilen objectler arasındaki ilişkileri gösteren object oryant tasarımda kullanılan diyagramlardan biridir.
    • UML'de bir class rectangle yapısıyla gösterilir; üst kısımda class ismi, orta kısımda attribute'lar ve alt kısımda fonksiyonlar yer alır.
    • Attribute'ların başında (+) public, (-) private, (#) protected, (~) package visibility'ı belirtir.
    01:36UML ve Java Arasındaki Bağlantı
    • UML'deki bir class tanımı, Java'da "public class Car" şeklinde karşılık bulur.
    • UML tasarım zamanında (design time) kullanılan gösterimlerden biridir ve classların iç yapısını detaylı göstermez.
    • UML, classları, ilişkilerini, fonksiyonlarını ve özelliklerini gösterir, ancak classların iç yapısını açıkça göstermez, bu programcıya bırakılır.
    04:01UML'de Constructor ve Relasyonlar
    • UML'de gruplama ve modül oluşturma için kullanılan tasarım öğeleri, kodlara baktığımızda fonksiyonlara ve metotlara dönüşür.
    • Constructor, özel bir metottur ve return type'ı olmaz; örneğin "employ" isimli bir constructor private olarak tanımlanmış.
    • Çoklu ilişkiler (multiplicity) farklı sembollerle gösterilir: "1" (bir), "0..1" (sıfır veya bir), "0..8" (sıfır ile sekiz arasında), "*" (hiçbiri veya hepsi).
    05:44Association İlişkisi
    • Association (ilişki), iki sınıf arasında kurulan bir münasebeti temsil eder.
    • Association, aggregation ve composition arasındaki farkların anlaşılması için birçok yazı bulunmaktadır.
    • Association, bir sınıfın diğer sınıfın bir örneğini içermesi veya kullanması anlamına gelir.
    07:13İlişki Yönlüllüğü ve Çokluluk
    • İlişki yönü, hangi sınıfta diğer sınıfa ait bilgi içerildiğini gösterir; örneğin arabanın sahibi bilgisi içerirken, müşteri sınıfında araba bilgisi içermeyebilir.
    • İki yönlü (bidirectional) ilişkide her iki sınıf da birbirine erişebilir.
    • Çoklu ilişkilerde (multiplicity), bir sınıfın birden fazla örneğini içerebilmesi için array veya linkedlist gibi veri yapıları kullanılabilir.
    09:39UML'de Genelleme ve Gerçekleştirme İlişkileri
    • Genelleme (generalization) ilişkisi, iki sınıf arasında "is-a" ilişkisini temsil eder; örneğin, hatchback bir arabadır veya sekreter bir çalışanıdır.
    • Java'da genelleme ilişki "extends" anahtar kelimesiyle karşılık gelir ve alt sınıf atasından tüm özelliklerini miras alır.
    • Gerçekleştirme (realization) ilişkisi, bir sınıfın bir arayüzü uygulamasını temsil eder; Java'da "implements" anahtar kelimesiyle karşılık gelir ve sınıfın belirli kurallara uymanızı zorunlu kılar.
    11:04Bağımlılık ve Toplantı İlişkileri
    • Bağımlılık (dependency) ilişkisi, bir sınıfın başka bir sınıfın varlığına bağlı olması durumunu temsil eder; örneğin, bir metot için bir sınıfın var olması gerekir.
    • Toplantı (aggregation) ilişkisi, eşkenar dörtgen ile gösterilir ve kavramsal olarak iki varlığın bir araya gelmesini temsil eder; örneğin, okul ve öğrenci.
    • Toplantıda her iki varlık da tek başına var olabilir; öğrenci olmasa da okul var olabilir, okul olmasa da öğrenci var olabilir.
    12:53Kompozisyon ve İlişki Modality
    • Kompozisyon, çoklu ilişkiyi temsil eder ve bir varlığın diğer varlıkları birleştirerek oluşturmasını sağlar; örneğin, çalışanlar birleşerek bir şirketi oluşturur.
    • Kompozisyonda çalışan yoksa şirket yoktur, ancak toplantıda öğrenciler yoksa da okul vardır.
    • İlişki modality, bir varlığın diğerini ne kadar bağladığı durumunu temsil eder; kompozisyonda şirketin varlığı çalışanın varlığına bağlıdır, toplantıda ise okul ve öğrenci birbirine bağlı değildir.
    14:53UML Tasarım Araçları
    • UML tasarımları için ücretsiz araçlar kullanılabilir, örneğin NetBeans'ta EasyUML plugin'i kullanılabilir.
    • Rational Rose ve Visual Paradigm gibi ücretli UML araçları da mevcuttur ve büyük firmalar tarafından tercih edilmektedir.
    • Ücretsiz araçlar felsefenin ve mantığın anlaşılması için yeterlidir, ancak profesyonel kullanım için ücretli araçlar daha iyi performans sunar.
    17:39UML Diagrams Projesi Oluşturma
    • Eclipse'de "diagrams project" adlı bir proje oluşturuluyor.
    • Proje oluşturulduktan sonra içinde class diagrams bulunuyor.
    • Yeni bir class diagram oluşturmak için "new" diyerek isim veriliyor.
    18:16Class Diagram Oluşturma
    • Class tanımlamak için paletten class seçeneği kullanılıyor.
    • Class'ın üç bölümü vardır: isim, attribute'lar ve fonksiyonlar.
    • Öğrenci sınıfı örneği oluşturulup, isim attribute'ı ve mezun metodları ekleniyor.
    20:31İlişkiler ve UML Özellikleri
    • Öğrenci ile bölüm arasındaki ilişki aggregation olarak tanımlanıyor.
    • İlişki türü, cardinality ve collection type gibi özellikler belirleniyor.
    • İsa ilişkisi ile irregular öğrenci sınıfı oluşturulup, öğrenci sınıfından türetiliyor.
    22:52Kod Oluşturma ve UML Kullanımı
    • Diagram'ın üstüne sağ tıklayıp "Easyml generate code" seçeneği ile kod oluşturuluyor.
    • Oluşturulan kodlar otomatik olarak Java projeye ekleniyor.
    • UML, tasarım aşamasında sınıfları çizip, bu çizimleri Java, C++ gibi dillerde kodlara dönüştürme imkanı sağlıyor.
    25:41UML ve Tasarım Kalıpları
    • Bir sonraki videoda tasarım kalıpları (design patterns) anlatılacak.
    • UML bilerek sadece hayatını geçindiren, tasarlayan, düşünen kişiler var.
    • UML videosu burada sona eriyor.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor