Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Ders 2: Yazılım Geliştirme

Benzer bir sunumlar


... konulu sunumlar: "Ders 2: Yazılım Geliştirme"— Sunum transkripti:

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

2 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

3 Yazılım Mühendisliği

4 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

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

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

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

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

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

10 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

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

12 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

13 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

14 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

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

16 Ç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

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

18 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

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

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

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

22 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

23 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

24 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

25 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

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

27 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

28 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

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

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

31 Ç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


"Ders 2: Yazılım Geliştirme" indir ppt

Benzer bir sunumlar


Google Reklamları