9.DERS Yazılım Geliştirme Modelleri

Benzer belgeler
Sistem ve Yazılım Nedir?

Yazılım Mühendisliği Bölüm - 2 Yazılım Geliştirme Yaşam Döngüsü. Cengiz GÖK

Bilgisayar Sistemleri; donanım, yazılım ve kullanıcılardan oluşur. Yazılım sadece belirli bir işlemi yapan bir program değildir. Yazılım belirli bir

Fırat Üniversitesi Teknoloji Fakültesi Yazılım Mühendisliği. YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ-Hafta 2

Giriş: Temel Adımlar YAZILIM GELİŞTİRME YAŞAM DÖNGÜSÜ. Belirtim Yöntemleri. Belirtim Yöntemleri

Yazılım Nedir? Yazılım Mühendisi. Yazılım Mühendisliği. ACM/IEEE Etik Kodu. Etik Kural için Önsöz BIL 304 YAZILIM MÜHENDİSLİĞİ

SİSTEM VE YAZILIM. o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur.

SİSTEM ANALİZİ VE TASARIMI

1.Yazılım Geliştirme Metotları 1

YMT312 Yazılım Tasarım ve Mimarisi

Yazılım Mühendisliği 1

Yazılım Geliştirme Modeli ve Mimariler. Bilgisayar Programcılığı Ön Lisans Programı YAZILIM MİMARİLERİ. Öğr. Gör. Yüksel KARAMAN

V Süreç Modeli. V Süreç Modeli. V Süreç Modeli. Helezonik Model. Helezonik(Spiral) Modeli BIL 304 YAZILIM MÜHENDİSLİĞİ

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ 9.Hafta. Bakım

YAZILIM KAVRAMINA BİR BAKIŞ. Gürcan Banger Elektrik Yük. Müh. ESOGÜ - 9 Nisan 2007

Sistem Analizi ve Planlama

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ Yazılım Mühendisliği Bölümü

YAZILIM MODELLEME VE TASARIM

Yazılım Mühendisliği Bölüm - 3 Planlama

WEB PROJESİ YÖNETİMİ. Belli bir süre içerisinde, belli bir bütçe ile belirlenen hedeflere ulaşmak için uygulanan metodolojik süreçtir.

BLG Sistem Analizi ve Tasarımı. Öğr. Grv. Aybike ŞİMŞEK

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ 8.Hafta. Yazılım Doğrulama ve Geçerleme

BLM 426 YAZILIM MÜHENDİSLİĞİ BAHAR Yrd. Doç. Dr. Nesrin AYDIN ATASOY

Yazılım Mühendisliği Bölüm - 3 Planlama. Cengiz GÖK

Sistem Analizi ve. Tasarımı. Mustafa COŞAR

Bilgi sistemlerinin geliştirilmesi için izlenen sürece, Sistem Geliştirme Yaşam Döngüsü (SGYD) denir.

4. YAZILIM PROJELERİ YARIŞMASI REHBERİ ÖNSÖZ

MESLEKİ EĞİTİM MALİ DESTEK PROGRAMI. Proje ve Projelere İlişkin Genel Kavramlar

Sıra No Tarih Saat Ders No Yöntem Ders Adı Dak San :00 1 Ders Sınavın Giriş Şartları ve Sınavın Genel Yapısı :15 1 Ders En Önemli

çalışmalara proje denilmektedir.

CMMI. CMMI ve Çevik Yöntemler. Orhan KALAYCI Haziran Yazılım Süreç Kalitesi ve Yönetim Danışmanlığı.

Sistem Mühendisliği. Prof. Dr. Ferit Kemal Sönmez

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

MerSis. Bilgi Teknolojileri Bağımsız Denetim Hizmetleri

CMMI ve Çevik Yöntemler

ETKİLEŞİMLİ TASARIM SÜRECİ VE TASARIM DİLLERİ ETKİLEŞİMLİ TASARIM NEDİR? GELENEKSEL YAZıLıM TASARıMı ILE

Yrd. Doç. Dr. Ayça Tarhan. Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü

IENG 227 Modern Üretim Yaklaşımları

Varlık davranış modeli: Bu aşama her entity ye etki eden durumların tanımlandığı, modellendiği ve dokümante edildiği süreçtir.

BM208- Nesneye Dayalı Analiz ve Tasarım. Öğr. Grv. Aybike ŞİMŞEK

Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik Hizmetleri. Y.Müh. Kadriye ÖZBAŞ ÇAĞLAYAN, PMP Y.Müh. Ahmet DİKİCİ, PMP

Hızlı Uygulama Geliştirme (Rapid Application Development - Rad Model)

Büyük Ölçekli bir Gömülü Yazılımın Geliştirme ve Otomatik Test Deneyimi

4. ÜRÜN GELİSTİRME İŞLEMİ

design)1980li ve 1990lıyıllar Birleştirilmiş Modelleme Dili (Unified Modeling Language-(UML) yazılım geliştirme araçlarının temelidir.

Bir yazılım geliştirme metodolojisi aşağıdaki adımlardan meydana gelir; Yazılım geliştirme sürecine destek verecek araçlar, modeller ve yöntemler.

Bölüm 2 Yazılım Süreçleri. Ders 1

COBIT İN YAZILIM GELİŞTİRME SÜRECİNİN İYİLEŞTİRİLMESİNE UYARLANMASI. Mustafa Ak YÜKSEK LİSANS TEZİ BİLGİSAYAR EĞİTİMİ

YMT 505-Yazılım Proje Yönetimi Giriş- Temel Kavramlar

Önceden belirlenmiş sonuçlara ulaşabilmek için organize edilmiş faaliyetler zinciridir.

BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER

BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER

YAŞAR ÜNİVERSİTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ

Bu rapor, belirtilen bölümlerden sadece 6 veya 7 tanesine sahiptir.

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

Smart Work ile SüreS. reçlerinizi Daha Verimli Hale Getirin Yeşim MUTLU. WebSphere Ürün Müdürü

ERZİNCAN ÜNİVERSİTESİ. BİLGİ YÖNETİM SİSTEMİ Mevcut Durum Analiz ve Kapasite Geliştirme Projesi

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

Esnek Hesaplamaya Giriş

Amaç: C programlama dilini tanıtma, C programlama dilinde program yazma

T.C. DOKUZ EYLÜL ÜNİVERSİTESİ FEN FAKÜLTESİ BİLGİSAYAR BİLİMLERİ BÖLÜMÜ. BİL4007 Bitirme Projesi Uygulama Planı

İleri Yazılım Mimarisi (SE 658) Ders Detayları

YMT 312-Yazılım Tasarım ve Mimarisi Yazılım Mühendisliği ne Giriş

Atılım Üniversitesi Bilgi & Đletişim Teknolojileri Müdürlüğü Canlı Hizmetteki Sunucu Sistemlerine Erişim Politikası

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Yazılım profesyonelleri için önemli olan yetkinlikler anketi Survey

YZM 2108 Yazılım Mimarisi ve Tasarımı

TEKİM - Teknolojik ve Kurumsal İşbirliği Merkezi Bilgi ve İletişim Sistemleri Sanayi, Danışmanlık ve Ticaret Ltd. Sti. Adres (Merkez): Mustafa Kemal

Chapter 8 Yazılım Testi. Lecture 1. Chapter 8 Software testing

Ders Adı : Nesne Tabanlı Programlama-I Ders No : Teorik : 3 Pratik : 1 Kredi : 3.5 ECTS : 4. Ders Bilgileri.

Power BI. Neler Öğreneceksiniz?

11.DERS Yazılım Testi

Gezgin Satıcı Probleminin İkili Kodlanmış Genetik Algoritmalarla Çözümünde Yeni Bir Yaklaşım. Mehmet Ali Aytekin Tahir Emre Kalaycı

Sistem Analizi ve Tasarımı DERS2

aselsan Açık Pozisyonlar Bilgi Teknolojileri (BT) Denetçisi İç Denetçi

Kısaca. Müşteri İlişkileri Yönetimi. Nedir? İçerik. Elde tutma. Doğru müşteri Genel Tanıtım

T.C. MARDİN ARTUKLU ÜNİVERSİTESİ MİDYAT MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI (UZAKTAN ÖĞRETİM) ÖNLİSANS PROGRAMI Eğitim Öğretim Yılı

Yaz.Müh.Ders Notları #6 1

X. Çözüm Ortaklığı Platformu

BM-311 Bilgisayar Mimarisi

YAZILIM MİMARİLERİ DERSİ BİLGİSAYAR PROGRAMCILIĞI

Dumlupınar Üniversitesi Bilgisayar Mühendisliği Bölümü Proje Yönetimi Dersi Bölüm 4: Proje Yönetiminin Aşamaları

Dönüşüm Odaklı Proje Yönetimi

Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC)

Yaz.Müh.Ders Notları #6 1

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Çok İşlemcili Yapılarda Sinyal İşleme Yazılımlarının Geliştirilmesi Uygulaması. Sinan Doğan, Esra Beyoğlu

MerSis. Bilgi Teknolojileri Yönetimi Danışmanlık Hizmetleri

IDE4DB Veritabanı Geliştirme Platformu Bitirme Projesi Sunumu

Ekonometri. yöneylem araştırması ile ilgili temel kavramları öğrenebilecekler. bazı yöneylem araştırması tekniklerini uygulamayı öğrenebilecekler.

PROJE YÖNETİMİNDE TEMEL KAVRAMLAR VE PROJE DÖNGÜSÜ YÖNETİMİ. Aydın Valiliği İl Gıda, Tarım ve Hayvancılık Müdürlüğü

08225 AĞ TEMELLERĠ. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 20 EKi Salı, Çarşamba

Sedona. Eğitim Kataloğu

Sedona. Nisan 2013 Eğitim Kataloğu

Yaz.Müh.Ders Notları #1 1

ÖNSÖZ ŞEKİL LİSTESİ TABLO LİSTESİ

Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal Mimari: Model Güdümlü ve Ontoloji Tabanlı Bir Yaklaşım

Model Tabanlı Geliştirmede Çevik Süreç Uygulanması

Proje Yönetimi Uygulamaları Görev Tanımlama

Transkript:

9.DERS Yazılım Geliştirme Modelleri 1

Yazılım Geliştirme Yaşam Döngüsü ve Modeller Herhangi bir yazılımın, üretim aşaması ve kullanım aşaması birlikte olmak üzere geçirdiği tüm aşamalar olarak tanımlanabilir. Yazılım işlevleri ve ihtiyaçlar sürekli değiştiği ve geliştiği için bir döngü biçiminde düşünüle bilir. Yazılım yaşam döngüleri tek yönlü, doğrusal olarak düşünülmemelidir. 2

Yazılım Yaşam Döngüsü Temel Adımları PLANLAMA ANALİZ TASARIM GERÇEKLEŞTİRİM BAKIM 3

Planlama Personel ve donanım gereksinimlerinin çıkarıldığı, fizibilite çalışmasının yapıldığı ve proje planının oluşturulduğu aşamadır. Analiz Sistem gereksinimlerinin ve işlevlerinin ayrıntılı olarak çıkarıldığı aşama. Var olan işler incelenir, temel sorunlar ortaya çıkartılır. 4

Tasarım Belirlenen gereksinimlere yanıt verecek yazılım sisteminin temel yapısının oluşturulduğu aşamadır. Gerçekleştirim Kodlama, test etme ve kurulum çalışmalarının yapıldığı aşamadır. Bakım Hata giderme ve yeni eklentiler yapma aşaması (teslimden sonra) 5

Gelişigüzel Model Herhangi bir kuraldan bağımsız, yalnızca geliştiren kişiye bağımlı modeldir. Bazı durumlarda geliştiren kişi belirli bir zaman sonra kendisin bile anlayamadığı bir modeldir. Bundan dolayı yer yer değiştirme zorluğu yaşanabilir. geçirilmiştir. 60 lı yıllarda tek kişinin ürettiği programlar bu yöntemle Basit öğrenci projelerin de bu metot kullanıla bilir. hayata 6

BAROK Modeli İnceleme Analiz Tasarım Altsistem Testleri Modül Testleri Kodlama Sistem Testi Belgeleme Kurulum 7

BAROK Modeli Yaşam döngüsü temel adımlarının doğrusal bir şekilde geliştirildiği model. 70 li yıllarda kullanılan model. Belgelemeyi ayrı bir süreç olarak ele alır, ve yazılımın geliştirilmesi ve testinden hemen sonra yapılmasının öngörür. Halbuki, günümüzde belgeleme yapılan işin doğal bir ürünü olarak görülmektedir. Aşamalar arası geri dönüşlerin nasıl yapılacağı tanımlanmamıştır. 8

Çağlayan Modeli Gereksinimlerin Tanımlanması Sistem ve Yazılım Tasarımı Kodlama ve Modül test etme Birleştirme ve Sistemi test etme Sistemin Bakım ve İdamesi 9

Çağlayan Modeli Yaşam döngüsü temel adımları en az bir kez izlenir. 70 li yılların ortalarında yapısal programlama ile kullanılmaya başlanan bu modelin kullanımı günümüzde azalmıştır. Belgeleme üretimin doğal bir süreç olarak algılar. İyi tanımlı projeler ve üretimi az zaman gerektiren projeler için uygundur. Belirsizlik oranı düşükse ve az zaman alacağı öngörülüyorsa (küçük boyutlu yazılımlar,personel takip,bütçe vb.) kullanımı önerilir. 10

Çağlayan Modelde Yaşanacak Sorunlar Günümüzde yapılan gerçek yaşamdaki projelerin çok azı yineleme gerektirmez Yazılımın kullanıcının kullanımına sunma süresi oldukça uzundur. Sonradan çıkan ihtiyaçları karşıma imkanı oldukça zordur. Buda sistemin maliyetini artılır. 11

Yazılım üretim ekipleri bir an önce program yazma, çalıştırma ve sonucu görme eğilimindir. Bu modelle yapılan ürün elde etme süresi uzun olduğu için ekip mutsuzlaşmaktadır. Kod yazma dışında kalan kısıma önem vermemektedirler. Üst düzey yönetimlerin ürünü görme süresinin uzun oluşu, projenin bitmeyeceği ve sürekli gider merkezi haline geldiği düşüncesini yaygınlaştırmaktadır. 12

V Süreç Modeli Gereksinimler Sistem Sistem Tanımları KULLANICI MODELİ Bitmiş Sistem Sistem MİMARİ MODEL Sınanmış Sistem Altsistem Sınanmış Altsistem Modül Sınanmış Modül GERÇEKLEŞTİRİM MODELİ 13

V Süreç Modeli Sol taraf üretim, sağ taraf sınama işlemlerini içerir V süreç modelinin temel çıktıları üç bölümde inceler; 1. Kullanıcı Modeli 2. Mimari Model 3. Gerçekleştirim Modeli 14

Kullanıcı Modeli: Geliştirme sürecinin kullanıcı ile olan ilişkileri tanımlar. Sistemin nasıl kabul edileceğine ilişkin sınama durumlarını ve planları ortaya koyar. Mimari Model: Sistem tasarımı ve oluşacak alt-sistem ile tüm sistemin sınama işlemlerini içerir Gerçekleştirim Modeli: Yazılım modüllerinin kodlanması ve sınanmasına ilişkin fonksiyonları içerir 15

V Süreç Modeli Avantajları Belirsizliklerin az, iş tanımlarının açıkça yapıldığı için BT projeleri için uygun bir modeldir. Model, kullanıcının geri beslemeler verdiği için projeye katkısını arttırmaktadır. BT projesinin iki aşamalı olarak uygulaması için uygundur: İlk aşamada kullanıcı modeli hedeflenerek, iş analizi ve kabul sınamalarının tanımları yapılmakta, İkinci aşamada ise ilkinde elde edilmiş olan kullanıcı modeli tasarlanıp, gerçekleştirilmektedir 16

Helozonik Spiral Model Planlama Amaca, Alternatiflere ve Sınırlamalara karar verme onay ekseni Bir sonraki fazın planlanması ve kullanıcı değerlendirmesi Kullanıcı Değerlendirme Öninceleme Analizi Geliştirme Planı Birleştirme ve Test Planı Risk Analizi Risk Analizi Risk Analizi Prototip 1 İşin Genel Kavramı Gereksinim onaylama Tasarımı test Etme ve onay Servis Risk Analizi Prototip 2 Prototip 3 Prototipi İşin Yazılım Gereksinimi testi Kabul testi Simulasyon ve Modelleme Ürün Tasarımı Modül Testi Birleştirme Alternatifleri değerlendirme ve risk analizi Detaylı Tasarım Kodlama Risk Analizi Geliştirme ve bir sonraki ürünü onaylama Üretim 17

Helozonik Spiral Model Bu modelde Risk Analizi önemli bir konuma gelmiştir. Her döngü bir fazı ifade eder. Yinelemeli artımsal bir yapı takip edilmiştir. Prototip yaklaşımı ön plana çıkmıştır. 18

Planlama Üretilecek ara ürün için planlama, amaç belirleme, bir önceki adımda üretilen ara ürün ile bütünleştirme Risk Analizi Risk durumların belirlenmesi Üretim Ara (prototip) ürünün üretilmesi Kullanıcı Değerlendirmesi Ara ürünlerin kullanıcı tarafından kullanılarak test edilmesi 19

Helezonik modelin avantajları Kullanıcı Katkısı : Üretim süreci boyunca ara ürün üretme ve üretilen ara ürünün kullanıcı tarafından denenmesi temeline dayanır. Yazılımı kullanacak kişilerin sürece katılması ileride meydana gelecek durumların önceden tespiti demektir. Yönetici Bakışı : Yöneticiler ve proje çalışanları iç içe çalışmaktadır. Bundan dolayı yöneticiler proje takibini daha kolay yapmaktadır. Yazılım Geliştirici (Mühendis) Bakışı :Yazılımın kodlanması ve sınanması daha erken başlar 20

Evrimsel Geliştirme Modeli Eşzamanlı Aktiviteler Tanımlama İlk Sürüm Genel Tanımlama Geliştirme Ara Sürümler Test Etme Son Sürüm 21

Evrimsel Geliştirme Modeli İlk tam ölçekli modeldir. Coğrafik olarak geniş alana yayılmış, çok birimli organizasyonlar için önerilmektedir (banka uygulamaları). Her aşamada üretilen ürünler, üretildikleri alan içinde tam işlevselliği sahiptir. Pilot uygulama alanlarında sistemi kullan, test et, güncelle diğer birimlere taşı prensibi geçerlidir. Modelin başarısı ilk evrimin başarısına bağımlıdır. 22

Evrimsel Geliştirme Örnek Durum Çok birimli sistem uygulamalarında kullanılır. Önce sistem bütün özellikleri ile geliştirilir ve uygulama alanı 1 yüklenir. Uygulama 1 alanındaki aksaklıklar tespit edilerek giderilir. Geliştirilen sistem uygulama alanı 2 yüklenir ve çalıştırılır. Daha sonra geliştirilen sistem diğer alanlara yüklenerek takip edilir. Belirli aralıklarla eski uygulama alanları kontrol edilerek gerekli güncellemeler yapılır. En sonunda son sürümü elde edilir. 23

Artırımsal Geliştirme Modeli Genel Gereksinim Belirlenmesi Gereksinimleri Artırımlara Bölme Sistem Mimarisini Tanımlama Sistem Artırılımının Yapılması Artırılımın Onaylanması Artırılımın Birleştirilmesi Sistemin Onaylanması Son Sistem Bitmemiş Sistem 24

Artırımsal Geliştirme Modeli İlk başta çekirdek yapıda olan ilk sürüm oluşturulur. Daha sonraki artırımlarda isterlerin bir kısmı daha gerçekleştirilerek çekirdek ürüne yeni işlevler kazandırılır. Her ürün bir öncekinden daha fazla işleve sahiptir. Öğrencilerin bir dönem boyunca geliştirmeleri gereken bir programlama ödevinin 2 haftada bir gelişiminin izlenmesi (bitirme tezleri). Uzun zaman alabilecek ve sistemin eksik işlevlikle çalışabileceği türdeki projeler bu modele uygun olabilir. Bir taraftan kullanım, diğer taraftan üretim yapılır 25

Araştırma Tabanlı Model Yap-at prototipi olarak ta bilinir. Araştırma ortamları bütünüyle belirsizlik üzerine çalışan ortamlardır. Yapılan işlerden edinilecek sonuçlar belirgin değildir. Geliştirilen yazılımlar genellikle sınırlı sayıda kullanılır ve kullanım bittikten sonra işe yaramaz hale gelir ve atılır. Model-zaman-fiyat kestirimi olmadığı için sabit fiyat sözleşmelerinde uygun değildir. 26