Öncelikle hepinize güzel haberim var. Can Oğuz hocam ve ben bağımsız bir şekilde IOT projesi geliştireceğiz içeriği ise “sensörlerden gelen ısı ve nem verilerini kullanarak tahmin yapacağız” .Bütün bu süreçte yaptığımız ve yaşadığımız sorunları blog yazılarımızda seri halde anlatacağız .
Bugün konumuz ise “uml diyagramları” çünkü projeyi hazırlarken ve çeşitli değişiklikler yaparken bu diagramları kullanacağız.
Ardından kendi sorunlarımızın çözümünü paylaşacağız.Şimdi geçelim “uml diagramları” konusuna giriş yapalım.
UML (UNİFİED MODELİNG LANGUAGE)
UML NEDİR?:Grafiksel modelleme dilidir.(flowchart gibi düşünebilirsiniz.)
UML KULLANMAKTAKİ AMAÇ NEDİR?:Uml kullanmamızdaki asıl amaç ,çeşitli birim,kurum kuruluş ve kişiler arasındaki iş akış düzenini sağlamak.Örneğin bu projede Can oğuz hocam elektronik üzerinde çalışıyor ,ben ise istatistik kısmında çalışıyorum.Branş farkına rağmen anlaşabilmek için bu diagramı çizdik.
NE ZAMAN İHTİYAÇ DUYARIZ ?:Eğer projemiz büyük ve/veya farklı branştaki kişiler ve ekipler bir arada çalışıyor ise iş akışı ve süreçleri konusunda anlaşmak için uml diagramları kullanılır.
KİMLER UML DİAGRAMLARI ÇİZER?:Genelde iş analistleri ve teknoloji çalışanları tarafından kullanılır .
HANGİ YAZILIMLARI KULLANARAK ÇİZEBİLİRİM?:Kuralları öğendikten sonra Lucidchart (internet servisi),dia diagram editorü ,vb uygulamalar kullanabilirsiniz ayrıca bu yazıya göz atarak dia hakkında genel bilgi sahibi olabilirsiniz.
UML DİAGRAMLARI ÇEŞİTLERİ
Korkmayın bu kadar diagramı zaten blog üzerinde anlatamayız,hali hazırda bütün diagramları içeren kitaplar mevcuttur.Ancak seçtiğim 2-3 diagramı anlatıp,kendi diagramımı sizlere açıklayıp yazıyı bitiricem.
Behaviour Diagrams (Davranış Diyagramları)
Bu tip diagramlarda amaç işin akışını ve kullanıcı davranışlarını planlayıp oluşturmaktır .Bu tip diagramları kullanmanın en büyük avantajı kullanıcının ne isteyeceği ve ne vereceğimiz konusunda soru işaretlerini ortadan kaldırıyor.(kısa süre önce öğrenmeme rağmen işime yaradı benim.)
USE-CASE DİAGRAM
En basit ve kullanışlı diagramlardan bir tanesidir. Sistem ile kullanıcı arasındaki etkileşimleri açıklar ve sistemin hangi işleri yapacağını açıklar.Bu diagramdaki tanımlara geçelim.
- AKTÖR(actor): Sistemi kullanan kişi yapı
- AMAÇ(Goal):Aktör sistemle etkileşime geçerek sorunu çözer
- ANA BAŞARI SENARYOSU: Normal şartlar altında olması gereken durum ,işleyiş
- İSTİSNALAR (EXCEPTİONS):Ters giden şeyleri modeller
- UZANTILAR(EXTENSİONS):Alternatif senaryolar
- İLİŞKİLER(RELATİONSHİPS): Diğer diagramlar arası iletişim
Şimdi bir bakkalın diagramını çizelim.
Örneğin bakkala gittiğimizde dükkana girip ürün istiyoruz fakat veresiye olduğu vakit bakkal defterede yazabilir fakat ürünüde size vermeyebilir.
bakkal size ürün verebilir,para üstü verebilir(para üstü az ise sakızda verebilir ,bunuda diagrama ekleyebiliriz 🙂 ) ,parayı alacak tabiki ,ürünüde vermek zorunda.
USE-CASE diagramları kullanmak bu kadar basit.
Ek olarak en çok kullanılan ve daha kapsamlı olan atm örneğinide bir inceleyelim.
Sistem yöneticisi kendi görevlerini yapar.(Sistem yöneticiside bir aktör) sistemi kontrol altında tutar.
Bad PIN:kötü pin örneğin:pin kodunuz “1234” olsun ,pin kodunuzu kullanarak ,başkası paranızı alabilir.
Transaction(işlem):işlemlere baktığımızda fatura çıkarma ,depozitoyu,hesabı kontrol edebiliriz.
Structure Diagrams (Yapısal Diyagramlar)
Bu tip diagramlarda ise daha çok elektronik/yazılım/bilgisayar/mekanik sistemlerin nasıl üreteceğimiz veya nasıl kurgulayacağımız üzerine kafa patlatıyoruz.
CLASS DİAGRAM
Nesne yönelimli bir modelleme yapısına sahip bir yapıdır.Nesne yönelimli programlamada kullanılan inheritance(miras),destruction(soyutlama),gibi şeyleride modelleyebiliriz.Tekrardan use-case diagramı hazırladığımız bakkal için class diagramı hazırlayalım 😀 ve size yapıyı açıklayayım .
ilk olarak class(sınıf) şemasına değişkenler ve çeşitli fonksiyonlar ekliyoruz.Ve isimlerinin başına çeşitli semboller getirerek görünürlük ekleyebiliyoruz.
-private,+public ,#protected,~package/default anlamına geliyor .Müşteri classını inceleyelim
En üstte class name
2.Kutucukta değişken tipi ve miktarı(burada miktar yok)
3.en alttaki ise o classa ait fonksiyonlar
NOT:BU ÜRÜNDE KULLANDIĞIM SINIF YAPISINDA EKSİKLİKLER MEVCUT MÜHİM OLAN DİAGRAMI ANLAMAK.
DEPLOYMENT DİAGRAM(PROJEDE KULLANDIĞIMIZ DİAGRAM)
Öncelikle diagram seçimi yaparken ihtiyaçlarımızı ve net anlatacağımızı çok iyi belirlememiz lazım.Şuan proje başlangıcında temel yapıları kararlaştırdığımız için ana çerçeveden bir plan hazırlamamız gerekli idi bu yüzden bu diagramı kullandık.
Şimdi diagramda kısaca neyin nasıl olduğunu planladık ,çalışma sırasında planlar değişebilme ihtimali olduğu için oldukça basit bir şekilde düzenledik ve işin elektronik,baskı devre,sensörlerden gelen verilerin nasıl gönderip yayınlanacağı gibi büyük sorunlar olduğu için tasarımı temel seviyede bıraktık.İstatistik konusunda mühim olan şey ise verinin doğru bir şekilde temizlenip ,değişkenlerle doğru tahminler yapabilmemizdir.Bu yazıyı okuduğunuz için teşekkürler
NOT:ALTTA BULUNAN KAYNAKÇA BÖLÜMÜNDEKİ YAZILARI OKURSANIZ ,BU KONUYU DAHA İYİ ANLAYABİLECEKSİNİZ.
KAYNAKÇA
- https://www.geeksforgeeks.org/unified-modeling-language-uml-introduction/
- https://developer.ibm.com/articles/an-introduction-to-uml/
- https://en.wikipedia.org/wiki/Unified_Modeling_Language#/media/File:UML_diagrams_overview.svg
- https://medium.com/gokhanyavas/uml-nedir-faydalar%C4%B1-nelerdir-7212d31279c
- https://creately.com/blog/diagrams/use-case-diagram-tutorial/