Professional Documents
Culture Documents
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
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.
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.
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.
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
! CMMin be seviyesi iin yazlm arac kullanm zellikleri ile ilgili bilgi almak iin dmelere tklayn.
yolunda baz glklerle karlalmaktadr. Buna karn yine de, rastgele ve geliigzel bir yazlm gelitirmeye kyasla, ok tutarl ve gvenli bir yntem olarak saylmaktadr.
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.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.
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.
olarak inceleyebiliriz.
admlarnda gerekletirilir. Prototip oluturmadan fark her bir artmda retilen rn datlr ve kullanclar tarafndan deerlendirilecei bir platform salanr.
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.
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.
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.
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.