NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili



Benzer belgeler
NESNEYE YÖNELİK PROGRAMLAMA. Yrd.Doç.Dr. Zeynep ORMAN

YAZILIM MODELLEME VE TASARIM

Nesneye Dayalı Programlama

Eylül 2007 de v1.0 ı yayınlanan SysML sayesinde endüstri mühendislerinin de ihtiyacı karşılanmış oldu.

Kullanım Durumu Diyagramları (Use-case Diyagramları)

TÜMLEŞİK MODELLEME DİLİ. UML (Unified Modeling Language)

YAZILIM MODELLEME VE TASARIM

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 6. Yrd.Doç.Dr.Hacer Karacan

Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML (UnifiedModeling Language) Birleştirilmiş Modelleme Dili

Yazılım Mühendisliği 1

YZM 2108 Yazılım Mimarisi ve Tasarımı

UNICASE.... kapsamlı bir CASE* aracı. *

BM208- Nesneye Dayalı Analiz ve Tasarım. Sunum 7

1.Yazılım Geliştirme Metotları 1

NESNEYE YÖNELİK TASARIM SÜRECİ

NESNEYE YÖNELİK ÇÖZÜMLEME SÜRECİ

Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler. Fundamentals, Design, and Implementation, 9/e

Varlık davranış modeli: Bu aşama her entity ye etki eden durumların tanımlandığı, modellendiği ve dokümante edildiği süreçtir.

BLG Sistem Analizi ve Tasarımı. Öğr. Grv. Aybike ŞİMŞEK

Sınıf Diyagramları Amaç: Sınıf Diyagramları Nasıl Çizilir?

Unified Modeling Language

Yaz.Müh.Ders Notları #4 1

SİSTEM VE YAZILIM. o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur.

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC)

ARDIŞIL DİYAGRAM YAPI DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi

YAZILIM MİMARİLERİ DERSİ BİLGİSAYAR PROGRAMCILIĞI

Nesneye Dayalı Programlama nedir? UML Nedir? Sınıf Diyagramları Nesneye Dayalı Programlamanın Temel Taşları Miras alma (Inheritance) Çok biçimlilik

Öğretim planındaki AKTS Ulusal Kredi

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Bir yazılım geliştirme metodolojisi aşağıdaki adımlardan meydana gelir; Yazılım geliştirme sürecine destek verecek araçlar, modeller ve yöntemler.

BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER

Unified Modeling Language

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

Chapter 5 Sistem Modelleme. Lecture 1. Chapter 5 System modeling

Tümleştirilmiş Süreçte (UP) Yazılım Projesi Aşamaları

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

UML ile Nesneye Yönelik Modelleme

IBM CLM Çözümleriyle Çevik Yazılım Süreçleri. Canberk Akduygu & Koray Okşar

İçindekiler. Okuma lisansı info acar, için verilmiştir. Çoğaltılması ve dağıtılması yasaktır.

Yaz.Müh.Ders Notları #6 1

Yazılım Mimari Tasarımından Yazılım Geliştirme Çatısının Üretilmesinde Model Güdümlü Bir Yaklaşım

COĞRAFİ BİLGİ SİSTEMLERİ İLERİ SEVİYE EĞİTİMLERİ BUILDING GEODATABASE EĞİTİMİ

END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ

Üst Düzey Programlama

VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI

COĞRAFİ BİLGİ SİSTEMLERİ İLERİ SEVİYE EĞİTİMLERİ BUILDING GEODATABASE EĞİTİMİ

Site Türleri ve Yapıları. Web Teknolojileri ve Programlama ODTÜ-SEM

NESNEYE YÖNELİK PROGRAMLAMA Temel Kavramlar

SiSTEM ANALiZi ve TASARIMI

YAZILIM MODELLEME VE TASARIM

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Yazılım Mühendisliği II (BIL 306)

T.C KARABÜK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ

VERİ TABANI YÖNETİM SİSTEMLERİ

WINDESKCONCENTO. sıgnum. Kurumsal İş Süreçleri Uygulamaları. windesk.com.tr

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

Bilgisayarda Programlama. Temel Kavramlar

İşsizlik Sigortası Sisteminin Bileşen Yönelimli Modellemesi

Giriş. Modülerlik. Tasarım Kavramları. Sistem ve modülleri. İşlevsel Bağımsızlık. Yazılım Mühendisliği Hafta - 6 Tasarım

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ. 5.Hafta Sistem Çözümleme. Dr. Muhammet BAYKARA

Model Güdümlü Geliştirme ile Gömülü Kaynakların Yönetimi

BM208- Nesneye Dayalı Analiz ve Tasarım. Öğr. Grv. Aybike ŞİMŞEK

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık Bağıntı Modeli

MONTE CARLO BENZETİMİ

VERİ TABANI SİSTEMLERİ

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık İlişki Modeli

SİSTEM ANALİZİ ve TASARIMI. ÖN İNCELEME ve FİZİBİLİTE

Şekil 1 de dört adet genel kullanıma açılmış veri (D1-D4) ve bunları doğrudan ya da dolaylı olarak kullanan 7 adet yordam (P1-P7) yer almaktadır.

VERİ AKIŞ DİYAGRAMI KAVRAMSAL SINIF DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi

Bölümün sonunda UML e odaklanıp, ne olduğuna bakacağız. Nesneler

Chapter 8 Yazılım Testi. Lecture 1. Chapter 8 Software testing

YAZILIM KAVRAMINA BİR BAKIŞ. Gürcan Banger Elektrik Yük. Müh. ESOGÜ - 9 Nisan 2007

5. PROGRAMLA DİLLERİ. 5.1 Giriş

Yazılım Tasarımı(Software Design)

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ 8.Hafta. Yazılım Doğrulama ve Geçerleme

COĞRAFİ BİLGİ SİSTEMLERİ Building Geodatabase Eğitimi

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

Veritabanı. Ders 2 VERİTABANI

Hızlı Uygulama Geliştirme (Rapid Application Development - Rad Model)

Bakım Yönetimi Logo Nisan 2016

ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

PROGRAMLAMA TEMELLERİ

BTP 209 SİSTEM ANALİZİ VE TASARIMI

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

NEDEN DOĞULİNE. Detaylı Analiz. Doğru Planlama. Hedef Kitleye Uygunluk. Doğru İçerik Stratejisi. 7/24 Destek. Deneyimli Ekip

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri

Autodesk Robot Structural Analysis Professional İnşaat Müh. için Yapısal Modelleme, Analiz ve Tasarım çözümü

Yazılım Mühendisliği Bölüm - 3 Planlama

Bilgi Sistemleri Tasarımı (SE 503) Ders Detayları

design)1980li ve 1990lıyıllar Birleştirilmiş Modelleme Dili (Unified Modeling Language-(UML) yazılım geliştirme araçlarının temelidir.

Kural Motoru.

Mobil Kullanılabilirlik ve Kullanıcı Deneyimi Eğitimi

Nesne ve Sınıf Kavramları

Java Temel Özellikleri

Veritabanı Tasarımı Ve Yönetimi. Varlık-İlişki Modeli

Kılavuzu ; bir ürün veya sistemin kullanımıyla ilgili açıklamaların olduğu dokümantasyon olarak tanımlayabiliriz.

Transkript:

Özlem AYDIN NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü

MODEL NEDİR? Model, gerçek dünyadaki bir olayın veya sistemin soyutlanması, basitleştirilmesi ve kavramlaştırılmasıdır. Model, olayı veya sistemi tanımlamaya başka bir deyişle bir örnek türetmeye yardımcı olur. Modeller gerçek dünyadaki örneklerinin yerini alamazlar, ancak gerçek olay veya sistemin karmaşık yapısının anlaşılabilir parçalara indirgenmesinde yararlı olurlar.

MODELLEME NEDİR? Modelleme bir sistemi incelemek üzere o sistemin basit bir örneği yapılması anlamına gelir. Bu örnek gerçek sistemin yardımcısı ve basitleştirilmiş bir şeklidir. Modelleme sistemlerin karmaşıklığını çözümlemede kullanılan en eski ve en etkin yöntemdir.

MODELLEME NEDİR? Bir sistem modellenirken farklı bakış açılarıyla tekrar tekrar incelenir. Bu inceleme sırasında modellemeyi yapan kimse sistemin özelliklerinden o anda ilgilendiklerini öne çıkarırken diğerlerini göz ardı edebilir. Sonuçta oluşan bu soyut yapı sistemin ilgilenilen özelliklerinin bir modeli olur. Hiçbir model gerçek sistemin özelliklerini tümüyle içermez.

Yazılımda sistemin modellenmesi Yazılım projelerinde yer alan proje yöneticileri, müşteriler, analistler, tasarımcılar, programcılar, testçiler ve teknik yazarlardan her birinin eğitim düzeyleri ve alt yapıları farklıdır. Eğer bir sistem, tüm proje ekibinin anlayabileceği ortak bir dille modellenirse, çok karmaşık anlatımlar basitleşebilir ve aralarındaki iletişim çeşitli diyagramlarla maksimum düzeyde tutulabilir.

Yazılımda sistemin modellenmesi Bir yazılım sistemin modellenmesi süreci aşamaları: Sistem analizi Sistem tasarımı Bu aşamalarda sistemin farklı yönlerini ortaya koyan modeller oluşturulur. Her model sistemin farklı açılardan incelenmesini sağlar ve yazılımcının sistemi kavramasında, çözüm seçenekleri oluşturmasında, müşteriyle ve proje ekibiyle fikir alışverişinde bulunmasında yardımcı olur.

Yazılımda sistemin modellenmesi Yazılım sektöründe modelleme için geliştirilmiş çeşitli diller mevcuttur. Nesneye yönelik sistemlerin analiz ve tasarımında standart olarak kullanılan modelleme dili UML dir.

UML NEDİR? UML, yazılımın modellenmesi ve planlanması için kullanılan standart bir dildir. UML yazılım mühendisliğinde nesneye yönelik sistemleri modellemede kullanılan açık standart olmuş bir görsel modelleme dilidir. Bir program ya da yazılım geliştirme dili değildir. Yazılım geliştirmenin analizden bakıma kadar tüm aşamalarında ekipler ve bireyler arasındaki iletişimin düzgün yürütülmesi için kullanılmaktadır. Yazılımın yaşam döngüsü içinde farklı görev gruplarının projeye ve sisteme farklı bakış açıları vardır. Bundan dolayı UML çeşitli bakış açılarını ifade eden diyagramlar içermektedir. Çok zengin bir dil olmasından dolayı, Yazılım Mühendisliği nin bir çok yönden ihtiyaçlarını karşılamaktadır.

UML NİN GELİŞİM SÜRECİ 1989-1994 yılları yazılım mühendisliğinde metot savaşları olarak bilinen bir dönemdir. Sistemleri modellemek için kullanılan birçok modelleme dili vardı. 90 ların ortalarına doğru öne çıkan 3 yöntem vardır: Booch Yaratıcısı Grady Booch dur. Tasarım ve gerçekleştirimde mükemmel. OMT (Object Modelling Technology - Nesne Modelleme Teknolojisi) Yaratıcısı Jim Rumbaugh. Analiz ve veri yoğunluğu çok olan sistemler için uygun. OOSE (Object Oriented Software Engineering - Nesneye Yönelik Yazılım Mühendisliği) Yaratıcısı Ivar Jacobson. Use-Case adı verilen güçlü bir teknik içeriyordu.

UML NİN GELİŞİM SÜRECİ 1994 yılında Grady Booch (Booch) ve Jim Rumbaugh (OMT) Rational firmasının çatısı altında sahip oldukları iki yöntemi birleştirecek bir yöntem yaratmak için çalışmaya başladılar. Firmaya 1995 yılında Ivar Jacobson ın (OOSE) da katılmasıyla, 3 Amigolar olarak bilinen grup, kendi yöntemlerinin güçlü yönlerini birleştirip bir sistem modelleme dili olarak UML i geliştirdiler. 1997 de OMG (Object Management Group), UML yi sahiplendi ve açık standart olarak geliştirmeye başladı.

UML NİN TARİHİ

UML YE NEDEN GEREK VAR? Hataların kolaylıkla fark edilip en düşük seviyeye indirgenmesi.(risk, zaman, maliyet) Yazılım üretiminde başarı oranının düşük olması. Yazılımda paylaşım önemlidir. Tüm ekibin aynı dili konuşabilmesi gerekmektedir. Sistemin tamamını basit bir dille ve görsellikle görebilmek ve tasarlayabilmek gerekli. Modellenmiş ve dokümante edilmiş bir yazılımın tanıtımının kolay olması. Yazılım kalitesini arttırma.

UML DİYAGRAMLARI

UML DİYAGRAMLARI UML, modelleme için değişik diyagramlar kullanır. Diyagramlar, bir sistem modelini kısmen tarif eden grafiklerdir. UML 2.0, 3 bölümde incelenen 13 farklı diyagram içerir. Yapısal diyagramlarda modellenen sistemde nelerin var olması gerektiği vurgulanır. Davranış diyagramlarında modellenen sistemde nelerin meydana gelmesi gerektiğini belirtir. Davranış diyagramlarının bir alt kümesi olan Etkileşim diyagramlarında ise modellenen sistemdeki elemanlar arasındaki veri ve komut akışı gösterilir.

DAVRANIŞ DİYAGRAMLARI Kullanıcı Senaryosu (Use-Case) diyagramı Durum (Statechart) diyagramı Etkinlik (Activity) diyagramı

YAPISAL DİYAGRAMLAR Sınıf (Class) diyagramı Nesne (Object) diyagramı Bileşen (Component) diyagramı Paket (Package) diyagramı Dağılım (Deployment) diyagramı Birleşik Yapı (Composite Structure) diyagramı

ETKİLEŞİM DİYAGRAMLARI Sıralama (Sequence) diyagramı İletişim (Communication) diyagramı Etkileşime Bakış (Interaction Overview) diyagramı Zaman Akış (Timing) diyagramı

USE CASE DİYAGRAMLARI Analiz aşamasında Use Case Diyagramları kullanılır. Tasarım aşamasında ise modellerin 3 tipi ortaya konulur. 1. Sınıf Diyagramları 2. Durum Diyagramları 3. Etkileşim Diyagramları

USE CASE DİYAGRAMLARI Sistemin çok basit bir şekilde modellenmesini ve işlerin detayının (senaryonun) metin olarak anlatılmasını içerir. Aktörden gelen bazı isteklere karşı sistemin yaptığı aktiviteleri gösterir. Amaç Sistemin içeriğini belirtmek. Sistemin gereksinimlerini elde etmek. Sistemin mimarisini geçerli kılmak. Analistler ve uzmanlar tarafından geliştirilir.

Basit bir use case diyagramı yapısı Sistem Use case Aktör Aktör

Basit bir use case diyagramı örneği

USE CASE DİYAGRAMLARI BİLEŞENLERİ Aktör Sistemin kullanıcılarıdır. Aktörler genelde belirli bir rol ifade ederler. Diğer aktörlerle bağlantılı olabilirler bu bağlantı bir ok ile gösterilir. Sistem sınırları dışında gösterilir.

USE CASE DİYAGRAMLARI BİLEŞENLERİ Use case Sistemin destekleyeceği işler. Use case Sistem fonksiyonelliğinin büyük bir parçasını gösterir. Diğer bir use case ile genişletilebilir. Diğer bir use case içerebilir. Sistem sınırları içinde gösterilir.

USE CASE DİYAGRAMLARI BİLEŞENLERİ Sistem sınırı İçerisinde sistemin ismi yazılıdır. Sistemin kapsamını gösterir. Sistem Bağıntı ilişkisi Aktör ve use case ler arasındaki bağıntıyı gösteren çizgidir. * *

USE CASE DİYAGRAMLARI BİLEŞENLERİ Inclusion (içerme) ilişkisi Bu metotla bir use case içindeki adımlardan birini başka bir use case içinde kullanabiliriz. Bir use-case in diğerinin davranışını içermesi. Inclusion yöntemini kullanmak için <<include>> şeklindeki bir ifade kullanılır. Kullanmak istediğimiz use case 'ler arasına çektiğimiz noktalı çizginin üzerine <<include>> yazısını yazarız. <<include>>

USE CASE DİYAGRAMLARI BİLEŞENLERİ Inclusion (içerme) ilişkisi- bir örnek Rezervasyon <<include>> Üye girişi

USE CASE DİYAGRAMLARI BİLEŞENLERİ Extension (eklenti) ilişkisi Bu metodla varolan bir Use Case e yeni adımlar ekleyerek yeni use case ler yaratılır. Inclusion'da olduğu gibi extension ları göstermek için yine use case ler arasına noktalı çizgiler konur ve üzerine <<extend>> ibaresi yazılır. <<extend>>

USE CASE DİYAGRAMLARI BİLEŞENLERİ Extension (eklenti) ilişkisi-bir örnek Rezervasyon <<extend>> <<extend>> Telefon ile Rezervasyon Online Rezervasyon

USE CASE DİYAGRAMLARI BİLEŞENLERİ Genelleme ilişkisi: İki use-case veya iki aktör arasındaki kalıtım ilişkisidir. Yani özelleşmiş use case ile daha genel use case arasındaki ilişkidir. Özelleşmiş use case den temel use case e doğru bir ok ile gösterilir.

USE CASE DİYAGRAMLARI BİLEŞENLERİ Genelleme ilişkisi:

USE CASE DİYAGRAMI OLUŞTURMADA YÖNTEM 1. Aktörleri ve use-case leri belirle. Amaç: Sisteminin aktörlerini ve use-case lerini belirlemek ve üst seviye usecase modelini oluşturmak. Aktörler belirlenir Use-case ler belirlenir Her aktör ve use case kısaca tanımlanır Üst seviye use-case modeli tanımlanır 2. Use-case leri detaylandır. Amaç: Belirlenen tüm use-case lerin is akışlarını detaylı olarak tanımlamak. Ana akıs tanımlanır Alternatif akıslar tanımlanır

USE CASE DİYAGRAMI OLUŞTURMADA YÖNTEM 3. Use-case modelini yapılandır Amaç: Oluşturulan use case modelini ortak noktaları en aza indirecek şekilde yapılandırmak. Gereken yerlerde extend ve include iliskileri kullanılabilir Yapılandırılan use-case modeli, is süreçlerini referans alınarak değerlendirilir. 4. Kullanıcı arayüzlerini tanımla Amaç: Use case tanımları esas alınarak kullanıcı arayüzlerini üst seviyeli olarak tanımlamak. Kağıt üzerinde çizim yapılabilir Arayüz prototipleme aracı kullanılabilir

Bir örnek: ATM uygulaması Bir bankanın ATM cihazı için yazılım geliştirilecektir. ATM, banka kartı olan müşterilerin hesaplarından para çekmelerine, hesaplarına para yatırmalarına ve hesapları arasında para transferi yapmalarına olanak sağlayacaktır. ATM, banka müşterisi ve hesapları ile ilgili bilgileri, gerektiğinde merkezi banka sisteminden alacaktır.

Bir örnek: ATM uygulaması ATM uygulama yazılımının kullanıcıları: Banka müşterisi Merkezi Banka Sistemi Aktörler

Bir örnek: ATM uygulaması Belirlenen aktörler ATM den ne istiyorlar? Aktör: Banka müşterisi Para çekme Para yatırma Para transferi Aktör: Merkezi Banka Sistemi Günlük özet alma

Bir örnek: ATM uygulaması Aktör: Banka müşterisi Bankada hesabı ve banka kartı olan, ATM den işlem yapma hakkı olan kişidir. Use case: Para çekme Banka müşterisinin nasıl para çekeceğini tanımlar. Para çekme işlemi sırasında banka müşterisinin istediği tutarı belirtmesi ve hesabında bu tutarın mevcut olması gerekir.

Bir örnek: ATM uygulaması

Bir örnek: ATM uygulaması

Bir örnek: ATM uygulaması

Bir use case diyagramı örneği

Bir use case diyagramı örneği Bir web sayfasına gelen bir kullanıcının neler yapabileceğini use case diyagramlarıyla göstermeye çalışalım. Siteye gelen bir kullanıcı kayıtsız şartsız makale başlıklarını görebilmektedir. Online olan kullanıcı Siteyi tavsiye edebilir, siteye üye olabilir,kitapları inceleyebilir. Ancak makale okuması ve kaynak kod indirebilmesi için siteye üye girişi yapmalıdır. Makale okuması ve kaynak kod indirebilmesi için gereken şart siteye üye olmaktır.siteye bağlanan bir kullanıcının site üzerindeki hareketlerini belirtir diyagram bu şekilde oluşturulabilir.

UML NİN AVANTAJLARI-1 Kodlama kolaylığı sağlar. UML ile uygulamanızın tasarımı analiz aşamasında yapıldığı için, modellemeniz bittikten hemen sonra kod yazmaya başlayabilirsiniz. Kullanılan tekrar kod sayısı ayırt edilebilir bu sayede verim sağlanır. Mantıksal hataların minimum seviyeye düşürülmesini sağlar. Bütün sistem tasarlandığı için oluşabilecek hataların düzeltilmesi de daha kolaydır. Geliştirme maliyetinin düşmesini sağlar.

UML NİN AVANTAJLARI-2 UML diyagramları ile yazılım tamamını görebileceğimiz için verimli bellek kullanımı sağlanabilir. Karmaşık sistemlerde değişiklik yapmayı kolaylaştırır. UML ile dokümanlaştırılmış kodları düzenlemek daha az zaman alacaktır. UML diyagramlarını kullanan yazılımcılar aynı dili konuşacaklarından kolay iletişim sağlanır. Ayrıca müşteriler ve teknik sorumlular diyagramlar üzerinden kolaylıkla iletişim kurabilirler.

Kaynaklar Martin Fowler, Kendall Scott, Rafine UML, Alfa Yayınları, 2003. http://en.wikipedia.org/wiki/unified_modeling_language. http://web.itu.edu.tr/~kanoglu/crs-iscpm-systemmodeling.pdf ftp://ftp.cs.hacettepe.edu.tr/pub/dersler/bbs6xx/bbs651_ym/de rs%20notlari/hafta-05%20(4%20kasim)/bbs-651-dn04.pdf