Yazlm Mhendislii Ders 2 Yazlm Gelitirme Hedef Yazlm
- Slides: 31
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 2
Yazılım Mühendisliği 3
Yazılım Yaşam Döngüsü Yazılım Mühendisliği 4
Yazılım Yaşam Döngüsü 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
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 10
Belirtim Yöntemleri Yazılım Mühendisliği 11
Yazılım 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. 1. Gelişigüzel Model 2. Barok Model 3. Çağlayan Model 4. V Modeli 5. Spiral (Helezonik) Model 6. Prototipleme Modeli 7. Evrimsel Geliştirme Modeli 8. Artımlı Geliştirme Modeli Yazılım Mühendisliği 12
Gelişigüzel Model-1960 lar 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 13
Barok Model-1970 ler 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 14
Çağlayan Model-(Klasik Model) Yazılım Mühendisliği 15
Ç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 16
V Modeli Yazılım Mühendisliği 17
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 18
V Modeli Çıktıları Yazılım Mühendisliği 19
Spiral (Helezonik) Model Yazılım Mühendisliği 20
Spiral Modelin Üstün Yönleri Yazılım Mühendisliği 21
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 22
Prototipleme Modeli Prototip geliştirmedeki iş adımları: 1. Belirsizliği tanımla 2. Çözümleri tanımla 3. Prototip çalışması yap 4. 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 23
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 24
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 25
Artımsal Geliştirme Süreç Modeli Yazılım Mühendisliği 26
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 27
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 28
Metedolojiler Bir metodolojide bulunması gereken temel bileşen ya da özellikler aşağıdaki gibidir: Yazılım Mühendisliği 29
Yourdon Yapısal Sistem Tasarımı Metodolojisi Yazılım Mühendisliği 30
Ç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 31
- Eğitimde hedef türleri
- Hedef analizi
- Halkla ilişkilerde hedef kitle türleri
- Hedef davranış örnekleri
- Bilişsel alan nedir
- Hedef belirleme etkinlik
- Okul müdürü özel hedef girişi
- Kısa dönemli hedef örnekleri
- Pazar bölümlendirme ve hedef pazar seçimi
- Uzun dönemli amaç nedir
- Sorun ağacı ve hedef ağacı
- Hedef pazar seçimi stratejileri nelerdir
- Rehberlik hedef listesi 2020
- Rehberlik sunum sistemi başlıkları
- Hedef ağacı örneği
- Pazar bölümlemenin faydaları
- Amaç ve hedef örnekleri
- Hedef pazar seçimi örnek olay
- Devinişsel
- Hedef ağacı
- Mehmetek
- Kontrol edici ipucu nedir
- Sentez basamağı soru örnekleri
- Feminist aile kuramı
- Hedef davranış belirleme formu
- Amaç ve hedef örnekleri
- Ders gözlem formu doldurulmuş örneği
- Matlab ders notları
- Bilgisayar programcılığı ağ temelleri ders notları
- Verimli ders çalışma tombalası
- Kurum yönetimi ders notları
- Limnoloji ders notları