12.07.2015 Views

Yazılım Ürünü Geliştirme Sürecinin Örneklenmesi - Akademik ...

Yazılım Ürünü Geliştirme Sürecinin Örneklenmesi - Akademik ...

Yazılım Ürünü Geliştirme Sürecinin Örneklenmesi - Akademik ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Akademik</strong> Bilişim’11 - XIII. <strong>Akademik</strong> Bilişim Konferansı Bildirileri2 - 4 Şubat 2011 İnönü Üniversitesi, MalatyaYazılım Ürünü Geliştirme Sürecinin ÖrneklenmesiŞebnem Özdemir 1 , Zerrin Ayvaz Reis 2 , Çiğdem Erol 11İstanbul Üniversitesi, Enformatik Bölümü, İstanbul2İstanbul Üniversitesi, Hasan Ali Yücel Eğitim Fakültesi, İstanbulsebnemmmzeren@gmail.com, ayvazzer@istanbul.edu.tr, cigdems@istanbul.edu.trÖzet: Yazılım geliştirme sürecinin yapısını ve adımlarının uygulanış biçimini, seçilen yazılımgeliştirme modeli belirlemektedir. Yazılım geliştirme modeli, yazılımın gerçekleştirilebilmesiiçin gerekli stratejiyi ifade etmektedir. Bu noktada seçilen her modelin kendine özgü avantaj vedezavantajları bulunmaktadır. Dikkat edilmesi gereken nokta eldeki ürüne ve sürece uygun modelinseçilebilmesidir. Bu çalışmada, kişisel bilgi yönetim yazılımı olarak bir ajanda uygulamasıoluşturmak için yazılım geliştirme modellerinden biri olan spiral (sarmal) model kullanılmıştır.Çalışmanın amacı spiral modelin seçimiyle devam eden yazılım sürecinin dokümantasyonunungösterilmesidir. Bu sayede, kişisel bilgi yönetim sistemi yazılımı hazırlamak ya da spiral modelile yazılım geliştirmek isteyen kişilere bir yol haritası sunulmaktadır.Anahtar Kelimeler: Yazılım Mühendisliği, Yazılım Geliştirme Süreci, Metodoloji, Spiral Model, ASUSoftware Product Development Process SamplingAbstract: The chosen methodology is specified the process and steps of software development.The model of software process is required for creating a software product. Every methodologyhas advantages and disadvantages. So the important point is to choose an appropriate methodologyfor product and process. In this study, an agenda is created as personal information managementsoftware by the direction of spiral model. The goal of this study is to show the documentationof software process, which is continued by spiral model. Thus it can be presented a road mapto prepare personal management software or to develop a software product with spiral model.Key Words: Software Engineering, Software Enginerring Process, Metodology, Spiral Model, ASUGirişBilindiği gibi 1968 yılından itibaren yazılımgeliştirme ve uygun, etkili, güvenilir yazılımlarımümkün olduğunca az bir maliyetle eldeedebilme yolundaki çalışmaların artmasıylayazılım mühendisliği olarak adlandırılan disiplinkurulmuştur [1].Yazılım mühendisliğinin temel hedefi; sistematikve organize bir yaklaşımı çalışma alanlarınaadapte etmek ve bir problemin çözümü içinuygun tüm araç ve teknikleri kullanmaktır [2].Yazılım ürünü ise, bir sistem projesi olarak, birekip çalışmasıyla, belli bir sürede hazırlanmaktadır[3]. Yazılım ürünlerinin süresi ve bütçesiprojeye bağlı olarak değişiklik göstermektedir.Bir yazılım ürünü geliştirme süreci; yazılım yaşamdöngüsü olarak adlandırılmakta ve çözümleme,tasarım, gerçekleştirme, sınama ve bakımaşamalarından oluşmaktadır. Yazılım yaşamdöngüsü temel olarak; yazılımın nasıl geliştirileceğininkarakteristiğinin bir tanımlanması yada tasvir edilmesi demektir [4]. Yazılım yaşamdöngüsünün adımlarının uygulanış biçimini, seçilenyazılım geliştirme modeli belirlemektedir.Yazılım geliştirme modeli; yazılımın gerçekleştirilebilmesiiçin gerekli stratejiyi ifade eder363


Yazılım Ürünü Geliştirme Sürecinin ÖrneklenmesiŞebnem Özdemir, Zerrin Ayvaz Reis, Çiğdem Erolki bu strateji bir dizi aktiviteyi, objeyi, dönüşümüve olayları içermektedir [5]. Ancak seçilenher modelin kendine özgü avantaj ve dezavantajlarıbulunmaktadır. Dikkat edilmesi gerekennokta çözüm istenen ürüne ve sürece uygunmodelin seçilebilmesidir.En klasik yazılım geliştirme modeli metodolojisi,şelale modelidir. Bu modelin adımları;analiz, tasarım, kodlama, sınama ve bakımolup, bir adımın tamamlanmasıyla bir diğerinegeçilebilmesi mümkün olabilmektedir. Herhangibir adımda oluşan hata ya da fark edileneksiklik için ancak bir adım geriye gidebilmekmümkün olabilmektedir [6].Şelale modeli dışında, v modeli, prototip modelleme,spiral model, çevik geliştirme gibipek çok model bulunmaktadır.V modeli; yazılım geliştirme sürecine sistemkavramıyla yaklaşmakta ve klasik modeldeki testişlemlerinin yapılacağı zaman üzerinde durmaktadır.Temel olarak v model; testler sırasında oluşanhataların düzeltilmesi için hangi düzeye gidilmesigerektiği konusunda yol göstermektedir.Prototip modellemede; yazılım isterlerinin kullanıcıve geliştirici tarafından beraber oluşturulmasınınardından bir tasarım yapılması vebu tasarım üzerinden ilk prototipin oluşturulmasısağlanmaktadır. Bu ilk prototipin kullanıcıyateslim edilmesiyle denenmesi ve bunagöre isterlerin yeniden gözden geçirilmesi olanağıkazanılmaktadır [7].Çevik modelleme (agile methods); yazılım geliştirmesürecinde etkili, verimli ve pratik birşekilde modelleme ve dokümantasyon oluşturmayayönelik bir yöntem olarak tanımlanmaktadır.Bu modelleme; müşterinin ihtiyaçlarınıkarşılamasında ve aynı zamanda da her türlüdeğişikliğe kolayca adapte olabilmesinde geliştiricilereyol göstermeyi hedeflemektedir [8].Bu çalışmada; yazılım geliştirme süreci modellerindenolan “spiral model” ile kişisel bilgi yönetimsistemi olarak bir ajanda uygulaması gerçekleştirilmiştir.Ancak bu geliştirme süreçlerineait modeller düşünüldüğünde iteratif özelliğesahip diğer modellerin neden seçilmediğine ilişkintemel sebepler tablo 1 de verilmektedir.RUP (rationalunifiedprocess)modeliExtremeprogramlamaMikro vemakro processRAD modelAGILE modelIncrementalmodelBileşenbütünleştirme(componentsassembly)modeliİteratif bir modelleme olmasınakarşın bu modellemenin UML’leyapılması gerekliliğinden dolayı tercihedilmemiştir [9].XP programlamada iteratif özelliğesahip olup baştan itibaren kodunsürekli çalışır halde tutulmasıÜretilen her kodun iki programcıtarafından üretilmesiningerekliliğinden dolayıkullanılmamıştır [10].Booch tarafından 1994 yılındaönerilen bu iteratif geliştirme süreçlerinesnel yazılıma yönelik olduklarındantercih edilmemiştir [11].Bu iteratif modelin seçilmemsindekitemel sebep nesne yönelimliyaklaşıma dayanmasındandır [12].Modellemeler içinde pratiklik tabanlıbir metodoloji olarak adlandırılan bumodel az dokümantasyon oluşturmafikriyle hareket etmesinden ötürüseçilmemiştir [13].Şelale modelinin daha evrimleşmişhali olan bu modelin seçilmemesindekisebep; iterasyonun her fazının katıve birbirinden ayrılmış şekildedüzenlenmesinden kaynaklanmaktadır.Tüm gerekliliklerin döngüyegiriş aşamasında belirlenmesimümkün olamayacağından, sistemmimarisine bağlı olarak problemleroluşabilmektedir [14].Nesne tabanlı bir yaklaşıma dayalıoluşan ötürü seçilememiştir [15].Tablo 1. İteratif özelliğe sahip diğermodellerin seçilmemesinde ki sebeplerBu modelin seçilmesindeki temel sebep, masaüstüuygulama niteliğinde olan küçük çaplıprojelerde spiral modelin uygulanış biçimini veyeni bir programlama dilini öğrenerek yazılımürünü geliştirmeye çalışan kişilere bu modelinsağlayabileceği yararları gösterebilmektir.364


Spiral ModelBarry Boehm tarafından 1986 yılında geliştirilenspiral (sarmal) model; klasik çevrim veprototip oluşturma yöntemlerinin en iyi yönlerininbir araya getirilmesiyle oluşturulmuştur.Bu model yazılım gelişiminin tekrarlanarakartmasına dayanmaktadır. Şelale modeli ile karşılaştırıldığındaen büyük farklarından biri bumetodolojinin yazılımın gelişimi ve kullanımıboyunca sürdürülebilir olmasıdır. Spiral modelşelale modelinde olduğu gibi sistematik basamakyaklaşımı ile tekrarlanan yapıyı kullanmaktadır.Ancak bu modelde tekrar sayısı içinherhangi bir sınırlama bulunmamaktadır [16].Spiral modelin diğer modellere kıyasla en önemliözelliği; her sarmalda ürünle ilişkisi olanların(kullanıcı veya geliştirici ekibinden) bakış açılarıylaçevrimin tamamlanmasını sağlamalarıdır.Bu bakış açısı ilk döngüden bir sonraki döngününplanlanmasına ve bunların gerçekleştirilmesi içingerekli kaynaklara kadar bütün ürün geliştirmesürecini kapsamaktadır. Spiral modelin sunulmasındadört temel soru kendini göstermektedir;1.2.3.4.Bir spiral nasıl başlatılmalıdır?Bir projenin sonuna gelindiğinde buspiralden nasıl çıkılmalıdır?Niçin bir spiral birden biresonlandırılmalıdır?Yazılım sürecindeki iyileştirmeye katkısınedir?Bu soruların cevapları, spiral modelin yazılımsürecinin geliştirilmesine ya da iyileştirmesineolan katkısını gözler önüne sermektedir [17].Spiral modelde; gereksinim analizi yapılırken önceliklekullanıcının kesin olan gereksinimlerininsadece bir kısmı belirlenir. Bu belirlenen kısımüzerinden bir kısım istekler tanımlanarak öncebunların gerçekleştirimi yapılır. Bu gerçekleştirmesonucu ortaya çıkan ürünün testi yapılarakteslim edilir. Kalan parçalar için de aynı işlemleryapılarak, artımlar ve sürümler halinde geliştirmeürün teslimine kadar devam ettirilir [18].<strong>Akademik</strong> Bilişim’11 - XIII. <strong>Akademik</strong> Bilişim Konferansı Bildirileri2 - 4 Şubat 2011 İnönü Üniversitesi, Malatya365Bir spiral model temel olarak dört aşamadanoluşmaktadır;1. Aşama: Objelerin, alternatiflerin ve kısıtlarınbelirlenmesi şeklindedir. Bu aşamada yapılmasıbeklenenler;a. Sistem ya da ürün objelerinin anlaşılabi-lir şekilde kurulması/ifade edilmesidir.Bu objelerden kasıt; performans, fonksiyonellik,değiştirilebilirlik şeklinde ifadeedilmektedir.b. Uygulama alternatiflerinin araştırılması-dır. Bu alternatifler; tasarım, yeniden kullanma,temin etme ve temin etme/modifiyeetme şeklindedir.c. Alternatiflerin uygulanabilirliğine ilişkinkısıtların araştırılmasına dayalıdır. Bu kısıtlar;teknoloji, maliyetler, zaman planı,destek, risk olarak ifade edilmektedir.Bu aşamaya ait sistem ya da ürün objeleri, alternatiflerive kısıtlarının anlaşılmasından sonra,2. aşamaya geçilmesi mümkün olabilmektedir.2. Aşama: Alternatiflerin değerlendirilmesi,tanımlanması ve risklerin analizi bu aşamadayapılmaktadır. Mühendislik aktivitelerinin gerçekleştirildiğibu aşamada; teknoloji, maliyet,zaman planı, destek ve risk kısıtları üzerindeen iyi tatmini sağlayacak şekilde alternatifli biryaklaşımla seçimler yapılmaktadır. Bu aşamanınodaklandığı ana konulardan biri de risklerinazaltılmasıdır. Riskleri azaltmak için, geliştirmekararları doğrultusunda; her alternatifdeğerlendirilmekte ve prototiplenmektedir. Buaşamanın aktiviteleri; prototipleme, simulasyon,benchmarking, anketler, analitik modellemeveya bu çalışmaların bir kombinasyonu vediğer risk analiz teknikleri şeklindedir.Değerlendirme çıktıları bir sonraki aksiyonubelirlemektedir. Şayet kritik işlevsel ve/veyateknik sorunlar, performans, birlikte kullanılabilirlikriskleri sürüyorsa, bir sonraki aşamayageçilmeden daha detaylı bir prototipleme oluşturulmasıgerekmektedir.


Yazılım Ürünü Geliştirme Sürecinin ÖrneklenmesiŞebnem Özdemir, Zerrin Ayvaz Reis, Çiğdem Erol3. Aşama: Geliştirme, tanımlama, sonrakiaşama ürünü çalışmaları bu aşamada gerçekleştirilmektedir.Şayet kritik işlevsel ve/veya teknik sorunlarıçözebilecek nitelikte bir prototiplemeyi gerçekleştirebilecektanımlamalar yapıldıysa, geliştirmeaktiviteleri, tanımlamalar ve sonrakiaşama ürünün gerçekleştirilmesi mümkün olacaktır.Bu aşamada içeriği; sistemin ya da ürününiterasyonuna dayalı operasyonlar, tasarım,geliştirme, birleştirme ve test çalışmalarındanoluşan basit bir şelale modeli yaklaşımı belirlemektedir.Ancak şelale modelinin yerine, durumave uygulanma biçimine göre arttırımlı geliştirmeyaklaşımları da uygun olabilmektedir.4. Aşama: Sonraki aşamanın planlanmasısağlanmaktadır.Spiral model diğer tüm modellerde de ortakolan bir özelliğe sahiptir ki bu; gelişmiş teknolojikplanlama ihtiyacı ve kritik yollarda veyakontrol noktalarında multidisipliner bakış açısıdır.Modelin her döngüsü; durumu, gelişimi,riskleri, zamansal gelişim eforlarını değerlendirenteknik bir bakış açısıyla doruğa ulaşmaktadır.Daha düşük düzeyli uygulamalara ait spiralleraynı aşama yolların ve karar düşüncelerininkullanıldığı daha küçük aşamalı spirallerolarak işlev görmektedir [19].Tüm bu aşamalar göz önüne alındığında ifadeedilen spiral model şekil 1’de yer alan fazlardanoluşmaktadır.Uygulama ÇalışmasıKısaca ASU “ Ajanda sistemi Uygulaması”olarak adlandırılan bu çalışma bir yazılımürününün (kod, modelleme ve belgeler) olarakgerçeklenmesidir. ASU; bireyin önemlive özel günlerini saklayarak, belirli sürelerdekişiye hatırlatan ve aynı hatırlatmayı mail yoluylailişkili kişilere gönderen, önemli linklerive şifre bilgilerini arşivleyen, kütüphane fonksiyonuylakitap bilgilerini saklayan masaüstüajanda programı uygulaması yapılmıştır.ASU’nun özelliklerini, aktivite kaydı, hatırlatıcı,link girişi ve kütüphane başlıkları altındatoplamak mümkündür.Aktivite kaydı; etkinlik, toplantı, özel gün vb.kişisel ya da iş hayatına yönelik eylemlerinoluşturulmasını sağlamaktadır. Her aktiviteiçin tarih kaydı ve bu aktiviteyle ilgili kişi/kişileri(varsa) sorgulamakta ve kaydetmektedir.Hatırlatıcı; girilen her aktivite için hatırlatmasüresi isteyen, ön hazırlık süresine ihtiyaç duyulupduyulmadığını soran, ön hazırlık süresindenönce uyaran ve ilgili kişilere hatırlatmaamaçlı e-posta atan bir yapıya sahiptir.Link girişi ve kütüphane bölümleri bir arşivprogramı niteliği taşımakta, önemli görülenlinkleri ve şifrelerini, bireyin kitap listesinisaklı tutmaktadırlar.Şekil 1: Spiral model [17].ASU ajanda programı ile kişisel bir masaüstüajandaya sahip olunması, bireysel aktivitelerininplanlanabilmesi tasarlanmıştır. Aynı aktiviteile ilgili kişileri girebilmesi ve bu kişilere periyodikolarak veya belli bir tarihte hatırlatmayollanması gibi seçeneklerle, planlı ve zamanyönetimi konusunda daha aktif bir çalışma ortamıoluşturulması hedeflenmektedir.366


Link girişi ve kütüphane bölümleriyle de kişiselarşivlemeye yardımcı olmak amaçlanmaktadır.ASU projesinde yol haritası niteliği taşıyan spiralmodelin uygulanmasında çift döngü kullanılmıştır.Bu döngüler ve döngülere ait aşamalar;DÖNGÜ 11. Aşama- Projenin ön tanımlanması yapılmıştır.- Gereksinimler, kısıtlar ve fonksiyonellik incelenmiştir.- Gereksinim analizi raporuyla proje kısıtlarıve işlevselliği ifade edilmiştir.2. Aşama:- Proje zaman, maliyet, kalite ve güvence, riskaçısından analiz edilmiştir.- Prototip için öncelikli müşteri isterleri tanımlanmıştır.3. Aşama:- 1. Prototipin gerçekleştirilebilmesi için genelve ayrıntılı tasarımlar yapılmıştır.- 1. Prototip için gerekli veri tabanı tasarımıyapılmıştır.4. Aşama:- 1.prototip gerçekleştirilmiş ve gerekli testleryapılmıştır.- 1. prototip kullanıcıya teslim edilmiş ve denenmesiistenmiştir.- Kullanıcı görüş ve önerileri alınarak, yeni birprototiplemeye gidilmesi gerekli görülmüştür.DÖNGÜ 2:1. Aşama:- 1. Prototip incelenerek değiştirilmesi ya dageliştirilmesi gereken kısımlar belirlenmiştir.- Alternatifler, kısıtlar ve fonksiyonellik tekrargözden geçirilmiştir.2. Aşama:- Risk, zaman ve maliyet analizleri gözden geçirilmiştir.<strong>Akademik</strong> Bilişim’11 - XIII. <strong>Akademik</strong> Bilişim Konferansı Bildirileri2 - 4 Şubat 2011 İnönü Üniversitesi, Malatya3673. Aşama:- Gereksinim analizi doğrultusunda 2. Prototiptasarlanmıştır.- 2. Prototip doğrultusunda veri tabanı tekrargözden geçirilmiştir.4. Aşama:- İkinci prototip gerçekleştirilmiştir- Net olan müşteri isterleri doğrultusunda işlevselliğigözden geçirilmiştir.- Birim testi, sistem testi, entegrasyon testi vekullanıcı kabul testi yapılmıştır.- 2. Prototip değerlendirmeler sonucunda sonürün olarak kullanıcıya teslim edilmiştir.Belirlenen ihtiyaçlar doğrultusunda, masaüstüajanda uygulamasından beklenen işlevselgereksinimler:• Sadece kullanıcının erişimine açık olması,• Aktivite kaydı ile iş ve özel hayatın kayıtlarınınve önemli tarihlerin bir arada tutulması,• Her aktivite için hem kullanıcıya hem de ilgilikişi/kişilere hatırlatmada bulunulması,• Ön hazırlık gerektiren aktivitelerin ek biruyarma fonksiyonuna sahip olması,• Kütüphane ve link bilgileri ile kullanımaaçık bilgilerin MS Office Word dosyası niteliğindensistematik ulaşılabilir bir şeklesokulması olarak belirlenmiştir.Sistemin tasarlanması ve geliştirilmesi için gerekençevre ortamın özellikleri;• Windows işletim sistemine sahip birbilgisayar• Microsoft Visual Studio• SQL Server 2008• 1 GB RAMSistemin kullanımı için gereken çevre ortamınözellikleri ise;• Windows işletim sistemine sahip birbilgisayar• .NET Framework 3.5• SQL Server 2008• 1 GB RAM dir.


<strong>Akademik</strong> Bilişim’11 - XIII. <strong>Akademik</strong> Bilişim Konferansı Bildirileri2 - 4 Şubat 2011 İnönü Üniversitesi, MalatyaSonuç ve ÖnerilerBilindiği gibi bir yazılım ürünü geliştirme süreci,çözümleme, tasarım, gerçekleştirme, sınamave bakım aşamaları ile süreci belgeleyendökümanlardan oluşmaktadır. Bu yazılım ürünügeliştirme sürecinin yapısını ve adımlarını,seçilen yazılım geliştirme modeli belirlemektedir.Seçilen her modelin kendine özgü avantajve dezavantajları bulunmaktadır. Ürüne vesürece uygun modelin seçilebilmesi oldukçaönemli bir adımdır.Bu çalışmada, kişisel bilgi yönetim yazılımıolarak bir ajanda uygulaması oluşturmak içinyazılım geliştirme modellerinden biri olan spiral(sarmal) model kullanılmıştır. Aynı zamanda,bu model doğrultusunda elde edilen yazılımınkullanılması ve yazılım geliştirme sürecininbelgelenmesi sağlanmıştır. Bu sayede, kişiselbilgi yönetim sistemi yazılımı hazırlamakya da spiral model ile yazılım geliştirmek isteyenkişilere bir yol haritası sunulmaktadır. Yazılımıntürü ne olursa olsun yazılım geliştirmesürecinde, mutlaka en uygun süreç modelininbelirlenmesi, ondan sonra modelin uygulamaaşamalarına geçilmesi gerekmektedir.Kaynaklar[1] Pressman, R. S., “Software Engineering”McGraw/Hill, Inc. New York USA (1992).[2] Kalıpsız, O., “Bilgisayar Yazılım Mühendisliği”,İ.Ü. Basımevi ve Film Merkezi, İstanbul(1992).[3] Sommerville, I., “An Introduction to SoftwareEngineering, Software Engineering” 7 thEdition, Ch.1 (2004).[4] Curtis, B., Krasner, H. Ve Iscoe, N., “AField Study of the Software Design Process forLarge Systems”, Communications ACM, 31,11, 1268-1287, November, (1988).[5] Scacchi, W., “Process Models in SoftwareEngineering Walt Scacchi, Institute for SoftwareResearch,”, University of California,Irvine February 2001 Revised Version, May2001, October 2001 Final Version to appear in,J.J. Marciniak (ed.), Encyclopedia of SoftwareEngineering, 2nd Edition, John Wiley andSons, Inc, New York, December (2001).[6] Pressman, R. S., “Software Engineering:A Practitioner’s Approach” Mcgraw/Hill 20056th Ed. (2005).[7] IEEE/EIA 12207, Industry Implementionof International Standart ISO/IEC 12207:1995,Standart for Information Technology – SoftwareLife Cycle Process (1998).[8] Hashimi, J., Agile(Çevik) Modelleme veÇevik Yazılım Geliştirme (2010) , http://www.ceturk.com/muhendislik/yazilim_muhendisligi/agilecevik-modelleme-ve-cevik-yazilimgelistirme.html[Ziyaret Tarihi: 28.01.2010].[9] Kruchten, P., “The Rational Unified Process– An Introduction”, Addison Wesley,(2000).[10] Beck, K., “Extreme Programming Explained”,Addison Wesley, (2000).[11] METU OpenCourseWare, “YazılımGeliştirme Yöntemleri”, ocw.metu.edu.tr/file.php/29/2dersnotu2.pdf [Ziyaret Tarihi:05.01.2010][12] CASEMaker Totem, “What is RapidApplication Development”, CASEMaker Inc(2000), http://www.casemaker.com/ download/products/totem/rad_wp.pdf[Ziyaret Tarihi:05.01.2010].[13] Waters, J. K., “Agile Lands Role In GamesAnd Business Software” (2008). http://www.theregister.co.uk/2008/02/28/agile_crossing_chasm/[Ziyaret Tarihi: 05.01.2010].369


Yazılım Ürünü Geliştirme Sürecinin ÖrneklenmesiŞebnem Özdemir, Zerrin Ayvaz Reis, Çiğdem Erol[14] SoftDevTeam, “Incremantal LifecycleModel”, (2010) http://www.softdevteam.com/Incremental-lifecycle.asp [Ziyaret Tarihi:05.01.2010][15] Leeson, M., System Analysis and Design,Second Edition, Science Research Associates,USA, 0-574-21785-1(1985)[16] Dastbaz, M., “Chapter 8: Overview of YazılımGeliştirme Yöntemleri (Designing InteractiveMultimedia Systems)” McGraw-Hill:London, (2002).[17] Boehm, B. W. A Spiral Model Of SoftwareDevelopment and Enhancement. TRWDefense System Group, (1988). http://www.cs.umd.edu/class/spring2003/cmsc838p/Process/spiral.pdf[Ziyaret Tarihi 24.01.2011][18] Sarıdoğan, E., “Yazılım Mühendisliği”,Papatya Yayıncılık Eğitim, İstanbul, ISBN:978-975-6797-57-0 (2008).[19] Wasson, C.S., System Analysis, DesignAnd Development: Concepts, Principles andPractices. Online ISBN: 9780-471728245.294-297, (2005).370

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!