You are on page 1of 19

SİSTEM GELİŞTİRME YAŞAM

DÖNGÜSÜ

• Sistem Modelleme
• Model Çeşitleri
• İkonik Model - Ölçek Model
İÇİNDEKİLER

• Analog Model
• Mental Model YÖNETİM BİLİŞİM
• Matematiksel Modeller SİSTEMLERİ
• Sistem Geliştirme Yaşam Döngüsü
• Ön Araştırma
• Sistem Analizi
• Sistem Tasarımı
Yrd. Doç. Dr. Ersin
• Uygulama (Gerçekleştirim) KARAMAN
• Bakım ve Destek
• Sistem Geliştirme Modelleri
• Şelale Modeli(waterfall Model)
• Evrimsel Model
• Artımlı Geliştirme Modeli
• Spiral Model

• Bu üniteyi çalıştıktan sonra;


HEDEFLER

• Sistem modellemeyi kavrayabilecek,


• Sistem geliştirme yaşam döngüsü
adımlarını açıklayabilecek,
• Modelleme türleri arasındaki farkı
söyleyebilecek, ÜNİTE

7
• Sistem geliştirme modellerini
öğrenebilecek,
• Sistem geliştirme modelleri
arasındaki farkı görebileceksiniz.
Sistem ve Sistem Geliştirme Yaşam Döngüsü

GİRİŞ
Her hangi bir problemin çözülmesi için öncelikle problemin anlaşılması,
incelenmesi ve sonrasında probleme yönelik çözümlerin uygulanması gereklidir.
Ancak bu probleme ilişkin çözümler uygulanırken zaman, maliyet, kaynak gibi
kısıtlar göz önünde bulundurulmalıdır. Tarih boyunca problemlere farklı
yaklaşımlar ile çözümler bulunmuştur. Örneğin; nüfusun ve buna bağlı olarak
taleplerin artması ile başlayan Sanayi (Endüstri) Devrimi ile beraber çözümler
makineler kullanılarak üretilmeye başlanmıştır. Bu durumda geleneksel
mühendislik yaklaşımları fiziksel yapıların tasarım, geliştirme ve uygulamalarına
olanak sağlamaktaydı. Ardından bilgisayarın işletmelerde kullanılmaya
başlanması, bir takım zorlukların üstesinden gelmemizi sağlamasına rağmen
beraberinde sorunlar da doğurmuştur. Probleme yönelik çözümün sistematik bir
şekilde uygulanamayışının getirdiği zaman ve parasal maliyetler bu sorunların
başında gelmektedir. Ayrıca çözümlerin fiziksel sınırlılık yanında bilişsel sınırlılığı da
göz önünde bulundurmaya zorlaması yeni yaklaşımlara ihtiyaç doğurmuştur. Bu
sorunların çözümü için temeli 1940’lara dayanan ve 1990’larda hayata geçirilen
sistem mühendisliği yaklaşımı/disiplini ortaya çıkmıştır. Sistem mühendisliği en
basit hâli ile başarılı sistemlerin hayata geçirilmesi için disiplinler arası bir yol ve
yaklaşımdır (Incose, 2004).
Ayrıca işletmelerin üretim sistemlerini iyileştirmelerinin yanında, yönetim
ve işletme fonksiyonlarının desteklenmesi ve işletme için gerekli olan bilgisayar
destekli sistemlerin geliştirilmesine de ihtiyaç duyulmuştur. Bu ihtiyaca cevap
verebilmek için sosyo-teknik yaklaşım olan bilişim sistemleri hayatımıza girmiştir.
Sistem mühendisliği, bilişim sistemleri mühendisliği, yazılım mühendisliği gibi
disiplinlerin ortak amacı, ortaya çıkarılmak istenen ürünün/hizmetin beklenen
zaman, maliyet ve kalitede oluşturulabilmesi için uygun teoriler, yöntemler ve
araçlar oluşturmak ve kullanmaktır. Bunun sağlamanın en önemli aşaması
geliştirilecek ürünün ihtiyaca cevap verebilmesi için problemin anlaşılmasıdır.
Sonrasında tasarım, geliştirme, test, uygulama, bakım gibi aşamalar gelmektedir.
Bu bölümde yukarıda hem tarihsel hem de güncel olarak bahsedilen
sistemler için sistem bileşenleri, türleri, modelleme konuları ele alınacaktır. Ayrıca,
sistem geliştirme yaşam döngüsü ve sistem geliştirme modellerine değinilecektir.

SİSTEMİN BİLEŞENLERİ NELERDİR?


Temel çalışma prensipleri, bir girdi alıp çıktı üretmek olan her sistem belirli
bir amaca veya problemi çözmeye yönelik geliştirilmiştir. Ancak bu sürecin bir
bağlamda veya bir çevrede, belirli sınırlarda ve belirli kısıtlar göz önünde
bulundurularak gerçekleşmesi beklenir. Ayrıca sistemler dış dünya ile
etkileşimlerinin sağlanabilmesi için bir ara yüz barındırır. Her ne kadar sistemler
kendi iç prosedürlerinden oluşsa da bir başka sistemin alt sistemi olabilir veya
kendi bünyelerinde alt sistemler barındırabilir. Bu özellikler göz önüne alındığında

Atatürk Üniversitesi Açıköğretim Fakültesi 2


Sistem ve Sistem Geliştirme Yaşam Döngüsü

geleneksel olarak sistemlerin; amaç, girdi/çıktı, sınır, çevre, kısıt, ara yüz, alt
sistem gibi nitelikleri veya bileşenleri olduğu söylenebilir.
Bu bölümde bahsedilecek olan yönetim bilişim sistemleri yaklaşımı ile
sistemler ele alındığında, bilgisayar temelli sistemlerinin bileşenleri; yazılım,
donanım, kişiler ve süreçler olarak görülebilir.

Kişiler

Donanım

Yazılım Süreçler

Şekil 7.1. Bilişim Sistemleri Bileşenleri

SİSTEM MODELLEME
Sistemlerin işleyişlerinin soyutlaştırılabilmesi ve anlaşılabilmesi için
modellenmesi gerekmektedir. Modelleme hem gereksinimlerin belirlenmesi hem
de tasarım aşamasında sistemin beklenen özellikleri ve görevleri karşılayabilecek
kabiliyette geliştirilebilmesi için kullanılmaktadır. Bu aşamalar, sistem geliştirme
yaşam döngüsü başlığında daha detaylı anlatılacaktır.
Model bir sistemin bileşenlerinin ve bu bileşenlerinin hem birbirleri ile
olan ilişkileri hem de kendi içlerindeki süreçleri soyutlamak için kullanılan
gösterimler olarak tanımlanmaktadır. Modelleme ise bu model oluşturma
sürecinin gerçekleştirilmesi olarak düşünülebilir. Modeller farklı şekillerde
sınıflandırılmaktadır. Sınıflandırmadaki en basit yaklaşım, modelin gerçekliğe
yakınlık derecesidir. Örneğin; modeller grafik, matematiksel, anlatımsal ve fiziksel
olarak sınıflandırılabilir. Diğer bir sınıflandırma ise ikonik, analog, mental ve
matematiksel olarak yapılabilir. Bu iki sınıflandırma temelde birbiri ile
örtüşmektedir.

Atatürk Üniversitesi Açıköğretim Fakültesi 3


Sistem ve Sistem Geliştirme Yaşam Döngüsü

Model Çeşitleri
Çok değişik model sınıflandırmaları olmakla birlikte bu konuda ikonik model,
analog model, mental model ve matematiksel model kavramları kısaca
açıklanacaktır.

İkonik model – Ölçek model


Bu tür modeller geliştirilen sistemlerin fiziksel olarak farklı ölçekteki
kopyalarıdır. Mühendislikten askeri komutaya birçok alanda kullanılsa da bilişim
sistemlerin modellenmesi için çok ender kullanılır. İkonik veya ölçek modellerin
Model, bir sistemin başlıca özellikleri; gösterdiği nesne veya sistem ile uyumlu boyutlara sahip olması,
bileşenlerinin kullanılan malzemeyi içermesi ve sistemin dış dünyaya ile etkileşimi de
birbirleri ile olan yansıtmasıdır.
ilişkilerinin soyut
gösterimidir. Analog model
Analog modeller bir sistemin veya nesnenin grafikler veya semboller
yardımı ile gösterilmesinde kullanılmaktadır. Örneğin, grafik, diyagram,
organizasyon şeması gibi yaklaşımlarla bir sistemin analog olarak modellemesi
yapılabilir. Her ne kadar fiziksel olsa da bir kâğıt veya başka bir nesne üzerine
soyutlanmasından öteye geçemez. Örneğin; plan dokümanı, animasyon, video,
film gibi araçlar bir sistemin anlaşılması daha kolay bir gösterimi için kullanılabilir.
Bilişim sistemlerinde analog modeller için veri akış diyagramları, etki çizelgeleri,
ağaç şemaları, bağlam şeması, hikâye yaprakları gibi yöntemler analog model
oluşturmak için kullanılır. Bu yöntemler sistem geliştirme yaşam döngüsündeki
analiz ve tasarım aşamalarında anlatılacaktır.

Mental model
Mental modeller insanların nasıl algıladıkları, nasıl karar verdikleri ve
davrandıkları gibi bilişsel süreçlerin gösterimi için kullanılan bir terimdir. Bu
modeller özellikle sistemle ilgili çokça nitel veriler kullanıldığı durumlarda daha çok
işe yarar. Bilişim sistemlerinin geliştirilmesinde veya gereksinimlerinin
belirlenmesinde kullanılan mental modeller bir işletmede iş süreçlerinin
belirlenmesinde de kullanılabilir. Örneğin bir yöneticinin işe alım süreci ile ilgili
mental modeli çıkarılabilirse, bu iş sürecinin bilişim sistemlerine aktarılması ve
sistemin bu süreci de yönetme kabiliyeti kazanması sağlanabilir. Metin
çözümlemesi mental modellerin çıkarılması için kullanılan en yaygın
yöntemlerdendir.

Matematiksel modeller
Matematiksel modeller, sistemin niceliksel değişimlerini, gerçekleştirdiği
niceliksel hesaplamaları veya bunlar arasındaki ilişkileri matematiksel semboller ve
formüller kullanarak açıklayan modellerdir. Örneğin, sistemin yaptığı bir işleme ait
denklem matematiksel modele örnek gösterilebilir.

Atatürk Üniversitesi Açıköğretim Fakültesi 4


Sistem ve Sistem Geliştirme Yaşam Döngüsü

SİSTEM YAŞAM DÖNGÜSÜ


Sistem yaşam döngüsü süreçleri, bir sistemin ihtiyacının ortaya çıkışından
imha edilme aşamasına kadar bütün adımları içerisinde barındıran süreçlerdir.
Örneğin sistem mühendisleri için geliştirilen ISO/IEC 15288 standardında sistem
yaşam döngüsü süreçleri dört ana kategoride toplanmıştır. Bu kategoriler;
anlaşma (başlangıç) süreçleri, kurumsal süreçler, proje süreçleri ve teknik
süreçlerden oluşmaktadır (Tablo 7.1).
Tablo 7.1. Yaşam Döngüsü Süreçleri
 Edinim
Anlaşma Süreçleri
 Tedarik
 Çevre Yönetimi
 Yatırım Yönetimi
Kurumsal Süreçler  Sistem Yaşam Döngüsü Süreçleri Yönetimi
 Kaynak Yönetimi
 Kalite Yönetimi
 Proje Planlama
 Proje Değerlendirme
 Proje Kontrol
Proje Süreçleri  Karar Verme
 Risk Yönetimi
 Konfigürasyon Yönetimi
 Enformasyon Yönetimi
 Paydaş Gereksinim Tanımlama
 Gereksinim Analizi
 Tasarım
 Uygulama
 Entegrasyon
Teknik Süreçler  Geçerleme
 Dönüştürme
 Doğrulama
 Kullanım
 Bakım
 İmha

Bu süreçler bir sistemin ihtiyacının ortaya konulmasından, nasıl imha


edilmesi gerektiğine kadar bütün adımları içeren bir yaşam döngüsüne ait
süreçlerdir. ISO/IEC 15288 standardında yer alan örnek sistem yaşam döngüsü
aşamaları ise Şekil 7.1'de gösterilmiştir:

Atatürk Üniversitesi Açıköğretim Fakültesi 5


Sistem ve Sistem Geliştirme Yaşam Döngüsü

Kavramsal
İhtiyaçların analizi, geliştirme çözümleri vs.

Geliştirme

Üretim
Sistemin üretilmesi veya imalatı, imalatın planlanması vs.

Kullanma
Sistemin kulanılması

Destek
Sistemin gerekli bakımlarının yapılması ve destek verilmesi

İmha
Sistemin imha planı, arşivlenmesi vs.

Şekil 7.1.Sistem Yaşam Döngüsü Aşamaları


Buradaki aşamalar sistem yaşam döngüsü için örnek olarak gösterilebilir.
Günümüzde kavram yanılgısı olarak karşımıza çıkan sistem yaşam döngüsü ile
sistem geliştirme yaşam döngüsünün farkı bu aşamalardan anlaşılabilir. Buradaki
geliştirme aşamasında izlenen süreçler sistem geliştirme yaşam döngüsü ile
gerçekleştirilir.

Sistem Geliştirme Yaşam Döngüsü


Talebin sürekli arttığı ve bu ihtiyaca cevap verebilmenin tek yolunun
sistem kullanmak olduğu düşünülürse en önemli sorunlardan birinin sistem
geliştirmeye yönelik sistematik bir yaklaşım belirlemek olduğu söylenebilir. Bu
amaç doğrultusunda farklı organizasyonların önerdikleri sistem geliştirme yaşam
döngüleri (System Development Life-Cycle) bulunmaktadır. En genel sistem
geliştirme yaşam döngüsünün araştırma, sistem analizi, sistem tasarımı, sistem
gerçekleştirimi (uygulama-kodlama vs.), sistem uygulama ve değerlendirme
aşamalarından oluştuğu söylenebilir. Bir başka sistem geliştirme yaşam döngüsü,
plan(ön araştırma), analiz, tasarım, uygulama (gerçekleştirim) ve destek olarak da
belirlenebilir (Şekil 7.2).

Ön Araştırma
Bu süreç müşterinin, yöneticinin veya ilgili birimin sisteme ilişkin sistem
isteği ile başlamaktadır. Burada genel olarak ile problem durumu ele alınmaktadır.
Bu sürecin en önemli çıktılarından biri fizibilite çalışmasıdır. Fizibilite çalışması
sonunda elde edilen fizibilite raporu, sistemin geliştirilmeye değip değmeyeceği ile
ilgili bilgiler sunar. Bu raporun; kullanım, maliyet, kullanıcı ve kurum faydası,
oluşturacağı enformasyon değeri gibi nitelikleri içerisinde barındırması beklenir.

Atatürk Üniversitesi Açıköğretim Fakültesi 6


Sistem ve Sistem Geliştirme Yaşam Döngüsü

Bu sayede ilk olarak sistemin geliştirilmesi için harcanacak tahmini iş gücü ve


maliyetin, kurumun faydası ile ilişkisi belirlenmiş olur. Fizibilite çalışmasında
kullanılan maliyet, zaman, iş gücü gibi nitelikler tahminlerden oluşmaktadır.
Detaylı çalışmalar ancak gereksinimlerin belirlenmesinde sonra yapılabilir.

Sistem Analizi
Sistem analizi, proje hedeflerinin analiz edilebilmesi için problemi kolay
yönetilebilir parçalara ayırmayı ve gereksinimleri belirlemeyi amaçlamaktadır. Bu
aşamada sistem içerisinde bulunacak bütün bileşenlerin detaylı bir şekilde
belirlenmesi, maliyetlerinin çıkarılması, alternatif çözümlerin üretilmesi
gerekmektedir. Bu aşamada gereksinim analizi yapılması ve sistem gereksinim
dokümanı oluşturulması gerekmektedir. Sistem analizi aşaması sonraki bölümde
detaylı olarak anlatılacaktır.

Sistem Tasarımı
Bu aşamada sistem analizi aşamasından elde edilen bilgiler ve
gereksinimlere göre sistemin nasıl oluşturulacağı ele alınır. Sistemin etkileştiği
girdiler, çıktılar, ara yüzler, yazılımlar gibi bütün bileşenler bu aşamada
tasarlanmalıdır. Bu aşamada sistem tasarım dokümanı (System Design
Description) oluşturulur. Bu aşama sistemin modellendiği ve soyutlaştırıldığı
aşamadır.

Uygulama (Gerçekleştirim)
Sistem geliştirme yaşam döngüsünün bu aşamasında tasarlanan sistem
gerçekleştirilir ve inşa edilir. Bir nevi sistemin tasarıma uyarak yapılması olarak da
düşünülebilir. Örneğin bir bilişim sistemi geliştiriliyor ise, yazılım kodları yazılır,
Sistem geliştirme test edilir, entegrasyonu yapılır. Sistemin yönetici veya istekte bulunan kurum
yaşam döngüsü; ön tarafından kabulü de gerçekleştirilir. Bu sayede bir ürün ortaya çıkmış olur. Gerekli
araştırma, analiz, testler yapıldıktan sonra sistem kullanılmaya başlanır.
tasarım, uygulama ve
bakım ve destek Bakım ve Destek
aşamalarından oluşur.
Günlük hayatta kullandığımız her nesne gibi sistemler de eskimektedir. Bu
eskimeye karşı koyabilmek için bakım süreçlerine ihtiyaç vardır. Özellikle bilişim
sistemlerinde ihtiyaçların artması veya değişmesi durumunda sistemin
sürdürülebilir olması için değiştirilmesi gerekebilir. Sistem geliştirme yaşam
döngüsünde güncelleme ve bakım çalışmaları bu aşamada gerçekleştirilir.

• Sistem geliştirme yaşam döngüsü adımlarını, kendi


Bireysel Etkinlik

çalışmalarınıza uyarlamaya çalışınız.

Atatürk Üniversitesi Açıköğretim Fakültesi 7


Sistem ve Sistem Geliştirme Yaşam Döngüsü

Sistem
Analizi

Ön
Araştırma Sistem
ve Tasarımı
Planlama

Sistem
Bakım ve Uygulama
Destek ve
Test

Şekil 7.2.Sistem Geliştirme Yaşam Döngüsü


Sistem geliştirme yaşam döngüsünün ilk üç evresinde modellemelerden
sıkça faydalanılmaktadır. Hem problemin ortaya konulması hem de tasarlanması
aşamalarında modeller kullanılır. Yukarıda genel bir sistem geliştirme yaşam
döngüsüne değinilmiştir.

YAZILIM YAŞAM DÖNGÜSÜ


Günümüzde bilişim sistemlerinin yazılım boyutu, sistemin önemli bir
parçası olduğu için sistem geliştirme yaşam döngüsü, yazılım geliştirme yaşam
döngüsünden bağımsız düşünülemez. Yazılım yaşam döngüsüne baktığımızda aynı
aşamaları içerse de, bilişim sistemlerine yönelik önerilen detaylı bir geliştirme
yaşam döngüsü Şekil 7.3’te gösterilmektedir.

Şekil 7.3.Yazılım Yaşam Döngüsü Süreçleri (ISO 12207)

Atatürk Üniversitesi Açıköğretim Fakültesi 8


Sistem ve Sistem Geliştirme Yaşam Döngüsü

Yazılım Geliştirme Yaşam Döngüsü


Sistem yaşam döngüsü ile benzer şekilde yazılım yaşam döngüsünde de
geliştirme aşaması ayrı bir süreçler kümesini oluşturmaktadır. Yazılım içeren veya
yazılım yoğun bir bilişim sisteminin geliştirilmesinde izlenen geliştirme süreçleri
Şekil 7.4’te verilmiştir. Burada daha önce belirtilen sistem geliştirme adımlarının
içerisinde yazılım geliştirme süreçleri yer almaktadır. Son yıllarda yazılım
geliştirme ve sistem geliştirmeye yönelik oluşturulan standartlar ortak
karakteristikler barındırmaktadır.

Sistem Yazılım
Gereksinimleri Sistem Tasarımı Gereksinimleri Yazılım Tasarımı
Analizi Analizi

Yazılım
Yazılım Kodlama Yazılım Sistem
Kalifikasyon
ve Test Entegrasyonu Entegrasyonu
Testi

Sistem
Yazılım Kabul
kalifikasyon Yazılım Yükleme
Desteği
Testi

Şekil 7.4.Yazılım Geliştirme Yaşam Döngüsü (IEEE 12207)

Şekil 7.4’te kırmızı olarak belirtilen süreçler yazılım ile ilgili süreçlerdir.
Burada sistem geliştirme içerisinde bir yazılım geliştirme yaşam döngüsü
verilmiştir. Özetle sistem yaşam döngüsü, sistemin fikir olarak ortaya çıkmasından
imhasına kadar bütün süreçleri içerirken; sistem geliştirme yaşam döngüsü, sistem
geliştirme süreçleri ile ilgili gerekli aşamaları sunar. Benzer durum yazılım yaşam
döngüsü ve yazılım geliştirme yaşam döngüsü için de geçerlidir. Geliştirme yaşam
döngüleri ürünün geliştirme aşamasındaki bir yol haritası, ihtiyaç duyulan süreçler
kümesi veya gerçekleştirilecek aktivitelerin düzeni olarak da tanımlanabilir.

SİSTEM GELİŞTİRME MODELLERİ


Buraya kadar sistem geliştirme yaşam döngüsü ile ilgili genel bir
standarttan bahsettik. Standartlar, yaşam döngüsü süreçlerinin takip edilmesi için
bütünlük veya ortak bir çerçeve sunar. Burada önemli olan rollerin, görevlerin,
yaşam döngüsü evrelerinin belirlenmesidir. Sistem geliştirme yaşam döngüsü,
süreçlerin kesin tanımlanmasından ziyade belirli bir bakış açısı ile genel tanımlarını
sunmaktadır. Bu nedenle süreçlerin uygulanması ve kesin tanımlamalarının
yapılması için farklı yaklaşımlar uygulanabilir. Bu yaklaşımlara “sistem geliştirme
modelleri” veya ”sistem geliştirme yaşam döngüsü modelleri” adı verilmektedir.
Bilimsel çalışmalarda birçok sistem geliştirme modeli bulunmaktadır. Bu kısımda

Atatürk Üniversitesi Açıköğretim Fakültesi 9


Sistem ve Sistem Geliştirme Yaşam Döngüsü

bilişim sistemleri geliştirme modellerine yer verilecektir. Bu modeller aynı zaman


da yazılım geliştirme modeli olarak da kullanılmaktadır.

Şelale Modeli (Waterfall Model)


Şelale modeli (bazen çağlayan modeli olarak da adlandırılır), 1970’lerde
ortaya çıkmıştır. Bu modelin en ilkel sürümünde sistem gereksinimleri, yazılım
gereksinimleri, analiz, program tasarımı, kodlama, test ve kullanma veya
operasyonel hale getirme aşamaları bulunmaktadır. Yazılım geliştirme yaşam
döngüsü modeli olarak da kullanılan temel şelale modeli Şekil 7.5’te gösterilmiştir.

Şekil 7.5.Şelale Modeli


Çok yoğun dokümantasyonun kullanıldığı bu model, geliştiriciye ürün
tesliminde bir dayanak oluşturur. Ayrıca şelale modeli gereksinimleri açık olan
projelerde oldukça kullanışlıdır. Eğer zaman veya maliyet kaliteden sonraya atılan
bir proje ise, şelale modeli tavsiye edilebilir. Şelale modelinde en büyük problem;
ardışık adımlar arasında geçiş olmasına rağmen, bu geçişgenlik diğer adımlar için
söz konusu değildir. Bu durum olası bir hatanın sonraki aşamalarda düzeltilmesinin
maliyetini artırmaktadır. Örneğin gereksinim aşamasında yapılan bir hata, test
aşamasında tespit edilmesi durumunda hatanın düzeltilmesi hem zaman hem de
bütçe açısından maliyetlidir. Bu tür problemlere yönelik bir takım önlemler
alınmıştır. Bu önlemlerden birincisi, yazılım yoğun projeler için daha kullanışlı olan
ön-tasarım aşaması oluşturarak kodlama veya diğer kısıtlar kullanılmasıdır. Bu
sayede test aşamasından önce olası kısıtlar kestirilebilir. İkinci öneri ise şelale
modelinin tasarım aşamasında bir prototip oluşturmak ve prototip geliştirilirken
yine şelale modelinin tamamını uygulamaktır (Şekil 7.6). Bu sayede proje
geliştirme sürecinde olası varsayımlar test edilmiş olacaktır.

Atatürk Üniversitesi Açıköğretim Fakültesi 10


Sistem ve Sistem Geliştirme Yaşam Döngüsü

Şekil 7.6.Gelişmiş Şelale Modeli

Prototip oluşturduktan sonra işletme açısından önemli olan nokta, son


ürünün bittiği düşünülerek geliştirme sürecine müdahalede bulunulması riskidir.
Bir diğer nokta ise geliştirici ile müşteri arasında bir sözleşme niteliği taşıyan
gereksinim dokümanı yerine oluşturulan prototipin konulmasıdır. Şelale modeli ile
ilgili üçüncü öneri ise müşterinin geliştirme aşamasına dâhil edilmesidir. Bu sayede
her adımda müşteriden onay alınarak ilerlenebilir.

Evrimsel Model
Evrimsel geliştirme modeli, gereksinimlerin çok net olmadığı durumlarda,
sistemin ana hatları ile ilk versiyonun üretilmesini ve sonradan belirlenen veya
eklenen gereksinimlere göre sürekli iyileştirilerek ara versiyonların
oluşturulmasına yönelik bir geliştirme modelidir. Ara versiyonlar sonrasında
müşterinin sürece müdâhil olması ile birlikte son versiyon oluşturulur. Her bir
versiyonun geliştirilmesinde gereksinim belirleme, tasarım, uygulama ve test
aşamaları gerçekleştirilir. Kısaca, evrimsel model kullanılarak ilk elde edilen ürün,
sistemin genel özelliklerini yansıtmaktadır. Her bir versiyon müşteri talebine veya
yapılan testlere göre üretilmektedir. Evrimsel model ile ilgili süreçler Şekil 4,7’de
verilmiştir.

Atatürk Üniversitesi Açıköğretim Fakültesi 11


Sistem ve Sistem Geliştirme Yaşam Döngüsü

Şekil 7.7.Evrimsel Model

Evrimsel model, süreç içerisinde gereksinimlerin daha iyi anlaşılmasını


sağlar ve karşılaşılabilecek sorunlar erken tespit edilebilir. Ancak bu modelin
kullanılması süreç yönetiminde bir takım aksaklıklara yol açabilir. Özellikle zaman
ve maliyet açısından kestirim zor olabilir. Ayrıca evrimsel modelde versiyonların
takibi titizlikle yapılmaz ise sistem geliştirilirken bir takım bozulmalara uğrayabilir.
Bundan kaçınmanın yollarından biri deneyimli ve uzman geliştiriciler ile
çalışmaktır.

Artımlı Geliştirme Modeli


Artımlı modelin temel yaklaşımı, sistemi bir bütün olarak değerlendirmek
yerine ayrı ayrı çalışabilir parçalara ayırarak son ürüne ulaşmaktır. Öncelikle
geliştirilecek sistemin veya yazılımın en önemli bileşeni veya gereksinimi
karşılayacak bölümü geliştirilir ve teslim edilir. Sonraki bölümler yine önem
sırasına göre geliştirilir. Her bir bölüm kendi içerisinde değerlendirilir ve kapatılan
ve teslim edilen bölümler ile ilgili değişiklikler diğer bölümler tamamlanmadan
dikkate alınmaz. Artımlı modelin temel süreçleri Şekil 7.8’de verilmiştir.

Atatürk Üniversitesi Açıköğretim Fakültesi 12


Sistem ve Sistem Geliştirme Yaşam Döngüsü

Şekil 7.8 Artımlı Model

Artımlı modelin en önemli avantajlarından biri sistemin bütünü ile


başarısız olma riskini azaltılmasıdır. Her bir entegrasyondan sonra geçerleme
yapıldığından sistem defalarca test edilmiş olur. Müşterinin sürece dâhil edilmesi
de projenin başarısızlık riskini azaltmaktadır. Evrimsel modelde de olduğu gibi
gereksinimlerin daha iyi anlaşılması bu model ile mümkündür. En büyük zorluğu
ise önem sırasının belirlenmesi ve her bir artımın (sistem parçası) içerisinde
geliştirilecek olan gereksinimlerin makul büyüklükte olmasını sağlamaktır.
Şelale modeli, evrimsel model ve artımlı modelin zaman içerisinde
geliştirilen sisteme ilişkin karşılaştırması Şekil 7.9’da verilmiştir. Şekilde de
görüldüğü gibi şelale modelinde her bir geliştirme aşaması ardışık ve bütün bir
sistemi tek bir süreçte elde etmeyi hedeflerken, evrimsel ve artımlı modelde
sistem geliştirme süreçleri fazlara veya versiyonlara ayrılmıştır. Evrimsel modelde
sistemin ana parçasının üzerine yeni versiyonlar ekleme yaklaşımı izlenirken,
artımlı geliştirme modelinde sistem önem sırasına göre bölüm bölüm
geliştirilmektedir.

Atatürk Üniversitesi Açıköğretim Fakültesi 13


Sistem ve Sistem Geliştirme Yaşam Döngüsü

Şekil7.9.Geliştirme Modellerinin Karşılaştırması (Demirös, O.2008 - IS 507 Ders Notu)

Spiral Model
Günümüzde sistemler ya alt sistemlerden oluşmakta ya da başka bir
sistemin parçası olabilmektedir. Bu nedenle bir tek modelin uygulanması zaman
zaman güçleşir. Bu yüzden karma modeller uygulanabilir. Buna örnek olarak spiral
geliştirme modeli bulunmaktadır. Spiral model hedef belirleme, risk
değerlendirmesi, uygulama ve planlama olmak üzere dört ana aşamadan oluşur.
Risk yönelimli olan spiral model düz bir süreç yerine halkalar hâlinde
gösterilmiştir. Her bir halka bir faz olarak değerlendirilebilir. Spiral modelin son
aşamasında varsa sonraki fazın planlaması yapılır. Her bir halkada farklı bir
geliştirme modeli kullanılabilir:

Şekil 7.10.Spiral model

Atatürk Üniversitesi Açıköğretim Fakültesi 14


Sistem ve Sistem Geliştirme Yaşam Döngüsü

Günümüzde yukarıdaki geleneksel geliştirme modellerinin yanında V-


modeli, prototipleme, bileşik süreç, formal sistem geliştirme gibi modeller
bulunmaktadır. Bu modeller; problemin karmaşıklığı, büyüklüğü, bütçe, iş gücü,
önem, zaman kısıtı gibi niteliklere göre seçilip uygulanabilir.

Tartışma • KOBİ'ler için geliştirilecek sistemlerde kullanılacak


modellerin uygunluğunu tartışınız.
• Düşüncelerinizi sistemde ilgili ünite başlığı altında yer alan
“Tartışma Forumu” bölümünde paylaşabilirsiniz.

•Bu bölümde sistem yaşam döngüsü ve yazılım yaşam döngüsü


kavramlarına ve süreçlerine değinilmiştir. Sistem geliştirme yaşam
döngüsü, sistem geliştirme yaşam dönüsündeki süreçlerden sadece
Özet

bir tanesidir. Sistem geliştirme süreçleri temelde ön araştırma,


analiz, tasarım, uygulama ve bakım aşamalarından oluşmaktadır.
Sistem geliştirme yaşam döngüsü, birkaç uluslararası organizasyon
tarafından standart hâline getirilmiştir. Standartlar tarafından
sunulan bu temel tanımlar, geliştirilecek sistemin niteliklerine göre
farklı yaklaşımlarla yapılabilir. Sistem geliştirme modelleri bu
standartların süreçlerinin ayrıntılı bir şekilde tanımlandığı
modellerdir. Bu modellerden; şelale modeli, evrimsel model,
artımlı model ve spiral model temel özellikleri, avantajları ve
dezavantajları ile açıklanmıştır.
Ödev

•Çalıştığınız veya çalışmayı planladığınız bir kurumun ihtiyacı olan bir


sistemi anlatınız ve bu sistemin geliştirilmesi için kullanılacak modeli
gerekçeleri ile belirtiniz.

Atatürk Üniversitesi Açıköğretim Fakültesi 15


Sistem ve Sistem Geliştirme Yaşam Döngüsü

DEĞERLENDİRME SORULARI
1. Aşağıdakilerden hangisi bilişim sistemleri bileşenlerinden biri değildir?
Değerlendirme a) Kişiler
sorularını sistemde
ilgili ünite başlığı b) Süreçler
altında yer alan c) Analiz
“Bölüm Sonu Testi”
bölümünde d) Donanım
etkileşimli olarak e) Yazılım
cevaplayabilirsiniz.

2. Aşağıdakilerden hangisi sistem geliştirme yaşam döngüsü adımlarından


biri değildir?
a) Analiz
b) Tasarım
c) Uygulama
d) Bakım ve Destek
e) İmha

3. Sistemin niceliksel değişimlerini, gerçekleştirdiği niceliksel hesaplamaları


veya bunlar arasındaki ilişkileri soyutlayan model aşağıdakilerden
hangisidir?
a) Matematiksel model
b) Mental model
c) Fiziksel model
d) İkonik model
e) Analog model

4. İş süreçleri net olarak belirlenmiş bir işletme için bir sistem geliştirmek
istenmesi ve işletme yöneticisinin geliştirme süreci ile ilgili yapılan her
adımın belgelendirilmesini istemesi durumunda, geliştirme süreci için
aşağıdaki modellerden hangisi uygundur?
a) Artımlı model
b) Evrimsel model
c) Şelale modeli
d) Spiral model
e) Çevik model

Atatürk Üniversitesi Açıköğretim Fakültesi 16


Sistem ve Sistem Geliştirme Yaşam Döngüsü

I. İkonik modeller, geliştirilen sistemlerin fiziksel olarak farklı ölçekteki


kopyalarıdır.
II. Analog modeller bir sistemin veya nesnenin grafikler veya semboller
yardımı ile gösterilmesinde kullanılmaktadır.
III. Mental modeller işletmede iş süreçlerinin belirlenmesinde de
kullanılabilir.
5. Sistem modellemek için kullanılan model türleri ile ilgili olarak
yukarıdakilerin hangisi ya da hangileri doğrudur?
a) Yalnız I
b) Yalnız II
c) I ve IIII
d) II ve III
e) I, II ve III

I. Şelale modeli, gereksinimlerin çok belirgin olduğu ve kaliteye


odaklanılan projeler için uygundur.
II. Maliyet kestiriminin çok önemli olduğu bir proje için evrimsel model
önerilir.
III. Artımlı model, projenin bütünüyle başarısız olma riskini azaltır.

6. Sistem geliştirme modelleri ile ilgili olarak yukarıdakilerin hangisi ya da


hangileri doğrudur?
a) Yalnız I
b) Yalnız II
c) I ve IIII
d) II ve III
e) I, II ve III

7. Evrimsel geliştirme modeli ile ilgili olarak aşağıdakilerden hangisi yanlıştır?


a) Geliştirme sürecinde gereksinimler netleşebilir.
b) Sistemin çalışan versiyonu hızlıca ortaya konabilir.
c) Versiyonların takibi titizlikle yapılmaz ise sistem geliştirilirken bir
takım bozulmalara uğrayabilir
d) Sistemin her bir parçası ayrı ayrı geliştirilir.
e) Karşılaşılabilecek sorunlar erken tespit edilebilir.

Atatürk Üniversitesi Açıköğretim Fakültesi 17


Sistem ve Sistem Geliştirme Yaşam Döngüsü

8. Artımlı geliştirme modeli ile ilgili olarak aşağıdakilerden hangisi yanlıştır?


a) Sistem, her bir artımda entegrasyon sürecinden geçirilir.
b) Sistemin önem sırasına göre geliştirilir.
c) Sistem, sadece bütün parçaları tamamlandıktan sonra test edilebilir.
d) Gereksinimler geliştirme süreci boyunca daha iyi anlaşılır.
e) Tamamlanan her bir artım teslim edilip kullanılabilir.

9. Sistem geliştirme modellerinde, spiral model le ilgili olarak


aşağıdakilerden hangisi yanlıştır?
a) Diğer modeller spiral modelde kullanılabilir.
b) Spiral model, risk yönelimlidir.
c) Her bir halkanın sonunda bir sonraki sürecin planlaması yapılır.
d) Sistemin başarı ile geliştirilmesini garanti eder.
e) Her bir halkada uygulama aşaması gerçekleştirilir.

10. Sistem geliştirme yaşam döngüsü içerisinde bulunan uygulama


(gerçekleştirim) aşaması ile ilgili olarak aşağıdakilerden hangisi doğrudur?
a) Analiz aşamasındakiler belgelendirilir.
b) Sistem ile ilgili tasarım ve gereksinim dokümanlarına bağlı kalarak,
kodlama, üretim, test gibi işlemler gerçekleştirilir.
c) Sistemin sadece donanım alt yapısı temin edilir.
d) Bu aşamada geliştirme süreci bitmiş ve kullanım süreci başlamıştır.
e) Sistemin çalışmasına yönelik en uygun model belirlenir.

Cevap Anahtarı
1.C, 2.E, 3.A, 4.C, 5.E, 6.C, 7.D, 8.C ,9.D, 10.B

Atatürk Üniversitesi Açıköğretim Fakültesi 18


Sistem ve Sistem Geliştirme Yaşam Döngüsü

YARARLANILAN VEBAŞVURULABİLECEK DİĞER


KAYNAKLAR
Kaur, R., ve Sengupta, J. (2013). Software process models and analysis on failure
of software development projects. arXiv preprint arXiv:1306.1068.
Laudon, K.C. ve Laudon, J.P. (2013). Management Information Systems: Managing
the Digital Firms, 13th Ed. Essex:Pearson Education.
Parker, C. Ve Thomas, C. (1993). Management Information Systems Strategy and
Action. Watsonville: Mitchell Publishing.
Shelly, G.B., Cashman, T.J., Adamski, J., ve Adamski, J.J. (1991). Systems Analysis
and Design. Boston: Body & Fraser.
Sommerville, I. (2007). Software Engineering. Essex:Pearson Education.

Atatürk Üniversitesi Açıköğretim Fakültesi 19

You might also like