You are on page 1of 32

Bu derste; Etkin ve gvenilir alan, ekonomik yazlm elde etmek iin mhendislik ilkeleri kurmak ve kullanmak olan Yazlm

lm Mhendislii'nin nemi ve gereini anlayacak, Yazlm Gelitirme Srecinin admlarn anlayarak, bu sreci iyiletirmek iin kullanlan Yazlm Yeterlilik Olgunluk Modeli'nin (Capability Maturity Model, CMM) yap ve dzeylerini inceleyecek; Yazlm Gelitirme Sre Modelleri'ni ve otomatik yazlm gelitirme aralarn (CASE Teknolojisini) tanyacak, nsan kaynaklar, problem ve yazlm gelitirme srecindeki ilemleri gz nnde bulundurarak, etkin proje ynetiminin nasl gerekletirileceini anlayacak ve risk analizi, yazlm proje maliyeti tahmin yntemleri, yazlm lm kriterlerini anlayarak Yazlm Proje Plann hazrlamay renecek, Yazlm bakm (software maintenance) kavramn ve Yazlm Mhendislii'nde konfigrasyon ynetiminin yeri ve nemini anlayarak, yazlm deiim kontrol ve versiyon kontrol yollarn inceleyecek, Yazlm kalite zelliklerini tanmlayacak, yazlm kalitesinin ynetimi ve test tekniklerini renecek, Yazlm gereksinim analizi kavramn ve yazlm gereksinim spesifikasyonunu hazrlama tekniklerini renecek, veri akna ve veri yapsna ynelik gereksinim analizi yntemlerini inceleyecek, Yazlm tasarm srecinde mimari tasarm, ayrntl tasarm ve arabirim tasarmn tanyacak ve kavramn anlayacak, tasarm notasyonlarn renecek, Nesne ynelimli (object oriented) yaklamn zelliklerini renecek, nesne ynelimli analiz ve tasarm yntemlerini inceleyeceksiniz.

GR

Bilgisayar sistemlerine ilikin sorunlarn st dzeyde zmn gerekletirebilen teknik elemanlara "mhendis" ad verilmektedir. Bilgisayar mhendislik dallar; sistem mhendislii (sistem analisti), donanm mhendislii, yazlm mhendislii, biliim mhendislii olarak drde ayrlmaktadr. Bilgisayar yazlm mhendislii, bilgisayara dayal sistemler iin yksek kaliteli yazlm retimi faaliyetidir. Bu daln konusu, bilgisayar donanmn veya otomatik makinalar etkin ve gvenli olarak altran en ekonomik yazlm elde etmek amac ile mhendislik ilkeleri koymak ve bu ilkeleri uygulamaktr. Yazlm mhendislii; bilgisayar bilimi, ynetim bilimi, ekonomi, biliim dallarndan yararlanmakta ve sorun zmnde mhendislik yntemlerini uygulamaktadr.

Blm Hedefi
Bu blmde; Yazlm Mhendisliinin tanmn ve nemini, Yazlm gelitirme srecini, Yazlm Yeterlilik Olgunluk Modelini (Capability Maturity Model, CMM), yap ve dzeylerini incelemeyi, Yazlm Gelitirme Sre Modelleri'ni incelemeyi ve kyaslamay, Otomatik Yazlm Gelitirme Aralarn (CASE Teknolojisini), yazlm gelitirmede kullanmnn avantaj ve dezavantajlarn

reneceiz

1.1. YAZILIM VE YAZILIM MHENDSL


Bilgisayar yazlm rn, kaynak program ve bu programa ilikin tm belge ve yntemlerden olumaktadr. Bu belgeler, gereksinim belgeleri, tasarm betimlemeleri, kaynak program, snama plan, iletim ilkeleri, kalite gvenlii ilemleri, bakm yntemleri, kullanc klavuzu, kurulu ynergesi, eitim esaslar olarak saylabilir.

1.1.1. TARH GELM


1970 ylna kadar bilgi ilemde en nemli sorun olan, donanmn gelitirilmesi ve maliyetinin drlmesi sorunu zlm, daha sonra yazlmn niteliinin ykseltilmesi ve giderinin azaltlmas konusu nem kazanmtr.

1960 - 1970 yllarnda oklu programlama, ok kullanc ve gerek zamanl sistemler gelitirildi. Veri taban ynetim sistemleri ve yazlm rnlerinin gelitirilmesi ve pazarlanmas kullancya byk kolaylk salad. Ancak, yazlm rnlerinde bulunan hatalarn giderilmesi ve farkl donanmlara uyarlanmas nemli bir sorun yaratt (yazlm krizi). Bugn, bilgisayar sistemlerinde yazlm gider pay yaklak %90 oranndadr. Yazlm rn ortalama 1 - 2 ylda gelitirilmekte ve 5 - 10 yl kullanlmaktadr. Ortalama olarak, yazlm harcamalarnda yazlm gelitirmenin pay %40, yazlm kullanm ve bakm pay ise %60 kadardr.

1.1.2. YAZILIM SORUNLARI


Gnmzde yazlm sorunlar; Yazlm rn iin artan talebin karlanamamas, Yazlm tasarmnn zayfl ve kaynak yetersizlii nedeniyle, eldeki programlarn bakmnn yeterince salanamamas, Yazlm retiminin ok uzun bir srede ve yksek giderle tamamlanmas, kullanmndan nce btn hatalarn bulunup giderilememesidir (yetersiz test).

1.1.3. YAZILIM MHENDSL


Yazlm mhendislii, etkin ve gvenilir alan ekonomik yazlm elde etmek iin mhendislik ilkeleri kurmak ve kullanmaktr. Mhendislik, bir yap, makine, ilem veya sistemin retimine ynelik bilim ve matematie dayal sistematik yaklamn uygulanmasna referans vermektedir. Ekonomik kavram ise, dk maliyetli deil, tahmin edilen bte ile etkin maliyet ile istenen kalitede gereksinim analizinde tanmlanan rn elde etme anlamndadr. Yazlm mhendislii, bilgisayar bilimi, ynetim bilimi, ekonomi ve biliim bilim dallarndan yararlanmakta ve sorun zmnde mhendislik yntemlerini kullanmaktadr. Yazlm mhendislii yaklamnda, yazlm sistemlerinin paralarn oluturmak yerine satn almak nerilmektedir (Commercial Off-The-Shelf, COTS). COTS satclar yazlm aralar, ktphaneler, yazlm elemanlar (component) ve yazlm gelitirme ortamlar salarlar.

1.2. YAZILIM GELTRME SREC


Yazlm; bir bilgisayar sisteminin ana elerinden biridir. Bu nedenle gelitirilmesinde de ana sistem ierisindeki yeri ve nemi, ilevleri dikkate alnmaldr. Baka bir deyimle, yazlm; ana sistem ile birlikte ve ana sisteme uyumlu olarak gelitirilmelidir. Burada ayr bir ilem olarak ele alnmas, gnmzde bilgisayar yazlmnn nemi nedeniyle, yazlm mhendisliinin bamsz bir uzmanlk dal olarak saylmasdr. Bir bilgisayar sisteminin veya bilgisayara dayal bir sistemin kurulmas ve gelitirilmesi eylemi ierisinde, yazlm da; bir proje halinde plnlanmakta, gereksinimler belirlenmekte, tasarlanmakta, hazrlk ve uygulamasna geilmektedir. Yazlm gelitirme srecinde gerekletirilen ilemler, esas ilemler ve bunlarn gereklemesini destekleyen ilemlerden oluur. Bu ilemler aada belirtilmitir. ! Bu ilemlerle ilgili bilgi almak iin dmelere tklayn.

1.2.1. YAZILIM GELTRME PLANI


Yazlm gelitirme plan; sorunun tanmlanmas, zm yolunun kararlatrlmas, gelitirme srecinin plnlanmas, gider tahmini aamalarnda gerekletirilmektedir. Yazlm gelitirme plnnn hazrlanmasnda, ana sistem iin daha nce ya da ayn zamanda gerekletirilen "inceleme ve analiz" sonularna dayanlmaktadr. Ama, ana sistemin analizi ile belirlenen ilevleri yerine getirecek ekilde yazlmn gelitirilmesidir. Plnda; yazlm gelitirme konusu, ama ve hedeflerinin tanmlanmas, izlenecek yolun belirlenmesi, kaynak ihtiyalar ve gider tahmini, yaplabilirliin hesab, proje srelerine dayanmakta ve yazlm gelitirmeye den grev ve ilemler (gereksinimler) analiz edilmektedir.

1.2.2. GEREKSNM ANALZ


Gereksinim analizi, ana sistem eleri ve ilevlerinden yazlma ilikin olanlarnn ele alnarak, ayrntl ekilde tanmlanmasdr. Bu amala, iki yntemden biri uygulanmaktadr. Birinci yntem; biliim alannn, ilevlerinin, ara birimlerinin, kstlarnn, kabul kriterlerinin belirlenmesi ve ak diyagramlar halinde gsterilmesidir. Bylece yazlm zellikleri ortaya konmu olmaktadr. Ancak, bu yntemin uygulanabilmesi iin, gereksinimler daha nce mteri ile birlikte saptanmaldr. kinci yntem; yazlm iin bir prototip (model) oluturmak ve bu prototip zerinde mteri ile tartarak, prototipi gereksinimlere uygun hale getirmektir. Bu yntemde, gereksinimler nceden saptanmayp, prototip zerinde mteri ile birlikte kararlatrlmaktadr. Gereksinimlerin karlanmasna ya da kaynak kstlamalarna gre yazlm tasarmnn zellikleri; yazlm elerinin kabaca analizi ile de gereksinimleri karlama derecesi belirlenmektedir. Yazlm gereksinimlerinin analizi ve tanmlanmas, sistem analisti ve mterinin ortak almas ile gerekletirilmektedir. Gereksinimlerin belirlenmesi ile "yazlm

gereksinimleri spesifikasyonu" ortaya konulmu olmakta ve bir belge haline getirilmektedir. Yazlm gereksinimleri spesifikasyonu veya yazlm prototipi, sistem analisti ve mterinin ibirlii ile tamamlanp gzden geirildikten sonra, buna gre "yazlm gelitirme pln" da tekrar elden geirilerek gerekli dzeltmeler yaplmaldr. Bylece, yazlm gelitirme pln ile gereksinim analizi aamalar birlikte ve i ie yrtlm olduu iin, ikisine birlikte tanmlama aamas ad da verilmektedir. Toplu olarak bu aamann gerekletirilmesi ekil- 1.1'de ematik olarak gsterilmitir.

ekil 1.1: Yazlmn gelitirilmesinde tanmlama (plnlama ve gereksinim analizi) aamas

1.2.3. YAZILIM TASARIMI (YAZILIM GELTRME)


Belirlenmi olan bir dizi gereksinimin, ana sistem ierisinde ilevsel bir e haline getirilmesi, baka bir deyimle, yazlm ekline dntrlmesidir. Yazlm tasarm; n tasarm, Ayrntl tasarm, Yazlmn snanmas

olarak basamak halinde gerekletirilmektedir.

ekil 1.2: Yazlmn gelitirilmesi (tasarm) aamalar

1.2.3.1. N TASARIM
n tasarmda, yazlmn belirlenmi olan ama ve hedeflere nasl ulatrlabileceine ilikin tanmlar gelitirilmektedir. Bunun iin; yazlmn ilevleri tanmlanmakta ve modl ad verilen bamsz elere ayrlmakta, veri yaplar oluturulmakta, modl ara birimleri kurulmakta, kstlar belirtilmektedir. Bir rapor halinde dzenlenen n tasarm, incelenerek kabul edilmekte ya da tekrar dzeltilmektedir.

1.2.3.2. AYRINTILI TASARIM


Ayrntl tasarmda; n tasarm aamasnda oluturulan modller alt modllere ayrlmakta ve ayrntl olarak tanmlanmaktadr. Ktkler, ekran grntleri ve rapor biimleri tasarlanmakta, programlar iin ayrntl plnlar dzenlenmektedir. Bylece hazrlanan tasarm raporu incelemeye sunulmaktadr. Ayrntl tasarm raporu kabul edilince program planlar bir bilgisayar dilinde kodlanarak d belleklere aktarlmaktadr.

1.2.3.3. YAZILIMIN SINANMASI


Gelitirme srecinin her aamasnda "kalite kontrol" yapld gibi, ayrca son aamada da "kabul muayenesi" anlamnda bir testten geirilmektedir. Bu amala, yazlm projesinin plnlanmasnda bir "yazlm denetleme pln" ve son aamada da kabul muayenesi iin bir "test pln" dzenlenmektedir. Snama; nce her bir modln, sonra da bir btn halinde yazlmn testten geirilmesi ve onaylanmas ile tanmlanmaktadr. Yazlmda kullanclar tarafndan bulunan hatalarn ounun nedeni problemi ifade etme ve anlama hatasdr.

1.2.3.4. BAKIM VE KORUMA


Bakm ve koruma, snama sonunda uygun bulunan yazlmn kullanm iin dzenlenmesi, faaliyete geirilmesi ve gerektiinde zerinde deiiklik yaplmas ilemlerinden olumaktadr (ekil-1.3). Uzun sre kullanlacak olan sistem yazlmlar ile uygulama paket programlarnn gerektiinde bakmnn yaplmas ya da deitirilmesi yoluna gidilmektedir. Yazlmn bakm, gelitirilmesinden iki kat daha pahaldr. Byk yazlm kurumlarnda yazlm bakm ve deitirme giderleri, btelerinin %50-70'ine ulamaktadr.

ekil 1.3: Yazlmn bakm ve koruma aamas

1.3. YAZILIM YETERLLK OLGUNLUK MODEL


Yeterlilik Olgunluk Modeli (Capability Maturity Model, CMM), yazlm geliimi iin etkili srelerin oluturulmasnda bir temel oluturmay salar. CMM be seviyeye bamldr. Bu seviyelerin karakteristikleri aada zetlenmitir. Seviye 1de (Balang dzey), yazlm geliimi ile ilikili srelerin tanmlanmas iin hibir sistematik giriim bulunmamaktadr. Seviye 2de (Tekrarlanabilir dzey), projeler ierisinde etkili ynetim uygulamalarnn gelitirilmesi zerinde nemle durulmaktadr. Seviye 3 de (Tanmlanm dzey), tm organizasyonlar ierisinde standart sreler tanmlanmtr ve bu sreler zel projelerde kullanlmak zere yeniden dzenlenmitir. Seviye 4 (Ynetilebilir dzey), sreler ve rnler iin nicel kaliteyi amalar, ve bu amac gerekletirmek iin yazlm ltlerini kullanr. Son seviye olan Seviye 5te (Optimize edilmi), teknolojik yeniliklerin srekli sre geliimi ve deiik srelerin nicel maliyet-kar analizleri zerinde odaklanmtr. ! Seviyelerin karakteristikleri ile ilgili bilgi almak iin dmelere tklayn.

CMMin Be Seviyesi

Organizasyon tarafndan belirli bir seviye uygulanmadan nce, daha alt olgunluk seviyelerinin gereksinimleri salanmaldr. Her bir seviyede gerekletirilmesi gereken temel ilemler, anahtar sre alan (Key Process Area, KPA) olarak tanmlanmtr. rnein, 2. dzeyde (Tekrarlanabilir dzey), Gereksinim Ynetimi ve Konfigrasyon Ynetimi anahtar sre alanlardr

1.3.1. YAZILIM ARACI KULLANIM ZELLKLER


Birok uygulamada, yazlm arac fonksiyonellii ve belirgin bir anahtar sre alannn gereksinimi arasnda ak bir iliki bulunmaktadr. Mesela, Seviye 2 (Tekrarlanabilir dzey); yazlm proje planlamas anahtar sre alannn ve proje ynetim yazlm aralarnn kullanmn gerektirir. Bu iliki nemli olmakla birlikte, yazlm arac kullanmn her olgunluk seviyesinin amalar ile ilikilendirmek ok daha kullanldr. Aada, CMM dzeylerinde yazlm arac kullanm zellikleri verilmitir. rnein, Seviye 2'de proje seviyesinde yazlm arac seimi, yazlm arac kullanm ve yazlm arac eitimi ile ilgili bir grup ana noktalar olacaktr.

! CMMin be seviyesi iin yazlm arac kullanm zellikleri ile ilgili bilgi almak iin dmelere tklayn.

CMMin Be Seviyesi in Yazlm Arac Kullanm zellikleri

1.4. YAZILIM GELTRME YNTEMLER


Yazlmn gelitirilmesinde uygulanan yntemler be ayr ekildedir:

1.4.1. KLASK SRE


Klasik sre (Waterfall Modeli), bilgisayar sistem mhendislii olarak, ana sistemin analizinden balayp, yazlm gereksinim analizleri, tasarm, kodlanmas, kullanm ve bakm aamalarnda bir sre halinde gerekletirilmektedir. Her aamada elde edilen sonularn rapor halinde sunulmas ve gerekirse geri besleme (feedback) yoluyla dzeltilmesi beklenmektedir. Yazlmn gelitirilmesinde uygulanan klsik sre, eskiden beri yaygn olarak kullanlan bir yntemdir. Ancak; Projenin balangcnda, mteri gereksinimlerinin btn ile ortaya konmasndaki glkler ve eksikliklerin grlmesi, Projenin ok uzun bir srede tamamlanabilmesi ve mterinin beklemeye zaman olmamas, Bata yaplabilen kaba hatalarn bazen ancak snama ve hatta kullanma aamasnda ortaya kabilmesi, Uygulamada bu modeldeki sraya tam olarak uyulmamas, yinelemeler yaplmas ve yeni sorunlar eklemek zorunda kalnmas

yolunda baz glklerle karlalmaktadr. Buna karn yine de, rastgele ve geliigzel bir yazlm gelitirmeye kyasla, ok tutarl ve gvenli bir yntem olarak saylmaktadr.

ekil 1.4: Yazlmn gelitirilmesinde klasik sre

1.4.2. MODEL OLUTURMA


Yazlm gelitirme klsik srecinde, nce mteri yazlm konusundaki ama ve hedeflerini, gereksinimlerini genel hatlar ile bildirmektedir. Ancak, girdi-ilemler ve kt gereksinimlerini tanmlamas beklenememektedir. Yazlm mhendisi, bu bilgilere dayanarak mevcut yazlm algoritmalarnn etkenliini, iletim sisteminin uygunluunu ya da insan-makine etkileim biimini yarglamak ve yeni neriler getirmek durumundadr. Bu halde, klsik gelitirme srecinde sz konusu glkleri amak iin, bir yazlm modeli (prototip) oluturmak yoluna gidilmektedir. Bu durumda yazlmn gelitirilmesi; mterinin gereksinimlerini belirtmesi, bir tasarm tasla hazrlanmas, model oluturma-gereksinimlerinin ilenmesi, yazlmn retilmesi aamalarnda tamamlanmaktadr (ekil-1.5). Her yazlm gelitirme ynteminde olduu gibi, burada da yazlm mhendisi (sistem analisti) ile mteri bir araya gelerek, yazlmn ama ve hedeflerini belirlemekte, bu hedeflere ulatracak gereksinimleri saptamaktadr. Bu bilgilere dayanarak, yazlm mhendisi bir taslak tasarm hazrlamaktadr. Taslak tasarm, mterinin (kullancnn) kolayca anlayabilecei biimde, rnein girdi yaklamlar ve kt formatlar halinde dzenlenmekte ve birlikte zerinde tartlmaktadr. Taslak tasarm zerinde allarak, bir yazlm modeli oluturulmaktadr. Model, yazlm mhendisi ve kullanc tarafndan birlikte deerlendirilerek ilenmektedir. Bylece, gelitirilecek yazlmn gereksinimleri saptanmakta ve karlanmaktadr. Bu alma, mterinin btn ihtiyalarnn yerine getiriliine kadar yinelenerek srdrlmektedir. Model (Prototip) yardmyla yazlm gelitirme ynteminde de; Modelin kurulmas ve zerinde dzeltmeler yaplmas mteri ile birlikte ve onun nnde gerekletirildii iin yerli-yersiz mdahale etmesine ve yaplan ii kk grmesine neden oluu, Yazlm mhendisinin modeli olutururken basitlik ya da kolaylk nedeni ile kulland algoritmalardan ve iletim sistemi veya programlama dilinden daha sonra benimseyip vazgememesi, bu uygunsuz e ve yntemlerin de gelitirilen yazlm ierisinde kalma olasl

vb. sorunlar ileri srlmektedir. Buna karn, yazlm gelitirilmesinde modelden yararlanma, yine de etkili bir yntem olarak grlmektedir. Bylece, mteri gereksinimleri ve onay daha ksa srede salanmakta ve yazlm mhendisi kalite ve bakm konularna arlk verebilmektedir.

ekil 1.5: Model kurma yoluyla yazlm gelitirme aamalar

1.4.3. DRDNC KUAK TEKNKLER


Yazlm gelitirmede drdnc kuak teknii (4GT) olarak, yazlm gelitirme aralar oluturma yolu almtr. Bu aralar sayesinde, baz yazlm zellikleri yksek nitelikte gelitirilebilmektedir. Yazlm aralar (software tools); program yapc programlar olup, yazlm mhendisinin belirledii spesifikasyonlara dayanarak, otomatik ekilde kaynak program dzenleyebilmektedir. Ancak bunun iin, yazlmn tanmlamasnn da ok yksek dzeyden bir dilde (4. kuak dili) yaplmas gerekmektedir. Bu nedenle, yazlm mhendisi zellikle yazlm makine koduna dntrebilecek doal dile yakn bir dilde ya da komutlar yerine getirebilecek bir gsterim eklinde hazrlamak durumundadr. Yazlm gelitirme ortamn destekleyen yazlm aralar; veri taban sorgulamas iin ilemsel olmayan (nonprocedural) diller, rapor retici, veri yntemi, ekran etkileimi ve tanm, kod retici, yksek dzeyde grafik oluturucu, tablo dzenleyici olarak saylmaktadr. Ancak, bu aralar gnmzde sadece baz zel alanlarda ve snrl olarak kullanlabilmektedir.

ekil 1.6: Drdnc kuak teknikleri ile yazlm gelitirme yntemi Drdnc kuak tekniinin yazlm gelitirmede uygulanmasna da, "gereksinimlerin derlenmesi" ile balanmaktadr (ekil-1.6). Bu ilemi yine yazlm mhendisi ile kullanc birlikte gerekletirmektedirler. Dar kapsaml yazlmlar iin ilemsel olmayan drdnc kuak programlama dili kullanlarak, dorudan "yazlm gerekletirme" aamasna geilebilmektedir. Geni kapsaml yazlmlarda ise, nce bir "tasarm stratejisi" gelitirmek ve sonra 4. kuak dil kullanlarak" yazlm gerekletirme" aamasna gemek gerekmektedir. Aksi halde, mteri tarafndan kabul edilebilecek nitelikte bir yazlm retilmemektedir. Tasarm stratejisi gelitirildikten sonra, 4. kuak bir programlama dili kullanlarak yazlm mhendisi tarafndan betimlenen yazlm otomatik olarak kaynak program haline dntrlmektedir. Kukusuz, ilgili veri ile birlikte veri yaps da 4. kuak dilinde eriebilecek ekilde hazrlanm olmaldr. Drdnc kuak dilleri; sorgulama, program retici, karar destekleme, model oluturma, formal spesifikasyon dilleri olarak eitli ilevler iin gelitirilmilerdir. Son basamak olarak, 4. kuak dilinde gelitirilmi olan yazlmn retilmesidir. Bu aamada yazlm mhendisi hazrlanm olan yazlm snamakta, gerekli belgeleri dzenlemekte ve klavuzlar hazrlamaktadr. Drdnc kuak teknikleri ile yazlm gelitirme yntemi zerine yaygn bir gelitirme srdrlmektedir. Olumlu ynleri olarak; yazlm gelitirme sresini nemli lde ksaltt ve retimi arttrd ileri srlmektedir. Olumsuz ynleri de; Mevcut 4. kuak yazlm aralarnn kullanlmasnn programlama dilleri kadar basit ve kolay olmad, Bu aralarla retilen kaynak programlarn yeterli etkinlikte bulunmad, 4. kuak teknii ile gelitirilen geni kapsaml yazlm sistemlerinin bakmnda sorun kt

konularn iermektedir.

1.4.4. RAD MODEL

RAD model (Rapid Application Development), klasik sre (Waterfall) modelin gelitirme sresinin ksaltlm ve hzlandrlm eklidir. Hzl gelitirme, bileen temelli yaplanma (Compoment-based construction) yaklam ile gerekletirilir. RAD aamalar unlardr; ! RAD aamalaryla ilgili bilgi almak iin dmelere tklayn.

RAD, yeniden kullanlabilir program bileenlerinin gelitirilmesini vurgular. Yeniden kullanlabilirlik (reusability) nesne (object) teknolojisinin gereidir.

1.4.5. EVRMSEL (EVOLUTIONARY) YAZILIM GELTRME SREC MODELLER


Bu modeller, iteratifdir. Yazlmlarn daha tamamlanm versiyonlar eklinde hazrlanmasn salarlar. Evrimsel modelleri, Artml (Incremental) Model ve Spiral Model

olarak inceleyebiliriz.

1.4.5.1. ARTIMLI (INCREMENTAL) MODEL


Prototip oluturmann iteratif yaklamyla waterfall modelin elemanlarn birletirir. Her artm, Analiz Tasarm Kodlama Test

admlarnda gerekletirilir. Prototip oluturmadan fark her bir artmda retilen rn datlr ve kullanclar tarafndan deerlendirilecei bir platform salanr.

1.4.5.2. SPRAL MODEL


Spiral Model, Boehm tarafndan 1988'de gelitirilmitir. Bu modelde de prototip oluturmann iteratif yaps ve Waterfall'un kontroll ve sistematik yaps birletirilmitir. Bu modele gre yazlm, artml "release"ler dizisi olarak hzl gelitirilir. lk iterasyonlar prototiptir; daha sonrakiler ise datm yaplan versiyonlar eklindedir. Spiral model aamalar:

1. 2. 3. 4. 5. 6.

Mteri letiim - Gelitirici ve mteri arasndaki etkin iletiimi salama. Planlama - Proje iin zaman ve kaynak yntem tanm yapma Risk Analizi - Teknik ve ynetim risklerini belirleme Mhendislik - Uygulamann tanmnn yaplmas (tasarm) Yapm ve Deiim (Construction & Release) - Gerekletirme test, kurulu ve kullanc destei (belgeleme ve eitim) Mteri Deerlendirme

eklindedir.

ekil 1.7: Spiral Model Yaps

1.5. CASE SSTEM


CASE (Computer Aided Software Engineering); yazlm mhendislii grevlerinin, bilgisayar yardm ile otomatik olarak gerekletirilmesidir. Bu teknoloji, mhendisliin tasarm ve imalat ilerinde de uygulanmaktadr (CAD, Computer Aided Design; CAM, Computer Aided Manifactoring). Yazlm gelitirme srecinde 1970 ylndan bu yana, dzenleyici (editor), derleyici (compiler), veri szl (data dictionary) ile eitli otomatik analizi ve test aralar, izim aygtlar ve dil teknikleri gelitirilmitir. Fakat yine de ou ilemler, yazlm mhendisi tarafndan kat ve kalem ile yrtlmektedir. Ayrca, kullanlan aralar belirli bir amaca ynelik ve birbiriyle uyumlu olarak dzenlenmemektedir. CASE teknolojisinde ise; yazlm gelitirme yntem, teknik ve aralar, bir sistem halinde birletirilmektedir. CASE ortam, belirli bir sorunun zm ya da bir kurumun ynetim biliim sistemi iin gerekli yazlm otomatik olarak gelitiren bir bilgisayar sistemidir. Bu sistem; otomatik yazlm aralarnn ve yapsal yntemlerin bir kombinasyonu olup, yazlm gelitirme srecini adm adm izleyerek gerekletirmekte ve yazlm retmektedir. Bu nedenle, Avrupa lkelerinde CASE sistemine "btnleik programlama destei ortam" anlamnda IPSE (Integrated Programming Support Environments) ad verilmektedir.

1.5.1. CASE SSTEM ELER


CASE sisteminin eleri unlardr;

olarak, ana grupta toplanmaktadr. lemler ve yntemlere ait bilgiler bir ansiklopedik arivde saklanmaktadr. Bu bilgileri kullanarak, otomatik aralar, diyagram izimi ve betimleme, tasarm analizi, kodlama ilemlerini gerekletirmektedirler. lemlerin yrtlmesinde etkileim ve ekrandan yararlanlmaktadr. Her basamakta elde edilen sonular, sras geldiinde kullanlmak zere ansiklopedik arivde saklanmaktadr.

1.5.1. CASE TEKNOLOJS


CASE teknolojisi; etkileimli grafik tasarm tekniklerini, tasarm denetimi kurallarn, tasarm elerinin depolanmas ve simlasyonu tekniklerini kullanmaktadr. Bu teknikler, yazlm srecinin her basamanda ve birbirine bal olarak uygulanmaktadr. Bylece; komut arabirimleri, sz dizimi ve grafik izimi otomatik hale getirilerek, insan faktrnn etkisi azaltlmaktadr. CASE teknolojisi, birbirine bal ayr atlyeden (workbench) olumakta ve her de ayn ansiklopedik ariv ile ayn terminal ekranndan yararlanmaktadr. Bu atlyelere, st CASE-Orta CASE ve Alt CASE adlar verilmektedir (ekil -1.8). ! Atlyelerle (workbench) ilgili bilgi almak iin ekildeki CASE dmelerine tklayn.

ekil 1.8 : CASE Teknolojisi

Ansiklopedik ariv; zel bir veri taban ynetim sistemi ya da szlk sistemi olup, CASE sisteminin her basamanda yntemsel ilemler iin yararlanlmaktadr. Ansiklopedik ariv, CASE sisteminin amacna ve beklentilerine gre, nceden dzenlenmektedir. Arivde genel olarak; ilevler, ilemler, yntemler, veri modelleri, ilem modelleri, iletme ve rgt modelleri, veri szl vb. bilgiler saklanmaktadr.

YAZILIM PROJE YNETM

Proje ynetimi, belli bir amac gelitirmek iin faaliyetleri organize etmek zere bu aralar ve teknikleri kullanma becerisidir. letiimin, kiiler aras beceriler, bte yapma gibi birok ynetim becerilerini de iermesi gerekir. Mterilerin daha iyi ve daha hzl rn veya hizmet beklentilerine, en kolay cevap verme ynteminin proje ynetimi metodolojisi olduu ispatlanmtr. Globalleen dnyada, rekabet koullarnn daha da zorlamas, esnek organizasyon yapsn gerektirmekte, ayrca btn birimlerin bir koordinasyon iinde ynetilerek verimliliin arttrlmas hedeflenmektedir. Yazlm proje ynetimi, yazlm projelerinde kaynaklarn en etkin biimde kullanlmasn salamaya yneliktir.