Yazılım; bir bilgisayar sisteminin ana öğelerinden biridir. Bu nedenle geliştirilmesinde de ana sistem içerisindeki yeri ve önemi, işlevleri dikkate alınmalıdır. Başka bir deyimle, yazılım; ana sistem ile birlikte ve ana sisteme uyumlu olarak geliştirilmelidir. Burada ayrı bir işlem olarak ele alınması, günümüzde bilgisayar yazılımının önemi nedeniyle, yazılım mühendisliğinin bağımsız bir uzmanlık dalı olarak sayılmasıdır.
Bir bilgisayar sisteminin veya bilgisayara dayalı bir sistemin kurulması ve geliştirilmesi eylemi içerisinde, yazılım da; bir proje halinde plânlanmakta, gereksinimler belirlenmekte, tasarlanmakta, hazırlık ve uygulamasına geçilmektedir.
Yazılım geliştirme sürecinde gerçekleştirilen işlemler, esas işlemler ve bunların gerçekleşmesini destekleyen işlemlerden oluşur.
YAZILIM GELİŞTİRME PLANI
Yazılım geliştirme planı; sorunun tanımlanması, çözüm yolunun kararlaştırılması, geliştirme sürecinin plânlanması, gider tahmini aşamalarında gerçekleştirilmektedir. Yazılım geliştirme plânının hazırlanmasında, ana sistem için daha önce ya da aynı zamanda gerçekleştirilen “inceleme ve analiz” sonuçlarına dayanılmaktadır. Amaç, ana sistemin analizi ile belirlenen işlevleri yerine getirecek şekilde yazılımın geliştirilmesidir.
Plânda; yazılım geliştirme konusu, amaç ve hedeflerinin tanımlanması, izlenecek yolun belirlenmesi, kaynak ihtiyaçları ve gider tahmini, yapılabilirliğin hesabı, proje sürelerine dayanmakta ve yazılım geliştirmeye düşen görev ve işlemler (gereksinimler) analiz edilmektedir.
GEREKSİNİM ANALİZİ
Gereksinim analizi, ana sistem öğeleri ve işlevlerinden yazılıma ilişkin olanlarının ele alınarak, ayrıntılı şekilde tanımlanmasıdır. Bu amaçla, iki yöntemden biri uygulanmaktadır.
Birinci yöntem; bilişim alanının, işlevlerinin, ara birimlerinin, kısıtlarının, kabul kriterlerinin belirlenmesi ve akış diyagramları halinde gösterilmesidir. Böylece yazılım özellikleri ortaya konmuş olmaktadır. Ancak, bu yöntemin uygulanabilmesi için, gereksinimler daha önce müşteri ile birlikte saptanmalıdır.
İkinci yöntem; yazılım için bir prototip (model) oluşturmak ve bu prototip üzerinde müşteri ile tartışarak, prototipi gereksinimlere uygun hale getirmektir. Bu yöntemde, gereksinimler önceden saptanmayıp, prototip üzerinde müşteri ile birlikte kararlaştırılmaktadır. Gereksinimlerin karşılanmasına ya da kaynak kısıtlamalarına göre yazılım tasarımının özellikleri; yazılım öğelerinin kabaca analizi ile de gereksinimleri karşılama derecesi belirlenmektedir.
Yazılım gereksinimlerinin analizi ve tanımlanması, sistem analisti ve müşterinin ortak çalışması ile gerçekleştirilmektedir. Gereksinimlerin belirlenmesi ile “yazılım gereksinimleri spesifikasyonu” ortaya konulmuş olmakta ve bir belge haline getirilmektedir.
Yazılım gereksinimleri spesifikasyonu veya yazılım prototipi, sistem analisti ve müşterinin işbirliği ile tamamlanıp gözden geçirildikten sonra, buna göre “yazılım geliştirme plânı” da tekrar elden geçirilerek gerekli düzeltmeler yapılmalıdır. Böylece, yazılım geliştirme plânı ile gereksinim analizi aşamaları birlikte ve iç içe yürütülmüş olduğu için, ikisine birlikte tanımlama aşaması adı da verilmektedir.
YAZILIM TASARIMI (YAZILIM GELİŞTİRME)
Belirlenmiş olan bir dizi gereksinimin, ana sistem içerisinde işlevsel bir öğe haline getirilmesi, başka bir deyimle, yazılım şekline dönüştürülmesidir. Yazılım tasarımı;
olarak üç basamak halinde gerçekleştirilmektedir.
ÖN TASARIM
Ön tasarımda, yazılımın belirlenmiş olan amaç ve hedeflere nasıl ulaştırılabileceğine ilişkin tanımlar geliştirilmektedir. Bunun için; yazılımın işlevleri tanımlanmakta ve modül adı verilen bağımsız öğelere ayrılmakta, veri yapıları oluşturulmakta, modül ara birimleri kurulmakta, kısıtlar belirtilmektedir. Bir rapor halinde düzenlenen ön tasarım, incelenerek kabul edilmekte ya da tekrar düzeltilmektedir.
AYRINTILI TASARIM
Ayrıntılı tasarımda; ön tasarım aşamasında oluşturulan modüller alt modüllere ayrılmakta ve ayrıntılı olarak tanımlanmaktadır. Kütükler, ekran görüntüleri ve rapor biçimleri tasarlanmakta, programlar için ayrıntılı plânlar düzenlenmektedir. Böylece hazırlanan tasarım raporu incelemeye sunulmaktadır.
Ayrıntılı tasarım raporu kabul edilince program planları bir bilgisayar dilinde kodlanarak dış belleklere aktarılmaktadır.
YAZILIMIN SINANMASI
Geliştirme sürecinin her aşamasında “kalite kontrolü” yapıldığı gibi, ayrıca son aşamada da “kabul muayenesi” anlamında bir testten geçirilmektedir. Bu amaçla, yazılım projesinin plânlanmasında bir “yazılım denetleme plânı” ve son aşamada da kabul muayenesi için bir “test plânı” düzenlenmektedir.
Sınama; önce her bir modülün, sonra da bir bütün halinde yazılımın testten geçirilmesi ve onaylanması ile tanımlanmaktadır. Yazılımda kullanıcılar tarafından bulunan hataların çoğunun nedeni problemi ifade etme ve anlama hatasıdır.
BAKIM VE KORUMA
Bakım ve koruma, sınama sonunda uygun bulunan yazılımın kullanım için düzenlenmesi, faaliyete geçirilmesi ve gerektiğinde üzerinde değişiklik yapılması işlemlerinden oluşmaktadır (şekil-1.3). Uzun süre kullanılacak olan sistem yazılımları ile uygulama paket programlarının gerektiğinde bakımının yapılması ya da değiştirilmesi yoluna gidilmektedir. Yazılımın bakımı, geliştirilmesinden iki kat daha pahalıdır. Büyük yazılım kurumlarında yazılım bakım ve değiştirme giderleri, bütçelerinin %50-70′ine ulaşmaktadır.
Bu Yazı Hakkında Birşeyler Demek İstermisiniz?
Ülkemizde yazılım firmalarının verdigi profesyonel destegin pahalı oldugu kanısındayım. karşılaştırırsak asya ve avrupada alınan hizmetin kalitesi çok iyi olmasına karşın ücretleride çok uçuk değil. umarım profesyonel hizmet veren firmaların artmasıyla yazılımda bir rekabet ortamı oluşması.