1.Yazılım Geliştirme Biligisayar techolojisinin iki bir birine bağalı konusu var: Donanım (hardware) Yazılım (software)

Slides:



Advertisements
Benzer bir sunumlar
NESNEYE YÖNELİK PROGRAMLAMA Temel Kavramlar
Advertisements

Yazılım Geliştirme Süreci
SGB.NET’İN TEKNİK ALTYAPISI
Bölüm 12 ÜST DÜZEY KONULAR Dinamik Bellek Ayırma Önişlemci
Nesnelerin Özellikleri. - Üye nesneler - friend belirtesi - Nesnelerin operatörlere yüklenmesi - this yerel (lokal) değişkeni - inline tanımlı üye fonksiyonlar.
Nesneye Yönelik Programlama
Nesneye Dayalı Programlama
NESNEYE YÖNELİK PROGRAMLAMA
NESNEYE YÖNELİK PROGRAMLAMA
İşletim Sistemlerine Giriş – 2 Kaynakların Paylaşımı
Erişim Kontrolü.  Değişebilir / Değişemez yapılar  Çok programcının dahil olduğu projeler  Kütüphaneler  Çözüm  Konvansiyonlar  Erişim kontrol sözcükleri.
Polymorphism.  Bir işlem birden fazla tip üzerinde çalışabilir  Metot temel tip arayüzünü kullanır  İşlem çalışan metot tarafından yapılır.
Sarma (Encapsulation) / Kalitim (Inheritance) /Final Terimleri
OOP Tanımlar.
NESNEYE DAYALI MODELLEME VE TASARIM
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 6: Sınıflar
NESNEYE YÖNELİK PROGRAMLAMANIN TEMEL İLKELERİ GENEL BİR BAKIŞ
Erişim Denetimi, Fonksiyon
Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar
Nesneye Dayalı Programlama
İSİM UZAYLARI (NAMESPACE)
Nesneye Yönelik Programlama
NESNEYE DAYALI PROGRAMLAMA
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
Net Class Framework ’ ün en üst yapısına İsim Uzayı denir. İsim uzayları ; pascal programlama dilinde 1990 ve hatta öncesinden beri varolmuş, C’de yer.
Nesneye Dayalı Programlama
NESNE YÖNELİMLİ PROGRAMLAMA
Nesne Yönelimli Programlama Dersi
İŞLETİM SİSTEMLERİ Öğr. Gör. S.Serkan TAN.
BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1
Nesneye Yönelik Programlama (12. Sunu). İsim Uzayları (Namespaces) Sınıfınızda Deniz adında iki öğrenci olduğunu kabul ediniz. Böyle bir durumda bu öğrencileri.
Bilgisayar Programlama
Test Driven Development (TDD) Nedir?
NESNEYE-YÖNELİK PROGRAMLAMA
İŞLETİM SİSTEMLERİ İşletim sisteminin, kolay ve hızlı kullanım, kaynak verimliliği gibi kıstasların dışında, ortamında saklanan bilgilerin, gerekse izinsiz.
Kalıtım , Sınıf Asli Ergün.
Nesneye Dayalı Programlama
KALITIM Yılmaz Kılıçaslan.
Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C ++ Ders.
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
BİLİŞİM TEKNOLOJİLERİ ALANI
ENF 204 Bilgisayar Programlama Algoritma ve Akış Diyagramları
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Programlama Dilleri Visual Basic C# C++ Pascal Delphi.
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
İnternet Programlama-I
Bölüm 10: Program Ayrıştırma
SİSTEM VE YAZILIM Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur. Yazılım, bilgisayar sistemlerinin bir bileşeni.
PROJENİN ADI “Doğrusal Konumlandırıcılar” için Profesyonel Kontrol Ara yüz Tasarımı ve İmalatı.
Adım Adım Algoritma.
YAPIM KUŞAĞI ÜRETİYORUM.
Genel Kavramlar Bölüm - 1. YAZILIM Bilgisayara işlemler yaptırabilmek ve karar verdirtebilmek için yazılan kalıplara denir. Yazılım, genel olarak donanım.
KALITIM(INHERITANCE) Öğr.Gör. Murat ASLANYÜREK. KALITIM KAVRAMINA GİRİŞ  Kalıtım, sınıflardan yeni sınıflar türetmeyi sağlar.  Türetilen yeni sınıflar,
JAVA 1. GİRİŞ & TARİHÇE Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmıştır. Açık kodlu. Nesneye yönelik. Düzlemden.
Bilgisayar Mühendisliğindeki Yeri
XML ve XML WEB SERVİSLERİ Volkan ALTINTAŞ. XML Bağımsız bir kuruluş olan W3C tarafından tasarlanmıştır. Herhangi bir kurumun tekelinde değildir. Kişilerin.
C Programlama Dili Bilgisayar Mühendisliği.
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H11
Nesneye Dayalı Programlama Temel Kavramlar Hüseyin ESKİ.
Kaynakların Paylaşımı
Excel’de VBA Programlama (Visual Basic Application)
Bilgisayar Bilimi Problem Çözme Süreci-2.
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
İLERİ VERİ TABANI UYGULAMALARI
Sunum transkripti:

1.Yazılım Geliştirme Biligisayar techolojisinin iki bir birine bağalı konusu var: Donanım (hardware) Yazılım (software)

2. İyi Bir Yazılımın Özellikleri Doğruluk (Correctness) Bir yuilimi yazmaya başlamadan önce yazılımdan beklenenlerin belirlenmesi gerekir. Yazılım ortaya çıktıktan sonra bu belirlenen özellikleri tam olarak sağalamalıdır. Dayanıklık (Robustness) Program iyi yönde bile olsa kendinden beklenmeyen iş1emler yapmamalıdır. Programcı hataları yüzünden kesintiye uğramaması için önlemler alınmalıdır.

Genişleyebilme (Extendibility), ileri aşamalarda verilen görevlerin değiştirelmesi veya yenilerinin ilave edilmesi kolay olmalıdır. Bunun için: -basit tasarımlar yaparak karmaşık tasarımlardan kaçınmak gerekir (Design simplicity). - mödüler bir vapı kullanarak yerel bir yönetim şekli seçilmesi gerekir (tek program var ise kontrol bir merkezinden etmek zorundayız) (Decentralization)

Tekrar kullanma (Reusability), bir proje içinde kullanılan elemanların yenı bır projede kullanılabilmesini eklemek gerekir. Uygunluk (Compatibility), farklı bilgisayar sistemlerinde aynı ortak özzelliklere sahip olunması. Bunun için çeşitli standartları kabul etmek gerekir (veri dosya, veri yapı, ara yüzü – User Interface - için) Kaynakların kullanımı (Efficiency), bilgisayarınızı en iyi şekilde kullanmak gerekyor.

Taşınabilirlik ( Portability ),bir yazılım ürününün geliştirildiği bilgisayar ortamlarından farklı bilgisayar ortamlarına taşinarak çalıstırılması gerekir. Bu iki şekilde olabilir. - Kaynak taşımalı ( Source Compatible ), - taşınma, derlenme,çalıştırma. - Hedef taşımalı ( Binary Compatible ), - taşınma, çalıştırma. Kontrol edlilebilirlik ( Verıfiability ), bir yazilimin hatalı durumlar ile karşılaşması halinde programın devam etmesine engel olan ve hatta programı çalıştırmayan hatalar ortaya çıktığında kullanıcıya ve programcıya hatanın ne olduğu konusunda yeterli bilginin verilmesi.

Bütünlük (Integrity),- istenmeyen erişimler ve değiştirmeler karşısında program, data, doküman gibi yazılım bileşenlerinin korunması. Kolay kullanım (Ease of use), - yazılım ürününü kullanan kişinin ürünü kolayca ögrenmesi, kullanabilmesi,sonuçlarını yorumlayabilmesi, hatalarını düzelterek işlerini fazIa bir zahmete girmeden yapabilmesi. Beraber Çalışma (Interoperability), bu durumda iki program ard arda çalışma dışında bir birleri ile veri alış verişinde bulunabilmelidirler.

3. Modüler Yapının Şartları Parçalanabilirlik (Modular Decomposability), bir problemi alt parçalara ayırarak yazmak. Birleştirilebilirlik (Modular Composability), bir birinden habersizçe oluşturulan modüllerin bir araya getirilerek bütünü meydana getirdiklerinde eksik veya yetersiz modüllerin olmamasi. Anlayilirlik (Modular Understandability), farklı kişiler tarafindan yazılsa bile, okunduğunda programın antaşılabilmesi.

Koruma (Modular Protection) – bir modülün çalışma şekline ve datalarınadiğer bir modülün izin verilenin dışında müdehale etmemesi. Süreklilik (Modular Continuity) - problemin tanımındaki küçük degişikliler bir yada daha fazla parçanın değişmesine neden olurken program mimarısı olarak anılan modüller arasındaki arayüzü (örneğin fonksiyon prototipleri) bozulmaması gerekir. Şimdi de nesneye dayalı programlamanın özellikleri inceleyelim.

4. Nesneye Dayalı Programlama Nesneler = isimler (gerçek dünyanın örnekleri). Nesne, belirlenmiş işlevleri yerine getiren, bunun içinde çeşitli fonksiyonlar içeren bir yapıdır. Bu yapı, değişkenleri de bünyesinde bulundurabilir. Fakat esas, işlevini belli edecek fonksiyonları bünyesinde bulundurmasıdır : bunun adı Paketleme (Encapsulation). Bir diğer özellik de, paketlenecek fonksiyonların nasil bir işlev göstereceği belirtilmeksizin, sadece nasıl kullanılacağının belirtilmesi yapılabilir ki, bu zorunludur. Buna da Soyutlama (Abstraction) adı verilir. Paketleme ve Soyutlama bir nesneyi belli etmek için yeterli iki özelliktir.

Nesneler için soylenebilecek özelliklerden biri de tureme özelliğidir. Bir nesne tanımlanırken daha önceden tanımlanmış bir başka nesneyi kendisine taban olarak seçebilir. Bu durum, yeni tanımlanan nesnenin kendisine taban seçtiği nesnenin özelliklerini kullanma hakkına karşılık gelir. Aynı zamanda yeni nesnenin taban nesne ile aynı özellikleri taşımasına neden olur. Yeni nesne kendisine yeni özellikler katabileceği gibi devraldığı özellikleri de geliştirebilir, değiştirebilir. Bu özelliğe Türeme (Derivation), özellikleri devralmaya da Miras alma veya Katılım (Inheritance) adı verilir.

Üç önemli özellik göze çarpmaktadır: 1.Türeyen nesneler taban nesnenin koruyarak devam ettirip kullanabilirler. 2. Türeyen nesneler türedikleritaban nesnelerin ozellikleri değiştirebilirler. 3. Türeyen nesneler yeni özellikler kazanabilir veya mevcüt özellikleri kaybedebilirler. Bir sistem icerisinde bir birinden farklı türemiş nesneler bulunsun. Bu nesnelerin benzer özellikleri olabilir ve bu ozelliklerin aynı isim de olabılır.Bu duruma Benzerlik (Polymorphism) adı verilir. Aslında bir nesneden türeyen sınıfların anasında benzerliklerin olması kaçınılmazdır, bir bakıma zorunludur.

Burada miras bırakmanın tersi bir işlem söz konusudur. Bir nesne bazı özelliklerini saklayıp sadece kendisi kullanır. Diğer nesnelerin ulaşmasına izin vermez veya sınırlar. Bu dört farklı durum ile açiklanabilir. 1- Özel (Private) 2 ‑ Korumalı (Protected) 3 ‑ Ortak (Public) 4 ‑ Arkadaş (Friend), bir nesnenin bir başka nesneyi arkadaşı ilan ederek, üyelerinin tümünün bu nesne tarafından kullanılmasına izin vermesi.

Nesneye dayalı programlamada bir diğer önemli özellik ise Dinamik Bağalanma (Dynamic Binding) dir. Bu özellik ile türeyen bir nesnenin adresini türediği nesnelerden birinin gösterici (pointer) değişkenine atamak mümkündür. Bu durumda adresi atanan nesne, göstericisine atandığı taban nesne gibi davranacak, fakat kendine has hünerlerini sergilemekten de geri kalmayacaktır.

Türeme özelliği ile ilgili olarak söylenebilicek bir diğer özellik ise bir nesnenin bir nesneden değil de birden çok nesneden türemiş olması özelliği (Çok Tabanlılık veya Çoktan Türeme özellik– Multiple Inheritance). Programlar içinde belirli kalıpların hazırlanarak tekrar tekrar onları kullanmak icin – bu özellığine Şablonlama (Template) adı verilir. Şablonlar, yazılan bir kodun farklı benzer durumlar için kullanılmasını ifade eder.