Ders 2: Yazılım Geliştirme

Slides:



Advertisements
Benzer bir sunumlar
Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.
Advertisements

Hat Dengeleme.
T.C. ORDU VALİLİĞİ İlköğretim Müfettişleri Başkanlığı TAM ÖĞRENME MODELİ TAM ÖĞRENME MODELİ.
YAPIM KUŞAĞI ÜRETİYORUM ETKİNLİĞİ.
BÖLÜM 1 TEMEL KAVRAMLAR. BÖLÜM 1 TEMEL KAVRAMLAR.
Veri Toplama ve Değerlendirme Sistemi Tanıtım Toplantısı.
Zihinsel engellilerin sınıflandırılması
BULUŞ YOLUYLA ÖĞRETİM JEROME BRUNER.
Öğretim  Öğrenci gelişimini amaçlayan, öğrenmenin başlatılması, sürdürülmesi ve gerçekleştirilmesi için düzenlenen planlı etkinliklerden oluşan bir süreçtir.
SOLUNUM VE GEVŞEME EGZERSİZLERİ İLE ETKİLİ MÜZİK EĞİTİMİ AYŞEN ÜMİT İSTANBUL BİLİM VE SANAT MERKEZİ Müzik Mentoru.
Program Tasarım Modelleri
Yazılım Mühendisliği1[ 3.hft ]. Yazılım Mühendisliği2 Yazılım İ sterlerinin Çözümlemesi Yazılım Yaşam Çevrimi “ Yazılım Yaşam çevrimin herhangi bir yazılım.
Proje Entegrasyon Yönetimi
Öğretim İlke ve Yöntemleri: Öğrenme Stratejileri
NETWORK YÖNETIMI Ş. Bü ş ra Güngör NETWORK YÖNETIMI NEDIR? Network, sunucu, yazıcı, bilgisayar ve modem gibi veri ileti ş im araçlarının güncel.
GÖRÜŞ GELİŞTİRME TEKNİĞİ
Leyla İÇERLİ Araş. Gör. Dr. Aksaray Üniversitesi İİBF İşletme Bölümü.
Projenin Bitirilmesi ve Teslimi
Aktif Karbon Adsorpsiyonuyla Ağır Metal Giderimi ve Alevli AAS ile Tayin PEKER S1, KAŞ M.1, BAYTAK S.1  1Süleyman.
PROJE TABANLI ÖĞRENME ATÖLYESİ
Yazılım Yaşam Döngüsü ve Süreç Modelleri
ECON 321 ULUSLARARASI İKTİSAT
Proje Dosyası - Belgeleme - Raporlama
MESLEKLERİ TANIYALIM DÖRT YILLIK LİSANS PROGRAMLARI ‘ü’
Öğr. Gör. Dr. İnanç GÜNEY Adana MYO
İç Kontrol Standartlarına Uyum Eylem Planı Toplantısı
Erken çocukluk döneminde fen ve matematik kavramlarının gelişimi
PROGRAMLI ÖĞRETİM Tanımı:
BİLİMSEL ARAŞTIRMA YÖNTEMLERİ ÜNİTE 3
DENEYSEL TERTİPLER VE PAZAR DENEMESİ
Yapay Sinir Ağı Modeli (öğretmenli öğrenme) Çok Katmanlı Algılayıcı
MODEL YETERSİZLİKLERİNİ DÜZELTMEK İÇİN DÖNÜŞÜMLER VE AĞIRLIKLANDIRMA
ECON 321 ULUSLARARASI İKTİSAT
ÜRETİM YÖNETİMİ.
İŞ SAĞLIĞI VE GÜVENLİĞİ KARŞILAŞTIRMA ÖLÇÜTLERİ
Program Tasarım Modelleri
Üretim ve Üretim Yönetimi Temel Bilgileri
BİREYSELLEŞTİRİLMİŞ EĞİTİM PROGRAMI
ZEE ZİHİN ENGELLİLERE BECERİ VE KAVRAM ÖĞRETİMİ
GÖRÜŞME İLKE VE TEKNİKLERİ Sağlık Bilimleri Fakültesi
Geniş Ölçekli Testler Yrd. Doç. Dr .Ömer Kutlu.
MATEMATİK DERSİ ÖĞRETİM PROGRAMI
Futbol Yetenek Avcısı AOFScout.
Yazılım Mühendisliği Ders 1: Giriş.
Bölüm 6 Örgütsel Yönlendirme
Benzetim 11. Ders İmalat Yönetimde Benzetim.
TEKNOLOJİ VE TASARIM DERSİ 7.D.1. Özgün Ürünümü Tasarlıyorum.
PROGRAM DEĞERLENDİRME
ÜNİVERSİTEDE YABANCI DİL ÖĞRETİMİNDE İNTERNET KULLANIMINA İLİŞKİN ÖĞRENCİ GÖRÜŞLERİ Mehmet AKSÜT Nihat ÇAKIN 
SPORDA TEKNİK ve TAKTİK ÖĞRETİM YÖNTEMLERİ
NİŞANTAŞI ÜNİVERSİTESİ
Doğrusal Mantık Yapısı İle Problem Çözme
ÖĞRENME STİLLERİ.
Yazılım Mühendisliği Süreç Modelleri
Oyun İçine Gömülü Öğretim
Bilgisayar Bilimi Koşullu Durumlar.
PERFORMANS KAVRAMI PERFORMANSIN BOYUTLARI
İŞLETMEDE ARAŞTIRMA VE GELİŞTİRME (AR-GE) İŞLEVİ
Değerler ve Değişkenler
öneriler Sınıfların tüm öğrencileri içerecek biçimde düzenlenmesi
DESTEK EĞİTİM Destek Eğitim Odası. DESTEK EĞİTİM Destek Eğitim Odası.
BLM113 Bilgisayar Bilimlerine Giriş
YENİ ÜRÜN GELİŞTİRME ve ÜRÜN YAŞAM SÜRECİ STRATEJİLERİ
İKNA EDİCİ İLETİŞİM.
MODÜL 5.1 arabuluculuk AŞAMALARININ GÖZDEN GEÇİRİLMESİ
Ders İçeriği Nicel araştırma adımları
Her ülkenin sistemi ne olursa olsun, eğitim politikasının en üst seviyede amacı, bireyi topluma yararlı hale getirmektir. BİREYİ TOPLUMA YARRLI HALE GETİRME;
Bilimsel Araştırma Yöntemleri
GEÇİŞ GEÇİŞ SÜRECİ Özel Gereksinimli ve / veya Engeli
Örgüt Kuramı, Örgüt Tasarımı ve Örgütsel Değişim
Sunum transkripti:

Ders 2: Yazılım Geliştirme Yazılım Mühendisliği Ders 2: Yazılım Geliştirme

Hedef Yazılım geliştirme yaşam döngüsünün temel aşamaları olan, Planlama aşaması, Çözümleme aşaması, Tasarım aşaması, Gerçekleştirim aşaması ve Bakım aşaması anlatılarak, yaşam döngüsü modellerinin (süreç modelleri) açıklanması hedeflenmektedir. Yazılım Mühendisliği

Yazılım Mühendisliği

Yazılım Yaşam Döngüsü Yazılım Yaşam Döngüsü, herhangi bir yazılımın, üretim aşaması ve kullanım aşaması birlikte olmak üzere geçirdiği tüm aşamalar biçiminde 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 bir döngü biçiminde ele alınır. Döngü içerisinde herhangi bir aşama da geriye dönmek ve tekrar ilerlemek söz konusudur. Bu nedenle yazılım yaşam döngüsünün tek yönlü ve doğrusal olduğu düşünülmemelidir. Yazılım Mühendisliği

Yazılım Yaşam Döngüsü Yazılım Mühendisliği

Yazılım Yaşam Döngüsü Yazılım Mühendisliği

Yazılım Yaşam Döngüsü Yazılım Mühendisliği

Yazılım Yaşam Döngüsü Yazılım Mühendisliği

Yazılım Yaşam Döngüsü Yazılım Mühendisliği

Belirtim Yöntemleri Bir temel sürece ilişkin işlevleri yerine getirmek amacıyla kullanılan yöntemler "belirtim yöntemleri" olarak adlandırılmaktadır. Üç sınıfa ayrılabilir: Süreç Akışı için kullanılan Belirtim Yöntemleri Süreç Tanımlama Yöntemleri Veri Tanımlama Yöntemleri Yazılım Mühendisliği

Belirtim Yöntemleri Yazılım Mühendisliği

Yazılım Süreç Modelleri Süreç 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 uygulanılacağını tanımlar. Yazılım Üretim Yaşam Döngüsü beş sınıfta incelenebilir.  Gelişigüzel Model Barok Model Çağlayan Model V Modeli Spiral (Helezonik) Model Prototipleme Modeli Evrimsel Geliştirme Modeli Artımlı Geliştirme Modeli Yazılım Mühendisliği

Gelişigüzel Model-1960lar Yazılım geliştirme ortamında herhangi bir model veya yöntemin kullanılmadığı, yalnızca geliştiren kişiye bağımlı, hatta geliştiren kişinin bile aradan belirli bir zaman geçtikten sonra anlayamayacağı ve değiştirme güçlüğü yaşanılan ortamlardaki üretim tarzı "Gelişigüzel Model" olarak adlandırılmaktadır. Bu modelle üretilen ürünlerin izlenebilirliği, bakılabilirliği oldukça zor, bazı durumlarda olanaksızdır. Yazılım Mühendisliği

Barok Model-1970ler Barok modeli, planlama, çözümleme, tasarım ve gerçekleştirim işlevleri içermektedir. Bu modelin ayırıcı özelliği, "Belgeleme" olgusuna ayrı bir önem atfetmesi ve belgelemeyi bir süreç olarak ele almasıdır. Belgelemenin, yazılımın geliştirilmesi ve sınanmasından hemen sonra yapılması öngörülmektedir. Barok modelin zayıf tarafı ise aşamalar arasındaki geri dönüşlerin nasıl yapılacağının tanımlı olmamasıdır.  Yazılım Mühendisliği

Çağlayan Model-(Klasik Model) Yazılım Mühendisliği

Çağlayan Model Eksiklikler Gerçek yaşamdaki projelerin çok azı yineleme gerektirmez.  Yazılımın kullanıcıya ulaşma zamanı oldukça uzundur. Gereksinim tanımları çoğu kez net olarak yapılamaz, bu konudaki eksiklik ya da yanlışın ortaya çıkma zamanı gerçekleştirim sonrasına rastlar. Bu durumda yanlışların düzeltilme ya da eksikliklerin giderilme maliyetleri yükselir. Çağlayan model ise söz konusu işleri üretim aşamasının sonunda öngörmekte, bu aşamaya kadar yapılması gereken işler (planlama, çözümleme, tasarım, kalite etkinlikleri vb.) teknik personel için çoğu kez önemsiz olarak görülebilmektedir. Bu nedenle bu model ile yapılan üretimlerde yazılım ekipleri mutsuz olmakta ve kod yazma dışında olan ve iş yükünün yaklaşık %80'ini kapsayan kısma yeterli önemi vermemektedir. Üst düzey yönetimlerin hedeflenen ürünü görme süresinin uzun oluşu projelerde sorunlara yol açmaktadır. Yazılım Mühendisliği

V Modeli Yazılım Mühendisliği

V Modeli V-Süreç Modeli, Çağlayan Modelinin uygulanmasını, "Üretim" ve "Sınama" işlevlerinin ne zaman yapılacağını vurgulayarak daha anlamlı hale getirmektedir. V modelinin sol tarafı üretim, sağ tarafı ise sınama işlevleri ile ilgilidir. Model aynı zamanda sınama işlemlerinde hata bulma durumunda nereye dönüleceğini de belirtmektedir. Sağ tarafta yapılan sınama işlemlerinde bulunan bir hata durumunda, yatay olarak karşısına gelen sol taraf işlevlerine dönülmektedir. Örneğin sistem sınama işlemlerinde bulunan yanlışların düzeltilmesi amacıyla mimari modelin sol tarafındaki sistem tasarımına dönülmekte, alt sistem tasarımı, modül geliştirme, modül sınama, alt sistem sınama ve sistem sınama işlemleri yinelenmektedir. Yazılım Mühendisliği

V Modeli Çıktıları Yazılım Mühendisliği

Spiral (Helezonik) Model Yazılım Mühendisliği

Spiral Modelin Üstün Yönleri Yazılım Mühendisliği

Prototipleme Modeli Prototipleme işlevinin temel amacı, ilgili alt modellerde ortaya çıkabilecek belirsizlikleri azaltmaktır. Prototip çalışması araştırma türü bir çalışma olabileceği gibi sonradan atılacak bir yazılım parçası da olabilir. Yazılım Mühendisliği

Prototipleme Modeli Prototip geliştirmedeki iş adımları: Belirsizliği tanımla Çözümleri tanımla Prototip çalışması yap Belirsizliğin sonucunu elde et Prototipleme modelinin temel zayıf yönü, kaynak maliyetlerinin kestirimindeki zayıflığıdır. Bir prototip çalışmasının ne kadar süreceği, ne kadar iş yükü gerektireceği kolayca kestirilememekte ve dolayısıyla yönetimi zorlaşmaktadır. Yazılım Mühendisliği

Evrimsel Geliştirme Süreç Modeli Evrimsel Geliştirme Süreç modeli, daha çok coğrafik olarak geniş alana yayılmış, çok birimli organizasyonlar için önerilmektedir.  Yazılım Mühendisliği

Artımsal Geliştirme Süreç Modeli Modelde üretilen ve uygulamaya alınan her ürün sürümü birbirini içerecek şekilde giderek artan sayıda işlev içerecek biçimde geliştirilmektedir. Öncelikle ürüne ilişkin çekirdek bir kısım geliştirilerek uygulamaya alınmakta ardından yeni işlevsellikler eklenerek yeni sürümler elde edilmektedir.  Yazılım Mühendisliği

Artımsal Geliştirme Süreç Modeli Yazılım Mühendisliği

Araştırma Tabanlı Süreç Modeli Araştırma ortamları bütünüyle belirsizlik üzerinde çalışan ortamlardır. Yapılacak işlerden edinilecek sonuçlar belirgin değildir ve bir sonraki adımın iş tanımları büyük ölçüde bir önceki adımın sonuçlarına bağlıdır. Bu nedenle gerek zaman gerekse işgücü planlamasında zorluklarla karşılaşılır. Helezonik modelin küçük dönüşleri biçiminde gerçekleştirilir. Geliştirilen yazılımlar genellikle sınırlı kez kullanılır ve kullanım bittikten sonra işe yaramaz hale gelir ve atılırlar. Yazılım Mühendisliği

Metedolojiler Metodoloji, bir Bilgisayar Yazılım Tasarım projesi ya da yazılımın yaşam döngüsü aşamaları boyunca kullanılacak ve birbiriyle uyumlu yöntemler bütününü içerir. Herhangi bir metodoloji, 1. Bir süreç modeli 2.Belirli sayıda belirtim yöntemi içerir. Günümüzde uygulamada yüzden fazla metodoloji kullanılmaktadır. Bir çok kuruluş, belirli bir süreç modelini temel alarak kendi metodolojilerini geliştirmekte ve uygulamaktadır. Metodolojiler genelde Çağlayan ya da Spiral modeli temel almaktadır. Örnek: Yourdon tarafından geliştirilmiş olan "Yapısal Sistem Tasarımı" metodolojisi. Yazılım Mühendisliği

Metedolojiler Bir metodolojide bulunması gereken temel bileşen ya da özellikler aşağıdaki gibidir: Yazılım Mühendisliği

Yourdon Yapısal Sistem Tasarımı Metodolojisi Yazılım Mühendisliği

Çalışma Soruları 1. Yazılım yaşam döngüsünün temel adımlarını açıklayınız. 2. Süreç modelleri ve belirtim yöntemlerinin önemi nedir? 3. Süreç modelleri ile belirtim yöntemleri arasındaki farklılıklar nelerdir?  4. Barok modeli tanımlayınız, yararlarını ve aksak yönleri nelerdir? 5. Şelale modeli tanımlayınız, yararlarını ve aksak yönleri nelerdir? 6. Spiral modeli tanımlayınız, ayırıcı özelliklerini belirtiniz. Yararlarını ve aksak yönlerini açıklayınız. 7. V model kullanılarak geliştirilecek örnek bir proje tanımı yapınız. 8. Prototip Geliştirme modeli ile geliştirilecek bir projede uygulanabilecek üç prototipleme örneği veriniz.  9. Evrimsel Geliştirme süreç modelinde Konfigürasyon yönetimi ve değişiklik denetimi neden sorundur? 10. Artımsal geliştirme süreç modelini tanımlayınız, yararlı ve aksak yönlerini belirtiniz. 11. Artımsal geliştirme süreç modeli kullanılarak geliştirilecek bir proje örneği veriniz. Gerekçenizi açıklayınız. 12. Araştırma tabanlı süreç modeli için uygun proje örnekleri veriniz. 13. Yourdon Yapısal Sistem Geliştirme Metodolojisini tanımlayınız.  Yazılım Mühendisliği