Transcript Slide 1
Bölüm 13
Programlama Dilleri ve Program Geliştirme Bilgisayarların Keşfi 2010
Living in a Digital World Dijital Dünyada Yaşamak
Hedefler
Makine dili ve assembly dili arasındaki farkları belirtmek.
Yöntemsel programlama dillerinin amaçların üzerinde tartışmak ve C ve COBOL dillerinin özelliklerini açıklamak.
Nesneye yönelik programlama dilleri ve program geliştirme araçlarının karakteristiklerini tanımlamak.
Diğer programlama dili ve programlama araçlarının kullanımın yerlerini öğrenmek.
Web sayfası geliştirmenin çeşitli yollarını açıklamak.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
2
Hedefler
Popüler multimedia yazarlığı programlarının kullanımını tanımlamak.
Program geliştirme yaşam döngüsündeki altı adımı listelemek.
Yapısal tasarım ve nesneye yönelik tasarım arasındaki farkları belirtmek.
Programlama problemleri için çözümlerin tasarlanmasında kullanılan temel kontrol yapıları ve tasarım araçlarını açıklamak.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
3
Bilgisayar Programları ve Programlama Dilleri
•
Bilgisayar programı
, bir bilgisayarı görevleri yerine getirmesi için yönlendirilen talimatlar serisidir.
–
Programcı
tarafından bir
programlama dili
kullanılarak oluşturulur.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
4
Alt Düzey Diller
• •
Makine dili
, programlama dillerinin birinci kuşağıdır.
Bilgisayarın doğrudan tanıdığı tek dildir.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
5
Alt Düzey Diller
• • •
Assembly dili
, programlama dillerinin ikinci kuşağıdır.
Programcı sembolik komut kodlarını kullanarak komutları yazar.
Kaynak program
makine diline dönüştürülecek olan kodu içerir.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
6
Yöntemsel Diller
• Bir
yöntemsel dilde
, programcı bilgisayara ne yapacağını ve bunu nasıl yapacağını söyleyen komutlar yazar.
–
Üçüncü kuşak dil
(
3GL
) Bir derleyici çalıştırmadan önce tüm programı çevirir.
Yorumlayıcı, bir anda tek bir kod komutunu dönüştürür ve yürütür. Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
7
Yöntemsel Diller
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
8
Yöntemsel Diller
•
COBOL
(COmmon Business-Oriented Language İşe Yönelik Ortak Dil), ticari uygulamalar için tasarlanır ve İngilizce benzeri ifadelerden dolayı kolayca okunabilir.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
9
Nesneye Yönelik Programlama Dilleri ve Program Geliştirme Araçları
• •
Nesneye yönelik programlama
(
OOP
)
dili
, programcıların mevcut nesneleri yeniden kullanmasına ve değiştirmelerine izin verir.
Diğer avantajları: Nesneler yeniden kullanılabilir.
Programcılar, uygulamaları daha hızlı oluştururlar.
Bir RAD ortamında düzgün çalışır.
Çoğu program geliştirme aracı IDE’dir.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
10
Nesneye Yönelik Programlama Dilleri ve Program Geliştirme Araçları
• •
Java
, Sun Microsystems tarafından geliştirilen bir nesneye yönelik programlama dilidir.
Just-in-time (JIT) derleyicisi byte kodunu bilgisayar tipine bağlı koda dönüştürür.
Click to view Web Link, click Chapter 13, Click Web Link from left navigation, then click Java Platforms below Chapter 13 Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
11
Nesneye Yönelik Programlama Dilleri ve Program Geliştirme Araçları
• • Microsoft
.NET
Framework neredeyse her program tipinin internette veya bir dahili iş ağında, bilgisayarlarda ve mobil aygıtlarda çalışmasını sağlar.
Özellikleri: CLR (Ortak Dil Çalışma Zamanı) Sınıflar Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
12
Nesneye Yönelik Programlama Dilleri ve Program Geliştirme Araçları
• •
C++
, C programlama dilinin gelişmiş bir versiyonudur.
– Nesneler, sınıflar, olaylar ve diğer nesneye yönelik konseptler ile çalışabilmek gibi ek özelliklere sahiptir.
C#
, C++ baz alınarak Microsoft tarafından geliştirilmiştir.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
13
Nesneye Yönelik Programlama Dilleri ve Program Geliştirme Araçları
Visual Studio, Microsoft’un program geliştirme araçları paketidir.
Visual Basic
, BASIC programlama dilini temel alır.
Visual C++
, C++’yı baz alır.
Visual C#
, C++ programlama elemanlarını daha kolay, hızlı geliştirme ortamı ile birleştirir.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
14
Nesneye Yönelik Programlama Dilleri ve Program Geliştirme Araçları
Click to view Web Link, click Chapter 13, Click Web Link from left navigation, then click Visual Studio Tools for Office below Chapter 13 Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
15
Nesneye Yönelik Programlama Dilleri ve Program Geliştirme Araçları
Görsel programlama dili, tüm kaynak kodlarını oluşturmak için görsel veya grafiksel bir arayüz kullanan dildir.
Borland’ın Delphi’si büyük ölçekli kuruluşlar veya bir RAD ortamında Web uygulamalarını oluşturmak için ideal olan güçlü bir program geliştirme aracıdır.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
16
Nesneye Yönelik Programlama Dilleri ve Program Geliştirme Araçları
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
17
Nesneye Yönelik Programlama Dilleri ve Program Geliştirme Araçları
• •
PowerBuilder
, güçlü bir program geliştirme RAD aracıdır.
Web tabanlı, .NET ve büyük ölçekli kuruluş nesneye yönelik uygulamaları için en uygunudur.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
18
Diğer Programlama Dilleri ve Program Geliştirme Araçları
•
4GL
(Dördüncü kuşak dil),
yöntemsel olmayan bir dildir
. Kullanıcıların ve programcıların veritabanındaki bir veriye ulaşmalarını sağlar.
–
SQL
popüler bir 4GL dir.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
19
Diğer Programlama Dilleri ve Program Geliştirme Araçları
• Klasik programlama dilleri: Ada ALGOL APL BASIC Forth FORTRAN HyperTalk Logo Modula-2 Pascal LISP PILOT PL/1 Prolog RPG Smalltalk Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
20
Diğer Programlama Dilleri ve Program Geliştirme Araçları
•
Uygulama oluşturucu
, istenilen işlevselliğe ait belirtimiden, kaynak kodu veya makine kodu oluşturan bir programdır. – Genellikle bir DBMS parçası olarak yazılımla birlikte gelir.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
21
Diğer Programlama Dilleri ve Program Geliştirme Araçları
• •
Makro
, bir uygulamanın görevi nasıl tamamlayacağını belirten komutlar serisidir.
Makroyu genellikle iki şekilde oluşturursunuz: – Bir makro kaydedici ile makroyu kaydedebilirsiniz.
– Makroyu kendiniz yazabilirsiniz.
Click to view Web Link, click Chapter 13, Click Web Link from left navigation, then click Macros below Chapter 13 Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
22
Diğer Programlama Dilleri ve Program Geliştirme Araçları
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
23
Web Sayfası Geliştirme
• •
HTML
, programcının belgeleri Web üzerinde görüntülenecek şekilde biçimlendirmek için kullandığı özel bir biçimlendirme dilidir.
XHTML
, Web sitelerinin mobil aygıtlarda daha kolay görüntülenmesine izin veren bir biçimlendirme dilidir.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
24
Web Sayfası Geliştirme
• •
XML
, Web geliştiricilerin özelleştirilmiş etiketler oluşturmasına ve bunları çeşitli aygıtlarda içeriği uygun şekilde görüntülemelerine izin verir. –
WML
, XML’in bir alt kümesidir ve mikro tarayıcılara yönelik sayfaları tasarlamak için kullanılır.
RSS 2.0
ve
ATOM
XML’in iki uygulamasıdır.
Click to view Web Link, click Chapter 13, Click Web Link from left navigation, then click XML below Chapter 13 Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
25
Web Sayfası Geliştirme
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
26
Web Sayfası Geliştirme
• • Web tarayıcılar, küçük programları çalıştırarak, Web sayfalarına eklenen etkileşimli elemanları gösterebilir.
Bu programlar bilgisayarınız ve bir Web sunucusu arasında bilgi alışverişi yapmak için CGI (ortak geçit arayüzü) kullanır.
Scriptler Küçük uygulamalar Servletler ActiveX kontrolleri
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
27
Web Sayfası Geliştirme
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
28
Web Sayfası Geliştirme
• Programcılar scriptleri, küçük uygulamaları, servletleri veya ActiveX kontrollerini çeşitli dilleri kullanarak yazarlar.
JavaScript Perl PHP
Click to view Web Link, click Chapter 13, Click Web Link from left navigation, then click PHP below Chapter 13
Rexx Tcl
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
VBScript 29
Web Sayfası Geliştirme
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
30
Web Sayfası Geliştirme
Dinamik HTML (DHTML), Web geliştiricilerin daha fazla grafiksel öğe ve etkileşim içermelerini sağlar.
• Basamaklı stil sayfaları (CSS) belirli bir nesnenin görüntülenmesi için biçimleri içerir.
Ruby on Rails (RoR), nesneye yönelik, veritabanı güdümlü Web sitelerini geliştirmek için teknolojiler sağlar.
Click to view Web Link, click Chapter 13, Click Web Link from left navigation, then click Cascading Style Sheets below Chapter 13 Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
31
Web Sayfası Geliştirme
• Web 2.0, Web sitelerinin kullanıcılar için aşağıdaki hizmetleri gerçekleştirmelerini sağlar: Kişisel bilgi paylaşımı Kullanıcıların Web sitesi içeriğini değiştirebilmelerine izin verme Sitede eklenmiş uygulama yazılımına sahip olmak Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
32
Web Sayfası Geliştirme
• Çoğu Web 2.0 siteleri API’leri kullanır.
– API, programcıların bir Web sitesi veya işletim sistemi gibi ortamlar ile etkileşimde olmasını sağlar.
Click to view Web Link, click Chapter 13, Click Web Link from left navigation, then click APIs below Chapter 13 Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
33
Web Sayfası Geliştirme
•
Web sayfası yazarlığı yazılımı
, görüntü, video, ses, animasyon ve diğer efektlerin yer aldığı gelişmiş Web sayfaları oluşturabilir.
Dreamweaver Expression Web Flash SharePoint Designer
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
34
Multimedia Program Geliştirme
•
Multimedia yazarlık yazılımı
, programcıların etkileşimli bir sunumda metin, grafik, animasyon, ses ve videoyu birleştirmelerine izin verir.
ToolBook Director
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
35
Multimedia Program Geliştirme
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
36
Program Geliştirme
•
Program geliştirme
, programcının bilgisayar programlarını oluşturmak için kullandığı adımlar serisidir.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
37
Adım 1 –Gereksinimleri Analiz Eder
• Program geliştirmeyi sürecini başlatmak için,
programcı
: – İhtiyaçları belirler – Sistem uzmanı ve kullanıcılar ile görüşür – Girdi, işlem ve çıktıyı tanımlar.
• IPO tablosu Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
38
Adım 2 –Çözümü Tasarlar
• • • Bir çözüm algoritması tasarlar.
Yapısal tasarımda
, programcı genellikle bir genel tasarım ile başlar ve daha ayrıntılı tasarıma doğru ilerler.
Programcılar, program modüllerini grafiksel olarak göstermek için bir
hiyerarşi tablosu
kullanırlar.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
39
Adım 2 – Çözümü Tasarlar
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
40
Adım 2 – Çözümü Tasarlar
•
Nesneye yönelik
(
OO
) tasarımda, programcı veriyi ve programı tek bir nesnede paketler.
– Kuşatma Click to view Web Link, click Chapter 13, Click Web Link from left navigation, then click Object-Oriented Design below Chapter 13 Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
41
Adım 2 – Çözümü Tasarlar
• Sıralı kontrol yapısı birbirini izleyen bir veya daha fazla eylemi gösterir.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
42
Adım 2 – Çözümü Tasarlar
• Seçim kontrol yapısı, programın belirli bir koşula bağlı olarak hangi eylemi seçeceğini söyler.
– Eğer-ise-değilse – Durum Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
43
Adım 2 – Çözümü Tasarlar
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
44
Adım 2 – Çözümü Tasarlar
• Tekrarlı kontrol yapısı bir programcının belirli koşul karşılandığında bir veya daha fazla eylemi tekrarlayarak gerçekleştirmesine izin verir.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
45
Adım 2 – Çözümü Tasarlar
• Bir programın
akış diyagramı,
çözüm algoritmasındaki mantığı grafiksel olarak gösterir.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
46
Adım 2 – Çözümü Tasarlar
•
Akış diyagramı yazılımı
akış diyagramlarının oluşturulmasını, değiştirilmesi ve güncellenmesini kolaylaştırır.
– SmartDraw – Visio Click to view Web Link, click Chapter 13, Click Web Link from left navigation, then click Flowcharting Software below Chapter 13 Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
47
Adım 2 – Çözümü Tasarlar
• Yalancı kod, program mantığını göstermek amacıyla, yapılacak işlemlerin İngilizce olarak kısaltılmış şekilde yazılmasıdır.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
48
Adım 2 – Çözümü Tasarlar
• UML (Birleşik Modelleme Dili) nesne modelleme ve geliştirme için standart bir gösterim olarak kabul edilir.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
49
Adım 3 – Tasarımı Doğrular
•
Test verisini
kullanarak
mantık hatalarını
kontrol eder.
Çeşitli durumlarda ortaya çıkabilecek test verileri oluşturulur Beklenen sonuçlar belirlenir Algoritma çalıştırılır Sonuçlar karşılaştırılır Test verisinin her seti için adımları tekrarlanır Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
50
Adım 4 – Tasarımı Uygulamaya Koyar
• • Tasarımın uygulamaya konulması, aşağıdaki hususlarda programcıya yardımcı olan bir program geliştirme aracının kullanılmasını içerir: – Bazı kodların veya tümünün oluşturulması veya sağlanması – Tasarımı bir bilgisayar programına dönüştüren kodun yazılması – Kullanıcı arayüzü oluşturulması Uç programlama, programcıların gereksinimler belirlendikten hemen sonra çözümleri kodlamaya ve test etmeye başladıkları bir stratejidir.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
51
Adım 5 – Çözümü Test Eder
Programı test etmenin amacı, doğru ve hatasız şekilde çalıştığından emin olmaktır.
• Karşılaşılacak hatalar sözdizim(yazım) hataları ve mantık hatalarıdır • Programda hataların ayıklanması ile hatalar giderilir.
• Beta , uygulamaya konulan özelliklerin ve işlevselliğin çoğuna veya tümüne sahip olan bir programdır.
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
52
Adım 6 – Çözümü Belgeler
• Çözümün belgelenmesinde programcı iki aktiviteyi gerçekleştirir: Program kodunu inceler Tüm dokümantasyonu inceler Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
53
Video: Electronic Arts Artık Cepte
BAŞLAMAK İÇİN TIKLAYIN
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
54
Yapısal Tasarım & Nesne Yönelimli Tasarım
Yapısal Tasarım Programcı genellikle genel bir tasarım ile başlar ve daha ayrıntılı bir tasarıma doğru ilerler.
Programların okunması ve korunmasında güvenilir ve kolay sonuçlar doğurur.
Nesne Yönelimli Tasarım Discovering Computers 2010: Living in a Digital World Chapter 13 Programcı veriyi ve programı (veya prosedürü) tek bir birimde, bir nesnede paketler. Programcı, yöntemleri program komutlarına çevirir.
55
Temel Kontrol Yapıları ve Tasarım Araçları
• Kontrol yapısı, program komutlarının mantıksal sırasını belirler. • Sıralı kontrol yapısı, birbirini takip eden bir veya daha fazla eylemi gösterir. • Seçim kontrol yapısı, programın belirli bir koşula göre hangi eylemi gerçekleştireceğini söyler.
Discovering Computers 2010: Living in a Digital World Chapter 13
56
Seçim Kontrol Yapısı
Seçim Kontrol Yapısı İf-then-else Durum Kontrol Discovering Computers 2010: Living in a Digital World Chapter 13
57
Özet
Bilgisayar programlarını oluşturmada kullanılan çeşitli programlama dilleri Çeşitli Web geliştirme ve multimedia geliştirme araçları Program geliştirme yaşam döngüsündeki adımlar ve bu süreci daha etkili kılmak için kullanılan araçlar Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak Bölüm 13
58
Bölüm 13
Programlama Dilleri ve Program Geliştirme Bilgisayarların Keşfi 2010
Living in a Digital World Dijital Dünyada Yaşamak Chapter 13 Complete