Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
Maltepe Üniversitesi Mühendislik Fakültesi
YAZILIM KALİTE GÜVENCESİ (SOFTWARE QUALITY ASSURANCE) Yrd. Doç. Dr. Fatih YÜCALAR YZM 410 Maltepe Üniversitesi Mühendislik Fakültesi
2
2. BÖLÜM YAZILIM SÜRECİ YZM Yazılım Kalite Güvencesi
3
Genel Bakış… Süreç Kavramı Süreç Yaklaşımı Organizasyon ve Süreç
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ç Bu bölüm kapsamında, Süreç Kavramı ve Yaklaşımını inceleyeceğiz. Bu bağlamda, önce sürecin ne olduğunu öğreneceğiz, daha sonra da süreç kavramını yazılım için ele alacağız. Süreç teknolojisinin amacını ve bir sürecin kavramsal modelini göreceğiz. Süreç ile ilgili temel kavramları öğrendikten sonra süreç yaklaşımı ile ilgili yaklaşımları ele alacağız. Bu yaklaşımlar neler? Yazılım Süreç Kurma, Yazılım Süreç Değerlendirme, Yazılım Süreç İyileştirme Son olarak ta, organizasyon ve süreç birlikteliğini inceleyeceğiz. YZM Yazılım Kalite Güvencesi
4
Süreç Nedir? “Ü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. GİRİŞ: Bir ürünün kalitesi o ürünü incelemekle/sınamakla belirlenmez. Bir ürününün kalitesi büyük oranda onu üreten organizasyona ve üretim süreçlerine bağlıdır. Bu, Toplam Kalite Yönetimi ilkelerinden biridir. Süreç olgunlaşmadan kalite tesadüfe kalır. Yazılımla Bütünleşik Ürünler: proje planları, tasarım dokümanları, kod, test planları. İKİNCİ MADDEDEN SONRA: En basit anlamda süreci, başı sonu belli, ara adımları iyi belirlenmiş işlemler dizisi olarak da tanımlayabiliriz. YZM Yazılım Kalite Güvencesi
5
Süreç Kavramı 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. YZM Yazılım Kalite Güvencesi
6
Süreç Kavramı (devam…)
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. Bu anlattıklarımızın ışığında bir süreç örneği vermek istersek; müşteri ilişkileri sürecini verebiliriz. YZM Yazılım Kalite Güvencesi
7
Örnek: Tipik Bir İyi Firma Süreci
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. Entegrasyon ve Test aşamasında bir hata bulundu. Ne olacak? YZM Yazılım Kalite Güvencesi
8
Örnek: Tipik Bir İyi Firma Süreci (devam…)
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. YZM Yazılım Kalite Güvencesi
9
Yazılım İçin Süreç Kavramı
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. Tüm ciddi yazılım firmaları, çalışmalarını süreçlere dayandırmaktadır. Yazılım süreçleri ile ilgili standartlar ortaya çıkmıştır ve gelişmektedir. YZM Yazılım Kalite Güvencesi
10
Yazılım İçin Süreç Kavramı (devam…)
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). YZM Yazılım Kalite Güvencesi
11
Süreç Teknolojisinin Amacı
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. BİRİNCİ MADDEDEN SONRA: Modeller, süreç değerlendirme ve iyileştirmenin temelini oluşturmuştur. Şekilde, klasik üretim üzerinde süreç teknolojisinin yeri görüyoruz. YZM Yazılım Kalite Güvencesi
12
Bir Sürecin Kavramsal Modeli
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. YZM Yazılım Kalite Güvencesi
13
Yazılım Mühendisliği Süreci Nedir?
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. YZM Yazılım Kalite Güvencesi
14
Süreç Yaklaşımı 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) Süreç yaklaşımında amaç iyileştirmedir (SPI). Ama önce süreç kurma (SPE) ve süreç değerlendirme (SPA) aşamaları gelir. Süreç kurma (SPE) için, uluslararası bir modelin referans alınması tavsiye edilir. Değerlendirme (SPA) için de mutlaka bir uluslararası model gerekir. YZM Yazılım Kalite Güvencesi
15
Yazılım Süreç Kurma (SPE)
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. YZM Yazılım Kalite Güvencesi
16
Yazılım Süreç Kurma (SPE) (devam…)
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. YZM Yazılım Kalite Güvencesi
17
Yazılım Süreç Kurma (SPE) (devam…)
Standart modellerde 3 farklı yolla değişiklik yapılabilir: uyarlama (tailoring), ekleme (extend), değiştirme (adaptation) GİRİŞ: Bir önceki slaytta, “Gerekli gördüğün değişiklikleri yap” demiştik. Standart modellerde 3 farklı yol ile değişiklik yapılabilir. YZM Yazılım Kalite Güvencesi
18
Süreç Değerlendirme (SPA)
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. SON MADDEDE SÖYLE: Çünkü kıyaslama yani benchmarking yapabilmek için, değerlendirmenin uluslararası standart bir metoda göre yapılması gerekir. YZM Yazılım Kalite Güvencesi
19
Süreç Değerlendirme (SPA) (devam…)
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. Süreç kalitesinin iyileştirebilmesi için öncelikle, süreçlerin mevcut durumunu değerlendirecek, kanıtlanmış, nicel, tutarlı ve güvenilir bir metoda ihtiyaç vardır. Bunu süreç değerlendirme modelleri sağlar. (CMM, SPICE, CMMI) YZM Yazılım Kalite Güvencesi
20
Süreç İyileştirme (SPI)
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. Bir sanayi ürününde mevcut durumu değerlendirme, belirli bir süre içinde çıkan hatalı parça sayısı ile olabilir. İyileştirme programı da, işçinin eğitimi veya makinenin kalibrasyonunu düzeltme gibi işler olabilir. YZM Yazılım Kalite Güvencesi
21
Süreç İyileştirme (SPI) (devam…)
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. YZM Yazılım Kalite Güvencesi
22
Ölçme ve İyileştirme Hedefi
Biz neredeyiz? Dünya nerede? SPA: Süreç Değerlendirme Karşılaştırma Normları Nerede olmak istiyoruz… İş İhtiyaçları YZM Yazılım Kalite Güvencesi
23
Süreç Değerlendirme Ortamı
tarafından incelenir risklerini belirler yeteneğini ve değişiklikleri belirler Süreç Değerlendirme öncülük eder öncülük eder Süreç İyileştirme Yetenek Belirleme motive eder YZM Yazılım Kalite Güvencesi
24
Organizasyon ve Süreç 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. Organizasyonların olgunlaştırılması için, yazılım ve süreç arasındaki ilişkinin iyi bilinmesi ve uygulanması gereklidir. Süreç belirleme, iyileştirme ve bunlara bağlı olarak yetenek belirleme amacıyla çeşitli modeller oluşturulmuştur. Kalite değerlendirme uygulaması içinde sıradüzensel olarak, belgelendirilecek kurumun seçilmesi, ön değerlendirme etkinlikleri, değerlendirme süreci, sürekli inceleme etkinlikleri, yeniden değerlendirme aşamaları uygulanır. YZM Yazılım Kalite Güvencesi
25
Olgun Organizasyonlar…
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. GİRİŞ: Olgun bir organizasyonun en belirgin özellikleri… YZM Yazılım Kalite Güvencesi
26
Olgun Olmayan Organizasyonlar…
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. Olgun olmayan bir organizasyonun özellikleri ise … Kaliteyi yükseltici etkinlikler = belgelendirme, gözden geçirme, test YZM Yazılım Kalite Güvencesi
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.