SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
1.Yazılım Geliştirme Metotları1
1.1 Klasik Çevrim(Waterfall)
1.2 V Modeli
1.3 Prototipleme/Örnekleme
1.4 Spiral Model
1.5 Evrimsel Geliştirme
1.6 Evrimsel Prototipleme
1.7 Artımlı Geliştirme
1.8 Araştırmaya Dayalı Geliştirme
1.9 Gelişigüzel Geliştirme
1.10 Özneye Yönelik Geliştirme
1.11 Bileşen Tabanlı Geliştirme
1.12 Özelliğe Yönelik Programlama
1.13 Uç Programlama(Extreme Programming - XP)
1.14 Çevik Yazılım Geliştirme Yöntemi ………
1
Bu düzenleme Yazılım Mühendisliği Bölümü 4. sınıf öğrencisi Kerem Vatandaş tarafından yapılmıştır.
1.1 Klasik Çevrim(Waterfall)
Müşterinin tüm isterleri bir defada ve açıklayıcı tanımlayabilmesi
çoğu zaman mümkün değildir. Müşteri, ürünün tamamı bitinceye kadar
beklemek durumundadır. Waterfall modelde yazılımın gelişimi
doğrusaldır. yi tanımlı, isterleri kesinleşmiş, fazla zaman
olması beklenmeyen projeler için uygun bir yöntemdir.
1.2 V Modeli
sterlerin iyi tanımlandığı, belirsizliklerin az olduğu ve
aşamalar halinde ilerlenmesi erken projelerde V modeli iyi
sonuçlar verir. Sistem geçerleme sırasında karşılaşılan sorunu
gidermek için sistem isterleri çözümlemesinin tekrarlanması
gerekir.
1.3 Prototipleme/Örnekleme
Bu modelde çabuk tasarım, prototip geliştirme ve müşteri
değerlendirmesinden sonra prototip iyileştirilip referans ürün
ortaya konur. Müşteriye sunulan ön ürün ilk ürün olarak kabul
edilir ya da iptal edilip en baştan yapılabilir.
1.4 Spiral Model
Klasik çevrim ve prototipleme yöntemlerinin iyi yönlerinin
birleştirilmesiyle oluşmuştur. Bu yöntemde önce gereksinimlerin
bir kısmı belirlenir ve ön ürün yapılır, daha sonra sistemin geri
kalan kısmı yapılır. Genel olarak, art arda tekrarlanan dört
aşamadan meydana gelir.
1.5 Evrimsel Geliştirme
Her evrimde geliştirilen ürünler uygulama alanında tam
işlevselliğine sahiptir. Modelin uygulamadaki başarısı ilk evrimde
ortaya çıkan ürüne bağlıdır.
1.6 Evrimsel Prototipleme
Evrimsel geliştirmeden biraz farklı olarak, her evrimde ortaya bir
prototip yani ön ürün çıkarılır. Ön ürünün uygulama alanında
denenmesinden sonra, kullanıcı girdileri alınarak bir başka ön
ürün oluşturulur ve denemeye sunulur. Bu şekilde geliştirmeye
devam edilerek ürün son haline getirilir ve sonra kullanıma
sunulur.
1.7 Artımlı Geliştirme
sterlerinin tamamı belirli olan bir ürünün sürümler
geliştirilmesi ilkesine dayanmaktadır. Önce en temel isterlere
göre çekirdek yapıda olan ilk ürün geliştirilir. Bu ürün asıl
sistemin temel işlevlerini yerine getirebilecek durumdadır, anacak
bazı işlevleri eksiktir.
Her sürüm bir öncekinden daha fazla işlevselliğe sahiptir.
Tüm isterleri tanımlı bir yazılımın dört sürüm halinde
gerçekleşmesi artımlı olarak gerçekleşmektedir. Bu model evrimsel
geliştirmeye benzemekle beraber en büyük farkı, sürümlerin tam
işlevsellik içermemesidir.
1.8 Araştırmaya Dayalı Geliştirme:
Araştırma projeleri genellikle tam belirsizlik ile başlar.
Belirli bir konuda deneyim kazanmak amacıyla geliştirme
yapılabilir. Araştırmaya dayalı olduğu için sonuçları hakkında
kesin bir şey söylenemez. Bu araştırmalar asıl sistem geliştirme
için kullanılacak alt yapıyı oluşturacaktır.
1.9 Gelişigüzel Geliştirme
Bazı projeler geliştirilirken herhangi bir model yada yöntem
dayandırılmadan gelişigüzel yapılır. Herhangi bir süreç izlemeden
ve belgelendirme yapılmadan yalnızca kodlama ile ürün geliştirilir.
Çalışan ürün elde etmek için benimsenmektedir ama yazılımda ne
destek vardır, ne de disiplin.
1.10 Özneye Yönelik Geliştirme
Tasarımın nesneye yönelik olarak yapılması durumunda, özellikle
büyük ölçekli yazılımlar için gerçekleştirilmesi gereken nesne
adedinin çok fazla olması karmaşıklığa yok açmaktadır. Bu nedenle,
nesneden daha yüksek bir soyutlama düzeyine(abstraction level)
gereksinim duyulmuştur. Bu düzeyde artık nesneler değil
özneler(subject) ile sistem tasarımı ve gerçekleştirimi
yapılmaktadır. Bu şekilde yapılan geliştirme işlemine özneye
yönelik programlama denilmektedir. Kullanım yerleri;
~> Ofis işlemleri için paket yazılım
~> Geniş alana dağıtılmış merkezler arasında ofis otomasyonu
~> Komuta ve kontrol sistemi gerçekleştirimi
1.11 Bileşen Tabanlı Geliştirme
Önceden geliştirilmiş uygun bileşenlerle sistem oluşturmaya
bileşen tabanlı geliştirme(component-based development) demektedir.
Bileşen tabanlı geliştirme soyutlama arayüzler aracılığıyla
yapılır. Nesneler mantıksal bir modele karşıklık gelen çalıştırma
anı varlıklarını ifade ederken, bileşenler büyük bir yazılımın
yapısal parçalarını ifade ederler. Bileşen tabanlı geliştirmenin
temelini oluşturan şey yeniden kullanımdır.
1.12 Özelliğe Yönelik Programlama
Bazı programlama problemlerine ilişkin tasarım kararlarının ne
yordamsal ne de nesneye yönelik programlama teknikleriyle
gerçekleştirilemeyeceği durumlar olabilir. Bu tasarım kararlarının
kodun dağıtılmasıyla karmaşık bir yapı ortaya çıkar. şte bu
tasarım kararlarından oluşan öğelere özellik adı verilerek
özelliğe yönelik programlama adıyla yeni bir teknik ortaya
atılmıştır.
1.13 Uç Programlama(Extreme Programming – XP)
Değişen müşteri istekleri, ürünün yaşam çevrimi sırasında mutlaka
karşılanır. XP ile yazılım projesi dört ilkeye bağlı olarak
geliştirilir;
~> letişim
~> Basitlik
~> Geri Besleme
~> Cesaret
XP, geliştirme sırasında isterleri sürekli değişen problem
alanları içi Agile(Çevik) yazılım geliştirme yöntemidir. Nedenleri;
~> Agile ile hedeflenen asıl şey süreçleri etkin kullanarak
hızlandırmak ve gerektiğinde bunları dokümantasyonudur.
~> Agile Proje Yönetimi dediğimizde bilmemiz gereken; değişime
açık olunması, takım içi iletişimin üst düzeyde olması, hızlı ve
sürekli ürün teslimi, test odaklı anlayış, basit ve gerçekçi bir
planlama olmalıdır.
1.14 Çevik Yazılım Geliştirme Yöntemleri
…………………………………..
………………………………..
……………………………….

Más contenido relacionado

La actualidad más candente

007 Uml Modelleri Analiz Ve Tasarim [74 Slides]
007 Uml Modelleri Analiz Ve Tasarim [74 Slides]007 Uml Modelleri Analiz Ve Tasarim [74 Slides]
007 Uml Modelleri Analiz Ve Tasarim [74 Slides]Erol Bozkurt
 
Öğrenen Organizasyon Kültürü
Öğrenen Organizasyon KültürüÖğrenen Organizasyon Kültürü
Öğrenen Organizasyon KültürüGulsen Kilic
 
Svccg nosql 2011_v4
Svccg nosql 2011_v4Svccg nosql 2011_v4
Svccg nosql 2011_v4Sid Anand
 
Bbölüm 2 satışçılık mesleği +bölüm 3 tüketim psikolojisi ve s.a.m.
Bbölüm 2 satışçılık mesleği +bölüm 3 tüketim psikolojisi ve s.a.m.Bbölüm 2 satışçılık mesleği +bölüm 3 tüketim psikolojisi ve s.a.m.
Bbölüm 2 satışçılık mesleği +bölüm 3 tüketim psikolojisi ve s.a.m.ersinweb
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life CycleDilaver Demirel
 
Sistem i̇sterlerinin tespiti ve modellenmesi
Sistem i̇sterlerinin tespiti ve modellenmesiSistem i̇sterlerinin tespiti ve modellenmesi
Sistem i̇sterlerinin tespiti ve modellenmesiMehmet Zah't
 
5 e öğretim modeli slayt
5 e öğretim modeli   slayt5 e öğretim modeli   slayt
5 e öğretim modeli slaytpoyraz92
 
Nedenli eylem teorisi
Nedenli eylem teorisiNedenli eylem teorisi
Nedenli eylem teorisiGozde Dokur
 
CBÜ - Yazılım Mimarisi ve Tasarımı Ders Notları
CBÜ - Yazılım Mimarisi ve Tasarımı Ders NotlarıCBÜ - Yazılım Mimarisi ve Tasarımı Ders Notları
CBÜ - Yazılım Mimarisi ve Tasarımı Ders NotlarıTuğrul Can Şöllü
 
Topluluk Önünde Etkili Konuşma Dr. Sema Coşkun SEMRİN İK Eğitim ve Danışma...
Topluluk Önünde Etkili Konuşma  Dr. Sema Coşkun   SEMRİN İK Eğitim ve Danışma...Topluluk Önünde Etkili Konuşma  Dr. Sema Coşkun   SEMRİN İK Eğitim ve Danışma...
Topluluk Önünde Etkili Konuşma Dr. Sema Coşkun SEMRİN İK Eğitim ve Danışma...SEMRIN IK EGITIM VE DANISMANLIK
 
Bir Satışçının Anatomisi
Bir Satışçının AnatomisiBir Satışçının Anatomisi
Bir Satışçının AnatomisiGökhan Günay
 
Bölüm 6 satışta sunum
Bölüm 6   satışta sunumBölüm 6   satışta sunum
Bölüm 6 satışta sunumersinweb
 
pazarlik becerileri
pazarlik becerileripazarlik becerileri
pazarlik becerileriYunus TUTAR
 
Kişilik Kuramları
Kişilik KuramlarıKişilik Kuramları
Kişilik KuramlarıMehmet KUZU
 
B2c sunum
B2c sunumB2c sunum
B2c sunumwaften
 

La actualidad más candente (20)

İBAT 5.konu Evren ve Örneklem
İBAT 5.konu Evren ve ÖrneklemİBAT 5.konu Evren ve Örneklem
İBAT 5.konu Evren ve Örneklem
 
007 Uml Modelleri Analiz Ve Tasarim [74 Slides]
007 Uml Modelleri Analiz Ve Tasarim [74 Slides]007 Uml Modelleri Analiz Ve Tasarim [74 Slides]
007 Uml Modelleri Analiz Ve Tasarim [74 Slides]
 
Yazılım Gereksinim Mühendisliği Semineri
Yazılım Gereksinim Mühendisliği SemineriYazılım Gereksinim Mühendisliği Semineri
Yazılım Gereksinim Mühendisliği Semineri
 
Öğrenen Organizasyon Kültürü
Öğrenen Organizasyon KültürüÖğrenen Organizasyon Kültürü
Öğrenen Organizasyon Kültürü
 
Svccg nosql 2011_v4
Svccg nosql 2011_v4Svccg nosql 2011_v4
Svccg nosql 2011_v4
 
Bbölüm 2 satışçılık mesleği +bölüm 3 tüketim psikolojisi ve s.a.m.
Bbölüm 2 satışçılık mesleği +bölüm 3 tüketim psikolojisi ve s.a.m.Bbölüm 2 satışçılık mesleği +bölüm 3 tüketim psikolojisi ve s.a.m.
Bbölüm 2 satışçılık mesleği +bölüm 3 tüketim psikolojisi ve s.a.m.
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
Sistem i̇sterlerinin tespiti ve modellenmesi
Sistem i̇sterlerinin tespiti ve modellenmesiSistem i̇sterlerinin tespiti ve modellenmesi
Sistem i̇sterlerinin tespiti ve modellenmesi
 
5 e öğretim modeli slayt
5 e öğretim modeli   slayt5 e öğretim modeli   slayt
5 e öğretim modeli slayt
 
EFT NEDİR?
EFT NEDİR?EFT NEDİR?
EFT NEDİR?
 
Nedenli eylem teorisi
Nedenli eylem teorisiNedenli eylem teorisi
Nedenli eylem teorisi
 
CBÜ - Yazılım Mimarisi ve Tasarımı Ders Notları
CBÜ - Yazılım Mimarisi ve Tasarımı Ders NotlarıCBÜ - Yazılım Mimarisi ve Tasarımı Ders Notları
CBÜ - Yazılım Mimarisi ve Tasarımı Ders Notları
 
Topluluk Önünde Etkili Konuşma Dr. Sema Coşkun SEMRİN İK Eğitim ve Danışma...
Topluluk Önünde Etkili Konuşma  Dr. Sema Coşkun   SEMRİN İK Eğitim ve Danışma...Topluluk Önünde Etkili Konuşma  Dr. Sema Coşkun   SEMRİN İK Eğitim ve Danışma...
Topluluk Önünde Etkili Konuşma Dr. Sema Coşkun SEMRİN İK Eğitim ve Danışma...
 
Duygusal zeka
Duygusal zeka Duygusal zeka
Duygusal zeka
 
Bir Satışçının Anatomisi
Bir Satışçının AnatomisiBir Satışçının Anatomisi
Bir Satışçının Anatomisi
 
Bölüm 6 satışta sunum
Bölüm 6   satışta sunumBölüm 6   satışta sunum
Bölüm 6 satışta sunum
 
pazarlik becerileri
pazarlik becerileripazarlik becerileri
pazarlik becerileri
 
Kişilik Kuramları
Kişilik KuramlarıKişilik Kuramları
Kişilik Kuramları
 
B2c sunum
B2c sunumB2c sunum
B2c sunum
 
Tutumlara Islevsel Yaklasimlar
Tutumlara Islevsel YaklasimlarTutumlara Islevsel Yaklasimlar
Tutumlara Islevsel Yaklasimlar
 

Similar a Yazilim Gelistirme Yöntemleri

Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)Ahmet Yanik
 
JVM Tuning and Monitoring, JVM Languages, IDE
JVM Tuning and Monitoring, JVM Languages, IDEJVM Tuning and Monitoring, JVM Languages, IDE
JVM Tuning and Monitoring, JVM Languages, IDEHalil İbrahim ÇELENLİ
 
Yazılım Mimarileri - Yazılım Geliştirme Modelleri
Yazılım Mimarileri - Yazılım Geliştirme ModelleriYazılım Mimarileri - Yazılım Geliştirme Modelleri
Yazılım Mimarileri - Yazılım Geliştirme ModelleriKubra Kose
 
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...Cenk Derinozlu
 
1. nesneye dayalı programlama giriş
1. nesneye dayalı programlama   giriş1. nesneye dayalı programlama   giriş
1. nesneye dayalı programlama girişkarmuhtam
 
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriGDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriLemi Orhan Ergin
 
Çevik Manifesto Sunum
Çevik Manifesto Sunum Çevik Manifesto Sunum
Çevik Manifesto Sunum ERCAN CETIN
 
Analist Eğitimi - Tüm Bölümler - [535 Slides]
Analist Eğitimi - Tüm Bölümler -  [535 Slides]Analist Eğitimi - Tüm Bölümler -  [535 Slides]
Analist Eğitimi - Tüm Bölümler - [535 Slides]Erol Bozkurt
 
Gartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
Gartner EEE - Yazılım Geliştirme - SoftTech DeneyimleriGartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
Gartner EEE - Yazılım Geliştirme - SoftTech Deneyimlerihalilaksu
 
Implementation.pptx
Implementation.pptxImplementation.pptx
Implementation.pptxglkabakc
 
SelçUk şEnol Unified Process
SelçUk şEnol   Unified ProcessSelçUk şEnol   Unified Process
SelçUk şEnol Unified ProcessFatih Çengel
 
Software development life cycle yazılım geliştirme yaşam döngüsü
Software development life cycle   yazılım geliştirme yaşam döngüsüSoftware development life cycle   yazılım geliştirme yaşam döngüsü
Software development life cycle yazılım geliştirme yaşam döngüsüMesut Günes
 
Android mimari-cekirdek-binding-scheduler
Android mimari-cekirdek-binding-schedulerAndroid mimari-cekirdek-binding-scheduler
Android mimari-cekirdek-binding-schedulerErcan Pinar
 
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme PratikleriBaşarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme PratikleriLemi Orhan Ergin
 

Similar a Yazilim Gelistirme Yöntemleri (20)

Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)Yazilim mi̇mari̇leri̇(aoy)
Yazilim mi̇mari̇leri̇(aoy)
 
JVM Tuning and Monitoring, JVM Languages, IDE
JVM Tuning and Monitoring, JVM Languages, IDEJVM Tuning and Monitoring, JVM Languages, IDE
JVM Tuning and Monitoring, JVM Languages, IDE
 
Visual Studio Developer Tools
Visual Studio Developer ToolsVisual Studio Developer Tools
Visual Studio Developer Tools
 
Yazılım Mimarileri - Yazılım Geliştirme Modelleri
Yazılım Mimarileri - Yazılım Geliştirme ModelleriYazılım Mimarileri - Yazılım Geliştirme Modelleri
Yazılım Mimarileri - Yazılım Geliştirme Modelleri
 
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
 
1. nesneye dayalı programlama giriş
1. nesneye dayalı programlama   giriş1. nesneye dayalı programlama   giriş
1. nesneye dayalı programlama giriş
 
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriGDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme Teknikleri
 
Çevik Manifesto Sunum
Çevik Manifesto Sunum Çevik Manifesto Sunum
Çevik Manifesto Sunum
 
Selenium
SeleniumSelenium
Selenium
 
Analist Eğitimi - Tüm Bölümler - [535 Slides]
Analist Eğitimi - Tüm Bölümler -  [535 Slides]Analist Eğitimi - Tüm Bölümler -  [535 Slides]
Analist Eğitimi - Tüm Bölümler - [535 Slides]
 
Gartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
Gartner EEE - Yazılım Geliştirme - SoftTech DeneyimleriGartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
Gartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
 
Implementation.pptx
Implementation.pptxImplementation.pptx
Implementation.pptx
 
Sunum tdd
Sunum tddSunum tdd
Sunum tdd
 
Jenkins Notlarım
Jenkins NotlarımJenkins Notlarım
Jenkins Notlarım
 
Jenkins
JenkinsJenkins
Jenkins
 
SelçUk şEnol Unified Process
SelçUk şEnol   Unified ProcessSelçUk şEnol   Unified Process
SelçUk şEnol Unified Process
 
Selenium sunum
Selenium sunumSelenium sunum
Selenium sunum
 
Software development life cycle yazılım geliştirme yaşam döngüsü
Software development life cycle   yazılım geliştirme yaşam döngüsüSoftware development life cycle   yazılım geliştirme yaşam döngüsü
Software development life cycle yazılım geliştirme yaşam döngüsü
 
Android mimari-cekirdek-binding-scheduler
Android mimari-cekirdek-binding-schedulerAndroid mimari-cekirdek-binding-scheduler
Android mimari-cekirdek-binding-scheduler
 
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme PratikleriBaşarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
Başarılı Projelerin Anahtarı: Çevik Yazılım Geliştirme Pratikleri
 

Yazilim Gelistirme Yöntemleri

  • 1. 1.Yazılım Geliştirme Metotları1 1.1 Klasik Çevrim(Waterfall) 1.2 V Modeli 1.3 Prototipleme/Örnekleme 1.4 Spiral Model 1.5 Evrimsel Geliştirme 1.6 Evrimsel Prototipleme 1.7 Artımlı Geliştirme 1.8 Araştırmaya Dayalı Geliştirme 1.9 Gelişigüzel Geliştirme 1.10 Özneye Yönelik Geliştirme 1.11 Bileşen Tabanlı Geliştirme 1.12 Özelliğe Yönelik Programlama 1.13 Uç Programlama(Extreme Programming - XP) 1.14 Çevik Yazılım Geliştirme Yöntemi ……… 1 Bu düzenleme Yazılım Mühendisliği Bölümü 4. sınıf öğrencisi Kerem Vatandaş tarafından yapılmıştır.
  • 2. 1.1 Klasik Çevrim(Waterfall) Müşterinin tüm isterleri bir defada ve açıklayıcı tanımlayabilmesi çoğu zaman mümkün değildir. Müşteri, ürünün tamamı bitinceye kadar beklemek durumundadır. Waterfall modelde yazılımın gelişimi doğrusaldır. yi tanımlı, isterleri kesinleşmiş, fazla zaman olması beklenmeyen projeler için uygun bir yöntemdir. 1.2 V Modeli sterlerin iyi tanımlandığı, belirsizliklerin az olduğu ve aşamalar halinde ilerlenmesi erken projelerde V modeli iyi sonuçlar verir. Sistem geçerleme sırasında karşılaşılan sorunu gidermek için sistem isterleri çözümlemesinin tekrarlanması gerekir.
  • 3. 1.3 Prototipleme/Örnekleme Bu modelde çabuk tasarım, prototip geliştirme ve müşteri değerlendirmesinden sonra prototip iyileştirilip referans ürün ortaya konur. Müşteriye sunulan ön ürün ilk ürün olarak kabul edilir ya da iptal edilip en baştan yapılabilir. 1.4 Spiral Model Klasik çevrim ve prototipleme yöntemlerinin iyi yönlerinin birleştirilmesiyle oluşmuştur. Bu yöntemde önce gereksinimlerin bir kısmı belirlenir ve ön ürün yapılır, daha sonra sistemin geri kalan kısmı yapılır. Genel olarak, art arda tekrarlanan dört aşamadan meydana gelir.
  • 4. 1.5 Evrimsel Geliştirme Her evrimde geliştirilen ürünler uygulama alanında tam işlevselliğine sahiptir. Modelin uygulamadaki başarısı ilk evrimde ortaya çıkan ürüne bağlıdır. 1.6 Evrimsel Prototipleme Evrimsel geliştirmeden biraz farklı olarak, her evrimde ortaya bir prototip yani ön ürün çıkarılır. Ön ürünün uygulama alanında denenmesinden sonra, kullanıcı girdileri alınarak bir başka ön ürün oluşturulur ve denemeye sunulur. Bu şekilde geliştirmeye devam edilerek ürün son haline getirilir ve sonra kullanıma sunulur.
  • 5. 1.7 Artımlı Geliştirme sterlerinin tamamı belirli olan bir ürünün sürümler geliştirilmesi ilkesine dayanmaktadır. Önce en temel isterlere göre çekirdek yapıda olan ilk ürün geliştirilir. Bu ürün asıl sistemin temel işlevlerini yerine getirebilecek durumdadır, anacak bazı işlevleri eksiktir. Her sürüm bir öncekinden daha fazla işlevselliğe sahiptir. Tüm isterleri tanımlı bir yazılımın dört sürüm halinde gerçekleşmesi artımlı olarak gerçekleşmektedir. Bu model evrimsel geliştirmeye benzemekle beraber en büyük farkı, sürümlerin tam işlevsellik içermemesidir. 1.8 Araştırmaya Dayalı Geliştirme: Araştırma projeleri genellikle tam belirsizlik ile başlar. Belirli bir konuda deneyim kazanmak amacıyla geliştirme yapılabilir. Araştırmaya dayalı olduğu için sonuçları hakkında kesin bir şey söylenemez. Bu araştırmalar asıl sistem geliştirme için kullanılacak alt yapıyı oluşturacaktır. 1.9 Gelişigüzel Geliştirme Bazı projeler geliştirilirken herhangi bir model yada yöntem
  • 6. dayandırılmadan gelişigüzel yapılır. Herhangi bir süreç izlemeden ve belgelendirme yapılmadan yalnızca kodlama ile ürün geliştirilir. Çalışan ürün elde etmek için benimsenmektedir ama yazılımda ne destek vardır, ne de disiplin. 1.10 Özneye Yönelik Geliştirme Tasarımın nesneye yönelik olarak yapılması durumunda, özellikle büyük ölçekli yazılımlar için gerçekleştirilmesi gereken nesne adedinin çok fazla olması karmaşıklığa yok açmaktadır. Bu nedenle, nesneden daha yüksek bir soyutlama düzeyine(abstraction level) gereksinim duyulmuştur. Bu düzeyde artık nesneler değil özneler(subject) ile sistem tasarımı ve gerçekleştirimi yapılmaktadır. Bu şekilde yapılan geliştirme işlemine özneye yönelik programlama denilmektedir. Kullanım yerleri; ~> Ofis işlemleri için paket yazılım ~> Geniş alana dağıtılmış merkezler arasında ofis otomasyonu ~> Komuta ve kontrol sistemi gerçekleştirimi 1.11 Bileşen Tabanlı Geliştirme Önceden geliştirilmiş uygun bileşenlerle sistem oluşturmaya bileşen tabanlı geliştirme(component-based development) demektedir. Bileşen tabanlı geliştirme soyutlama arayüzler aracılığıyla yapılır. Nesneler mantıksal bir modele karşıklık gelen çalıştırma anı varlıklarını ifade ederken, bileşenler büyük bir yazılımın yapısal parçalarını ifade ederler. Bileşen tabanlı geliştirmenin temelini oluşturan şey yeniden kullanımdır. 1.12 Özelliğe Yönelik Programlama Bazı programlama problemlerine ilişkin tasarım kararlarının ne yordamsal ne de nesneye yönelik programlama teknikleriyle gerçekleştirilemeyeceği durumlar olabilir. Bu tasarım kararlarının kodun dağıtılmasıyla karmaşık bir yapı ortaya çıkar. şte bu tasarım kararlarından oluşan öğelere özellik adı verilerek özelliğe yönelik programlama adıyla yeni bir teknik ortaya atılmıştır. 1.13 Uç Programlama(Extreme Programming – XP) Değişen müşteri istekleri, ürünün yaşam çevrimi sırasında mutlaka karşılanır. XP ile yazılım projesi dört ilkeye bağlı olarak geliştirilir;
  • 7. ~> letişim ~> Basitlik ~> Geri Besleme ~> Cesaret XP, geliştirme sırasında isterleri sürekli değişen problem alanları içi Agile(Çevik) yazılım geliştirme yöntemidir. Nedenleri; ~> Agile ile hedeflenen asıl şey süreçleri etkin kullanarak hızlandırmak ve gerektiğinde bunları dokümantasyonudur. ~> Agile Proje Yönetimi dediğimizde bilmemiz gereken; değişime açık olunması, takım içi iletişimin üst düzeyde olması, hızlı ve sürekli ürün teslimi, test odaklı anlayış, basit ve gerçekçi bir planlama olmalıdır. 1.14 Çevik Yazılım Geliştirme Yöntemleri ………………………………….. ……………………………….. ……………………………….