Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

NESNEYE DAYALI PROGRAMLAMA Yrd. Doç. Dr. Tuncay YİĞİT.

Benzer bir sunumlar


... konulu sunumlar: "NESNEYE DAYALI PROGRAMLAMA Yrd. Doç. Dr. Tuncay YİĞİT."— Sunum transkripti:

1 NESNEYE DAYALI PROGRAMLAMA Yrd. Doç. Dr. Tuncay YİĞİT

2 Kapsam: Yazılım geliştirme aşamaları. Yazılım süreçleri Tümleştirilmiş süreç (UP) Nesneye dayalı programlama kavramları. Nesneye dayalı analiz Kullanım senaryoları. Nesneye dayalı modelleme. Tümleştirilmiş modelleme dili (UML). Tasarım kalıpları. Nesneye dayalı tasarım kavramları. Tasarımlarda tekrar kullanılabilirlik kavramı. Nesneye dayalı kodlama. Yazılımların sınanması. Yazılım bakımı ve güncellenmesi.

3 Yazılım Geliştirme Aşamaları Yazılım: Programın çalışması ile bir fonksiyonu gerçekleştiren komutlar Programların istenilen veriyi oluşturmaları için kullanılan bir veri yapısı Programın çalışmasını ve kullanılmasını gösteren formlar Yazılım çeşitliliği: Sistem Yazılımları: Diğer programlara destek vermek için hazırlanan programlardır. Gerçek Zamanlı (Real-Time) Yazılımlar Gerçek dünyayı izleyen analiz eden yazılımlardır. İş Yazılımları İş bilgilerini işleyen ve analiz eden yazılımlardır. Gömülü Yazılımlar Salt okunur bellekte bulunurlar ve sistemin veya ürünün kontrolünde kullanılan yazılımlardır. Kişisel Bilgisayar Yazılımları Kişisel bilgisayarlar da geliştirilen ve kullanılan yazılımlardır. Yapay Zeka Yazılımları Karmaşık problemlerin çözümünde kullanılan yazılımlar.

4 Yazılım Geliştirme Aşamaları Yazılım Projesi Analizi ve Tasarımı: Adımlar Tanımlama, Yazılım için kullanıcı isteklerini öğrenme süreci Analiz, Yazılımın, teknik açıdan gereksinimleri ortaya koyma sürecidir Bölme, Analiz edilen yazılımın parçalara ayrılma sürecidir Kodlama, Parçalara ayrılan yazılımın, herhangi bir programlama dilinde kodlanması sürecidir. Birleştirme, Geliştirilen parçaların/fonksiyonların bir araya getirilip komple bir programın ortaya çıkarılması sürecidir. Sınama, Gerçek hayatta kullanılması ve karşılaşılan hataların teyidi, Dokümantasyon, Yazılım geliştirme sürecinin tüm aşamasında yapılmalıdır.

5 Yazılım Geliştirme Aşamaları Yazılım Projesi Tasarımı: Yaklaşımlar Veri akışı yaklaşımı, Her bir yazılım birimini belirli girdileri belirli çıktılara dönüştüren bir birim olarak ele alır. Bu yaklaşımın en belirgin aracı Veri Akış Diyagramları'dır. Veri Yapısı Yaklaşımı, Veri yapısı yaklaşımının temel felsefesi de yazılım yapısının, işlenecek veri yapısıyla uyumlu olması gereğidir. Nesneye Yönelimli Yaklaşım, Nesne yönelimli yaklaşım gerçek dünyayı nesneler ve aralarında alıp verdikleri mesajlar ile modeller.

6 Yazılım Geliştirme Aşamaları Nesneye Yönelimli Modelleme Yaşadığımız dünyada herşey birer nesnedir. Örneğin kişiler, kütükler, sistemler, hepsi birer nesnedir. Her nesnenin bir çalışma tarzı ve kendine has dışa yönelik davranışları vardır. Bir nesne ile interaksiyona girmek için, nesnenin içinde ne bulunduğunu bilmemize gerek yoktur. Belirli arayüzler (Interface) üzerinden mesajlar göndererek, nesne ile bağlantı kurulur. Nesne bu mesajı alır ve gerekli işlemleri yapar. Sistem elemanlarını daha fazla tekrar kullanılabilir (reusable) hale getirerek sistem kalitesini iyileştirmek ve sistem analiz ve tasarımının üretkenliğini artırmaktır. Nesne yönelimliliğin ardındaki bir diğer anahtar fikir, kalıtsallık (inheritance)'tır. Nesneler, yapısal ve davranışsal karakteristikleri paylaşan nesne grupları şeklinde tanımlanan nesne sınıfları (object classes) şeklinde düzenlenirler. Kalıtsallık, mevcut sınıfların bazı karakteristiklerini paylaşan yeni sınıfların (class) yaratılmasına olanak tanır. Nesneye Yönelimli Tasarım Amacı

7 Yazılım Geliştirme Aşamaları Nesne dayalı analizde temel adımlar Nesnelerin belirlenmesi Belirlenen nesnelerin yapı ve davranışlarının tanımlanması Nesnelerin birbirleri ile olan ilişkilerinin belirlenmesi Nesne ara yüzlerinin ortaya konması Nesne dayalı tasarımda temel görevler Sistem gereksinimleri sağlanacak şekilde, nesnelerin davranışlarının ve diğer nesnele iletişimlerinin ayrıntıları ile modellenmesi Kalıtsallık avantajlarından daha iyi yararlanılacak şekilde nesnelerin yeniden incelenmesi ve yeniden tanımlanması gerekir.

8 Nesneye Dayalı Programlama Mesela elimizde bir ütümüz olsun. Ütünün markası, modeli, rengi, çalıstığı elektrik voltajı, ne tür kumaşları ütüleyebildiği bu ütüye ait özelliklerdir (veri). Aynı zamanda ütümüzü ısıtabiliriz, ütüleme işinde kullanabiliriz ve soğumaya bırakabiliriz. Bunlar ise ütünün fonksiyonalarıdır(metod). Eğer ütü ile ilgili bir program yapmış olsak ve nesne yönelimli programlama tekniğini kullansak hemen bir ütü sınıfı(class) oluştururduk. Bu sınıfta ütüye ait bilgiler (veriler) ve ütü ile yapabileceğimiz işler(metod) bulunurdu. O zaman nesne yönelimli programlama da bir sınıfta, sınıfa ait veriler ve bu verileri işleyip bir takiı faydalı sonuçlar üreten fonksiyonlar/metodlar bulunur. Bir Örnek;

9 Nesneye Dayalı Programlama Mesela elimizde bir ütümüz olsun. Ütünün markası, modeli, rengi, çalıstığı elektrik voltajı, ne tür kumaşları ütüleyebildiği bu ütüye ait özelliklerdir (veri). Aynı zamanda ütümüzü ısıtabiliriz, ütüleme işinde kullanabiliriz ve soğumaya bırakabiliriz. Bunlar ise ütünün fonksiyonalarıdır(metod). Eğer ütü ile ilgili bir program yapmış olsak ve nesne yönelimli programlama tekniğini kullansak hemen bir ütü sınıfı(class) oluştururduk. Bu sınıfta ütüye ait bilgiler (veriler) ve ütü ile yapabileceğimiz işler(metod) bulunurdu. O zaman nesne yönelimli programlama da bir sınıfta, sınıfa ait veriler ve bu verileri işleyip bir takiı faydalı sonuçlar üreten fonksiyonlar/metodlar bulunur. Bir Örnek; Ütü 1 Ütü 2 Ütü 4Ütü 3 Ütü Sınıfı SınıfNesneler

10 Nesneye Dayalı Programlama sınıf bir yazılım kurgusudur ve gerçek hayattaki herhangi bir olguyu modelleyen ve bu olguya ait özellikleri(veri) ve davranışları(metdodlar) tarifleyen yapıdır. Sınıf Nedir? class Ütü { public int sıcaklık; public string renk; public string marka; public Ütü(string renk, string marka) { sıcaklık=15; this.renk=renk; this.marka= marka; Console.WriteLine(sıcaklık+ "derece sıcaklığında,\n " + renk + " renginde ve\n " + marka +" markasıyla bir ütü nesnesi oluşturuldu\n\n"); } public string Isın(int derece) { sıcaklık+=derece; return "şu an sıcaklıgım: " + sıcaklık+ " derece"; } } using System; class Ütü_Örnegi { static void Main(string[] args) { Ütü ütü1= new Ütü("Beyaz", "AyBakır"); Console.WriteLine(ütü1.Isın(70)); Console.ReadLine(); } }

11 Nesneye Dayalı Programlama Nesnelerin en önemli özelliği referans tipinde olmalarıdır. Referans tiplerinde bir nesnenin değeri saklanmaz. Sadece nesnenin hafızadaki yeri saklanır. Bir nesnenin hafizadaki yerini new operatörü geri dönderir. Aşağıdaki program kodu ile referans tiplerine ait bir kaç temel özelliği inceleyelim: Referans Tipleri ve Nesneler using System; class Ütü_Örnegi { static void Main(string[] args) { Ütü ütü1= new Ütü("Beyaz", "AyBakır"); Console.WriteLine("ütü1'nin ilk özellikleri: " + ütü1.Özellikler()); Console.WriteLine("ütü1'i 50 derece ısıtalım: "+ ütü1.Isin(50)+ "\n\n"); // ütü2 nesnemizi renksiz ve markasız olarak olusturalım: Ütü ütü2 = new Ütü("",""); //ütü2 nesnemizin özelliklerine bir göz atalım: Console.WriteLine("ütü2'nin ilk özellikleri: " + ütü2.Özellikler()); ütü2= ütü1; // ütü2 nesnemizi ütü1 nesnemize atıyoruz. Console.WriteLine("ütü2'nin özellikleri: " + ütü2.Özellikler()); Console.ReadLine(); } } class Ütü { public int sıcaklık; public string renk; public string marka; public Ütü(string renk, string marka) { sıcaklık=15; this.renk=renk; this.marka= marka; Console.WriteLine(sıcaklık+ "derece sıcaklığında,\n " + renk + " renginde ve\n " + marka +" markasıyla bir ütü nesnesi oluşturuldu\n\n"); } public string Isın(int derece) { sıcaklık+=derece; return "şu an sıcaklıgım: " + sıcaklık+ " derece"; } }

12 Nesneye Dayalı Programlama class Ütü { public int sıcaklık; public string renk; public string marka; public Ütü(string renk, string marka) { sıcaklık=15; this.renk=renk; this.marka= marka; } public string Isın(int derece) { sıcaklık+=derece; return "şu an sıcaklığım: " + sıcaklık+ " derece"; } public string Özellikler() { string sonuc= " Sıcaklık: " + sıcaklık+ "\n Renk: " + renk+ "\n Marka: " + marka+ "\n\n"; return sonuc; } }


"NESNEYE DAYALI PROGRAMLAMA Yrd. Doç. Dr. Tuncay YİĞİT." indir ppt

Benzer bir sunumlar


Google Reklamları