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

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

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

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

YAZILIM MODELLEME VE TASARIM

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

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

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

DİNAMİK - 2. Yrd. Doç. Dr. Mehmet Ali Dayıoğlu. Ankara Üniversitesi Ziraat Fakültesi. Tarım Makinaları ve Teknolojileri Mühendisliği Bölümü

NESNEYE YÖNELİK TASARIM SÜRECİ

SiSTEM ANALiZi ve TASARIMI

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

DİNAMİK - 1. Yrd. Doç. Dr. Mehmet Ali Dayıoğlu Ankara Üniversitesi Ziraat Fakültesi Tarım Makinaları ve Teknolojileri Mühendisliği Bölümü

DİNAMİK - 7. Yrd. Doç. Dr. Mehmet Ali Dayıoğlu Ankara Üniversitesi Ziraat Fakültesi. Tarım Makinaları ve Teknolojileri Mühendisliği Bölümü

Nesneler yan yana gösterilir. Etkileşimler (mesajlar) oluştukları sıra ile yukarıdan aşağıya doğru çizilirler.

2. Iterasyon. Bu bölümde ele alınan problemler:

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

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

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

DİNAMİK Yrd. Doç. Dr. Mehmet Ali Dayıoğlu Ankara Üniversitesi Ziraat Fakültesi. Tarım Makinaları ve Teknolojileri Mühendisliği Bölümü

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

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

BÖLÜM 3: AKIŞ DİYAGRAMLARI

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

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 3006

DİNAMİK - 6. Yrd. Doç. Dr. Mehmet Ali Dayıoğlu Ankara Üniversitesi Ziraat Fakültesi. Tarım Makinaları ve Teknolojileri Mühendisliği Bölümü

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

Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik Hizmetleri. Y.Müh. Kadriye ÖZBAŞ ÇAĞLAYAN, PMP Y.Müh. Ahmet DİKİCİ, PMP

Güz Yarıyılı Balıkesir Üniversitesi, Endüstri Mühendisliği Bölümü EMM4129 ÇİZELGELEME

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

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

Dairesel Temellerde Taban Gerilmelerinin ve Kesit Zorlarının Hesabı

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Nesne Tabanlı Programlama (COMPE 225) Ders Detayları

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

Süreklilik Göstergesi. Kavram Haritaları. Etkileşim Göstergesi. Problem/Çözüm Göstergesi Karşılaştırma Matrisi. (Anlam Çözümleme Tablosu)

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

Sistem Analizi ve Tasarımı (IE 503) Ders Detayları

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.

ŞARTNAME TAKİP PROGRAMI (STP2006)

Kimyasal Süreç Hesaplamaları (CEAC 207) Ders Detayları

Karar Verme ve Oyun Teorisi

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

Tezli Yüksek Lisans Programına İlişkin Bilgilendirme

Akıllı Ortamlarda Sensör Kontrolüne Etmen Tabanlı Bir Yaklaşım: Bir Jadex Uygulaması

BİR MONTAJ HATTI ÜRETİM SİSTEMİNDE OPTİMAL İŞGÜCÜ DAĞILIMININ ARENA PROCESS ANALYZER (PAN) VE OPTQUEST KULLANILARAK BELİRLENMESİ

SU KALITE SİSTEMİ. Türkiye Halk Sağlığı Kurumu

BİL-142 Bilgisayar Programlama II

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

Nesne Tabanlı Programlama (COMPE 225) Ders Detayları

YAZILIM MODELLEME VE TASARIM

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

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 4 MasterPage

SMS İŞLEMLERİ MODÜLÜ

Yardım talebi kullanım kitabı

Sistem Analizi ve Tasarımı

Bilgi Güvenliği Yönetimi. Prof. Dr. Eşref ADALI www. Adalı.net

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

Fundamentals of Object-Oriented Programming (COMPE 723) Ders Detayları

SAP E-Fatura Uyarlama Paketi

ESİS Projesi. Kaynaklar Bakanlığı

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ 9.Hafta. Bakım

Decorator Tasarım Şablonu

Süreç Yönetimi. Logo

YZM211 YAZILIM TASARIMI

YZM 2105 Nesneye Yönelik Programlama

Örüntü Tanıma (EE 448) Ders Detayları

SAĞLIK TEKNOLOJİ DEĞERLENDİRME (STD) İÇİN MODELLEME VE BENZETİM. Dr. Murat Günal

Dizaynda Word Desteği

<Ekip Adı> <Proje Adı> Yazılım Gereksinimlerine İlişkin Belirtimler. Sürüm <1.0>

Bilgisayar Programlama (COMPE 102) Ders Detayları

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

Yaz Stajı II (IE 499) Ders Detayları

Tüm personel kendi KEP hesapları üzerinden mevcut ve önceki maaş bordrolarını görüntüleyebilecektir.

Autodesk Inventor 2012 Yenilikler

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

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

Ekonometri II (ECON 302T) Ders Detayları

Büyük Veri İçin İstatistiksel Öğrenme (Statistical Learning for Big Data)

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İ

CAEeda TM GENEL TANITIM. EDA Tasarım Analiz Mühendislik

Akışkanlar Mekaniği II (ME 302) Ders Detayları

Görünümler ve Ötesi Yaklaşımıyla Radar Yazılım Mimarisi Dokümantasyonu Tecrübeleri. Ali Özzeybek M. Devrim Tokcan Murat Tuncer

Tasarım Modelinin (Design Model) Oluşturulması

Çankırı Karatekin Üniversitesi

Fundamentals of Object-Oriented Programming (COMPE 723) Ders Detayları

HCT BİLİŞİM ORDINO REPORT KULLANIM KILAVUZU

Programlama Giriş. 17 Ekim 2015 Cumartesi Yrd. Doç. Dr. Mustafa YANARTAŞ 1

BLG 1306 Temel Bilgisayar Programlama

Statik (ME 201) Ders Detayları

TEMEL MEKANİK 4. Yrd. Doç. Dr. Mehmet Ali Dayıoğlu Ankara Üniversitesi Ziraat Fakültesi Tarım Makinaları ve Teknolojileri Mühendisliği Bölümü

AYAKTAN HASTA İLAÇ MUAFİYET RAPORU

WEB KULLANILABİLİRLİĞİ

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

Mühendislik Ekonomisi. Yrd. Doç. Dr. Alper GÖKSU

Öğretim planındaki AKTS Ulusal Kredi

Süreç Modeli Süreç Modelleme Rehberi

MOBILEPAX SOAP PRODUCT API KULLANIM ŞEKLİ

Olasılık ve Rastgele Süreçler (EE213) Ders Detayları

1. HAFTA PFS 107 EĞİTİMDE ÖLÇME VE DEĞERLENDİRME. Yrd. Doç. Dr. F. Betül Kurnaz.

Montaj Hatti Tasarımı ve Analizi - 8

Transkript:

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

Ders Akışı Hafta 10-11. Nesneye Yönelik Sistem Tasarımı

Haftanın Amacı Bilişim sistemleri geliştirmede nesneye yönelik sistem tasarımı detaylı olarak açıklanmaktadır.

Giriş Bilişim sistemi geliştirme sürecinde nesneye yönelik tasarımda modeli oluşturulan sistemin yazılım sınıfları belirlenmektedir. Sınıflar arasındaki etkileşim de önemli olmaktadır. Bu şekilde, sistem bileşenleri çalışma durumu ve hangi sınıfa ait olduğu meydana çıkmaktadır. Yazılım nesnelerine metotların eklenmesi ve mesajların oluşturulması ile nesnel tasarlanmaktadır.

Nesneye Yönelik Sistem Tasarımı Bu yaklaşımda, nesnelerin birlikte çalıştıklarını göstermek amacıyla etkileşim diyagramları çizilmektedir. Etkileşim diyagramları; işbirliği ve ardışık diyagramlarıdır. Bilişim sisteminin son durumunu göstermek için sınıf diyagramları hazırlanmaktadır.

Nesneye Yönelik Sistem Tasarımı Bu yaklaşımda uygulama ihtiyaçlarını tanımlama için ilişkili ve bağımsız iki diyagramdan yararlanılmaktadır. Sınıf diyagramı ve kullanım senaryosu diyagramıdır. Sınıf diyagramında sınıf tanımlamaları ve ilişkileri, kullanım senaryosu diyagramında ise bilişim sistemindeki kullanımları, senaryoların belirlenmesi için hazırlanmaktadır. Bu şekilde sistemin gerçekleştirilmesi sırasında senaryoları belirlenmiş olmaktadır.

Nesneye Yönelik Sistem Tasarımı Aynı zamanda, nesneye yönelik diğer şematik gösterimi sınıf diyagramlarıdır. Önerilen bilişim sisteminin mantıksal durumları faaliyet durumları olarak belirtilmektedir. Her sınıftaki faaliyetleri metotlardır.

Tasarım Şablonları Bilişim sisteminin yazılım sürecinde sorumlulukların atanmasında tasarım şablonları kullanılmaktadır. Sınıfları ve faaliyetleri belirlemeden önce tasarım şablonları incelenmelidir. Nesneye yönelik tasarımda, sorumlulukların atanmasında temel yolların belirlenmesini sağlar. Literatürde GoF tasarım şablonlarının yerine nesnelere sorumlulukları atanması yapılırken genel atama ilkeleri ele alınmalıdır.

Oluşturucu Bir sınıftan nesne oluşturma sorumluluğun kime verileceğine belirleyen şablondur. Nesneye yönelik sistemlerde nesne oluşturma sıklıkla yapılmaktadır. Oluşturma şablonuna uygun olduğunda tasarım az bağlı ve kolay anlaşılır ve yeniden kullanılabilmektedir. B, A nesnesini içeriyorsa kümeleme ilişkisi dahildir. B, A nesnelerinin kayıtlarını tutuyorsa, B, A nesnelerini kullanıyorsa, A nın oluşturulması için gerekli verilere B sahipse, B sınıfına A sınıfından nesne oluşturma sorumluluğundadır.

Bilgi Uzmanı Nesnelere sorumlulukları atamanın temel ilkesidir. Bir sorumluluk, bilgi uzmanına veriye sahip olması gereken sınıfa atanması tanımlanır. Sorumlulukları doğru atandığında bilişim sisteminin anlaşılabilirliği artar.

Az Bağımlılık Bilişim sisteminde diğer sınıflardan etkilenmemeyi ve tekrar kullanılabilmeyi tanımlayan tasarım şablonudur. Bağımlılık, sınıflar arasında diğerleri hakkında ne kadar bilgi sahibi olunduğunu gösteren bir ölçüttür. Fazla bağımlı olması da tercih edilen bir durum değildir. Bir sınıftaki değişim bağımlı olarak diğer sınıfları da etkilemektedir. Bu nedenle, sınıfları birbirlerinde ayrı olarak anlamak zorlaşmaktadır.

Kontrolör Kullanıcı arabirimlerinin arka planında durarak bilişim sistemindeki olayları ve kontrol etme sorumluluğu için bir sınıfa ihtiyaç duyulmaktadır. Bilişim sisteminin bütünü veya alt sistemini temsil eden bir sınıf kontrolör olarak kullanılır. Bilişim sisteminin büyüklüğüne göre herbir sınıf kontrolör olarak atanmaktadır.

İyi Uyum Bilişim sistemindeki nesneler, kendilerine atanan sorumlulukları yerine getirmektedir. Bir sınıfa atanan sorumluluklar birbirleri ile ilgili olması, belirli bir konuya yoğunlaşması gerekmektedir. Bir sınıfın birden fazla iş yapıyorsa, sorumlulukları birbirlerinden farklı olması durumunda uyumluluk iyi değildir. Bundan dolayı sınıfın anlaşılması ve tekrar kullanımı zorlaşmaktadır. Bilişim sisteminde karmaşıklığın azaltılması için sorumluluklar, sınıf içerisinde iyi uyum sağlayacak şekilde olmalıdır.

Çok Şekillilik Bilişim sisteminde sınıflar tiplerine göre değişiklik gösteren davranışları tasarlarken çok şekilli metotlar kullanmak, değişen durumlara kolaylıkla uyum sağlayacak şekilde bileşenlerin oluşturulmasını sağlar. Alternatif durumda ilgili metot koşulu deneyimlerle kontrol edilerek çağrılır. Bu durumda, değişen koşullarda bu testi gerçekleştirilen sınıfın yapısının da değiştirilmesi ve yeniden derlenmesi gerekmektedir.

Yapay Sınıf Uzman şablonunun getirmiş olduğu çözümler, iyi uyum ve az bağımlılıkla çelişmektedir. Bu durumda, bağımlılıklar azalıyorsa ve tekrar kullanımı arttırıyorsa var olmayan yapay sınıflar yazılımda yer alabilir. Mevcut sistemde varlıklar ile yazılımdaki unsurlar arasında benzerlik bulunmaktadır. Bu şekilde, temel olarak birbirlerine benzeyen faaliyetler bir sınıf olarak toplanmasıyla var olmayan yapay sınıflar oluşturulmaktadır.

Dolaylılık Arabirim Bilişim sisteminde kolaylıkla değiştirilecek yapılar arasındaki bağımlılığı azaltma, yeniden kullanılabilirliği arttırmaktadır. Değişecek iki birim, bileşen veya hizmet arasındaki sorumlulukları bir arabirim nesnesine atanmasıyla dolaylılık sağlanmaktadır. Nesneye yönelik uygulamada dolaylılığı arabirim nesneleri sağlamaktadır. Bu nesnelerin çok şekilli olması dış değişimlerden etkilenmemesini sağlamaktadır.

Değişimlerden Koruma Nesneye yönelik tasarım ilkelerinde son olarak değişimlerden korumanın sağlanmasıdır. Bilişim sistemindeki her alt sistem bir nesnedeki değişimleri ve kararsızlıklar olabilir. Bunların etkisi minimum seviyede tutulmalıdır. Birimlerdeki değişikliklerden en az etkilenen tasarım, değişimlere açık ve kararsız noktaların etrafında sorumlulukları ara yüzlere atanmaktadır. Bu şekilde, birimler değişimlerden korunabilir ve kararlı sistemler oluşturulabilir.

Etkileşim Diyagramları Nesneye yönelik sistem tasarımı senaryoları gerçekleştirmek için sorumlulukların ilgili birimlere atanması ve nesneler arasındaki işbirliğinin sağlanması gerekmektedir. Senaryoları gerçekleştirmeden önce nesneler arasındaki etkileşimlerin nasıl modellendiği ele almak gereklidir. UML etkileşimi iki şekilde yapılmaktadır. İşbirliği ve sırasal diyagramı olarak çizilmektedir.

Etkileşim Diyagramları İşbirliği diyagramları hangi nesnelerin birlikte çalışacağını, nasıl mesajlaşacağını, bir durumu ya da fonksiyonu nasıl gerçekleştireceğini gösterir. Kullanım senaryosundaki tüm durumlar için ayrı işbirliği diyagramlarının çizilmesi gerekmektedir. Bu diyagramda nesneler düğümleri, mesajlar ise bağlantıları gösterir. Sırasal diyagram işbirliği diyagramında verilen bilginin detaylı açıklanmasından oluşmaktadır. Nesneler arasındaki mesajlaşmanın sıralaması diyagramdaki sıradır. Mesaj sırası, yukarıdan aşağıyadır. Nesneler yan yana gösterilir.

Mesaj Sıra Numaraları İşbirliği diyagramındaki mesajlar, gönderildikleri sıra ile numaralandırılır. Bir mesajın gönderilmesinde bağlı alt numaralar verilmektedir. Sırasal diyagramlarda sıra numarası kullanılmaz. Mesajlar gönderildikten sırada alt alta çizilir.

Kendine Mesaj Nesneye yönelik tasarım bir sorumluluğu yerine getirmek için nesne ile kendi metotlarından geri çağrılır. Bir nesne, kendi metotlarını çağırması kendine mesajdır. Etkileşim diyagramlarının her ikisinde de kendine mesaj gönderilir.

Koşullu Mesajlar Etkileşim diyagramlarında bir mesajın belirli bir koşulu gerçekleştirildiğinde gönderilen mesajdır. İşbirliği diyagramında mesajın başına eklenen şart il gösterilir. Sırasal diyagramlarda «op» çerçevesi kullanılır. Kaşılıklı dışlamalı mesajlarda birbirlerini bir bütünü oluşturan iki durum bulunur. İşbirliği diyagramında şart olarak mesajların başında gösterilir. Sırasal diyagramlarda iki parçalı «alt» çerçevesi kullanılır.

Döngüler Bilişim sisteminde bir işlemin yapılması için bir nesne grubuna mesaj gönderilmesi gereklidir. Bir nesne grubuna gönderilen mesaj ya da mesajlar işbirliği diyagramında «*» simgesi ile, sırasal diyagramda «loop» çerçevesi ile gösterilir. İşbirliği diyagramında çoklu nesneler ardı ardına çizilen kutular çizilir. Döngü koşulu olduğunda koşullu mesajlarda olduğu gibi gösterilir.

Döngüler Bilişim sisteminde bir işlemin yapılması için bir nesne grubuna mesaj gönderilmesi gereklidir. Bir nesne grubuna gönderilen mesaj ya da mesajlar işbirliği diyagramında «*» simgesi ile, sırasal diyagramda «loop» çerçevesi ile gösterilir. İşbirliği diyagramında çoklu nesneler ardı ardına çizilen kutular çizilir. Döngü koşulu olduğunda koşullu mesajlarda olduğu gibi gösterilir.

Kaynakça 1. Arthur M. Langer, Analysis and Design of Information Systems, Third Edition, Springer., 2010. 2. Simha R. Magal, Jeffrey Word, Essentials of Business Processes and Information Systems, John Wiley & Sons, 2009. 3. Kenneth E. Kendall and Julie E. Kendall,, Systems Analysis and Design, 8th Edition), Prentice Hall College Div., 2010. 4. Kalıpsız O., Buharalı A., Biricik G., Bilgisayar Bilimlerinde Sisten Analizi ve Tasarımı,Papatya Yayıncılık, 2006.