Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

YAZILIM KALİTE GÜVENCESİ (SOFTWARE QUALITY ASSURANCE) Yrd. Doç. Dr. Fatih YÜCALAR Maltepe Üniversitesi Mühendislik Fakültesi YZM.

Benzer bir sunumlar


... konulu sunumlar: "YAZILIM KALİTE GÜVENCESİ (SOFTWARE QUALITY ASSURANCE) Yrd. Doç. Dr. Fatih YÜCALAR Maltepe Üniversitesi Mühendislik Fakültesi YZM."— Sunum transkripti:

1 YAZILIM KALİTE GÜVENCESİ (SOFTWARE QUALITY ASSURANCE) Yrd. Doç. Dr. Fatih YÜCALAR Maltepe Üniversitesi Mühendislik Fakültesi YZM 410

2 2. BÖLÜM YAZILIM SÜRECİ 2 YZM Yazılım Kalite Güvencesi

3 3 Süreç Kavramı Yazılım İçin Süreç Kavramı Süreç Teknolojisinin Amacı Bir Sürecin Kavramsal Modeli Yazılım Mühendisliği Süreci Nedir? Süreç Yaklaşımı Yazılım Süreç Kurma (Software Process Establishment) Yazılım Süreç Değerlendirme (Software Process Assessment) Yazılım Süreç İyileştirme (Software Process Improvement) Organizasyon ve Süreç Genel Bakış…

4 Süreç Nedir? YZM Yazılım Kalite Güvencesi 4 “Ürün değil süreç önemlidir…” Süreci, yazılım ve yazılımla bütünleşik ürünlerin geliştirilmesi ve bakımı için kullanılan aktivitelerin, metotların, uygulamaların ve dönüşümlerin oluşturduğu bir bütün olarak tanımlayabiliriz.

5 Süreç Kavramı YZM Yazılım Kalite Güvencesi 5 Sürecin amacı, bir standart oluşturmak, değişkenlikleri azaltmak ve devamlı iyileştirmeler sağlamaktır. Bir sürecin göze çarpan karakteristikleri; Süreç bir amaca erişmek için bir işi yapma usulüdür, Genelde, alt süreç, adım ve işlemlerden oluşur, Yazılı ve grafiksel olarak belgelenmiştir, Tekrarlanırlar, Girdileri, çıktıları vardır, Aktörleri vardır, Uyduğu kurallar, politikalar vardır. Büyük (karmaşık) veya küçük (basit) tanımlanabilir.

6 Süreç Kavramı (devam…) YZM Yazılım Kalite Güvencesi 6 Süreç örneği verirsek; Müşteri ilişkileri süreci, tek bir süreç olabilir veya bu süreci; pazar araştırması süreci, müşteri isteklerinin belirlenmesi süreci, fizibilite süreci, isterlerin modellenmesi süreci, spesifikasyonların belirlenmesi süreci gibi alt süreçlere ayrılabiliriz.

7 Örnek: Tipik Bir İyi Firma Süreci YZM Yazılım Kalite Güvencesi 7 Test mühendisi, bir “sorun raporu (problem report)” düzenler. Sorun raporunu proje yöneticisine yollar. Proje yöneticisi, “sorun raporunu” inceler ve bir değişim istemi (change request) düzenler. Değişim istemini analizciye verir. Analizci değişim istemini inceler, etkilenen modülleri belirler, o modüllerdeki isterlere ait değişiklikleri yapar. Tasarım değişiklikleri yapılır ve değişiklik istemi 1 belgesi üretilir. Bu belgeyi konfigürasyon yöneticisine verir.

8 Örnek: Tipik Bir İyi Firma Süreci (devam…) YZM Yazılım Kalite Güvencesi 8 Konfigürasyon yöneticisi, isterler ve tasarım belgelerindeki konfigürasyon değişikliğini yapar. Değişiklik isteği 1’i programcıya verir. Programcı istenilen kod değişikliğini yapar. Yeni kodu konfigürasyon yöneticisine geri verir. Konfigürasyon yöneticisi, yeni kodu entegrasyon ve teste gönderir. Sonuçlar olumlu gelirse, ürün piyasaya sürülür.

9 Yazılım İçin Süreç Kavramı YZM Yazılım Kalite Güvencesi 9 Yazılımın nasıl gerçekleştirildiğini, yönetildiğini, ölçüldüğünü, planlandığını, desteklendiğini, organize edildiğini, işletildiğini, iyileştirildiğini,... vb. işlerin nasıl yapıldığının anlatılıp, tanımlanmasına “yazılım süreci” adı verilir.

10 Yazılım İçin Süreç Kavramı (devam…) YZM Yazılım Kalite Güvencesi 10 Yazılım süreçlerine örnek olarak aşağıdaki süreçler verilebilir; Yazılım Belirtimi (Mühendislik), Tasarım x Gerçekleştirme (Mühendislik), Doğrulama, Sağlama (Destek), İşletme (Destek), Kalite Yönetimi (Yönetim), Proje Yönetimi (Yönetim).

11 Süreç Teknolojisinin Amacı YZM Yazılım Kalite Güvencesi 11 Bir süreç modeli ortaya koymak ve tüm yazılım faaliyetlerini bu modele dayandırmaktır. Ayrıca bilgisayar destekli süreç desteği sağlamaktır.

12 Bir Sürecin Kavramsal Modeli YZM Yazılım Kalite Güvencesi 12 Süreç modelinde ana unsurlardan biri aktör ve onun rolüdür. Diğer unsurlar ise; aktiviteler, ürünler, araçlar ve politikalardır.

13 Yazılım Mühendisliği Süreci Nedir? YZM Yazılım Kalite Güvencesi 13 Kullanıcı gereksinimlerinin yazılım haline dönüştürülmesi için gerekli bütün yazılım mühendisliği aktiviteleri serisidir. Yazılım mühendisliği süreci, oluşturulacak teknolojileri yani teknik yöntemleri ve otomatikleştirilmiş araçları içine alır.

14 Süreç Yaklaşımı YZM Yazılım Kalite Güvencesi 14 Süreç yaklaşımı üç aşamadan oluşur: Yazılım Süreç Kurma (Software Process Establishment) Yazılım Süreç Değerlendirme (Software Process Assessment) Yazılım Süreç İyileştirme (Software Process Improvement)

15 Yazılım Süreç Kurma (SPE) YZM Yazılım Kalite Güvencesi 15 Yazılım üreten bir organizasyonda süreçlerin tanımlanması, belgelenmesi, personelin eğitilmesi, uygulamanın başlaması, rayına oturması ve normal akışa girmesi; böylece kararlı (stabil) bir üretim ortamına erişilmesi sürecine “yazılım süreç kurma (software process establishment)” diyoruz.

16 Yazılım Süreç Kurma (SPE) (devam…) YZM Yazılım Kalite Güvencesi 16 Referans modelini belirle ve incele. Kendi ihtiyaçlarını belirle ve incele. Modeli kendi durumunla uyuşturup, uyarlama ve adaptasyon ile süreçlerini tanımla. Kendi süreç sisteminle 1-3 yıl arası çalış. Gerekli gördüğün değişiklikleri yap. Önce proje düzeyindeki süreçleri, daha sonra kurumsal süreçleri ele al. Projeler arasında farklar olması muhtemeldir. Süreçler oturunca değerlendirme (SPA) yaptır.

17 Yazılım Süreç Kurma (SPE) (devam…) YZM Yazılım Kalite Güvencesi 17 Standart modellerde 3 farklı yolla değişiklik yapılabilir:  uyarlama (tailoring),  ekleme (extend),  değiştirme (adaptation)

18 Süreç Değerlendirme (SPA) YZM Yazılım Kalite Güvencesi 18 Yazılım süreç değerlendirme (software process appraisal), bir organizasyonun yazılım süreçlerinin disiplinli bir biçimde incelenmesi ve notlanmasıdır. İki amacı vardır: Kendi durumunu bilerek bir iyileşme programı oluşturma, Yetenek belirleme (iş/proje verebilmek için). Değerlendirme, uluslararası standart bir metoda göre yapılmalıdır.

19 Süreç Değerlendirme (SPA) (devam…) YZM Yazılım Kalite Güvencesi 19 Süreç değerlendirme, başarımın nicel ölçümü biçiminde olmalıdır. Değişik model ve standartlar vardır: CMM, Bootstrap, CMMI, ve ISO sürece veya yazılım üreten gruba not verirler. ISO 9001 ve TickIT geçti-kaldı notu verir. Firmaların kendi iç modelleri de vardır.

20 Süreç İyileştirme (SPI) YZM Yazılım Kalite Güvencesi 20 Değerlendirme sonuçlarına göre, süreçleri uygun ve gerekli görülen biçimde değiştirmek üzere bir programın hazırlanması, programın uygulamaya konması (SPE gibi); sonuçlarının yeniden değerlendirilerek (SPA) beklenen ve istenen iyileşmenin (not yükselmesi) sağlanmasıdır. Organizasyonun iş amaçlarının yerine getirilmesini sağlar; verimlilik artışı, kalite artışı, müşteri memnuniyeti.

21 Süreç İyileştirme (SPI) (devam…) YZM Yazılım Kalite Güvencesi 21 Süreç değerlendirmenin amacı, iyileştirmeyi sağlamaktır. SPI konusu, SPA modellerinde ele alınır. SPI; hedeflenen bir not için yapılabilir, sürekli iyileşme için yapılabilir, işletme hedefleri göz önüne alınarak yapılabilir.

22 Ölçme ve İyileştirme Hedefi YZM Yazılım Kalite Güvencesi 22 SPA: Süreç Değerlendirme Biz neredeyiz? Dünya nerede? İş İhtiyaçları KarşılaştırmaNormları Nerede olmak istiyoruz…

23 Süreç Değerlendirme Ortamı YZM Yazılım Kalite Güvencesi 23 Süreç SüreçİyileştirmeYetenekBelirleme SüreçDeğerlendirme değişiklikleribelirler tarafındanincelenir yeteneğini ve risklerini belirler motive eder öncülük eder

24 Organizasyon ve Süreç YZM Yazılım Kalite Güvencesi 24 Kaliteli yazılım geliştirme ancak uygun bir yapılanma ile gerçekleştirilir. Organizasyonların olgunluk dereceleri geliştirdikleri yazılımın kalitesine doğrudan etki eder.

25 Olgun Organizasyonlar… YZM Yazılım Kalite Güvencesi 25 Yazılım geliştirme ve bakımını yönetecek bir yetenek tüm organizasyon çapında bulunmaktadır. Yazılım geliştirme süreci, çalışanlara ve yeni elemanlara doğru bir şekilde iletilmektedir. Tüm aktiviteler belirli bir plana göre yürütülmektedir. Tanımlı süreçler içersindeki roller ve sorumluluklar tüm proje ve organizasyon için belirlenmiştir. Disiplinli bir süreç takip edilmekte ve tüm katılımcılar tarafından bunun değeri bilinmektedir.

26 Olgun Olmayan Organizasyonlar… YZM Yazılım Kalite Güvencesi 26 Yazılım geliştirme süreçleri belgelenmemiştir. Yazılım geliştirme süreçleri proje sırasında yönetici ve uygulayıcılar tarafından doğaçlama ile oluşturulmaktadır. Belirtimi yapılmış olsa bile, belirli bir yazılım geliştirme süreci takip edilmemekte ve mecbur tutulmamaktadır. Yöneticiler sürekli kriz çözmekle meşguldür. Ürün kalitesini ölçmek için tutarlı bir temel yoktur. Kaliteyi yükseltici etkinlikler projeler gecikince çoğu kez atlanmaktadır.


"YAZILIM KALİTE GÜVENCESİ (SOFTWARE QUALITY ASSURANCE) Yrd. Doç. Dr. Fatih YÜCALAR Maltepe Üniversitesi Mühendislik Fakültesi YZM." indir ppt

Benzer bir sunumlar


Google Reklamları