Uygulama Türleri

 Masaüstü Uygulamalar, lokal olarak masaüstü bilgisayarlara kurulum gerektirerek kullanılan, offline çalışabilen, yapısına göre internete çıkabilen ve kendi verilerini lokalindeki bir veritabanında tutabilen uygulamalardır.

 Web Uygulamaları, İnternet tarayıcıları (IE,FireFox,Chrome) üzerinde çalışabilen internet ortamında herhangi bir sunucuda Host edilerek hizmet ettirilebilen uygulamalardır.Browser’ın çeşidine veya browser’ın çalıştığı ortama yani mobil veya PC’ye göre yazılım özellikleri değişebilmektedir.

 Mobil Uygulamalar, Android, Windows Phone ve IOS gibi mobil işletim sistemlerine kurulabilen, uygulama verilerini lokalde; mobil cihazda tutarak Offline çalışabilen ve gereksinime göre internet bağlantısı kullanabilen uygulamalardır.

 

Yazılım Geliştirme Dilleri

ASP.NET, Microsoft tarafından geliştirilmiş bir web uygulama gelişimi teknolojisidir. Dinamik web sayfaları, web uygulamaları ve XML tabanlı web hizmetleri yaratılmasına olanak sağlar. Geliştiriciler .Net çatısı tarafından desteklenen tüm dilleri (C#, Visual Basic) ASP.NET uygulamaları geliştirmek için kullanabilirler. Yani, Java teknolojisinde olduğu gibi, yazılımcı tarafından yazılan kod, çalıştırılmadan önce sanal bir yazılım katmanı tarafından ortak bir dile çevrilmektedir.

JAVA, Sun Microsystems (Oracle Satın Almıştır) tarafından geliştirilmeye başlanmış açık kodlu, nesneye yönelik, ortam bağımsız, yüksek verimli, çok işlevli, yüksek seviye bir dildir.

 Diğer Diller, SAP’nin ABAP’ı, teknolojisi eski kalmış Delphi,C veya embeded (gömülü) cihaz (Modem-Uydu Alıcısı) yazılımlarında yaygın kullanılan C++ gibi diller de vardır.

 

 Yazılım Geliştirme Ortamları

 Microsoft Visual Studio, .NET dillerinin geliştirme ortamıdır. (IDE) Bu ürün yazılımcısının hazır bir arayüzden yazılım arayüzlerini sürükle bırakla oluşturmasını ve arka planına kod yazarak yazılımı programlamasını sağlar.

 Eclipse, Java ve Phyton gibi yazılım dilleri için açık kaynak kodlu geliştirme ortamıdır. Çalışma mantığı Visual Studio ile benzerdir.

 Diğer, farklı yazılım dilleri veya geliştirme yapılan ortamlar için değişik geliştirme platformları vardır.

Web yazılımlarının çalışması için Sunuculara sahip olmak gerekmektedir. Sunucular fiziksel olarak çalışma bilgisayarlarımızdan(PC) üstün özelliklere sahip özel sunucu işletim sistemlerine sahip makinalardır. Windows, Unix ve Linux vb.. tipinde sunucular piyasada bulunmaktadır.

 

Veritabanları

 Microsoft SQL Server, Microsoft’un veritabanı ürünüdür. Maliyet avantajı ve kullanım kolaylığı sebebiyle tercih edilir. Veritabanı yapısı olarak barındırdığı tablolarda alan bazında verilerin tutulmasını sağlar.

 Oracle, Oracle şirketinin kendi adını taşıyan veritabanı ürünüdür. Maliyetlidir fakat performans ve veri yükü bakımından daha iyi olduğu kabul edildiği için tercih edilir. Veritabanı veri saklama ve erişme yapısında farklılıklar vardır.

Yazılımcılar veritabanı markasından bağımsız yazılım geliştirebilmektedir. Fakat bazı özel geliştirme modellerinde sistemlerin uyumlu olması önem taşımaktadır.

 

Yazılım Geliştirme Süreci

Geliştiricinin nasıl bir yazılım (Program) geliştireceğini bildiğini varsayarak süreci anlatacak olursak;

v  Geliştirici uzmanlaştığı yazılım dilini seçecektir (Java veya .NET(ASP.NET,C#))

v  Geliştirme ortamını seçerek geliştirmeye başlayacaktır. (Visual Studio veya Eclipse veya Diğerleri)

v  Geliştirici örnek verdiğimiz popüler ve modern dillerden birini seçtiğinde Nesneye yönelimli denilen hızlı, kolay ve tutarlı kod yazmasını sağlayan teknolojiyi seçmiş olacaktır.

v  Geliştiricinin üslubuna göre geliştirme katmanlı mimariye uygun geliştirilebileceği gibi tek bir düzende de geliştirme yapılabilmektedir.

v  Geliştiriciler çalışırken yazılım dilinin sunduğu hazır veya kolaylık sunan Kütüphane, Metod, Sınıf, Framework gibi yapıları kullanabilmektedir.

v  Geliştirici yine bir çok tasarım nesnesi için Component denen hazır nesne ürünlerini yazılımında kullanabilmektedir.

v  Yine geliştirici yazılımında veritabanlarına bağlanmak için adaptör denen yapıları kullandığı gibi başka sistemlerle iletişim sağlamak için API denen yazılım parçalarını veya Web servis denen iletişim protokollerini kullanabilmektedir.

v  Özetle geliştirici gereksinim duyduğu Framework ve kütüphaneleri yazılımına altyapı kabul edebilmekte, katmanlı mimariyle kodlarını işlevlerine göre ayrı sayfalarda yazabilmekte, Gereksinimine göre entegrasyon için API ve Web servisler kullanabilmektedir.

 

Yazılım geliştirme sürecinde çok değişik süreçler, mimariler ve desenler uygulanabilmektedir. Bu değişiklikler geliştirme gereksinimine, geliştirici profiline, teknolojilerine ve diğer öncelik konularına bağlı olarak değişebilmektedir.

Yazılım geliştirme işlemleri tamamlandığında yazılan kodlar ve her türlü geliştirme unsuru geliştirme ortamlarında derlenerek kullanıma hazır hale getirme aşamasından geçirilmektedir.

Derlenen ve hazırlanan yazılımlar eğer Masaüstü yani PC uygulaması veya Mobil uygulama ise işletim sisteminde kurulumu yapılarak kullanıma açılabilir. Yazılım web yazılımı ise bu yazılımı internette servis edecek sunucuya yazılımın deploy edilmesi ve gerekli konfigürasyon ayarıyla erişilecek adresden yazılımın servis edilmesi sağlanmalıdır.