Diğer Programlama Dilleri ve Program Geliştirme

advertisement
Bölüm 13
Programlama Dilleri ve
Program Geliştirme
Bilgisayarların
Discovering
Keşfi
2010
Computers 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.
Diğer programlama dili ve
programlama araçlarının
kullanımın yerlerini
öğrenmek.
Nesneye yönelik
programlama dilleri ve
program geliştirme
araçlarının
karakteristiklerini
tanımlamak.
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
LISP
Logo
Modula-2
Pascal
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
Rexx
Tcl
VBScript
Click to view Web Link,
click Chapter 13, Click
Web Link from left
navigation, then click
PHP below Chapter 13
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak
Bölüm 13
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
Bilgisayarların Keşfi 2010: Dijital Dünyada Yaşamak
Bölüm 13
Test
verisinin
her seti için
adımları
tekrarlanır
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.
Nesne
Yönelimli
Tasarım
Programların
okunması ve
korunmasında
güvenilir ve kolay
sonuçlar doğurur.
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
Discovering
Keşfi
2010
Computers 2010
Living in a Digital World
Dijital Dünyada Yaşamak
Chapter 13 Complete
Download