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

Benzer belgeler
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

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

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

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?

Yazılım Mühendisliği 1

YAZILIM MODELLEME VE TASARIM

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

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

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

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.

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

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

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

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İĞİ

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

CMMI ve Çevik Yöntemler

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

Yazılım Mühendisliği Temelleri

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

5.DERS PROJEDE YÜRÜTMENİN PLANLANMASI

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

YAZILIM MÜHENDİSLİĞİ TEKNOLOJİ FAKÜLTESİ / BİLGİSAYAR MÜHENDİSLİĞİ

5. PROGRAMLA DİLLERİ. 5.1 Giriş

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

Veritabanı Uygulamaları Tasarımı

Büyük Ölçekli Bir Sistem Projesinde IBM Rational Jazz Platformu Kullanarak Çevik Süreçlerin Uygulanması. Serap Bozbey

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

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

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

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

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

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

Teknoloji Geliştirmede Bütünleştirici Yaklaşımlar

SU KALITE SİSTEMİ. Türkiye Halk Sağlığı Kurumu

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

Aşırı Programlama İçin Üç Yeni Pratik

Öğretim planındaki AKTS Ulusal Kredi

Akış. Atik Yazılım Geliştirme Tanımı ve Kavramlar Tarihi Metotları Dünyada Atik Yazılım Geliştirme Örnekleri Sonuç BİL 588 2

YMT312 Yazılım Tasarım ve Mimarisi

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.

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

Bölüm 3 Çevik (Agile) Yazılım Geliştirme. Ders 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.

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

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

YMT 412-Yazılım Kalite Ve Güvencesi Çevik Yazılım Geliştirme 1/47

NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili

Sosyal Ağlar ve Çevrimiçi Kütüphane Katalogları: OPAC 2.0

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

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

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

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

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

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Yazılım Mühendisliği II (BIL 306)

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

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

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

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

TEMEL BİLGİTEKNOLOJİLERİ

Inovasyonu Hızlandırın

E ğ i t i m K a l i t e P o l i t i k a s ı. Dr. Ö ğ r. Ü y e s i A l a e t t i n İŞERİ

Spring Giriş Eğitimi

Ara Katman Yazılımları İçin İşlemci Değer Birimi Lisanslaması

Hızlı Uygulama Geliştirme (SE 340) Ders Detayları

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

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

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

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

O T O M A S Y O N P A R T N E R İ N İ Z C O F A S O. T A S A R I M G E L İ Ş T İ R M E Ü R E T İ M K O M P L E S Ü R E Ç M Ü H E N D İ S L İ Ğ İ

Y I L D I Z T E K N I K Ü N İ V E R S İ T E S İ MÜHENDİSLİĞİ

PROJE YÖNETİMİ MODEL VE ÇERÇEVELERİ ENF304 IT PROJE YÖNETİMİ ÖĞR. GÖR. MUSTAFA ÇETİNKAYA

Bilgisayarda Programlama. Temel Kavramlar

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

Özgür Yazılım Proje Yönetimi

Yazılım Tasarımı(Software Design)

YEMEKHANE TAKİP SİSTEMİ

ÇEVİK YAZILIM GELİŞTİRME AGILE KEEP IT SIMPLE

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

YAZILIM PROJESİ YÖNETİMİ

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

cofaso ile farkı yaşayın Şubat

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

VERİ KAYNAKLARI. Bilgi sisteminin öğelerinden biride veri

VERİ TABANI ve YÖNETİMİ

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

Balon & Banka Teslim tarihi: 17 Kasım 2008

Yazılım Mimari Tasarımından Yazılım Geliştirme Çatısının Üretilmesinde Model Güdümlü Bir Yaklaşım

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

DİYETİSYEN OTOMASYONU ÖĞRETİM TASARIMI RAPORU ÜYELER 1) BÜŞRA KORKMAZ 2) NURCAN YILDIRIM

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

IDE4DB Veritabanı Geliştirme Platformu Bitirme Projesi Sunumu

BİT PROJELERİNDE KARŞILAŞILABİLEN OLASI RİSKLER

PR Kasım 2009 Yazılım, PC-tabanlı kontrol Sayfa 1 / 5

Yedi Esas Özelliği. Hakan Erdoğmuş. Kalemun Research Inc.

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

YAZILIM PROJE YÖNETİMİ. Yrd.Doç.Dr.Hacer KARACAN

1.2.7 Kurum ve Süreç Performans Yönetimi Günler

Transkript:

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.iş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.....