AÖF Soru Bankası

Bilişim TeknolojileriÜnite 4 Özeti

Uygulama Yazılımları

YBS101U-BİLİŞİM TEKNOLOJİLERİ

Ünite 4: Uygulama Yazılımları

Giriş

Bilişim teknolojilerinin temelini oluşturan bilgisayar, özünde yazılımlar aracılığıyla programlanabilen bir elektronik donanımlar bütünüdür. İnsan anatomisi üzerinden bilgisayar mimarisine ayna tutmak gerekirse bedenimizi donanım, zihnimizi ise yazılım olarak ifade edebiliriz. Bu bakış açısı bağlamında işlemciden belleğe, ekrandan klavyeye kadar bilgisayarı meydana getiren her türlü fiziksel yapı donanım olarak nitelendirilir. Donanımların neyi nasıl yapacağını programlamak için yazılan ikili (binary) kodlar ise yazılım olarak tanımlanır.

Uygulama Yazılımı Nedir?

Uygulama yazılımları birer bilgisayar programlarıdır. Amaçları farklı olsa da, kullanıcıların komutlarını yerine getirmek için tasarlanan programlardır. Örnek olarak; veritabanı yönetim sistemleri, resim editörleri, kelime işlemciler ve muhasebe otomasyonları bazı uygulama yazılımlarıdır. Amaçları işletim sistemlerinden farklı olarak kullanıcıların ihtiyaç duydukları bilgi işlem görevlerini gerçekleştirebilmelerini sağlarlar. Tarihte 19. yüzyıla dayanan ilk nesil uygulamalar, doğrudan ana bilgisayara ikili kodla yazılmaktaydı, günümüzde ise uygulama yazılımları C, Java, Delphi, Visual Basic, Swift, Kotlin vb. üst seviye programlama dilleri kullanılarak gerçekleştirilmektedir. Uygulama yazılımları, doğrudan son kullanıcılar ve/veya bazı durumlarda başka uygulamalar için önceden programlanmış belirli işlevleri yerine getirirler. Bağımsız çalışan ya da ortak bazı bileşenleri paylaşan bir uygulama bütününün üyesi olabilirler. Belirli donanım mimarileri ve işletim sistemleri hedef alınarak geliştirilen uygulama yazılımları, bilgisayarlarda önceden yüklü olarak ya da uygulama marketleri, kurumsal web siteleri ve uygulama paylaşım platformları gibi farklı ortam ve kanallardan arzuya bağlı erişilebilecek biçimde dağıtılır.

Masaüstü, Mobil ve Web Uygulamaları

Geliştirildikleri cihazlar ve işletim sistemi türleri bağlamında uygulama yazılımlarını üç ana gruba ayrılır. Bunlar; masaüstü, mobil ve web uygulamalarıdır. Masaüstü uygulamalar, büyük ekranlı sabit cihazlara özgü ve fare-klavye etkileşimine uygun olarak geliştirilirler. Performans, üretkenlik ve hız açısından değerlendirildiklerinde mobil ve web uygulamalarına göre çok daha başarılı oldukları söylenebilir. Özellikle yoğun işlem gücü gerektiren ve karmaşık görevlerde, kullanıcılara ihtiyaç duydukları performansı sunabilirler. Mobil uygulamalar ise; cep telefonu, tablet ve akıllı saat gibi mobil cihazlarda kullanılmak üzere Android ve iOS gibi mobil işletim sistemlerine özgü olarak geliştirilen uygulamalardır. Bu tür uygulamalar iOS için App Store’dan ve Android için Google Play Store’dan indirilerek cihazlara yüklenebilir. Web uygulamaları ise, ağ tabanlı görevleri gerçekleştirmek için web tarayıcılarını ve teknolojilerini kullanan yazılımlar olarak tanımlanabilirler. Masaüstü ve mobil uygulamalarının

aksine web uygulamaları genellikle donanımdan ve işletim sisteminden bağımsız olarak çalışırlar. Bir web uygulamasının kullanılabilmesi için bir ağ bağlantısı ve bir web tarayıcısı yeterli olmaktadır.

Bulut Bilişiminin Kazandırdıkları

Bulut Bilişim, yerel kaynakların aksine tamamen internet üzerinden erişilebilen ve yönetilebilen yazılım, sistem ya da platform tabanlı hizmetler bütünü olarak açıklanabilir. Bulut bilişim; veri depolama birimleri, bilgisayar ağları, sunucular ve uygulamalardan oluşan her türlü bilgi işlem kaynağına isteğe bağlı ve hızlı bir erişim sunar. Bulut bilişim hizmetleri talep üzerine –isteğe bağlı- seç-al biçimde sunulmaktadır. Bu özelliğinden dolayı büyük miktarda bilgi işlem kaynağı bile dakikalar içinde sadece birkaç fare tıklaması ile sağlanabilir. Bakım ve yenileme maliyeti yoktur denilebilir. Bulut bilişim, bu görevlerin çoğuna olan ihtiyacı ortadan kaldırır için çalışma ekiplerinin daha önemli iş hedeflerine odaklanmalarını mümkün kılar. Bulut bilişim sistemleri üç farklı biçimde yapılandırılır:

(1) Genel Bulut; sunucu, depolama ve ağ bileşenleri gibi tüm bilgi işlem kaynaklarının internet üzerinden hizmet sunan bir sağlayıcı tarafından işletildiği bir bulut mimarisidir.

(2) Özel Bulut; yalnızca tek bir işletmenin veya kuruluşun kullanımına tahsis edilmiş bulut mimarisi olarak tanımlanır.

(3) Melez Bulut ise genel ve özel bulutların bir arada kullanılmasıdır.

Bu nedenle gereken durumlarda veriler ve uygulamalar bulutlar arasında paylaşılabilir. Bulut bilişim hizmetlerinin pek çoğu IaaS, PaaS, Serverless ve SaaS olarak ifade edilen dört genel model çerçevesinde sunulur.

Satış ve Lisanslama Modelleri

Uygulama yazılımlarının son kullanıcıya sunulmasında değişik satış modelleri sunulmaktadır. Bunlar;

• Perakende • Abonelik • Freeware • Shareware • Donationware

gibi farklı sunumlardır.

Bununla birlikte yazılım lisansları fikri mülkiyet ve kullanım hakları özelinde;

• Özel mülk (proprietary) • Açık kaynak (open source)

olmak üzere iki ana gruba ayrılır. Özel mülk yazılımlar, sınırlı ve sayılı bir kullanım lisansı ile kullanıcılara dağıtılır ve mülkiyet haklarının tamamı geliştiriciye aittir. Yazılımı satın alan kullanıcılar dağıtım, çoğaltma, düzenleme ve benzeri haklara sahip olamazlar.


Özel mülk yazılımların aksine Açık kaynak kodlu yazılımlar GNU, Apache, BSD ve MIT gibi aşağıda sıralanan kriterlere uygun olarak hazırlanmış telif müsaadeli (copyleft) lisanslar ile dağıtılırlar (Open Source Initiative, 2007):

• Ücretsiz yeniden dağıtım: Herhangi bir tarafın, farklı kaynaklardan programlar içeren bir toplu yazılım dağıtımının bir bileşeni olarak yazılımı satması veya vermesi kısıtlanamaz. Bu tür bir satış için telif hakkı veya başka bir ücret talep edilemez. • Kaynak kodu: Yazılımın kaynak koduyla ve derlenmiş biçimde dağıtımına izin verilmelidir. Bir yazılımın kaynak koduyla dağıtılmadığı durumlarda, tercihen internet üzerinden ücretsiz olarak indirilebilen bir araç kullanıma sunulmalıdır. Kaynak kodu, bir geliştiricinin yazılımı değiştirebileceği formda olmalıdır. Kasten gizlenmiş kaynak koduna ya da ara yazılım formlarına izin verilmez. • Türetilmiş eserler: Değişikliklere, türetilmiş çalışmalara ve orijinal yazılımın lisansıyla aynı koşullar altında dağıtılmasına izin verilmelidir. • Yazarın kaynak kodunun bütünlüğü: Değiştirilmiş kaynak kodundan oluşturulan yazılımın dağıtımına açıkça izin verilmelidir. Türetilmiş eserler, orijinal yazılımdan farklı bir ada veya sürüm numarasına sahip olmalıdır. • Kişilere veya gruplara karşı ayrımcılık: Herhangi bir kişiye veya gruba karşı ayrımcılık yapılmamalıdır. • Çalışma alanlarına karşı ayrımcılık: Yazılım, sadece bazı belirli çalışma alanlarıyla sınırlandırılmamalıdır. • Lisans dağıtımı: Yazılım hakları, söz konusu taraflarca ek lisans verilmesine gerek kalmadan yeniden dağıtılabilmelidir. • Bir ürüne özgü olma: Yazılım hakları, kodların belirli bir yazılım dağıtımının parçası olmasına bağlı değildir. Kodlar bu dağıtımdan çıkarılırsa veya yeniden dağıtılırsa, yazılımın dağıtıldığı tüm taraflar, orijinal yazılım dağıtımıyla birlikte verilen aynı haklara sahip olmalıdır. • Diğer yazılımları kısıtlama: Yazılımla birlikte dağıtılan diğer yazılımlara da kısıtlama getirilmemelidir. Örneğin, aynı ortamda dağıtılan tüm diğer yazılımların açık kaynaklı olması konusunda ısrar edilmemelidir. • Belirli bir teknolojiyi dayatma: Herhangi bir teknoloji veya arayüz tarzı için bir dayatma öngörülmemelidir

Açık kaynak kodlu yazılımlar ise GNU, Apache, BSD ve MIT gibi telif müsaadeli (copyleft) lisanslar ile dağıtılırlar. Linux ve Android işletim sistemleri, LibreOffice uygulamaları, GIMP resim editörü, Thunderbird e-posta istemcisi, VLC medya oynatıcısı, Audacity ses editörü,

FileZilla dosya yöneticisi, Magento e-Ticaret yöneticisi bazı popüler açık kaynak yazılımlara örnek olarak gösterilebilir.

Uygulama Yazılımı Türleri

Günümüz bilişim dünyasında bireysel ve kurumsal ihtiyaçlara yönelik çok çeşitli uygulama yazılımları bulunmaktadır. Çoğu yazılım firması uygulamalarını çeşitli pazarlama stratejileri doğrultusunda geliştirirler. Bu stratejiler ise genel olarak yatay ve dikey pazarlama modellerini hedeflemektedir. Dikey pazarlama, tek bir sektöre ve ürün kategorisine odaklanarak tüketicileri cezbetmeyi ve onlara ulaşmayı amaçlar. Yatay pazarlama ise pek çok sektörü kapsar ve mümkün olan en fazla ürün kategorisini tüketicilere sunar. Farklı kullanım amaçları ve hedef kitleler gözetilerek tasarlanan uygulama yazılımları ise şu biçimde sınıflandırabilir:

• İş ve tüketici odaklı yazılımlar • İşletmelere özel yazılımlar • Üretkenlik yazılımları • ERP yazılımları • Proje yönetim yazılımları • Çokluortam uygulamaları.

Bu ünitenin sorularını uygulamada çözŞıklar, doğru cevaplar ve süreli sınav modu AÖF Soru Bankası uygulamasında