Program Tasarımında Temel Kavramlar Nelerdir? (Ders 3)

Program Tasarımında Temel Kavramlar Nelerdir? (Ders 3) Merhaba arkadaşlar, Programın Tasarımındaki Temel Kavramlar dersimizin son makalesine geldik. Bundan önceki günlerde yazdığımız 2 makalede bazı tanımlamalara ve örneklere yer vermiştik. Kalan tanımlamaları ve açıklamaları da bu makalemizde anlatıp konumuza son vereceğiz. Konumuzla alakalı kısa bir İzah ile dersimize başlayalım; Assembly, alt düzey programlama dilidir; işlemcinin iç yapısı meselesinde birşeyler bilinmesini gerektirir.   C, bir orta düzey programlama dilidir ve alt düzey ile üst düzey programlama dillerinin yeteneklerinin bir araya getirilmesini sağlamıştır denilebilir. C dili, Dennis RITCHIE anlamında tasarlanmış ve 1972 yılında PDP-11 adlı sistem üstünde gerçekleştirilmiştir. Üst düzey ve orta düzey programlama dilleriyle tasarlanan bir programın makina kodunu üretmek için derleyici şekilde bilinen yazılım kullanılır. Her dilin kendine özgü derleyicisi vardır.   Böl ve Yönet Yaklaşımı: Böl ve yönet yaklaşımı programcılıkta ve algoritma geliştirmede önemli bir yere sahiptir; büyükçe denilebilecek problemler, nitelikleri tıpkı kalmak koşuluyla daha küçük parçalara ayrılıp küçük problemler durumuna getirilir ve kolayca çözülür.   Çevrimli ve Rekürsif Yaklaşım: Çevrimli/İteratif yaklaşım bir algortima içerisindeki belirli bir kodun tekrarlanması ihtiyacının ilgili programlama dilinin döngü deyimleri kullanılarak karşılanmasıdır.   Programlama Dilleri ve C/C++/JAVA: Bilgisayarın iç yapısını fazla bilinmeden program geliştirmeye imkan verici kodlama araçlarıdır; tıpkı natürel diller bu gibi programlama dillerinin de kendi imla kuralı ve grameri vardır. Herbiri muhtelif bir alana yönelmiş programlama dili bulunduğu bunun gibi ve ya genel amaçlı programlama dilleri de vardır. Programlama dili dendiğinde ilk şekilde BASIC, FORTRAN, PASCAL, C/C++ ve JAVA akla gelmektedir.   Veritabanı ve SQL: Bilgilerin belirli bir disiplin altında saklanması ve gerektiğinde hızlı bir biçimde aranıp bulunması için geliştirilmiş bir saklama/sorgulama sistemddir. SQL (Structured Query Language) ise bir sorgulama dilidir; veritabanı ile etkileşimin kotarılması, veritabanı veri yapısının tanımlanması, veri tabanına veri yazma/sorgulamaişlemlerinin yapılmasını sağlar. SQL standart bir sorgulama dili olup Access, Microsoft SQL, ORACLE, SYBASE, Ingres benzeri çok sayıda veritabanı İdare sistemleri anlamında desteklenmektedir.   SQL, yaptığı meslek büyük kendisi kolay öğrenilebilecek bir dildir; bilhassa İngilizce bilen program tasarımcıları için anlaşılması kolay bir dildir. Yapısı, genel şekilde İngilizce bir cümleyi andırır. SQL, genel olarak, Select, Insert, Update, Delete benzeri yapıları üstünde alanlar, tablolar ve veritabanı dosyaları üstünde işlem yapılmasını sağlar.   Alt-Program/Yordam: Belirli bir işi yapmaya odaklanmış müstakil program parçasıdır; kendi içerisinde bir bütünlük ve algoritması vardır. Yaptığı meslek kendisine gelen parametreler üstünde lüzumlu işlemi yapmak ve imal edilen sonucu göndermektir. Bir yordam müstakil şekilde ana-program içerisinden yahut kendisi de dahil öbür alt programlar sebebiyle kullanılabilir. Kendi kendisini kullanana alt-programlara rekürsif özelliktedir denilir.   Alt-programlar için, programlama dillerinde genel şekilde “fonksiyon” ve “prosedur” şekilde iki türlü biçimde adlandırılır. Fonksiyonlar tek kıymet hesaplar ve çağırana gönderirler. Prosedürler daha geneldir, Procedure’ler yapısal programlamanın önemli bir parçasıdır; çok fazla esnek yapıda yordamlar yazılabilir. C programlama dilinde fonksiyon ve presedur tıpkı biçimde yazılır. Ancak Pascal ve gibi dillerde her ikisi farklıdır.   Sınıf/Nesne: Belirli nitelikleri içeren tanımlamalara sınıf denilir; sınıf kavramı soyuttur. sorun insan canlılar içerisinde bir sınıfa karşılıktır. Nesne ise, bir sınıfa ait somut varlıklardır. Sınıf ve nesne kavramı C++, JAVA benzeri nesneye dayalı programlama dillerinin aslını oluştururlar.   Kullanıcı/Sunucu Mimarisi: Programın işlem gücü gerektiren parçasının, sunucu şekilde bilinen kuvvetli bir bilgisayarda yürütülmesi, sonuçlarında kullanıcı şekilde bilinen bilgisayarda gösterilmesine dayanan bir yazılım yöntemidir.   Ağ Programlama: Uygulamaya dönük programların bir file (network) ortamı üstünden haberleşerek karşılıklı etkileşimde bulunmasını verici programlama şeklidir. Burada temel gereksinim, tıpkı uygulamaya ait, fakat muhtelif sistemler üstünde koşan program parçalarının karşılıklı haberleşmelerini, etkileşimde bulunmalarını sağlamaktır.   Ağ programlaması, ağın protokol kümesine ve mimarisine aşırı bağlıdır; bir program TCP/IP için geliştirilmişse, fakat ve fakat TCP/IP ağlarda çalışır. Dolayısıyla program parçalarının koştuğu sistemler üstünde TCP/IP protokol kümesi yüklü olmalıdır. Bir protokol kümesi için geliştirilen bir yazılım bir başka protokol kümesi altında çalışmaz. TCP/IP, NETBUI, NETWARE, AppleTalk isimlendirilen file protokol kümeleri olup, uygulamada, Internet’in de protokol kümesi olan TCP/IP sıkça rastlanan şekilde kullanılmaktadır.   Program Zaman ve Bellek Maliyetleri: Zaman maliyeti (time complexity) algoritmanın neticeye ulaşması için lüzumlu süre sahasında bilgi verir. Alan maliyeti ise (space complexity) ise algoritmanın ihtiyaç duyacağı hafıza miktarı sahasında bilgi verir. Algoritma maliyeti iki muhtelif biçimde anlatım edilebilir. Biri direkt parametrelere bağlı şekilde tam matematiksel ifadeyle; bu anlatım şeklinde, parametrelerin, gerçek değerleri yerine koyulduğunda süre miktarı şekilde çalışma hızı bulunabilir. İkincisiyse, parametrelerin karmaşıklığı nasıl etkilediğini mertebe halinde gösterir.   Kıyaslama (Bencbmarking): Aynı işi oluşturan iki programın  veya yazılımın evrensel manada Örnek veriler üstünde çalıştırılarak performanslarının karşılaştırmaktadır. Kıyaslamadan önemli unsurlar, Örnek verinin herkes anlamında adlandırılan ve kolayca elde edilen evrensel düzeyde olmasıdır ki, herkes kendi sistemini kıyaslayabilsin.   Kümeleme Karakterleri: Kümeleme karakterleri C, C++ ve JAVA benzeri dillerde birbiriyle ilişkili kod parçalarının gruplanması için kullanılır; aç Öbek karakteri ‘{‘ başla (start) ve kapa Öbek karakteri de ‘}’ bitiş (stop) yönünde kullanılır. Kümeleme karakterleri çift şekilde kullanılır; yani başka karakteri varsa bitişi de olmalıdır. İçiçe yada geri arda birden bire aşırı kümeleme karakteri kullanılabilir.


Yapılan Yorumlar
Erdem OFLAZ

Bir mum, diğer mumu tutuşturmakla ışığından bir şey kaybetmez.
 Kategoriler
 Popüler yazılar