UML Unified Modeling Language

Slides:



Advertisements
Benzer bir sunumlar
UML Unified Modeling Language
Advertisements

ANLATIM TÜRLERİNİ SINIFLANDIRMA. Edebî türler veya metin türleri olarak bilinen yazılarda farklı anlatım birlikleri bir araya gelir. Bir hikâyede betimleme,
DOÇ. DR.MEHMET ERDOĞAN AKDENİZ ÜNİVERSİTESİ
Hâsılat kavramları Firmaların kârı maksimize ettikleri varsayılır. Kâr toplam hâsılat ile toplam maliyet arasındaki farktır. Kârı analiz etmek için hâsılat.
Mastarlar.
Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.
Veri Tabanı Yönetim Sistemleri Hafta 1. 2 Temel Kavramlar Veri Olguların, kavramların, veya talimatların, insan tarafından veya otomatik yolla iletişim,
Beşinci hafta. Müfredat programı Ödev teslim Projelerini teslim edenler; Belediye Projesi -> Tamam Ulaşım Projesi -> Geldi ama kavramsal tasarım yerine.
SUNU HAZIRLAMA PROGRAMI: powerpoint
BULUT BİLİŞİM M. KÜRŞAT YILDIRIM İÇERİK  BULUT BİLİŞİM NEDİR?  BULUT BİLİŞİM ÖZELLİKLERİ  BULUT BİLİŞİM MİMARİ YAPISI  BULUT BİLİŞİM.
Uzaktan Eğitim Sürecinde Materyal Ortam ve Teknoloji Tasarımı Yusuf DOĞANAY.
BÖLÜM 1 TEMEL KAVRAMLAR. BÖLÜM 1 TEMEL KAVRAMLAR.
Girişimcilik Öğr.Gör.Seda AKIN GÜRDAL. Ders Akışı İşletmenin Amaçları İşletme Çevre İlişkisi.
SPORLA İLGİLİ HAREKETLER DÖNEMİ (7-12 yaş)
İSTANBUL ESENYURT ÜNİVERSİTESİ SOSYAL BİLİMLER ENSTİTÜSÜ İŞLETME ANABİLİMDALI YÖNETİM ve ORGANİZASYON CENK SOYER SÜREÇ YENİLEME DEĞİŞİM MÜHENDİSLİĞİ REENGINEERINGG.
Hazırlayan: Dr. Emine CABI
Zihinsel engellilerin sınıflandırılması
Arş.Gör.İrfan DOĞAN.  Bugün otizm tedavisinde en önemli yaklaşım, özel eğitim ve davranış tedavileridir.  Tedavi planı kişiden kişiye değişmektedir,
Öğretim Teknolojileri ve Materyal Geliştirme
İNSAN BİLGİSAYAR ETKİLEŞİMİ: BİLİŞSEL BOYUT III. İBE alanında etkileşimi anlamaya çalışan uzmanlar, özellikle şema ve zihinsel modeller üzerinde yoğunlaşırlar.
Program Tasarım Modelleri
Yazılım Mühendisliği1[ 3.hft ]. Yazılım Mühendisliği2 Yazılım İ sterlerinin Çözümlemesi Yazılım Yaşam Çevrimi “ Yazılım Yaşam çevrimin herhangi bir yazılım.
Proje Entegrasyon Yönetimi
İLETİŞİM VE EĞİTİM Bölüm 5 1. İletişim nedir?
Bilgi İşlem Departman Bütçelenmesi-1 Günümüzde Toplam Kalite kavramı yaygın olarak bahsedilmekte ve şirketler tarafından uygulanılmasına çalışılmaktadır.
Hangi Konular Performans Görevi Hangi Konular Proje Olarak Seçilmelidir? MEB 2008.
Pazarlama İlkeleri.
Uluslararası Pazarlama Araştırması
Öğr. Gör. Dr. İnanç GÜNEY Adana MYO
Proje Dosyası - Belgeleme - Raporlama
Sistem Tasarımı Sistem Tasarımı İş Koşul E H Yazılım Mühendisliği.
BİLİMSEL ARAŞTIRMA YÖNTEMLERİ ÜNİTE 3
GENEL MUHASEBE.
DENEYSEL TERTİPLER VE PAZAR DENEMESİ
ÜNİTE 1: FİNANS YÖNETİMİ.
Ziyafet ve İkram Hizmetleri
Ürün veya Hizmet Satışı
Program Tasarım Modelleri
İŞLETME TÜRLERİ BÖLÜM 3.
Üretim ve Üretim Yönetimi Temel Bilgileri
WEB PROJE YÖNETİMİ Ahmet TAŞTAN.
BİREYSELLEŞTİRİLMİŞ EĞİTİM PROGRAMI
PHP ile Nesneye Yönelik Programlama
MATEMATİK DERSİ ÖĞRETİM PROGRAMI
Temel Bilgisayar Bilgileri
Futbol Yetenek Avcısı AOFScout.
Yazılım Mühendisliği Ders 1: Giriş.
Bölüm 6 Örgütsel Yönlendirme
İSTATİSTİK Yrd. Doç. Dr. Cumhur TÜRK
Üst Düzey Zihinsel Özelliklerin Ölçülmesi
ŞEKİLLER.
Bilgisayar Yazılımları
İSTASYON YÖNTEMİ.
TEKNOLOJİ VE TASARIM DERSİ 7.D.1. Özgün Ürünümü Tasarlıyorum.
NİŞANTAŞI ÜNİVERSİTESİ
Doğrusal Mantık Yapısı İle Problem Çözme
İÇERİK DÜZENLEME -Bilgi türleri- Fiziksel bilgi
ÖĞRENME STİLLERİ.
PERFORMANS KAVRAMI PERFORMANSIN BOYUTLARI
EĞİTİME GİRİŞ Mehmet Akif Ersoy Üniversitesi
NİŞANTAŞI ÜNİVERSİTESİ
14. EKİPLE ÖĞRETİM İKİ KAFA TEK KAFADAN DAHA İYİDİR ( Two heads are better than one) ingiliz atasözü.
Hangi Konular Performans Görevi Hangi Konular Proje Olarak Seçilmelidir? MEB 2008.
Sınıf Öğretmenlerinin Eğitsel Amaçlı İnternet Kullanım Öz Yeterlikleri
Bilimsel Araştırma Yöntemleri
Medİkal görüntülerde doktor – hasta bİlgİ gİzlİlİğİnİn sağlanmasI
GEÇİŞ GEÇİŞ SÜRECİ Özel Gereksinimli ve / veya Engeli
Bellek içi raporlama sistemleri için denormalizasyon uygulaması
Örgüt Kuramı, Örgüt Tasarımı ve Örgütsel Değişim
Sunum transkripti:

UML Unified Modeling Language Yazılım Mühendisliği

İçindekiler… UML ve modelleme nedir? UML’ye neden ihtiyaç var? UML’nin yararları, Diyagramlar, Class Diyagramları, Class Diyagramları arasındaki ilişkiler, Use Case Diyagramları, Örnek Yazılım Mühendisliği

MODELLEME İLE GÖRSEL MODELLEME İşte bu seviyede karşımıza “Görsel Modelleme (Visual Modelling)” tekniklerindeki değişimler ve gelişimler çıkmıştır. Görsel Modellemeler, var olan problemlerin gerçek dünya etrafında şekillenmiş halleridir. Modeller ;  1) Problemin kavranmasında,  2) Proje ile ilgili herhangi bir iletişimde (müşteri, analizci, tasarımcı, programcı...),  3) Doküman hazırlanmasında,  4) Tasarım ve problem çözümünde, küçümsenmeyecek kolaylıklar sağlar. Yazılımın oluşturulması ve geliştirilmesi için büyük önem taşırlar.  Modeller, karmaşık sistem ya da yapıların gereksiz ayrıntılarından, yani bir nevi filtreleme yaparak, kurtarılmasını sağlayıp daha kolay anlaşılmasını sağlarlar. Buna kısaca liratürde “Soyutlama (Abstraction)” denilmektedir. Bir mühendis herhangi bir karmaşık problem karşısında sistemi ypılandırmak için öncesinde ilgili sistemin değişik açılarını soyutlayan ve karşılayan modeller oluşturmalı ve adım adım bu modellere detayları ekleyerek istenen son şekle ulaşmalıdır. Yazılım Mühendisliği

Neden UML? Bir sistemin analizi yapılırken belirli bir programlama dilinden yada geliştirme sürecinden bağımsız olmayı sağlar. Mimar-inş.müh ilişkisinde olduğu gibi tasarımcı-programcı arasında standart bir olarak köprü görevi görür. Analiz ve tasarımda ortaya çıkan eksikleri gidermek daha sonraki aşamalarda farkedilecek olanları çözmeye oranla daha az masraf ve zaman gerektirir. Yazılım Mühendisliği

UML ve Modelleme UML,sürekli gelişen yazılım teknolojisi ve artan karmaşıklık karşısında endüstriyel olarak geliştirilmiş ve standartlaşmış bir evrensel modelleme biçimi ve dilidir. UML kesinlikle bir programlama dili değildir! Yazılım Mühendisliği

UML’ ye neden ihtiyaç var? Yazılım üretiminde başarı %17 seviyelerinde… Bugün büyük ölçekli yazılımlar deneme yanılma yöntemiyle yazılacak boyutu çoktan aşmış durumda İhtiyaçların,kaynakların,proje planının paylaşılması gerekli Görsel ve metinsel notasyonlar kullanarak sistemi tüm boyutlarıyla modelleyebileceğimiz ve tasarımını gerçekleştirebileceğimiz bir araç gerekli... Modellenmiş ve dokümante edilmiş bir yazılımı her yerde ve ortamda tanıtabilir ve kolayca anlatabiliriz. Yazılım Mühendisliği

UML’ nin yararları Gereksinim Analizi Modelleme (UML) Kod Geliştirme Bellek kullanımında verimli olur Senaryolar yardımıyla programın kararlılığı artar Takım çalışması için ideal bir yardımcıdır Analizi ve tasarımı yapılmış olduğu için daha kolay kodlama yapılabilir. Hatalar en aza indirilir Tekrar kullanılabilir kod parçaları artabilir Gereksinim Analizi Modelleme (UML) Kod Geliştirme Uygulama Yazılım Mühendisliği

UML Diagramları Davranış diagramları.  Bir sistem yada iş akışının davranış özelliklerini anlatan çizimlerdir. activity, state machine, use case diagramları Etkileşim diagramları.  Davranış diagramlarının alt kümesidir. Nesneler arası etkileşimi betimlerler. communication, interaction overview, sequence, timing diagramları Yapı diagramları.  Statik diagramlardır. Bir yapının elemanları zamandan bağımsız olarak tasarlanır. class, composite structure, component, deployment, object, package diagramları.   Yazılım Mühendisliği

UML Modellemede Diyagramlar Bir modelleme metodolojisi olan UML temel olarak 9 diyagram tipine sahiptir. Class Diyagramları (Sınıf yapılarını gösterir) Object Diyagramları (Gerçekleşmiş Nesnelerin bilgileri) State Diyagramları (Nesnelerin o anki durumları) Sequence Diyagramları (Değişken durumların ifadesi) Activity Diyagramları (Nesnelerin faaliyetleri) Use Case Diyagramları (Gerçek senaryolar üzerinde test) Collaboration ”” (Parçaların bütünü oluşturması) Component ”” (Bileşenlerin diyagramı) Deployment ”” (Sistemin çalışma platformundaki hallerini gösteren diyagramlar) Yazılım Mühendisliği

Class Diyagramları UML’de sınıflar OOP mantığından yola çıkılarak düşünülmüştür Sınıfların bir adı,özellikleri (attributes) ve işlevleri(functions) vardır. Bunlara ek olarak “notes” (sınıf hakkında ekstra bilgiler) ve “Constraints” adlı sınıfla ilgili çeşitli özel koşullara ait bilgilerde bulunabilir. Yazılım Mühendisliği

Class’lar arasındaki ilişkiler İnsan sınıfından Ali nesnesi ve Kitap sınıfından ‘Uml Kitabı’ nesnesi ve aralarındaki ‘okuma’ ilişkisi Burada müşteri ile kitapçı sınıfı arasında "satın alma“ ilişkisi var.Fakat müşteri satın alırken ücret ödemek zorundadır.Bu ilişkiyi göstermek için ücret sınıfı ilişki ile kesikli çizgi ile birleştirilir. Burada 1 komutan 100 Er'e komut(emir) verebilir anlamı çıkmaktadır Yazılım Mühendisliği

Use Case Diyagramları Sınıfların ve sistemin zamanla değişimini gösteren diyagramlara ‘USE CASE’ diyagramları denmektedir.Bu diyagramlar Actors ve Use Case 'ler arasındaki ilişkilerden oluşmaktadır Use Case modelini oluşturan diğer önemli bir yapı ise senaryolardır. Senaryolar kullanıcı tarafından başlatılan çeşitli olaylar dizisidir. Bir Use Case modeli Use Case diyagramları ve Use case açıklamaları dediğimiz senaryolardan oluşmaktadır. Aktör yani kullanıcı Use Case modelinde bir Use Case 'i başlatır ve sonuç olarak bir değeri başka bir kullanıcıya verir. Use Case 'ler elips şeklinde gösterilir. Kullanıcıların altında kullanıcıların adı bulunur. Kullanıcı ve Use Case arasındaki ilişkiyi belirtmek için ise düz bir çizgi çizilir. ! Use Case’ler sistemin kesinlikle nasıl ve neden yapıldığını incelemez. Yazılım Mühendisliği

Neden Use Case diagramları kullanılır? Sistemin ne yaptığının yüksek-düzey görüntüsünü sağlar. Müşteri(client) ile iletişim kurmak ve isteklerinin tam olarak belirlenmesi için açık, anlaşılır bir modeldir. Test durumları oluşturmada senaryolardan faydalanılır. Her bir senaryo aynı zamanda bir test durum dizisidir. Yazılım Mühendisliği

Temel Use Case Diagramı Bileşenleri Aktörler Use case’ler İlişkiler Sistem sınırı/sınırları Yazılım Mühendisliği

Aktörler (actors) Aktörler sistem içinde olayları başlatan kişi yada nesnelerdir. Bir aktör insan, donanım cihazları, çevre birim yada başka bir sistem olabilir. Yazılım Mühendisliği

İlişkiler Bir aktor ile use case arasındaki ilişki düz bir çizgi ile, use caseler arasındaki ilişki ise "uses“ yada "extends" etiketli oklarla olur. "uses" ilişkisi ana use case in bir alt kümesidir, “extends" ilişkisi ise ana use case den farklı özellikleri (alternatif seçenekleri) olan bir use case ile ilişkilendirilir. Yazılım Mühendisliği

Sistem sınırları Sistem sınırı genellikle tüm sistemi içine alan kısımdır. Fakat büyük ve karmaşık sistemlerde her bir modül bir sistem sınırı oluşturabilir. Örneğin bir işletmenin ERP sistemi için personel, muhasebe gibi kısımlar kendi use caseleri ile ayrı bir sistem sınırı oluştururlar. Sistemin bütünü bu modüllerin bir araya gelmesiyle oluşur. Yazılım Mühendisliği

Use Case Diagram oluşturma Düzenli bir use case diagramı oluşturmak için önce sistem içindeki aktivite dizisini betimleyen bir paragraf yada adımları gösteren bir algoritma yazılması yararlıdır. Aktörler belirlenir. Hata raporu hazırla Test uzmanı yeni bir hata bulundu raporu hazırlar. Test uzmanı hatanın kaynağını belirler, problemin tanımını yapar, kime gideceğini belirler. Sistem hatayı kaydeder ve görevli kişiye yeni bir hata bulunduğunu bildirir. Yazılım Mühendisliği

Örnek İnternet ortamından giriş bir kullanıcının neler yapabileceğini use case diyagramlarıyla ifade edelim. 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. Yazılım Mühendisliği

Kaynaklar www.Csharpnedir.com www.Aspnedir.com www.uml.org Yazılım Mühendisliği