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
Bilgisayar Programlama I
WEB SERVİCE İDRİS YÜRÜK MAHMUT KAYA.
.NET FRAMEWORK.
BİLGİSAYAR NEDİR?.
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
4 Kontrol Yapıları: 1.Bölüm.
TEMEL BİLGİSAYAR BİLİMLERİ
FRAMEWORK.
Burcu Musaoğlu Data Sistem A.Ş..
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 3 – Yapısal Programlama
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.
Bilgisayara Giriş Doç. Dr. Mehmet S. İlkay.
İşletim Sistemleri Hazırlayan Hakan YİĞİT.
Bölüm 1 – Bilgisayar, Internet ve Web Giriş 1. 2
.NET Teknolojileri .NET mimarisi VB.NET, C.NET, C#.NET
Görsel Programlama Dr. Muhammet Balcılar
Bilişim Teknolojilerine Giriş
Ü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ı.
BTÖ 306 Bilgisayar Ağlarına Giriş Dr. Şirin Karadeniz Çelebi Uluyol.
 2006 Pearson Education, Inc. All rights reserved. Görsel C# ile Windows Programlama Güz 2009 (2. Hafta)
Bilgi Teknolojisinin Temel Kavramları
Programlama Dilleri Visual Basic C# C++ Pascal Delphi.
Mobil Uygulama Geliştirme
BİL İŞLETİM SİSTEMLERİ
Algoritmalar ve Programlama I Ders 3: PROGRAMLAMA VE PROGRAMLAMA DİLİ
Modül 1: Giriş. Genel Bakış Temel.NET kavramları Geliştirme ortamında gezinti Bir C# projesi oluştur Use Visual Studio.NET Veriye eriş Hata ayıkla ve.
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.
Kurumsal Ağlarda Uzak ve Merkezi İşlem Birimlerinin Sanallaştırılması: Bir Uygulama Emrah ÇOLAK, SGK Aydın ÇETİN, Gazi Üniversitesi ŞUBAT 2016.
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.
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ı
Nesne tabalı Programlamaya giriş
PROGRAMLAMA TEMELLERİ
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,
Bir bilgisayar sisteminin 4 bileşeni vardır;
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.
.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.

İyi Programlama Taktikleri 1.1 Taşınabilirlilik 1.2 Although it is easier to write portable programs in Java than in other programming languages, differences between compilers, JVMs and computers can make portability difficult to achieve. Simply writing programs in Java does not guarantee portability. İyi Programlama Taktikleri 1.3 Bilgisayarınız ve derleyiciler iyi öğretmenlerdir. Eğer Java kullanım kılavuzundan birşeyin nasıl çalıştığını anlayamıyorsanız Java geliştirme ortamında denemeler yapın. Hata ve uyarı mesajlarını okuyup bunların oluşma sebeplerini anlamaya çalışın. Genellikle bu yöntem birçok problemin çözümünü sağlar

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