Nesne tabalı Programlamaya giriş

Slides:



Advertisements
Benzer bir sunumlar
.NET FRAMEWORK -MASAÜSTÜ VE SUNUCU YAZILIMLARI
Advertisements

Bölüm 1 – Bilgisayar, Internet ve Web
Nesneye Yönelik Programlama
BİLGİSAYAR DONANIM ELEMANLARI
Yazılım Geliştirme ve Java
Bilgisayar Programlama I
WEB SERVİCE İDRİS YÜRÜK MAHMUT KAYA.
.NET FRAMEWORK.
BİLGİSAYAR KULLANIMI VE SAĞLIK
BİLGİSAYAR NEDİR?.
BİLGİSAYAR KULLANIMI VE SAĞLIK
Bilgi Teknolojisinin Temel Kavramları
BİLGİSAYAR SİSTEMİ.
Bilgisayar Ağlarına Giriş
Bilgi Teknolojisinin Temel Kavramları
Ders Adı: Bilgisayar Donanımına Giriş
Bilgisayar Yapısı-Genel
ENF 101 TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI
TEMEL BİLGİSAYAR BİLİMLERİ
FRAMEWORK.
Bölüm 1: Introductions (Tanıtım,Tanım)
BTP 108 BİLGİSAYAR AĞ SİSTEMLERİ AĞ KAVRAMI Birden çok bilgisayarın birbirine bağlı olarak kullanılmasıyla oluşturulan çalışma biçimine bilgisayar ağı.
BDEM 105.
BİLGİSAYAR DONANIMI SELİN POSBIYIK 9/H 551 SIDIKA RODOP ANADOLU LİSESİ
Bölüm 1 – Bilgisayar ve C++ Programlamaya Giriş
BİLGİ TEKNOLOJİSİNİN TEMEL KAVRAMLARI
Nesneye Dayalı Programlama
PROGRAM GELİŞTİRME 1.HAFTA.
Bölüm 1 – Bilgisayar, Internet ve Web Giriş 1. 2
Bilgi Teknolojileri Hafta 01. Bilgi Nedir???  Fikir  İlim  Malumat.
.NET Teknolojileri .NET mimarisi VB.NET, C.NET, C#.NET
Görsel Programlama Dr. Muhammet Balcılar
Ünite 1 – Bilgisayara Giriş , İnternet ve WWW
Quest Atlantis Dünya Üzerine Yayılmış Çok-Kullanıcılı Çevrim-İçi Eğitsel Bir Bilgisayar Oyununun Teknik Yapısı.
Bilgisayar Ağlarına Giriş. Tarihsel Gelişim Main- frame OS yoktu Batch Systems (Toplu İşlem) Birden fazla işin arka arkaya çalıştırılması.
1 Öğr. B.Aliyeva Öğr. B.Aliyeva Bilgisayar Yazılımı.
Nesne tabalı Programlamaya giriş
BTÖ 306 Bilgisayar Ağlarına Giriş Dr. Şirin Karadeniz Çelebi Uluyol.
DONANIM VE YAZILIM.
Bilgi Teknolojisinin Temel Kavramları
Programlama Dilleri Visual Basic C# C++ Pascal Delphi.
Mobil Uygulama Geliştirme
Algoritmalar ve Programlama I Ders 3: PROGRAMLAMA VE PROGRAMLAMA DİLİ
BTÖ 306 Bilgisayar Ağlarına Giriş. BTÖ 306 Tarihsel Gelişim Main- frame OS yoktu Batch Systems (Toplu İşlem) Birden fazla işin arka.
İnsan Kaynakları Bilgi Sistemleri
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Hafta2 Bilgisayar Donanımı Dersi
DERS 4 MİKROİŞLEMCİ PROGRAMLAMA. Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 4, Slayt 2İÇERİK Yüksek seviyeli programlama dilleri Düşük sevyeli.
PROJENİN ADI “Doğrusal Konumlandırıcılar” için Profesyonel Kontrol Ara yüz Tasarımı ve İmalatı.
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.
Barış Ceviz Yazılım Geliştiricisi Yazılım, Yazılımcı, Yazılım Dilleri.
Bilgisayar Donanımı Dersi
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.
Programlama Laboratuarı-I DERS - 3 Program Geliştirme Derleyici ve DevC++ Derleyicisi.
BİLGİSAYAR NEDİR?.
JDK(Java  Development  Kit):  Java  kodlarını  derlemek  için gerekli  geliştirme  ortamını.
Bilgisayar Ağlarına Giriş
Bilgisayar Donanım ve Sistem Yazılımı
Bilgisayar Ağlarına Giriş
BİLGİSAYAR DONANIM ELEMANLARI * Fiziksel olarak bir bilgisayarı oluşturan tüm birimlerdir. * Donanım somut bir kavramdır. Bu nedenle donanımı, elle tutulur,
Bilgisayar Mühendisliğine Giriş
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
BİLİŞİM TEKNOLOJİLERİ
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
Dünya Üzerine Yayılmış Çok-Kullanıcılı Çevrim-İçi Eğitsel
BİLGİSAYAR DONANIM ELEMANLARI * Fiziksel olarak bir bilgisayarı oluşturan tüm birimlerdir. * Fiziksel olarak bir bilgisayarı oluşturan tüm birimlerdir.
BİLGİSAYAR DONANIM ELEMANLARI * Fiziksel olarak bir bilgisayarı oluşturan tüm birimlerdir. * Fiziksel olarak bir bilgisayarı oluşturan tüm birimlerdir.
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
.NET Teknolojileri .NET mimarisi VB.NET, C.NET, C#.NET
Bilgisayar Donanımı Dersi Bilgisayarın Mimarı Yapısı ve Çalışma Mantığı.
Sunum transkripti:

Nesne tabalı Programlamaya giriş 1 Nesne tabalı Programlamaya giriş

1.1 Giriş 1.2 Bilgisayar nedir? 1.3 Bilgisayar Organizasyonu 1.4 İlk işletim sistemleri 1.5 Şahsi, Dağıtık and Client/Server Sistemler 1.6 İnternet ve World Wide Web 1.7 Makina Dilleri, Assembly Dilleri ve Yüksek Seviyeli Diller 1.8 C ve C++’ın tarihi 1.9 Java’nın tarihi 1.10 Java Nesne Kütüphanesi

1.11 BASIC, Visual Basic, Visual C++, C# ve .NET 1.12 Tipik Java geliştirme ortamı 1.13 Java hakkında notlar ve Java How to Program, Sixth Edition 1.14 Yazılım mühendisliği örneği: Objeye Dayalı Teknoloji ve UML

1.1 Giriş Java How to Program, Sixth Edition Java 2 Platform, Standard Edition (J2SE) J2SE Development Kit version 5.0 Nesneye dayalı programlama

1.2 Bilgisayar nedir? Bilgisayar Bilgisayar Programları Donanım Hesaplamalar yapar ve mantığa dayalı kararlar verir İnsanlardan milyonlarca kez daha hızlı Bilgisayar Programları Bilgisayarın verileri işlemek için kullandığı komutlar topluluğu Donanım Bilgisayar sisteminin fiziksel parcaları Yazılım Bilgisayarlarda çalışan programlar

1.3 Bilgisayar Organizasyonu Bilgisayarın altı mantıksal ünitesi Giriş ünitesi Fare, klavye Çıkış ünitesi Yazıcı, monitör, hoparlör Hafıza ünitesi Giriş yapılan ve işlenen bilgileri tutar Arithmetik, mantık birimi(ALU) Hesaplama yaparken kullanılır Merkezi işlem birimi (CPU) Diğer aletlerin çalışmasını denetler İkincil hafıza Hard disk, disket, flash disk

1.4 Erken İşletim Sistemleri Ardışık İşleme(Batch processing) İşlerin sırayla yapılmasıdır. İşletim sistemleri geliştirildi. Bilgisayarların daha kolay ve verimli kullanılmasını sağlayan programlar Bir işten diğer işlere geçişi kolaylaştırır Çoklu Programlama(Multiprogramming) “Simultane” işlem yapılır Zaman paylaşımlı (timesharing) işletim sistemleri

1.5 Kişisel, Dağıtık ve İstemci/Sunucu Sistemler Kişisel (Personal) sistemler Kişisel kullanım için bilgisayarlar Dağıtık Sistemler (Distributed computing ) Bir işi birden çok bilgisayar arasında paylaştırmak İstemci/sunucu sistemleri Sunucular genel programlar ve veriler sunarlar İstemciler program ve verilere sunucudan ulaşırlar

1.6 İnternet ve World Wide Web Kırk yıl önce Amerikan Savunma Bakanlığı geliştirdi Birkaç ana makinayı birbirine bağlamak için tasarlanmıştı Şimdi milyonlarca bilgisayarı birbirine bağlıyor World Wide Web (WWW) multimedia-tabanlı dökümanların saklanıp paylaşılmasını ve görüntülenmesini sağlar

1.7 Makina Dili, Assembly Dili ve Yüksek seviyeli diller Bilgisayarın “doğal dili” Makinaya bağlıdır Assembly dili İngilizceye benzer kısaltmalar bilgisarın operasyonlarını temsil eder Cevirici (Translator) programlar makina diline ceviriler Yüksek seviyeli diller Konuşma diline daha yakınkomutların kullanılmasını sağlar Sık kullanılan matematik işlemlerini de içerir Derleyiciler (Compiler) makina diline çevirir Yorumlayıcı (Interpreter) Yüksek seviyeli dilleri derlemeden çalıştırır

1.8 C and C++’un tarihi C++ Objeler C’den geliştirildi BCPL ve B’den geliştirildi Objeye dayalı programlama kapasitesini C ye ekler Objeler Gerçek dünya nesnelerini modelleyen tekrar kullanılabilen yazılım bileşenleri

1.9 Java’nın tarihi Java Orjinal olarak akıllı, kişisel elektronik cihazlar için geliştirildi. Daha sonra dinamik içeriği olan Web sayfalarının geliştirilmesi için kullanıldı Şimdi: Büyük ölçekli enterprise uygulamalar için www sunucu fonksiyonlarını geliştirmek için Kişisel elektronik aletlerde uygulamalar geliştirmek için (cep telefonları, etc.)

1.10 Java Sınıf Kütüphaneleri Sınıflar (Classes) İşlevleri olan metodlar içerirler Metodlar işlemlerini tamamladıktan sonra geriye değerler gönderirler Sınıflar Java programları yazmak için kullanılırlar Java sınıf kütüphaneleri içerir Java APIs (Application Programming Interfaces) olarak adlandırılırlar

Yazılım Mühendisliği Gözlemi 1.1 Program parçalarını yapı taşları olarak düşünmeye çalış. Mümkün olduğu kadar yazılım parçalarını tekrar kullan. Nesneye dayalı programlamanın temel prensibi budur. Yazılım Mühendisliği Gözlemi 1.2 Java ortamında program yazarken şu yapı taşlarını kullanacaksınız: Sınıf kütüphanelerınden sınıf ve metodlar class, kendi yazdığınız sınıf ve metodlar ve başkalarının yazdığı sınıf ve metodlar. Performans önerisi 1.1 Java API sınıflarını ve metodlarını kullanmak kendinizin tekrar yazmasından daha avantajlıdır. Bu sınıf ve metodlar çok dikkatli yazıldıkları için yüksek performans sağlarlar. Bunları kullanmak program geliştirme zamanını kısaltır.

1.11 BASIC, Visual Basic, Visual C++, C# and .NET Beginner’s All-Purpose Symbolic Instruction Code .NET .NET platform Visual Basic .NET BASIC üzerine yazılmıştır. Visual C++ C++üzerine yazılmıştır. C# C++ ve Java dilleri üzerine yazılmıştır., C sharp

1.12 Tipik Java geliştirme ortamı Java programları beş aşamada çalıştırılır Edit Programcı programı yazar (ve diske kayd eder) Compile (Derleyici) Derleyici programdan bytecode oluşturur Load (Yükleme) Sınıf yükleyici bytecode ları hafızaya yükler Verify (Doğrulama) Bytecode Doğrulayıcı bytecode ları denetler ve güvenlik sınırlamalarına uyup uymadığına bakar Execute (Çalıştır) JVM bytecode larını makina diline cevirip çalıştırır

Fig. 1.1 | Typical Java development environment.

Çok görülen programlama hataları 1.1 Sıfır tarafından bölünme hataları programın çalışması sırasında olur, bunlara runtime errors veya execution-time errors denir. Fatal runtime errors hataları programın derhal durdurulmasına sebep olur. Nonfatal runtime errors hatalarında program çalışmaya devam eder fakat hatalı sonuç üretir.

1.14 Yazılım mühendisliği örneği: Nesneye Dayalı Teknoloji ve UML Unified Modeling Language (UML) Ortak notasyon kullanan grafiksel dil Nesneye dayalı dizaynların temsil edilmesini sağlar

1.14 Yazılım mühendisliği örneği (devam) Objeler Gerçek dünya nesnelerini modelleyen tekrar kullanılabilen yazılım bileşenleri Çevrenize bakınız İnsanlar, hayvanlar, bitkiler, arabalar, ... Tanımlayıcı özellik(Attributes), (karakteristik özellik) Büyüklük, şekil, renk, ağırlık, ... Davranışlar (Behaviors) Bebekler ağlar, emekler, uyur, ...

1.14 Yazılım mühendisliği örneği (devam) Nesneye dayalı dizayn (OOD) Gerçek dünya nesnelerini modeller Nesneler arasındaki haberleşmeyi modeller Nesnenin tanıtıcı özelliklerini ve davranışlarını gizler (Encapsulation) Bilgi saklama İyi tanımlanmış arayüzlerden haberleşme Nesneye dayalı programlama dilleri Nesneye dayalı programlama teknikleri kullanarak yazılmış programlamaya, nesneye dayalı programlama denir (OOP) Java, C++, C#, Delphi

1.14 Yazılım mühendisliği örneği (devam) Nesneye Dayalı Analiz ve Dizayn Object-Oriented Analysis and Design (OOA/D) Büyük programlar için çok önemli Önce analiz et sonra çözüm geliştir UML Unified Modeling Language

1.14 Yazılım mühendisliği örneği (devam) UML Grafiksel olarak temsil etmek Nesneye dayalı sistemlerin modellenmesinde kullanılır Esnek ve geliştirilebilir