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İĞİ 2012-2013.



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

Sistem ve Yazılım Nedir?

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

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

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

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

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

Yazılım Mühendisliği 1

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

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

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

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

BMH-405 YAZILIM MÜHENDİSLİĞİ

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

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

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

BMH-405 YAZILIM MÜHENDİSLİĞİ

SİSTEM ANALİZİ VE TASARIMI

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Öğretim planındaki AKTS Ulusal Kredi

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

YMH 114 YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

MESLEKİ TERMİNOLOJİ I 1. HAFTA YAZILIM MÜH. TEMEL KAVRAMLAR

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

Yazılım Mühendisliği Temelleri

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

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

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

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

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

YAZILIM MÜHENDİSLİĞİ Şubat 2012 Yrd.Doç.Dr. Yunus Emre SELÇUK GENEL BİLGİLER

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

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

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

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

IDE4DB Veritabanı Geliştirme Platformu Bitirme Projesi Sunumu

Sistem Analizi ve Planlama

5. PROGRAMLA DİLLERİ. 5.1 Giriş

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

DERS SEÇİM KILAVUZU. Sınıf Dönemi Kodu Adı Sınıf Dönemi Kodu Adı. Nesne Yönelimli Programlama. Yazılım Tasarımı ve Mimarisi

11.DERS Yazılım Testi

YAŞAR ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 4 YILLIK EĞİTİM PLANI ( AKADEMİK YILINDAN İTİBAREN GEÇERLİDİR)

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

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

Bilindiği üzere Bilgi Güvenliği Yönetim Sistemi, bilgi ve bilgi varlıklarının

Bilindiği üzere Bilgi Güvenliği Yönetim Sistemi, bilgi ve bilgi varlıklarının

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

YMT312 Yazılım Tasarım ve Mimarisi

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1

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

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

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

Bilgisayarda Programlama. Temel Kavramlar

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.

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

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ı

Yapay Zeka (MECE 441) Ders Detayları

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ. 7.Hafta GERÇEKLEŞTİRME

Akdeniz Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölüm Tanıtımı

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BLG 1306 Temel Bilgisayar Programlama

Yazılım Mühendisliğine Giriş (SE 112) Ders Detayları

Akdeniz Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölüm Tanıtımı

Başarı Değerlendirme YAZILIM. Mühendisliğe Temel Bir Bakış. Yazılım Nedir? BIL 304 YAZILIM MÜHENDİSLİĞİ

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

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

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 1 ( yılı ve sonrasında birinci

Bilişim Garaj Akademisi Nedir?

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

1.1. Yazılım Geliştirme Süreci

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

İNÖNÜ ÜNİVERSİTESİ MALATYA MESLEK YÜKSEKOKULU DERS TANITIM FORMU. Kredisi AKTS Eğitim Dili Tipi: Zorunlu/ Saat

Proje Yönetimi Bahar Yarıyılı. Yrd. Doç. Dr. Ömer GİRAN

CENG 302 Yazılım Mühendisliği Yazılım Mimarisi - Devam. Alper UĞUR

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

BİT in Temel Bileşenleri (Yazılım-1)

UE.18 Rev.Tar/No: /03 SAYFA 1 / 5

Sistem Analizi ve Tasarımı DERS2

Akdeniz Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölüm Tanıtımı

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

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

Arayüz Nedir? Arayüz Çeşitleri Arayüz Tasarım Yöntemleri Arayüz Tasarım Hataları. Ömer Faruk MIZIKACI

Dersin Yürütülmesi Hakkında

Yazılım Süreçleri Software Processes

BİÇİMSEL YÖNTEMLER (FORMAL METHODS) Betül AKTAŞ Suna AKMELEZ

BEDEN EĞİTİMİ I: Haftalık ders 1 saattir (T-0 ) (U-l) (K-0).

Sağlık Bilgi Teknolojileri ve Yazılım Süreç Yönetimi

Bilgisayar Mühendisliği Bölümü

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

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

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

Bilkent Üniversitesi Bilgisayar Mühendisliği Bölümü. Bilgisayar Mühendisliği

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

Akdeniz Üniversitesi

BENZERSİZ SORUNLARA BENZERSİZ ÇÖZÜMLER

Transkript:

BIL 304 YAZILIM MÜHENDİSLİĞİ 2012-2013 Yrd Doç. Dr. Turgay İBRİKÇİ Yazılım Nedir? Yazılım Tanımlanmış bir işlevi yerine getiren, Girdi ve Çıktıları olan, Herhangi bir donanım üzerinde çalışan, Bilgisayar programı ve programlarından oluşan Kullanım ve bakım kılavuzları gibi Dokumantasyona ihtiyacı olan bir ÜRÜNDÜR Yazılım Mühendisliği Yazılım mühendisliği bir yöntemler, teknikler ve araçlar kümesi olarak değerlendirilebilir. Yazılım mühendisliğinin hedefi; yazılım üretimindeki karmaşıklıkları gidermektir. Geçmişte kullanılan iş akış şemaları gibi yöntemler günümüzde yetersiz kalmaktadır. Ayrıca, yazılım üretimi işi tek kişinin başarabileceği boyuttan çıkmış ve bir takım işi biçimine dönüşmüştür. Yazılım Mühendisi Yazılım Mühendisliği İşini yapan kişidir. Temel hedefi; üretimin en az maliyet ve en yüksek nitelikte yapılmasını sağlamaktır. Programcı değildir. Ancak programcının tüm yeteneklerine sahiptir. Yazılımın daha çok mantıksal boyutuyla ilgilenir ve işi insanlarla ilişkiyi gerektirir. analisti de değildir. Farkı; analist sadece sistemin analiz aşaması ile ilgilenirken, yazılım mühendisi tüm aşamaların içindedir. ACM/IEEE Etik Kodu ABD'de profesyonel toplumların etik pratik bir kod üretmek için işbirliği yapmıştır. Kod davranışları profesyonel yazılım uygulayıcılarıdahil olmak üzere mühendisler, eğitimciler, yöneticiler, ve denetçiler, yanı sıra öğrencileri tarafından uyulması gereken kararlarla ilgili sekiz ilkeyi içerir. Etik Kural için Önsöz Önsözü (Preamble) Yazılım mühendisleri, yaptıkları analiz, spesifikasyon, tasarım, geliştirme, test ve yazılım ile yararlı, saygın bir meslek olarak sürdürmeyi taahhüt ederler. Yazılım mühendisleri öncelikle ürün geliştirmeye odaklanmakla beraber yazılımların maliyet analizi, zaman planlaması, bütünlüğü, verilerin gizliliği ve kalitesinden birinci derecede sorumludurlar. Kamu sağlığı, güvenliği ve refahı doğrultusunda, yazılım mühendisleri aşağıdaki Sekiz İlkeye uymak zorundadır: 1

Etik Kod Kuralları-I KAMU : Yazılım mühendisleri, kamu yararı için hareket eder. MÜŞTERİ VE İŞVEREN Yazılım mühendisleri, kamu yararına olacak şekilde işveren, müşteri haklarında gözetecektir. ÜRÜN Yazılım mühendisleri, ürün ve bunun ile ilgili değişikliklerde olabildiğince en yüksek profesyonel standartlarda olmasını sağlayacaklardır. Etik Kod Kuralları-II KARAR Yazılım mühendisleri, projenin devamında mesleki yargı bağımsızlığını ve bütünlüğünü koruyacaktır. YÖNETİM Yazılım mühendisliği yöneticileri ve liderleri, sürekliği ve yazılım geliştirme ve bakım yönetimini etik bir yaklaşımla teşvik edeceklerdir. MESLEK Yazılım mühendisleri, kamu yararı ile mesleğin bütünlüğü ve saygınlığını geliştirmek zorundadır. Etik Kod Kuralları-III MESLEKTAŞLARINA Yazılım mühendisleri, meslektaşlarına karşı adil ve destekleyici olacaktır. KENDİSİ Yazılım mühendisleri, kendi mesleğinin uygulamasına ilişkin yaşam boyu öğrenmeyi takip edecek ve mesleğin uygulanmasında etik bir yaklaşımı teşvik edeceklerdir. Etik ikilemler Üst yönetim politikaları ile ilke olarak Uyuşmazlık. İşvereniniz etik olmayan bir şekilde davranması ve sistemin güvenlik-kritik testlerinin tam olarak bitirmeden sistemin serbest bırakması. Askeri silah sistemlerinde veya nükleer sistemlerinin geliştirilmesine katılım. Yazılım Hataları Bir programı tüm ayrıntıları ile test etmek teorik olarak mümkün olmakla birlikte, uygulamada bu mümkün değildir. Yazılım ancak sınırlı sayıda veri ile sınanabilir. Mantıksal Tasarım %20 İşlevsel Tasarım %15 Kodlama %30 Belgeleme ve Diğerleri %35 Yazılımda Hata Düzeltme Maliyetleri Yazılım üretimindeki hatalar yayılma özelliği gösterir. Bu nedenle, hata düzeltme maliyetleri ilerleyen aşamalarda giderek artar. Analiz 1 Tasarım 5 Kodlama 10 Test 25 Kabul Testi 50 İşletim 100 2

Yazılım Maliyetleri Yazılım = $ 100.000 Donanım = $ 1000 İşlevlerine göre Yazılım lerinin Sınıflandırılması Zamana dayalı özelliklere göre Boyuta göre İşleve Göre Sınıflandırma Boyuta Göre Sınıflandırma Hesaplama Mühendislik Çözümleme Küçük (SS<2000) PC Oyunları, Öğrenci Projeleri Veri İşleme Bankacılık Orta (2000<SS<100,000) CAD, BDE Yazılımları Süreç Temelli Kural Temelli CAD Gömülü ler Robotik, Yapay Zeka Sinyal İşleme Büyük(100,000<SS<1 Milyon) Çok Büyük (SS>1 Milyon) İşletim leri Komuta Kontrol leri Hava Tahmini leri Yıldız Savaşları leri 16 14 12 10 8 6 4 2 0 Yazılımda Kalite Kalite siz bir Proje Kalite li bir Proje 80 Bin Pound 60 Programcı*Ay 40 Masraf 20 0 Yazılımda Kalite Üretim Süreci Boyunca ara ürünlere ilişkin kalite standartlarının geliştirilmesi ve geliştirme işlemlerinin bu standartlara uygunluğunun denetlenmesidir. Yazılım kalite sağlama etkinlikleriyle; Yazılım maliyetleri düşürülür, Yazılım üretiminin yönetimi kolaylaşır, Belgeleme ve standart sorunları giderilir. 3

Yazılımda Kalite Ekonomi Tamlık Yeniden Kullanılabilirlik Etkinlik Bütünlük Güvenirlik Modülerlik Belgeleme Kullanılabilirlik Temizlik Değiştirilebilirlik Geçerlik Esneklik Genellik Sınanabilirlik Taşınabilirlik Bakılabilirlik Anlaşılabilirlik Birlikte Çalışabilirlik Web ve Yazılım Mühendisliği Web artık uygulama çalıştıranın ve kuruluşların giderek web tabanlı sistemleri, yerel sistemler yerine geliştirilen bir platformdur. Cloud computing uygulamaları-'bulut bilgisayar hizmetlerinin uzaktan sağlanması için bir yaklaşımdır. Kullanıcılar, yazılım satın almadan sadece kullanıma para öderler. Web ve Yazılım Mühendisliği II Web tabanlı sistemlerde yazılımın yeniden kullanımı gereken bir yaklaşımdır(reuse). Kullanıcı arayüzleri web tarayıcılarının yetenekleri ile sınırlıdır. AJAX gibi Teknolojileri zengin methodlar, arayüzleri bir web tarayıcı içinde oluşturulmasına izin verir, ama kullanmak zordur. Yerel bir komut ile Web formların oluşturulması daha yaygın olarak kullanılmaktadır. Web tabanlı sistemler karmaşık dağıtık sistemler vardır, yazılım mühendisliğinin temel prensipleri onlar için de geçerlidir. Temel Yazılım Mühendisliğine Bakıldığında Bazı temel ilkeler bakılmaksızın kullanılan geliştirme teknikleri, yazılım sistemi her türlü için geçerlidir. leri yönetilen ve anlaşılır bir geliştirme süreci kullanılarak geliştirilmelidir. Tabii ki, farklı süreçler yazılım farklı için kullanılır. Güvenilirlik ve performans sisteminin bütün türleri için önemlidir. Anlama ve yazılım özellikleri ve gereksinimleri (yazılımda ne yapmalıyım???) yönetmek önemlidir. Uygun olan durumlarda, yeni yazılım yazmak yerine daha önceden geliştirilen bir yazılım yeniden kullanmak gerekmektedir. Gerçek Hayatta Program Geliştirme Gereksinim Analizi Yazılım Geliştirme Yaşam Döngüsü Teslim in Sürekliliği Tasarımı Program Tasarımı Testi Program Kodlaması Birleştirme Testi Modül Testi 4

Yazılım Geliştirme Yaşam Döngüsü Yazılımın hem üretim, hem de kullanım süreci boyunca geçirdiği tüm aşamalar yazılım geliştirme yaşam döngüsü olarak tanımlanır. Yazılım işlevleri ile ilgili gereksinimler sürekli olarak değiştiği ve genişlediği için, söz konusu aşamalar sürekli bir döngü biçiminde ele alınır. Döngü içerisinde her hangi bir aşamada geriye dönmek ve tekrar ilerlemek söz konusudur. Yazılım yaşam döngüsü tek yönlü ve doğrusal değildir. Yazılım Yaşam Döngüsü Temel Adımları 1. 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. 2. Analiz gereksinimlerinin ve işlevlerinin ayrıntılı olarak çıkarıldığı aşama. Var olan işler incelenir, temel sorunlar ortaya çıkarılır. 3. Tasarım Belirlenen gereksinimlere yanıt verecek yazılım sisteminin temel yapısının oluşturulduğu aşamadır. mantıksal; önerilen sistemin yapısı anlatılır, fiziksel; yazılımı içeren bileşenler ve bunların ayrıntıları. 4. Gerçekleştirim Kodlama, test etme ve kurulum çalışmalarının yapıldığı aşamadır. 5. Bakım Hata giderme ve yeni eklentiler yapma aşaması (teslimden sonra). Yazılım Yaşam Döngüsü Temel Adımları Yaşam döngüsünün temel adımları çekirdek süreçler (core processes) olarak da adlandırılır. Bu süreçlerin gerçekleştirilmesi amacıyla belirtim (specification) yöntemleri - bir çekirdek sürece ilişkin fonksiyonları yerine getirmek amacıyla kullanılan yöntemler Süreç (process) modelleri - yazılım yaşam döngüsünde belirtilen süreçlerin geliştirme aşamasında, hangi düzen ya da sırada, nasıl uygulanacağını tanımlayan modeller kullanılır. Belirtim Yöntemleri Süreç Akışı İçin Kullanılan Belirtim Yöntemleri Süreçler arası ilişkilerin ve iletişimin gösterildiği yöntemler (Veri Akış Şemaları, Yapısal Şemalar, Nesne/Sınıf Şemaları). Süreç Tanımlama Yöntemleri Süreçlerin iç işleyişini göstermek için kullanılan yöntemler (Düz Metin, Algoritma, Karar Tabloları, Karar Ağaçları, Anlatım Dili). Veri Tanımlama Yöntemleri Süreçler tarafından kullanılan verilerin tanımlanması için kullanılan yöntemler (Nesne İlişki Modeli, Veri Tabanı Tabloları, Veri Sözlüğü). Yazılım Süreci Modelleri Yazılım üretim işinin genel yapılma düzenine ilişkin rehberlerdir. Süreçlere ilişkin ayrıntılarla ya da süreçler arası ilişkilerle ilgilenmezler. 1. Gelişigüzel Model 2. Barok Modeli 3. Çağlayan (Şelale) Modeli 4. V Modeli 5. Helezonik (Spiral) Model 6. Evrimsel Model 7. Artırımsal Model 8. Araştırma Tabanlı Model Gelişigüzel Model Herhangi bir model ya da yöntem yok. Geliştiren kişiye bağımlı (belli bir süre sonra o kişi bile sistemi anlayamaz ve geliştirme güçlüğü yaşar). İzlenebilirliği ve bakımı oldukça zor. 60 lı yıllarda. Genellikle tek kişilik üretim ortamı. Basit programlama. 5

İnceleme Analiz Tasarım Kodlama Modül Testleri Altsistem Testleri Testi Belgeleme Kurulum Barok Modeli Yaşam döngüsü temel adımlarının doğrusal bir şekilde geliştirildiği model. 70 li yıllar. 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ımlı değil. Gerçekleştirim aşamasına daha fazla ağırlık veren bir model olup, günümüzde kullanımı önerilmemektedir Çağlayan (Şelale) Modeli Gereksinimlerin Tanımlanması? ve Yazılım Tasarımı? Kodlama ve Modül test etme? Birleştirme ve i test etme in Bakım ve İdamesi Çağlayan (Şelale) Modeli Yaşam döngüsü temel adımları baştan sona en az bir kez izleyerek gerçekleştirilir. İyi tanımlı projeler ve üretimi az zaman gerektiren yazılım projeleri için uygun bir modeldir. Geleneksel model olarak da bilinen bu modelin kullanımı günümüzde giderek azalmaktadır. Çağlayan (Şelale) Modeli Barok modelin aksine belgeleme işlevini ayrı bir aşama olarak ele almaz ve üretimin doğal bir parçası olarak görür. Barok modele göre geri dönüşler daha iyi tanımlanmıştır. Yazılım tanımlamada belirsizlik yok (ya da az) ise ve yazılım üretimi çok zaman almayacak ise uygun bir süreç modelidir. Sorunları Gerçek yaşamdaki projeler genelde yineleme gerektirir. V Süreç Modeli Genelde yazılımın kullanıcıya ulaşma zamanı uzundur. Gereksinimle r Gereksinim tanımlamaları çoğu kez net bir şekilde yapılamadığından dolayı, yanlışların düzeltilme ve eksiklerin giderilme maliyetleri yüksektir. Tanımları KULLANICI MODELİ Bitmiş Yazılım üretim ekipleri bir an önce program yazma, çalıştırma ve sonucu görme eğiliminde olduklarından, bu model ile yapılan üretimlerde ekip mutsuzlaşmakta ve kod yazma dışında kalan (ve iş yükünün %80 ini içeren) kesime önem vermemektedirler. Altsistem MİMARİ MODEL Sınanmış Altsistem Sınanmış Ü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. Modül Sınanmış Modül GERÇEKLEŞTİRİM MODELİ 6

Kaynakçalar serhatkilicarslan.com ( Slides için teşekkür ederiz.) M. Erhan Sarıdoğan, PhD. Yazılım Mühendisliği Roger S. Pressman, Software Engineering A Practitioner s Approach 7