UML ile Nesneye Yönelik Modelleme

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

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

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

Naive Bayes Sınıflandırıcısı

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

YAZILIM MODELLEME VE TASARIM

Java ile OpenGL e Giriş. NetBeans IDE si üzerinden kurulum

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

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

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

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama

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

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

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

Java Temel Özellikleri

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BEUN VPN Hizmeti. VPN Nedir?

Öğr. Gör. Serkan AKSU 1

Android Ders Notları

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

Üst Düzey Programlama

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

Program Kurulum. Turquaz Muhasebe. İçindekiler

VMware Üzerine BackTrack 5 Kurulumu

OMNET Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü

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

MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK

BİL-142 Bilgisayar Programlama II

PARDUS TOPLULUK SÜRÜMÜ 3.0 KDE KURULUMU

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

Sunum İçeriği. Programlamaya Giriş

Kaynak Kodlardan Derleme. Turquaz Muhasebe. Versiyon 0.2. Hüseyin Ergün. 26 Mart 2005

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

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

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

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

Veritabanı. Ders 2 VERİTABANI

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

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

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Nesneye Dayalı Programlama

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

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

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

Dinamik Kodlama. [X] [X] Yeni Fonksiyon

Programlama Yazılımı ile Web Sitesi Oluşturma

YAZILIM MODELLEME VE TASARIM

MOBİL UYGULAMA GELİŞTİRME

Data Structures Lab Güz

Kalıtım (Inheritance)

BİL BİLGİSAYAR PROGRAMLAMA (JAVA)

Ders 8 Konu Özeti ve Problemler

Öğr.Gör. Gökhan TURAN Gölhisar Meslek Yüksekokulu

Nesneye Yönelik Programlama (OOP) 7.Hafta

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

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

Mac OS İşletim Sisteminde MetaTrader4 Kurulumu

MOBİL UYGULAMA GELİŞTİRME

Turquaz Windows kurulum dökümanı. ftp://ftp.mirror.ac.uk/sites/ftp.postgresql.org/binary/v7.3.1/windows/pgsql731wina1.exe

Algoritma ve Akış Diyagramları

Üst Düzey Programlama

Temel Bilgi Teknlolojileri 1. Ders notları 5. Öğr.Gör. Hüseyin Bilal MACİT 2017

ASP.NET ile Bir Web Sitesi Oluşturma

NESNEYE YÖNELİK TASARIM SÜRECİ

VIRTUALIZATION SANALLAŞTIRMA

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

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

İnternet Programcılığı

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN

Xilinx ISE Webpack 14.7 Kurulum Tutorial

HMI (insan makine ara yüzü) EĞİTİM NOTLARI

PERKON PDKS Kurulum ve hızlı başlangıç rehberi

WINDOWS SERVER 2008 R2 REMOTE DESKTOP SERVICES RD Connection Broker

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

U y g u l a m a A i l e s i (Abakus 360, T-Panel, T-CRM) Tarayıcı Ayarları. IPera İletişim Teknolojileri

Proje 1. Arayüz Tasarımı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

JasperReports Server ve Ireport raporlama Sistemi Kurulumu / Kullanımı 1. Bölüm 2. Bölüm 1- JasperReports Server ve Ireport Nedir?

AirTies Kablosuz Erişim Noktası (Access Point) olarak kullanacağınız cihazı bilgisayarınıza bağlayarak ayarlarını yapabilirsiniz.

C# nedir,.net Framework nedir?

TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI

MAKİNELERE IBM SPSS Statistics 24 nin KURULMASI. IBM SPSS Statistics 24 Yüklemeye Başlamadan Önce Kontrol Edilmesi Gerekenler

Decorator Tasarım Şablonu

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

EKLER EK 12UY0106-5/A4-1:

BLGM 354 DENEY 1 * GİRİŞ

UFUK ÜNİVERSİTESİ MERKEZ KÜTÜPHANESİ MENDELEY KULLANIM KILAVUZU

Bilgisayar Yazılımları


Görsel Programlama DERS 08. Görsel Programlama - Ders08/ 1

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 12: Grafik Kullanıcı Arayüzü (Graphical User Interface-GUI)

BİT in Temel Bileşenleri (Yazılım-1)

Virtualaze Unify Kurulumu

OpenGL Uygulamaları. 1. Giriş. 2. OpenGL. Deney 2

Java JDK (Java Development Kit) Kurulumu:

Transkript:

UML ile Nesneye Yönelik Modelleme Herşeyden önce UML(Unified Modeling Language) bir progralama dili değildir. UML daha çok Nesneye Dayalı Programlama için kullanabileceğimiz bir modelleme dilidir. Grady Blooch, James Rumbaugh ve Ivar Jacobson tarafından geliştirilmiştir. Yazılım teknolojisi geliştikçe yazılan programların karmaşıklığı ve zorluğu giderek artmaktadır. Yazılan programların karmaşıklığı arttığı için kod organizasyonu önem kazanmıştır. Bu sebeple üretilen modelleme ve analiz dili olan UML. Programlama aşamasında olabilecek sorunların en aza indirilmesini sağlamaktadır. UML yazılımların hem maliyetini hem etkisini hemde ömürünü artırır. UML ile dokümantasyonu yapılan bir programın sonradan düzenlenmesi daha kolay olur. UML in faydalarından bahsedersek : Kodlama işlemini kolaylaştırır. Çünkü programdan ne beklediğimizi ve programlama ile neler yapacağımızı belirleriz. Programda beklenmedik mantıksal hataları (bug) minimuma indirgemiş oluruz. Tasarım aşaması düzgün yapıldıysa, programın daha kolay geliştirilebilmesi sağlanacaktır. Bellek kullanımının daha iyi belirlenmesini sağlar. Programın kararlılığını artırır. Ortak çalışılan projelerde programcıların iletişimini daha kolay hale getirir. UML 9 Diyagram Türünden Oluşur : Class Diagram: Sınıfları baz alarak yapılan diyagramdır. Object Diagram: Sınıfın yerine gerçek nesneler kullanılır. State Diagram: Nesnelerin zamanlara ayrılmış durumlarını

gösteren diyagramdır. Sequence Diagram: Gerçek zamanlı sistemlerde zaman içinde değişen interaktiviteleri gösterir. Activity Diagram: Bir nesnenin durumunun değişim sırasını gösterir. Use Case Diagram: Programın davranışlarının kullanıcı gözüyle incelenmesidir. Collaboration Diagram: Bir sistemin bütün parçalarının birbirleriyle olan ilişkilerini gösterir. Component Diagram: Birden çok geliştiricinin birlikte çalıştığı projelerde program componentlere ayrılır. Bu tür projelerde bu diagram kullanılır. Deployment Diagram: Sistemin, bilgisayarlar arasındaki bağlantılar, programın kurulacağı makinalar ve sistemdeki aletler gibi fiziksel incelenmeleri yapılır. Nesne kavramında önemli olan özellikler vardır. Bunlar: Kimlik(identity): Nesneyi unique olarak tanımlar ve onu diğer nesnelerden ayırır. Durum(state): Özellikler(fields veya attributes) ile belirtilir. Davranış(behavior): Metot, metot adı, aldıüı parametre türleri ve döndürdüğü tür ile tanımlanır. [crayon-59d5ee049c7ad231592138/] Sınıf kavramının önemli özellikleri : Alanlar(fields): Nesne özelliklerini tanımlayan değişkenler, adları ve türleri ile. Metotlar(methods): Metot adları, döndürdüğü tür, parametreleri, ve metotu gerçekleştiren program kodu. [crayon-59d5ee049c7c5000614251/] Erişim Belirleyicilerin Gösterimi Public: UML de + sembolü ile gösterilir. Protected: UML de # sembolü ile gösterilir. Package: UML de ~ sembolü ile gösterilir.

Private: UML de sembolü ile gösterilir. UML de Nesne Gösterimi UML de Paket Gösterimi Assocation (Sınıflar arası ilişki) Sınıflar arasındaki ilişkiyi göstermek için iki sınıf arasına düz bir çizgi çekilir. İlişkiyi gösteren çizginin üzerine

ilişkinin türü yazılır. Bir İnsan sınıfı gerçek nesnesi olan Ali ile kitap sınıfı gerçek nesnesi olan UML kitabı arasında okuma ilişkisi vardı.kısaca şöyle deriz. Ali, UML kitabı okur. Bazı durumlarda sınıflar arasındaki ilişki, bir çizgiyle belirtebileceğimiz şekilde basit olmayabilir.bu durumda ilişki sınıfları kullanılır.ilişki sınıfları bildigimiz sınıflarla aynıdır. Özellik ve işlev elemanları olabilir. Sınıflar arasındaki ilişki eğer bir sınıf türüyle belirleniyorsa UML ile gösterimi aşağıdaki şekildeki gibi yapılır. Şu ana kadar gördüğümüz ilişkiler bire bir ilişkilerdi.ilişkiler bire bir olmak zorunda değildir.bir sınıf, n tane başka bir sınıf ile ilişkiliyse buna bire çok ilişiki denir.mesela Yüzbaşı ile Er arasında bire yüz bir ilişki vardır. Diyagramda bunu gösterirken Yüzbaşı sınıfına 1 Er sınıfına ise 100 yazacağız. Gösterimi aşağıdaki gibidir:

Kalıtım(Inheritance) Kalıtım UML de şu şekilde gösterilir: İçerme (Aggregations) Bazı sınıflar birden fazla parçadan oluşur.bu tür özel ilişkiye Aggregation denir.mesela,bir TV yi ele alalım.bir televizyon çeşitli parçalardan oluşmuştur.ekran,uzaktan Kumanda,Devreler vs.. Bütün bu parçaları birer sınıf ile temsil edersek TV bir bütün olarak oluşturulduğunda parçalarını istediğimiz gibi ekleyebiliriz. Aggregation ilişkisini bütün parça yukarıda olacak şekilde ve bütün parça nın ucuna içi boş elmas yerleştirecek şekilde gösteririz. Örnek bir şekil aşağıdaki gibidir. Arayüz(Interface) Sınıf ile arayüz arasındaki ilişkiyi kesik çizgilerle ve

çizginin ucunda boş üçgen olacak şekilde gösteririz. Sınıf ile arayüz arasındaki bu ilişkiye gerçekleme(realization) denir. Sınıfla, arayüz arasında UML gösterimi açısından fazla bir fark yoktur.tek fark arayüzde özellik(attribute) yoktur.diğer bir fark ise arayüz adlarını yazarken adın üstüne <interface> yazısını eklemektir.aşağıda bir arayüz sınıf ilişkisi mevcuttur. Kapsülleme (Encapsulation) Şimdi ise kalıtım kullanarak hayvanları oluşturalım:

Böylece kalıtım olmadan: 9 dosya, 200 satır tutan kodun, Kalıtım Kullanarak: 13 dosya, 167 satır koda, %15 tasarruflu bir şekilde nasıl dönüştüğünü UML kullanarak daha iyi kavramış oluyoruz. Use Cases Diyagramları Sistem gereksinimleri UML Use Case (kullanım şekilleri) diagramları ile belirtilir. Yazılım geliştirme için gerekli değildir, fakat gereksinimler ve nesnel modeller arasında önemli bir bağlantıdır.

Ücretsiz bir UML programı için : ArgoUML Yazar: Hasan Alp ZENGİN Kaynaklar: sibelsomyurek.com/veritabani/11_uml.pptx univera-ng.blogspot.cz/2009/12/uml-ve-modelleme-bolum-4- class-snf.html slideshare.net/aselmanb/uml-ile-modelleme

Java ile Soket Programlamaya Giriş Soketler iki bağlantı arasında duran soyut birimlerdir. Soket bağlantısının bir ucu istemciye diğer ucu sunucuya bağlıdır. Bu yazıda önce istemci sonra da sunucu bağlantılarını ayarlayacağız. İstemci [crayon-59d5ee049dd98235732105/] Sunucu [crayon-59d5ee049ddaa931471092/] Bu şekilde oluşturduğumuz sunucu nesnesi ile streams leri bağlayabileceğimiz bir nesne oluşturmamız gerekir. Soket Bağlama [crayon-59d5ee049ddb7398256692/] Bundan sonra bağlantımızı oluşturmuş olduk. Artık yapmamız gereken tek işlem bağlantı nesnesine erişip sunucudaki iletişimi kontrol etmek. Soketlerden Veri Alıp Vermek Soketlerden veri alıp vermek için Streamsleri kullanabiliriz : Giriş InputStreams Çıkış OutputStreams Önce istemci için girişi ayarlayalım. [crayon-59d5ee049ddc2041965876/] Şimdi sunucu için girişimizi oluşturalım. [crayon-59d5ee049ddcd278842995/] Artık girişlerimizi ayarlamış olduk. Şimdi yapmamız gereken şey girişlere benzer şekilde çıkışları oluşturmak. [crayon-59d5ee049ddd8964176704/] PrintStream aynı zamanda bir OutputStream dir. Yollamak

istediğimiz veriyi println fonksiyonuyla karşıya iletir. Bir diğer OutputStream tipi ise DataOutputStream dir. OutputStream PrintStream den farklı olarak karşıya byte da gönderebilir. Yazar: Hasan Alp ZENGİN Kaynakça http://bilgisayarkavramlari.sadievrenseker.com/2009/11/2 0/java-ile-sohbet-istemcisunucusu/ http://e-bergi.com/y/soket-programlama http://ibrahimbilge.com/java-socket-programlama/ Java ile OpenGL (JOGL) e Giriş 1. OpenGL nedir? OpenGL (Open Graphics Library) gelişmiş donanım desteğini kullanarak hem iki hemde üç boyutlu grafikleri ekrana çizdirmek için kullanılan ücretsiz bir grafik uygulama geliştirme arabirimidir. Windows, Linux, MacOS ve Solaris gibi birçok işletim sisteminde desteklenir. Donanım tarafında ise SGI, ATI, Nvidia ve Intel gibi büyük donanım üreticileri ekran kartlarında OpenGL desteği sunarlar. 1992 yılında ilk taslağı yaratılmış olan bu standart, günümüzde 4.5 sürümüne ulaşmıştır ve 700 üzerinde fonksiyona sahiptir. Çoklu platform desteği içeren uygulamalar ve

özellikle de deneysel ve bilimsel araçlarda açık arayla önde ve standart olarak kullanılmaktadır. 2. OpenGL eklentilerinin Netbeans a kurulumu OpenGL arabirimini netbeans e eklemek için JOGL eklentisini indirmeliyiz. JOGL u şu adresden indirebilirsiniz : http://plugins.netbeans.org/plugin/3260/netbeans-opengl-pack İndirdiğiniz dosyayı zip ten çıkarın. Netbeans te Tools menüsü altında Plugins i seçin. Açılan pencerede, Downloaded sekmesine gelip Add Plugins e tıklayın. Zip ten çıkardığımız NBM dosyalarının hepsini seçip Open a basın. JOGL pluginlerinin netbeans a eklenmesi

GLSL Editor dışındaki tüm eklentileri seçili hale getirip install a basın. Sözleşme yi kabul ettikden sonra Netbeans tekrardan başlatılacak. Netbeans başladıkdan sonra artık kullanıma hazırız. 3. Netbeans JOGL eklentisinin kullanımı Proje oluşturma ekranını açtığımızda JOGL Application u seçiyoruz ve Next e tıklıyoruz. Projenin JOGL uygulaması olarak oluşturulması Ardından projemizin ismini ve hangi platform da çalışacağını seçiyoruz. Projenin isminin ve platformunun seçilmesi.

Default programın çıktısı Finish e tıkladığımızda gerekli dosyaların import edilmiş olduğunu ve kod yapılarının oluştuğunu göreceğiz. Projemizi derlediğimizde default olan üçgen ve kare yi göreceğiz. Artık kendi kodlarımızı oluşturmaya hazırız. 4. Default Kodun İncelenmesi [crayon-59d5ee049ef9f643075039/] Yazar: Hasan Alp ZENGİN Kaynaklar: www.ahmetsayar.com/wp-content/uploads/java-ile-opengle-g iriş.pdf www.en.wikipedia.org/wiki/java_opengl