Unified Modeling Language

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

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

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

Nesneye Dayalı Programlama

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

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

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

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.

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

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

YMT 312-Yazılım Tasarım Ve Mimarisi MimariTasarım

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

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

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

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

YAZILIM MODELLEME VE TASARIM

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

Gereksinim Mühendisliği (SE 560) Ders Detayları

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

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

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

Nesne ve Sınıf Kavramları

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

Bölüm 2 Yazılım Süreçleri. Ders 1

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

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

Hızlı Uygulama Geliştirme (SE 340) Ders Detayları

Software Design Document

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.

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

NESNEYE YÖNELİK TASARIM SÜRECİ

Öğretim planındaki AKTS Ulusal Kredi

UML ile Nesneye Yönelik Modelleme

CENG 302 Yazılım Mühendisliği Yazılım Mimarisi - Devam. Alper UĞUR

BÖLÜM 5 MİMARİ TASARIM YZM211 YAZILIM TASARIMI. Yrd. Doç. Dr. Volkan TUNALI Mühendislik ve Doğa Bilimleri Fakültesi / Maltepe Üniversitesi

SiSTEM ANALiZi ve TASARIMI

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

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

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

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

BÖLÜM 1 YAZILIM TASARIMINA GİRİŞ YZM211 YAZILIM TASARIMI. Yrd. Doç. Dr. Volkan TUNALI Mühendislik ve Doğa Bilimleri Fakültesi / Maltepe Üniversitesi

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

Ön program (elin yazma hizi ile): 0 - Genel hata: C kastedip C++ demek 1 - C++ kutuphanesi kullanmak!= C++ programlamak 2 - Class kutuphanesi

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

Yazılım Örüntüleri (SE 461) Ders Detayları

Ferhat ERATA. Geylani KARDAŞ

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

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

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

YAZILIM MODELLEME VE TASARIM

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Doç. Dr. Cüneyt BAYILMIŞ

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 2 ( yılı öncesinde birinci

Yazılım Mühendisliğine Giriş 2018 GÜZ

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri

OPC Data Access (DA) Temelleri

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

SENTEZ TABANLI YAZILIM MİMARİSİ TASARIM YAKLAŞIMININ ESSENCE ÇERÇEVESİYLE MODELLENMESİ

Kurumsal İş Süreçleri Yaşam Döngüsü ve BPMN-2

Yazılım Gereksinimleri Mühendisliği (SE 221) Ders Detayları

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ

Sistem Analizi ve Tasarımı

Ders Adı : Nesne Tabanlı Programlama-I Ders No : Teorik : 3 Pratik : 1 Kredi : 3.5 ECTS : 4. Ders Bilgileri.

ETKİLEŞİMLİ TASARIM SÜRECİ VE TASARIM DİLLERİ ETKİLEŞİMLİ TASARIM NEDİR? GELENEKSEL YAZıLıM TASARıMı ILE

Unified Modeling Language

Yazılım Süreçleri Software Processes

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Kullanım Eşlemesiyle Mimari Görünümlerin Đrdelenmesi Üzerine Bir Örnek Çalışma

Windows Mobile İşletim Sistemleri İçin Veri Giriş Yazılımı

KENT BİLGİ SİSTEMLERİ STANDARTLARININ BELİRLENMESİ ÇALIŞTAYI T.C. ÇEVRE VE ŞEHİRCİLİK BAKANLIĞI COĞRAFİ BİLGİ SİSTEMLERİ GENEL MÜDÜRLÜĞÜ

Geleneksel Yazılım Mühendisliğinden Alana Özel Yazılım Mühendisliğine Doğru

UML İLE SANAL KAMPÜS MODELLEMESİ. Sait Ali UYMAZ, 2 Şirzat KAHRAMANLI. Selçuk Üniversitesi, Bilgi İşlem Daire Başkanlığı, KONYA

Nesneye Dayalı Analiz ve Tasarım (SE 321) Ders Detayları

Yazılım profesyonelleri için önemli olan yetkinlikler anketi Survey

Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

1.Mailbox Server Role:

Veritabanı. Ders 2 VERİTABANI

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

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

4. Bölüm Programlamaya Giriş

Bilgi Servisleri (IS)

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

Client Server Database

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR

Android e Giriş. Öğr.Gör. Utku SOBUTAY

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

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

CBS Arc/Info Kavramları

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI DERS KATALOĞU

Yazılım Mühendisliğine Giriş (SE 112) Ders Detayları

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Nesneye Yönelik Tasarım ve Programlama (COMPE 501) Ders Detayları

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

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

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

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

Yazılım Geliştirme Genel Tanımlar

Transkript:

Unified Modeling Language Çigdem Yüksel Sivil Ögrenci HAVA HARP OKULU Havacilik ve Uzay Teknolojileri Enstitüsü

TAKDIM Modelleme UML UML Diyagramlari UML Mimarisi UML Yazilim Gelistirme Yasam Döngüsü

Modeller Farkli disiplinlerde modeller tasarimci için bir dildir Modeller yapilandirilan ya da yapilandirilacak sistemin gösterimleridir Modeller iletisim için araçtirlar Modeller gerçek sistemin özelliklerini tespit etmeye yararlar.

Nesne Modelleme Nesne tabanli analiz teknikleri: Nesnelerin yeni kullanimlar için tekrar kullanilabilir ve elde edilebilir olup olmadiklarini görmek için nesneleri inceler. Kullanisli is hesaplama uygulamalarinda var olan nesnelerle birlestirilmis yeni ve degistirilmis nesneleri tanimlar. Nesne modelleme sistemdeki nesneleri ve bu nesneler arasindaki iliskileri tanimlamak için bir tekniktir.

UML UML Unified Modeling Language i simgeler UML in birlestirdigi modeller Veri Modelleme kavramlari (E-R Diagrams) Is Modelleme (is akisi) Nesne Modelleme Bilesen Modelleme The UML, yazilim mühendisliginde nesne tabanli sistemleri modellemede kullanilan açik standart olmus bir görsel modelleme dilidir. Gelistirme hayat döngüsü boyunca olan tüm islemlerle ve farkli uygulama teknolojileri ile kullanilabilir.

Açik bir standarttir UML in Önemi Tüm yazilim gelistirme yasam döngüsünü destekler. Farkli uygulama alanlarini destekler. Deneyime dayalidir ve kullanici topluluguna ihtiyaç duyar. Birçok araç tarafindan desteklenir.

Endüstride UML Birçok Farkli Amaç için Kullanilir Dil uygulamalarina dogrudan eslesme saglar. (Java,C++,Corba IDL gibi...) round trip engineering Dilden bagimsiz yazilim spesifikasyonu Web site yapilari Is akisi spesifikasyonlari Is modelleme

UML in Tarihi OMG tarafindan kabul, Kasim 1997 OMG ye son teslim edilis, Eylül 97 OMG ye ilk teslim edilis, Ocak 97 UML ortaklari UML 1.0 UML 1.1 UML 1.3 Temmuz 96 UML 0.9 OOPSLA 95 Unified Method 0.8 Diger metotlar Booch metod OMT OOSE

UML e Yapilan Katkilar Rumbaugh OMT Booch Booch method Meyer Önce ve sonra sartlari Harel Statecharts Gamma, et al Frameworkler and patternler, HP Fusion Operasyon tanimlamalari ve Mesaj numaralama Embley Singleton classes and Yüksek-seviye görünüm Jacobson OOSE Shlaer - Mellor Nesne yasam döngüsü Odell Siniflandirma Wirfs-Brock Sorumluluklar

UML Uygulama Gelistirmeyi Destekler ORDBMS Oracle Objects Classes Business Objects Relationships large scale system application partitioning Components Microsoft Scenarios Use Cases ActiveX/COM Microsoft Business Process CORBA OMG

UML in Partnerlari Rational Software Corporation Hewlett-Packard I-Logix IBM ICON Computing Intellicorp MCI Systemhouse Microsoft ObjecTime Oracle Platinum Technology Taskon Texas Instruments/Sterling Software Unisys

UML Kavramlari Use caseleri ve aktörleri kullanarak sistemin sinirlarini ve baslica fonksiyonlarini gösterir. Etkilesim diyagramlari ile use case gerçeklestirmesini gösterir. Class diyagramlarini kullanarak bir sistemin statik yapisini gösterir. State transition(durum geçis) diyagramlari ile nesnelerin davranisini modeller. Component & deployment diyagramlari ile fiziksel uygulama mimarisini gösterir. Stereotiplerle islevselliginizi arttirir.

UML deki Elemanlar Yapisal Elemanlar Daha çok bir modelin statik parçalari class, interface, collaboration, use case, active class, component, node Davranissal Elemanlar UML modellerinin dinamik parçalari etkilesim, durum makinasi(state machine) Gruplama Elemanlari UML in organizasyonel parçalari package, subsystem Diger Elemanlar UML in açiklayici kisimlari notlar

Iliskiler Bagimlilik(Dependency) Birindeki(bagimsiz eleman) degisimin digerinin(bagimli degisken) semantigini degistirebilecegi, iki eleman arasindaki anlamsal iliski. Birlik(Association) Baglantilar setini tanimlayan yapisal iliski.

Genellestirme Iliskiler Child in parentin yapisini ve davranisini paylastigi bir özellestirme/genellestirme iliskisi. Gerçeklestirme Interface ya da use case gibi bir siniflandiricinin sinif ya da isbirligi gibi diger bir siniflandiricinin isi yerine getirecegini garantileyen bir anlasma tanimlar.

UML deki Diyagramlar Scenario Diagrams Scenario Diagrams Statechart Diagrams Use Case Diagrams Use Case Diagrams Use Case Diagrams State Diagrams State Diagrams Class Diagrams State Diagrams State Diagrams Object Diagrams Scenario Diagrams Scenario Collaboration Diagrams Diagrams Models State Diagrams State Diagrams Component Diagrams Use Case Diagrams Use Case Diagrams Sequence Diagrams Activity Diagrams Component Diagrams Component Diagrams Deployment Diagrams

Use Case Diyagrami Sistemin çok basit bir sekilde modellenmesini ve islerin detayinin (senaryonun) metin olarak anlatilmasini içerir. Aktörden gelen bazi isteklere karsi sistemin yaptigi aktiviteleri gösterir.

Use Case Diyagrami Kullanici tarafindan görülen sistem fonksiyonelitesini gösterir. Gelismenin erken safhalarinda yapilandirilir. Amaç Sistemin içerigini belirtmek Sistemin gereksinimlerini elde etmek Sistemin mimarisini geçerli kilmak Analistler ve uzmanlar tarafindan gelistirilir.

Class Diagram Class diyagrami farkli varliklarin birbiriyle nasil iliskili oldugunu gösterir. Sinif, arayüzleri, isbirlikleri ve iliskileri gösterir.

Class Diyagrami Sistemin statik tasarim görünümünü adresler. Gelistirme boyunca yapilandirilir ve aritilir. Built and refined throughout development Amaç Sistemdeki kavramlari isimlendirme ve modelleme. Isbirliklerini belirtmek Mantiksal veritabani semalarini belirtmek Analizciler, tasarimcilar ve uygulayicilar tarafindan gelistirilir.

Component Diagram Bilesen kümeleri arasindaki organizasyonlari ve bagimliliklari gösterir.

Component Diagram Bilesen diyagrami sistemin fiziksel görünüsünü saglar. Yazilimin sistemde bulunan diger yazilim bilesenlerinin (yazilim kütüphaneleri gibi) üzerinde sahip oldugu bagimliliklari gösterir. Mimari spesifikasyonun bir parçasi olarak yapilandirilir. Amaç Kaynak kodu organize eder. Uygulanabilir sürüm olusturmak Specify a physical database Programcilar tarafindan gelistirilir.

Deployment Diyagrami Bir sistemin donanim ortaminda fiziksel olarak nasil yerlestirildigini dagitildigini gösterir.

Deployment Diyagrami Sistemin donanim topolojisini gösterir. Mimari spesifikasyonun bir parçasi olarak yapilandirilir. Amaç Bilesenlerin dagilimini göstermekspecify the distribution of components Performans engellerini teshis etmek Sistem mühendisleri ve network mühendisleri tarafindan gelistirilir.

Aktivite Diyagrami Bir aktiviteyi islerken iki ya da daha fazla sinif objelerinin arasindaki kontrolün prosedürel akisini gösterir

Aktivite Diyagrami Aktivite tabanli dinamik davranisi gösterir. Statechart diyagraminin özel bir seklidir. Amaç Sistemin fonksiyonunu modeller. Nesneler arasi kontrol akisini modeller. Is akislarini modeller. Operasyonlari modeller.

Sequence Diyagrami Mesajlarin zaman siralamasini vurgular.

Sequence Diagram Zaman tabanli dinamik davranisi gösterir Sira diyagrami iki boyutludur: Dikey boyut mesajlarin/çagrilarin sirasini olusma zamani siralarina göre gösterir; yatay boyut mesajin gönderildigi nesne örneklerini (object instances) gösterir Amaç Kontrol akisini modeller Tipik senaryolari göstermek

Collaboration Diyagrami Mesajlari gönderen ve alan nesnelerin yapisal organizasyonunu vurgular.

Collaboration Diyagrami Mesaj tabanli dinamik davranisi gösterir. Nesneler arasi akan verileri ve bunlarin zamana bagli numaralanmis akis sirasini ifade eden diyagramlardir Amaç Kontrol akisini modellemek Nesne yapisinin ve kontrolünün koordinasyonunu göstermek

Statechart Diyagrami Durumlari, geçisleri,olaylari(events) ve aktiviteleri içeren durum makinasini(state machine) gösterir.

Statechart Diyagrami Olay tabanli dinamik davranisi gösterir. Amaç Nesne yasam am döngd ngüsünü modellemek Kullanici arayüzleri zleri,, araçlar lari gibi reaktif nesneleri modellemek

Mimari ve UML Tasarim Bakisi Gerçeklestirme View Classes, interfaces, collaborations Use cases Use Case View Components Islem Bakisi Deployment View Active classes Nodes

UML Yazilim Gelistirme Yasam Use-case driven Döngüsü Sistem mimarisini dogrulamak ve geçerlilemek, test etmek ve projenin stakeholderlari arasindaki iletisim için sistemin istenen davranisini olusturmak için en önemli artifact olarak kullanilirlar. Mimari-merkezli Sistemin mimarisi gelismekte olan sistemi gelistirmek, yönetmek ve kurmak ve kavramsallastirmak için baslica artifact olarak kullanilir.

UML Yazilim Gelistirme Yasam Iteratif Döngüsü Uygulanabilir sürümlerin yönetimini içerir. Artan Bu sürümleri üretmek için sistem mimarisinin sürekli entegrasyonunu içerir.

Yasam Döngüsü Asamalari Baslangiç Olgunlasma Yapilandirma Geçis zaman Baslangiç Projenin kapsami tanimlanir ve is mantigi gelistiriir. Olgunlasma Proje planlanir, özellikler tanimlanir ve mimari biçimlendirilir. Yapilandirma Geçis Ürün yapilandirilir. Ürünün kullanicilara geçisi saglanir.

Örnek Banka ATM Sisteminin Modellenmesi

Use Case Diyagrami Customer Bank Officer Credit System Use Case Diagram for an ATM (Automated Teller System).

Sequence Diyagrami Card Reader ATM Screen Joe's Account Cash Dispenser 1: Insert Card 2: Read Card No. 3: Initialize Screen Sequence Diagram for Joe withdrawing $20.

Collaboration Diyagrami ATM Screen Card Reader Joe's Account Cash Dispenser Collaboration diagram for Joe withdrawing $20.

SORULAR?