NESNEYE YÖNELİK PROGRAMLAMA

Slides:



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

Yazılım Geliştirme Süreci
Fonksiyonlar - Functions
Bilgisayar Programlama I
Sinan Doğan, Esra Beyoğlu
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
NESNEYE YÖNELİK PROGRAMLAMA Nesneye Yönelik Yazılım Geliştirme Süreci Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü.
Problemi Çözme Adımları
Bilgi Teknolojisinin Temel Kavramları
İşletim Sistemlerine Giriş – 2 Kaynakların Paylaşımı
4 Kontrol Yapıları: 1.Bölüm.
Dağıtık Simülasyon Sistemlerinde Sanal Global Zaman Hesaplamaları
Yazılım Mühendisliği Bölüm - 6 Gerçekleştirim
BPR151 ALGORİTMA VE PROGRAMLAMA - I
NESNEYE DAYALI MODELLEME VE TASARIM
1.Yazılım Geliştirme Biligisayar techolojisinin iki bir birine bağalı konusu var: Donanım (hardware) Yazılım (software)
VERİ TABANI ve YÖNETİMİ
Yapısal Program Geliştirme – if, if-else
NESNEYE YÖNELİK PROGRAMLAMANIN TEMEL İLKELERİ GENEL BİR BAKIŞ
Yazılım Proje Yönetimi
Nesneye Dayalı Programlama
Görsel C# ile Windows Programlama
SÖZDE –KODLAR (pseudo-code)
AÇIK UÇLU ÖĞRENME ORTAMLARI
NESNEYE DAYALI PROGRAMLAMA
Temel tanımlar ve işleyiş
Bilgi Sistemi Organizasyonlar içerisindeki kontrol ve karar verme mekanizmalarında kullanılacak bilginin toplanması, işlenmesi, saklanması ve dağıtılmasını.
Koşul İfadeleri ve Akış Kontrolü Yazdığımız uygulamanın hangi koşulda nasıl davranacağını belirterek bir akış kontrolü oluşturabilmek için koşul ifadelerini.
Akış Kontrol Mekanizmaları
Nesneye yönelİk analİz ve tasarima gİrİş
BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1
Ece Olcay Güneş & S. Berna Örs
Bilgisayar Programlama
NESNEYE-YÖNELİK PROGRAMLAMA
DERS-1 SİMÜLASYON (BENZETİM) Prof. Dr. Hüseyin BAŞLIGİL
Chapter 11: Exception Handling
DENEME.
DÖNGÜLER.
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.
Ders İçerik Sunusu Maltepe Üniversitesi
C#’TA DÖNGÜLER onbirc.com/133.
ENF 204 Bilgisayar Programlama Algoritma ve Akış Diyagramları
Veri Tabanı Tasarım Süreci
Bilgi Teknolojisinin Temel Kavramları
Programlama Dilleri Visual Basic C# C++ Pascal Delphi.
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.
YAPISAL PROGRAMLAMA KAVRAMI
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.
Bilgisayar Mühendisliğindeki Yeri
ÇEVİK (Agile) SÜREÇLER Değişen gereksinimler, teknik riskler gibi önceden belirlenemeyen durumlara ve yazılım ürününü etkileyebilecek her tür değişikliğe.
Sistem Analizi ve Tasarımı
Nesne Tabanlı Yazılım Geliştirme Bora Güngören Portakal Teknoloji EMO Ankara Şubesi
C Programlama Dili Bilgisayar Mühendisliği.
GÖREV ANALİZİ.
PROGRAMLAMA TEMELLERİ
BSM208 PROGRAMLAMA DİLLERİNİN PRENSİPLERİ
Kaynakların Paylaşımı
Excel’de VBA Programlama (Visual Basic Application)
Problem Çözme Yaklaşımları
MBLOCK ile Arduino ve Robotik Kodlama
Problemi Çözme Adımları
Bilgisayar Mühendisliğine Giriş
Bölüm 6: Kullanıcı Tanımlı Fonksiyonlar I
NİŞANTAŞI ÜNİVERSİTESİ
C ile Programlamaya Giriş
İLERİ VERİ TABANI UYGULAMALARI
KODLAMA ve BECERİLER Dr. Osman EROL.
Sunum transkripti:

NESNEYE YÖNELİK PROGRAMLAMA 25 Eylül 2012

Kaynaklar Wrox, Beginning C Sharp 3.0 An Introduction to Object Oriented Programming, 2008 Christian Gross, Beginning C# 2008 From Novice to Professional, SECOND EDITION, 2008

Nesne Yönelimli Programlama (Object-Oriented Programming) Bilgisayar programının, nesneler ve aralarındaki ilişkiler biçiminde yapılandırılmasıdır. Nesneler, sınıf denilen kalıplar kullanılarak oluşturulur. Bazı dillerde her şey bir nesnedir. Bunlara tam nesne yönelimli diller denir. Diğerlerinde ise nesneler kullanılabilmesine rağmen, her şey bir nesne değildir. C# birinci gruba girerken, C++ ise ikinci gruptadır.

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

İYİ YAZILIMIN ÖZELLİKLERİ Genişleyebilme (Extendibility), İleri aşamalarda verilen görevlerin değiştirilmesi veya yenilerinin ilave edilmesi kolay olmalıdır. Bunun için: basit tasarımlar yaparak karmaşık tasarımlardan kaçınmak gerekir (Design simplicity). Tekrar kullanma (Reusability), bir proje içinde kullanılan elemanların yeni bir projede kullanılabilmesini eklemek gerekir.

İYİ YAZILIMIN ÖZELLİKLERİ Uygunluk (Compatibility), farklı bilgisayar sistemlerinde aynı ortak özelliklere sahip olunması. Bunun için çeşitli standartları kabul etmek gerekir (veri tipleri, dosya yapısı, ara yüz, vs.)  Kaynakların kullanımı (Efficiency), bilgisayar kaynaklarını (işlemci, RAM, vs.) en iyi şekilde kullanmak gerekir.

İYİ YAZILIMIN ÖZELLİKLERİ Taşınabilirlik (Portability),bir yazılım ürününün geliştirildiği bilgisayar ortamlarından farklı bilgisayar ortamlarına taşınarak çalıştırılması gerekebilir. 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 edilebilirlik (Verifiability), bir yazılımın 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.

İYİ YAZILIMIN ÖZELLİKLERİ • 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 öğrenmesi, kullanabilmesi, sonuçlarını yorumlayabilmesi, hatalarını düzelterek işlerini fazla bir zahmete girmeden yapabilmesi. • Beraber Çalışma (Interoperability), bu durumda iki program ardı ardına çalışma dışında bir birleri ile veri alış verişinde bulunabilmelidirler.

MODÜLER YAPININ ŞARTLARI Parçalanabilirlik (Modular Decomposability), bir problemi alt parçalara ayırarak yazmak.   Birleştirilebilirlik (Modular Compos ability), bir birinden habersizce oluşturulan modüllerin bir araya getirilerek bütünü meydana getirdiklerinde eksik veya yetersiz modüllerin olmaması. Anlaşılabilirlik (Modular Understandability), farklı kişiler tarafından yazılsa bile, okunduğunda programın anlaşılabilmesi.

MODÜLER YAPININ ŞARTLARI Koruma (Modular Protection) – bir modülün çalışma şekline ve datalarına diğer bir modülün izin verilenin dışında müdahale etmemesi. Süreklilik (Modular Continuity) - problemin tanımındaki küçük değişiklikler bir yada daha fazla parçanın değişmesine neden olurken program mimarisi olarak anılan modüller arasındaki ara yüzün (örneğin fonksiyon prototipleri) bozulmaması gerekir. Şimdi de nesneye dayalı programlamanın özellikleri inceleyelim.

Yazılım Geliştirme Evreleri Analiz Tasarım Kodlama Engtegrasyon

Analiz Ne yapacağız? Gereklilikler Problem sahası

Tasarım Nasıl yapacağız? Genel / mantıksal tasarım Soyut düşün! Ayrıntılı / fiziksel tasarım Somuta dönüştür!

Kodlama Programı yazmaya bilgisayar başında başlama! Azar azar kodla – sık sık test et! İlk önce, ilk derleme hatasını düzelt!

Entegrasyon Birleştirilebilir ve sınanmış kod parçaları elde eder etmez, bunları birleştir! Her birleştirme sonrasında, mutlaka test yap!

Yapısal Programlama Uzun ve karmaşık programların, bloklara ayrılarak daha kolay biçimde yazılabilmesini mümkün kılar. Küçük kod parçacıkları seviyesinde yapısal programlama hiyerarşik program akışı yapılarını tavsiye eder. Bu yapılar pek çok modern dilde kolayca elde edilebilen, “while”, “repeat”, “for” gibi yapılardır. Bu teknik ile programcılar büyük kod parçalarını daha kısa ve dolayısıyla anlaşılırlığı yüksek alt yordamlar halinde yazarlar. Genel olarak programlarda çok az genel (global) değişken kullanılır. Genel değişkenler yerine alt yordamlar yerel değişkenler kullanırlar ve değişkenlerini adres ve değer ile gönderirler.

PROSEDÜREL TASARIM Yapısal programlama yaklaşımında, ilk tasarım adımı programdan beklenen işlevselliği belirlemektir. Yanıtlanması gereken, “Bu program ne yapacak?” sorusudur. Ardından, istenileni gerçekleştirmesi için programın atması gereken temel adımlar yüksek-düzeyli “pseudo” kodlar yada akış diyagramları yardımıyla belirlenir. Sonrasında, her temel adım daha küçük adımlara bölünerek tasarım daha rafine hale getirilir. Bu yaklaşıma, prosedürel ayrıştırma (“procedural decomposition”) denir.