|
UML (Unified Modeling Language) nedir? |
|
Gönderiliyor lütfen bekleyin... |
|
|
Bu makalemizde UML ile ilgili giriş
niteliğinde bazı konulara değineceğiz, öncelikle UML nedir, ne değildir bu
konulara değinelim.
Yazılım teknolojisi
geliştikçe yazılan programların karmaşıklığı ve zorluğu giderek artmaktadır. Donanım
ve yazlımın iç içe girdiği, büyük ağ sistemlerinin giderek arttığı bir
dönemde doğaldır ki biz programcıların yazacağı programlarda
büyüyecektir.Yazacağımız programlar çok karmaşık olacağı için kod organizasyonu yapmamız zor olacaktır.
Hele birçok programcının çalışacağı projelerde bu nerdeyse imkansız hale
gelmiştir. Bu yüzden standart bir modelleme ve analiz diline ihtiyaç duyarız.
Programımızın analiz ve dizayn aşamasında modellemeyi güzel yaparsak ileride doğabilecek
birçok problemin çıkmasına engel olmuş oluruz. UML daha çok nesneye dayalı programlama
dilleri için uygundur. Problemlerimizi parçalara ayırabiliyorsak, ve parçalar
arasında belirli ilişkiler sağlayabiliyorsak UML bizim için biçilmiş kaftan
gibidir. Mesela bir ATM siteminde müşteriyi, banka memurunu ve ATM makinasını
ayrı parçalar halinde düşünebiliriz. Müşteri ATM makinasından para çeker, banka
memuru ATM makinasına para yükler.Ama banka memuru ile müşteri arasında doğrudan
bir ilişki yoktur.Bu tür ilişkiler UML 'de çeşitli diyagramlarla gösterilir. Bu
diyagramlar hakkında geniş ve detaylı bilgiyi daha sonraki yazılarımızda ele
alacağız.
Bu
kısa girişten sonra UML 'in tarihine bakalım.UML 'in doğuşu son yıllarda yazılım
endüstrisindeki en büyük gelişmelerden biri olarak kabul edilebilir. UML 1997
yılında yazılımın, diyagram şeklinde ifade edilmesi için bir standartlar komitesi
tarafından oluşturuldu. Daha önce hemen hemen her daldaki mühendislerin standart
bir diyagram çizme aracı vardı. Ve şimdi de programcıların UML 'si var.
UML ile hazırlanmış bir yazılım hem daha az maliyetli hem daha etkili ve
daha uzun ömürlü olur. UML ile dokümantasyonu yapılmış bir programın sonradan
düzenlenmesi daha kolay olur. Bütün bunlar UML kullanmamız için yeterli sebeplerdir
diye düşünüyorum.Kısaca ,UML 'nin faydalarını maddeler halinde sıralarsak;
1-) Öncelikle
programımız kodlanmaya başlamadan önce geniş bir analizi ve tasarımı yapılmış
olacğından kodlama işlemi daha kolay olur. Çünkü programdan ne beklediğimizi
ve programlama ile neler yapacağımızı profesyonel bir şekilde belirleriz UML
ile.
2-) Programımızda beklenmedik bir takım
mantıksal hataları (bug) minimuma indirgemiş oluruz.
3-) Tasarım aşaması düzgün yapıldıysa
tekrar kullanılabilen kodların sayısı artacaktır. Buda program geliştirme maliyetini
büyük ölçüde düşürecektir.
4-) UML diagramları programımızın tamamını
kapsayacağı için bellek kullanımını daha etkili hale getirebiliriz.
5-) Programımızın kararlılığı artacaktır.
UML ile dokümanlandırılmış kodları düzenlemek daha az zaman alacaktır.
6-) Ortak çalışılan projelerde programcıların
iletişimi daha kolay hale gelir.Çünkü UML ile programımızı parçalara ayırdık
ve parçalar arasında bir ilişki kurduk.
Bir sistemin geliştirilmesi kabaca aşağıdaki aşamalardan geçmektedir. İlk iki
aşamada UML büyük ölçüde rol oynar.
Unutmayın: UML bir programlama dili değildir. Bir diyagram çizme ve ilişkisel
modelleme dilidir. Çeşitli diyagram çizme yöntemlerini www.csharpnedir.com
sitesinden öğrenebilirsiniz. Bu makalemizde UML 'de kullanılan başlıca UML diagramlarını
ve kısa tanımlarını işleyeceğiz. Diyagram şekilleri ve kod oluşturma işlemlerini
bundan sonraki makalelerimizde bulabilirsiniz.
Şimdi kısa ve öz bir şekilde UML komponentlerinden(diagramlar) bahsedelim: Nesneler
arasında ilişki kurmak için UML bir takım grafiksel elemanlara sahiptir.Bu elemanları
kullanarak diyagramlar oluşturacağız. Bu makalede sadece bu diagramların ne işe
yaradığını göreceğiz. UML temel olarak 9 diyagram türünden oluşur.
CLASS DIAGRAM
Gerçek dünyada eşyaları nasıl araba, masa, bilgisayar
şeklinde sınıflandırıyorsak yazılımda da birtakım benzer özelliklere ve fiillere sahip gruplar oluştururuz.
Bunlara "Class"(sınıf) denir. Geliştirici açısından önemli olan "Class
Diagramları" hakkında daha sonra detaylı bir makalemiz olacak.
OBJECT DIAGRAM
Bir nesne(object) sınıfın (class) bir örneğidir. Bu tür diyagramlarda sınıfın
yerine gerçek nesneler kullanılır.
STATE DIAGRAM
Gerçek nesnelerin herhangi bir zaman içindeki durumunu gösteren diyagramlardır.Mesela,
Ali nesnesi insan sınıfının gerçek bir örneği olsun. Ali 'nin doğması, büyümesi,
gençliği ve ölmesi State Diagram 'larıyla gösterilir.
SEQUENCE DIAGRAM
Class
ve Object diyagramları statik bilgiyi modeller.Halbuki gerçek zamanlı sistemlerde
zaman içinde değişen interaktiviteler bu diyagramlarla gösterilemez. Bu tür zamanla
değişen durumları belirtmek için sequence diyagramları kullanılır.
ACTIVITY DIAGRAM
Bir
nesnesinin durumu zamanla kullanıcı tarafından ya da nesnenin kendi içsel
işlevleri tarafından değişebilir.Bu değişim sırasını activity diyagramlarıyla
gösteririz.
USE
CASE DIAGRAM
Programımızın davranışının bir kullanıcı gözüyle incelenmesi Use Case diyagramlarıyla
yapılır. Gerçek dünyada insanların kullanacağı bir sistemde bu diyagramlar büyük
önem taşırlar.
COLLABORATION
DIAGRAM
Bir sistemin
amacının yerine gelmesi için sistemin bütün parçaları işlerini yerine getirmesi
gerekir. Bu işler genellikle birkaç parçanın beraber çalışmasıyla mümkün olabilir. Bu
tür ilişkileri göstermek için Collaboration Diyagramları gösterilir.
COMPONENT
DIAGRAM
Özellikle birden
çok geliştiricinin yürüttüğü projelerde sistemi component dediğimiz parçalara ayırmak,
geliştirmeyi kolaylaştırır.Sistemi öyle modellememiz gerekir ki her geliştirici
ötekinden bağımsız olarak çalışabilsin.Bu tür modellemeler Component Diyagramlarıyla
yapılır.
DEPLOYMENT
DIAGRAM
Bu
tür diyagramlarla sistemin fiziksel incelenmesi yapılır. Mesela bilgisayarlar
arasındaki baglantılar, programın kurulacağı makinalar ve sistemimizdeki bütün
aletler Deployment Diyagramında gösterilir.
Evet,UML ile ilgili geniş bir giriş
bilgisine sahip olduk sanırım. Bundan sonraki makalelerimizde, yukarıdaki
Diyagramları detayları ile açıklayacağım.
Makale:
UML (Unified Modeling Language) nedir? UML ve Sistem Analizi Sefer Algan
|
|
|
-
-
Eklenen Son 10
-
Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
|
|