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