Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Bölüm 1 Yazılım Mühendisliği. 1-2 Yazılım Mühendisliği Ortaya çıkan yazılım ürünlerinin karmaşıklığını ve boyutunu yönetmek için uygun araçlar kullanarak,

Benzer bir sunumlar


... konulu sunumlar: "Bölüm 1 Yazılım Mühendisliği. 1-2 Yazılım Mühendisliği Ortaya çıkan yazılım ürünlerinin karmaşıklığını ve boyutunu yönetmek için uygun araçlar kullanarak,"— Sunum transkripti:

1 Bölüm 1 Yazılım Mühendisliği

2 1-2 Yazılım Mühendisliği Ortaya çıkan yazılım ürünlerinin karmaşıklığını ve boyutunu yönetmek için uygun araçlar kullanarak, zaman ve maliyet sınırları içerisinde geliştirilmiş bilgisayar programlarının tasarım, üretim ve bakımıyla ilgilenen disiplindir.

3 1-3 Yazılım Hayat Süreci Problem analizi İhtiyaçların tespit edilmesi Yazılım şartnameleri Alt ve üst düzey tasarım Tasarımı uygulama

4 1-4 Yazılım Hayat Süreci Test etme ve Doğrulama Teslim(Delivery) İşlem(Operation) Bakım(Maintenance)

5 1-5 Programcı Alet kutuları Donanım—Bilgisayar ve çevr birimleri Yazılım—İşletim sistemleri, editörler,derleyiciler, yorumlayıcılar, hata ayıklayıcı sistemler, test verisi üreteçleri, vs.

6 1-6 Programcı Alet kutuları Fikirler(Ideaware) –Algoritmalar –Veri Yapıları –Programlama yöntemleri Tasarım yardımcıları –CRC kartları –UML(Unified Modeling Language) –Senaryolar(Scenarios)

7 1-7 Programcı Alet kutuları Yazılım Kavramları –Bilgi gizleme(Information hiding) –Veri kapsülleme(Data encapsulating) –Soyutlama(Abstraction)

8 1-8 Kaliteli Yazılımın Amaçları Çalışır Fazla zaman ve güç harcamadan düzeltilebilir Tekrar kullanılabilir. Zamanında ve bütçe sınırları içerisinde tamamlanabilir.

9 1-9 Tavsiye edilen program şartnameleri İhtiyaçların işlenmesi Örnek girdilerle beklenen çıktılar Varsayımlar Terimlerin tanımları Bir test planı

10 1-10 Detaylı Program Şartnamesi Programın nasıl yaptığını değil, ne yapması gerektiğini söyler Program hakkında yazılı bir belgedir.

11 1-11 Soyutlama Bir sistemin gözlemcisine göre gerekli olan detayları içeren daha karmaşık bir sistemin modelidir. Programlar bir soyutlamadır

12 1-12 Soyutlama

13 1-13 Bilgi Gizleme Sistemin geriye kalan kısmından modülün detaylarını, bu detaylara erişimi kontrol altında tutarak saklama eylemidir. Bir programcı bir defada bir modülle ilgilenebilir Her bir modülün tek bir gayesi veya kimliği bulunmalıdır

14 1-14 Görsel Yardımcılar—CRC kartları

15 1-15 Nesneye Yönelik Programlama(NYP) Kısa Özeti Üç ilişkili yapı: sınıf, nesne ve Nesneler bir NYP sistemindeki çalışma zamanı elemanlarıdır Bir sınıf nesnelerinin yapısını tanımlar. Sınıflar kalıtımla tanımlanmış bir “is- a”hiyerarşisi içinde organize edilmiştir.

16 1-16 Date Class Programs\C01P14.jpg program için tıklayınızPrograms\C01P14.jpg

17 1-17 Date class için UML class diyagramı

18 1-18 Genişletilmiş(Extended) UML class diyagramı Date nesnelerini göstermektedir Date myDate = new Date (6, 24, 1951); Date yourDate = new date (10, 11, 1953); Date ourDate = new Date (6, 15, 1985);

19 1-19 Kalıtım(Inheritance) 1.Programcıya mevcut bir sınıfın daha özelleştirilmiş bir sınıfını oluşturma imkanı verir. 2.Yeni sınıfa mevcut sınıfın alt sınıfı(subclass) denir. Mevcut sınıf ise yeni sınıfın üst sınıfı(superclass) olur

20 1-20 IncDate

21 1-21 Date ve IncDate Kullanımı

22 1-22 Kalıtımı gösteren EUML Class Diyagramı

23 1-23 NYP Tasarımı Sınıfları belirleyin Sınıfları bir kalıtım hiyeraşisinde düzenleyin Önceden yazılmış sınıfları bulun

24 1-24 Sınıfları Belirleme 1.Fikirler için beyin fırtınası yapın 2.Problemdeki nesneleri belirleyin 3.Genelde nesneler isimler, işlemler de fiillerdir. 4.Sınıfları filtreleyin 5.Nesnelerin bir işi gerçekleştirebilmek için birbirleriyle etkileştikleri bazı senaryoları göz önüne alın 6.CRC kartları bu senaryoları düşünmemizde faydalı olur

25 1-25 Özet: Sınıfları Belirleme Yaklaşımları 1.Ana sınıflarla başlayıp daha sonra tasarıma ince ayar yapın 2.Önemli tasarım kararlarını ve sınıf içerisinde değişmesi muhtemel ihtiyaçları gizleyin 3.Bir grup programcıyla beyin fırtınası yapın 4.Her bir sınıfın tek bir sorumluluğu yerine getirmek üzere tasarlandığından emin olun.

26 1-26 Özet(Devam) 5.Sınıfları düzenlemek ve tasarımdaki boşlukları belirlemek için CRC kartlarından faydalanın 6.Kullanıcı senaryolarının üzerinden geçin 7.Problem tanımındaki isim ve fiilere dikkat edin

27 1-27 Program doğrulama bir yazılım ürününün şartnamesine hangi ölçüde uyduğunu belirleme işlemidir

28 1-28 Doğrulama(Verification) Geçerli Olma(Validation) Program doğrulama, “İşi doğru yapıyor muyuz?” Programın geçerli olması, “Doğru işi yapıyor muyuz?” B.W. Boehm, Software Engineering Economics, 1981.

29 1-29 Hata Tipleri Şartname Tasarım Kodlama Girdi

30 1-30 Farkedilme Zamanına göre Hata Maliyetleri

31 1-31 Hataları Kontrol Etme Sağlamlık(robustness): Programın bir hata sonrası düzgün bir şekilde çalışmayı sürdürmesi veya verilen şartlar dahilinde çalışabilmesi Önşartlar(Preconditions): Hedef şartların garantilenebilmesi için bir işleme veya metoda girişte doğru olması gereken varsayımlar Hedef şartlar(Postconditions) Statements that describe what results are to be expected at the exit of an operation or method, assuming that the preconditions are true.

32 1-32

33 1-33 Test Tipleri Birim testi(Unit test):Bir sınıf veya metodu kendi başına test etme Kara kutu testi(Black-box testing): Bir program veya metodu kodu kara kutu gibi kabul ederek muhtemel girdi değerlerine göre test etme Beyaz kutu testi(Clear (white) box testing): Bir program veya metodu kodun bütün dallanmalarını veya yollarını kapsayacak şekilde test etme

34 1-34 Test Planları Bir program veya modül için planlanan test etme olaylarını, bunların amaçlarını, girdilerini, beklenen çıktılarını ve başarı için gerekli şartlarını gösteren belgedir. Program testinin etkin olabilmesi için mutlaka planlanması gerekir Tek bir satırlık kod yazarken bile test etme planı yapmaya başlamak gerekir

35 1-35

36 1-36 Testing Java Data Structures

37 1-37

38 1-38 Life-Cycle Verification Activities

39 1-39 Life-Cycle Verification Activities


"Bölüm 1 Yazılım Mühendisliği. 1-2 Yazılım Mühendisliği Ortaya çıkan yazılım ürünlerinin karmaşıklığını ve boyutunu yönetmek için uygun araçlar kullanarak," indir ppt

Benzer bir sunumlar


Google Reklamları