Bu site emekli olmuştur. Arşiv amaçlı olarak BT AKADEMİ sponsorluğunda yayın hayatına devam etmektedir.




C#nedir?com
 
YAZAR HAKKINDA
Tanıl Ergin
Tanıl Ergin
http://www.csharpnedir.com/
İletişme geçmek için tıklayın.
21 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler:  Yazılım Müh. Tanıl Ergin
 
YAZI HAKKINDA
Türü : Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : İleri
Kategori : Yazılım Müh.
Yayınlanma Tarihi : 23.2.2004
Okunma Sayısı : 26743
Yorum Sayısı : 0     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
Silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer
Conda install environment.yml Package 21.11.2024
Turhal Temizer
Mac OS/X Removing CUDA 21.11.2024
Burak Selim Şenyurt
Rust ile ECS Yaklaşımını Anlamak 21.11.2024
Burak Selim Şenyurt
Birlikte Rust Öğrenelim Serisi 21.11.2024
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
Yazılım Ürün Mühendisliği (YÜM)
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
YÜM, etkin ve verimli bir şekilde, doğru, tutarlı bir yazılım ürünü elde etmek için tüm yazılım mühendisliği aktiviteleri boyunca devam eden tutarlı bir mühendislik sürecidir.

1. Yazılım Ürün Mühendisliği (YÜM)

YÜM, uygun araçları ve metodları kullanarak, projenin yazılım sürecinde yazılım ürünü üretmek için yürütülen mühendislik görevlerini içerir. Ayrıca;

yazılım sistemine atanmış olan sistem gereksinimlerini incelemeyi,
yazılım gereksinimleri geliştirmeyi, yazılım mimarisi gelişirmeyi,
yazılım tasarlamayı,
yazılımın kodlamasını,
yazılım bileşenlerini birleştirmeyi ,
yazılım doğrulama ve sınama süreçlerini analiz etmeyi içerir.
Yazılım mühendisliği görevleri için belgeleme gerekir (örneğin yazılım gereksinimler belgesi, yazılım tasarım belgesi, test planları, test yordamları). Bu belgeleme işlerinde de YÜM’nin önemi vardır.

2. Yazılım Ürün Mühendisliği Hedefleri

  • Yazılım ürünleri ölçütlerini pratiğe dökmek.
  • Maliyet, zaman çizelgesi, fonksiyonellik, kalite arasındaki ilişkiyi kurmak ve bu 4’lü anlayışı geliştirmek.
  • Proje/program yönetimi, sistem mühendisliği, süreç geliştirme ile ilgili bir ölçümleme yaklaşımı getirmek ve devam eden yazılım ölçütlerini kontrol etmek.

3. Yazılım Ürün Mühendisliği Tanımları

Yazılım Ürünü Mühendisliği: Bir yazılım projesinde, müşterinin ihtiyaçlarını karşılayacak şekilde ürün ortaya koymak için yapılan yazılım mühendisliği aktiviteleridir.
Müşteri: Müşteri, yazılım ürünüyle ilişkisi olan herhangi bir kişi olabilir.(bir şahıs ya da şirket) Müşterileri şu şekilde sınıflara ayırabiliriz: Kullanıcılar, Geliştiriciler, Bakım takımı.
Yazılım Fonksiyonelliği: Sistem gereksinimlerinde müşteri tarafından belirtilmiş olan ihtiyaçların yazılım sistemi tarafından karşılanabilme yeteneğidir.
Yazılım Kalitesi: Kalite, yazılım ürününün gereksinimleri karşılayabilme derecesidir. Ayrıca müşterinin isteklerine cevap verebilme oranı olarak da düşünebiliriz.

4. Yazılım Ürünü Mühendisliği Kapsamı

  • Yazılım ürünü mühendisliği çalışmaları sırasında, tüm çaba, merak ve odaklanma yazılım ürünü fonskiyonelliği ve kalitesi üzerine olmalıdır.
  • Tanımlanmış olan ölçütler, tek bir proje için fonksiyonelliği ve kaliteyi hedef almalıdır. Içiçe geçmiş çoklu projeler hedef alınmamalıdır.
  • Yazılım ürünü mühendisliği sorunları üç değişik müşteri perspektiften bakarak ele almalıdır: Kullanıcı, geliştirici ve bakımcı.
  • Sadece yazılım mühendisliği alanına giren konularda yazılım ürünü mühendisliği çalışması yapılmalıdır. Eğitim ile ilgili aktiviteler ve materyaller bu kapsama girmemektedir.
  • Ürün fonksiyonelliği ve kalitesi ile ilgili ölçütleri belirlerken, süreçler ve ürün ile ilgili raporlar dikkate alınmalıdır.
  • Çalışmalar, müşterinin fonksiyonelliği ve kaliteyi tahminleyebileceği konuları da içine almalıdır.
  • Çalışmalar, ürünü iyileştirmede yardımı olabilecek etkileri de incelemelidir.
  • Yazılım ürünü mühendisliği aktiviteleri içsel ve dışsal özellikleri de içermelidir.
  • Çalışmalar, kullanıcı beklentileri göz önünde tutularak tamamlanmışlık derecesini de ölçmelidir. Bu da müşteri ihtiyaçlarını anlama ve belgemede doğruluk ile sağlanabilir.

5. Yazılım Ürün Mühendisliği Temelleri

  • Tüm ölçütler sorunlara yönelik olmalıdır.
  • Ölçütler tek başlarına karar vermeye yeterli olmamalıdır. Genelde, karar aşamasında birden çok ölçüt birarada değerlendirilerek yazılım ürününün kapsamlı bir karakteristiği çıkarılmalıdır.
  • Ürün değerlendirmede, yazılım ürünü mühendisliği ölçütleri 2 amaca hizmet eder:
  • Yazılım ürününün kalitesini ölçme ve en sonunda elde edilecek olan ürünün kalitesini tahminlemek. Bu ölçme ve tahminleme işlemleri süreçlere ve ürün bileşenlerine uygulanmalıdır.
  • Ölçütler pozitif ve negatif sonuçları ortaya çıkarmalıdır.
  • Ölçütler tüm müşterileri desteklemelidir.
  • Ölçütler, ürünün fonksiyneliğini ve kalitesini incelemeye yönelik olmalıdır.

Şekil – 1 Yazılım Ürün Geliştirme Stratejisi

6. SEI – CMM Seviye 3 Kapsamında Yazılım Ürün Mühendisliği Nasıl Yapılmalıdır?

Bu bölümde, yazılım ürün mühendisliğinin SEI-CMM üçüncü seviyede nasıl düzgün, kontrollü bir şekilde ele alınacağı hakkında bilgi verilecektir. Aşağıdaki işlemler “adım adım” ilerleme şeklinde anlatılmıştır.

6.1. Hedefler

  • Yazılım mühendisliği görevleri belirleme, bir araya getirme ve yazılım üretmek üzere gerçekleştirmek.
  • Yazılım ürünlerininin birbirileriyle uyumlu ve tutarlı olmasını sağlamak.
Yapılan tüm işler, yukarıdaki iki hedef doğrultusunda yapılmalıdır.

6.2. Yapılacak İşler Hakkında

Proje, gereken yazılım mühendisliği aktivitelerini yapabilmek için yazılı bir anlaşmayı baz alır.Bu belge aşağıdakiler belirlenmiştir:
  • Yazılım mühendisliği görevleri, proje yazılım sürecine uyumlu bir şekilde yapılmalıdır.
  • Yazılım ürünleri yaratmak için uygun araçlar ve metodlar kullanılmalıdır.
  • Yazılım planları, görevleri, ürünleri yazılıma atanmış olan sistem gereksinimleri ile uygunluk göstermelidir.

6.3. Yapılması Gerekenler

1. Yazılım mühendisliği görevlerini yerine getirebilmek için gerekli olan yeterli kaynağın ve bütçenin bulunması;
  • Yazılım takımında bireyler aşağıdaki listedeki yazılım mühendislği görevlerini yapmalıdırlar:
        i. Yazılım gereksinimleri analizi         ii.Yazılım tasarımı

        iii. Kodlama         iv.Test etme

        v.Yazılım bakımı
  • Yazılım mühendisliği görevlerini destekleyecek araçlar belirlenmeli ve kullanıma sunulmalıdır.
        Genel Araç Örnekleri:        i. İş istasyonları

        ii.Veritabanı yönetim sistemleri         iii. Çevirim-içi yardımları

        iv. Grafik araçları         v. İnteraktif belgeleme araçları

        vi. Ofis araçları (word, excel vs…)          Yazılım Mühendisliği Araç Örnekleri:

        i. Gereksinim takibi araçları         ii. Belirtim araçları

        iii. Prototip oluşturma araçları         iv. Simulasyon araçları

        v. Modelleme araçları        Yazılım Kodlama Araç Örnekleri:

        i. Editörler         ii. Derleyiciler

        iii. Çıktı makineleri        Yazılım Test Araç Örnekleri:

        i. Test yönetim araçları         ii. Test yaratıcılar

        iii. Test profili hazırlayıcılar         iv. Test analiz araçları

2. Yazılım mühendisliği ekibinin, gerekli teknik görevleri yapabilmesi için gerekli olan eğitimin sağlanması Yazılım mühendisliği ekibi, uygulama alanı ile ilgili eğitim almalıdır çünkü uygulama yapılacak olan alanı (bankacılık, tıp, vs…) tam olarak kavramak zorundadırlar.

        Yazılım Gereksinimleri Analizi İçin Eğitim Örnekleri:        i. Yazılım gereksinimleri analizi prensipleri, temelleri

        ii. Bakımı yapılan yazılımın var olan gereksinimlerini inceleme        iii. Yazılım gereksinimleri bulabilmek için son kullanıcılar ile görüşme yapma yeteneğinin gelişimi

        iv. Yazılım gereksinimleri analizi için projede seçilmiş olan araçların kullanımını, metodları, standartları öğrenim         Yazılım Tasarımı İçin Eğitim Örnekleri:

        i. Tasarım kapsamları         ii. Var olan yazılım tasarımını inceleme

        iii. Yazılım tasarımında kullanılacak olan araç, metot, standardları öğrenme        Kodlama İçin Eğitim Örnekleri:

        i. Seçilen programlama dilleri eğitimi         ii. Var olan yazılımların kodlarını inceleme

        iii. Kodlamada kullanılacak olan araç, metot, standardları öğrenme        iv. Birim testi tekniklerini öğrenme

        Yazılım Testi İçin Eğitim Örnekleri:         i. Doğrulama metotları

        ii. Test planlama         iii. Testte kullanılacak olan araç, metot, standardları öğrenim

        iv. Tamamlanma kriterlerini öğrenim 3. Yazılım mühendsiliği ekibi için, ilgili yazılım mühendisliği konuları hakkında oryantasyon yapılması.

        Örnek Yazılım Mühendsiliği Konuları:        i. Yazılım gereksinimleri analizi

        ii. Yazılım tasarımı         iii. Test

        iv. Kodlama         v. Yazılım yapılanışı yönetimi

        vi. Yazılım kalite güvencesi 4. Yazılım yöneticisi ve diğre proje yöneticileri için yazılım projesinin teknik özellikleri hakkında oryantasyona yapılması

        Örnek Oryantasyonlar:         i. Yazılım mühendisliği metotları ve araçları

        ii. Uygulama alanı, sahası         iii. Yazılımla ilgili ürünler

        iv. Seçilen yazılım metodu ve araçları ile projenin nasıl yönetileceği hakkında bilgi

6.4. Yapılan Aktiviteler

1. Projenin önceden belirlenmiş olan yazılım sürecine yazılım mühendisliği metotları ve araçları eklenir.

  • Yazılım mühendisliği görevleri, projenin belirlenmiş olan yazılım sürecine göre eklenir.
  • Projede kullanılması yararlı olacak olan metodlar ve araçlar seçilir.
        Not: Aday metotlar, kurumun standardlarına uygunluk, projenin tanımlanmış yazılım sürecine uygunluk, varolan yetenekler, eğitim olanakları, gereksinimler, kullanım kolaylığı, destek hizmetleri açılarından değerlendirilmelidir
  • Seçimdeki kriterler belgenir.
2. Projeye uygun olan yazılım yapılanışı yönetimi modelleri seçilir ve kullanılır.        Örnek Yazılım Yapılanış Yönetimi Modelleri:

        i. Seçerek alma modeli         ii. Bileşim modelleri

        iii. İşlem modelleri         iv. Değişim modelleri

  • Yazılım geliştirmede kullanılan araçlar yazılım yapılanış yönetimi tarafından kontrol edilir.
3. Yazılım gereksinimleri, yazılıma atanmış olan gereksinimlerin sistematik olarak düzenli bir şekilde analiz edilmesiyle geliştirilir, belgelenir ve doğrulanır.
  • Yazılım gereksinimlerini geliştiren bireyler, gereksinimleri analiz ederek gereksinimlerin gerçekten yazılım gereksinimleri olup olmadıklarını kontrol ederler.
        Yazılım gereksinimleri, yazılım fonksiyonlarını, performansı, donanım ve diğer sitemlerle olan arayüzleri incelerler.

  • Yazılım gereksinimlerini belirleyebilmek için etkin metotlar kullanılır.
        Örnek Gereksinim Analizi metotları:         i. Fonskiyonel ayrıştırma

        ii. Nesneye yönelik ayrıştırma         iii. Simulasyonlar

        iv. Modellemeler         v. Prototip oluşturma

        vi. Senaryo geliştirme
  • Gereksinimlerin analizi sürecinin sonucları, proje standardlarına uygun bir şekilde belgelenir.
  • Yazılım gereksinimlerinin projeye uygun olup olmadıkları, gerçekleştirilmelerinin mümkün olup olmadıkları, birbirleriyle tutarlılıkları, tamamlanmışlıkları analiz edilir.
        Not: yazılım gereksinimleri ile ilgili problemler sistem gereksinimlerinden sorumlu takım tarafından belirlenir ve gerekli değişiklikler gereksinimlere uygulanır.

  • Yazılım gereksinimleri belgelenir.
  • Yazılım test ve doğrulama ekibi gereksinimleri inceleyerek test edilebilir olup olmadıklarını inceler.
  • Her yazılım gereksinimi için doğrulama ve test işlemlerinin yapılabilirliği belirlenir ve belgelenir.
        Örnek Doğrulama Metodları:        i. Demo oluşturma

        ii. Sistem testi         iii. Kabul edilirlik testi

        iv. Analiz        v. İnceleme

  • Yazılım gereksinimleri belgeleri, tamamlanmış olarak kabul edilmeden önce son bir kez gözden geçirilir.
        Gözden Geçirme İşlemine Katılanlar:

        i. Proje yöneticisi         ii. Sistem mühendisliği yöneticisi

        iii. Proje yazılım yöneticisi         iv. Yazılım test yöneticisi

  • Yazılım gereksinimleri belgesi kabul edilir.
  • Yazılım gereksinimleri belgesi son kullanıcılar ve müşteri tarafından gözden geçirilir.
  • Yazılım gereksinimleri belgesi yazılım yapılanışı yönetiminin kontrolüne geçirilir.
  • Gereksinimler değişince, yazılım gereksinimleri belgesi de gerekli şekilde değiştirilir.
4. Projenin tanımlanmış yazılım süreci göz önünde tutularak yazılım tasarımı geliştirilir, belgenir, doğrulama yapılır. Yazılım Tasarımı aşağıdakileri içerir:

        - Tasarım kriterleri geliştirilir ve gözden geçirilir. Bu kriterler:

  • Doğrulanabilirlik
  • Yapım kolaylığı
  • Basitlik
  • Planlama kolaylığı’dır.
        - Tasarım ile ilgilenenler, yazılım gereksinimlerini gözden geçirerek yazılım tasarımını etkileyen konular incelenir.

        - Uygun olduğu durumlarda, uygulama standardları kullanılır. Bu standardlar:
  • İşletim sistemi arayüzü standardları
  • İnsan-bilgisayar arayüzleri standardları
  • Ağ arayüzü standardları’dır.
        - Yazılım tasarımı için etkin yöntemler kullanılır. Bu yöntemler:
  • Prototip oluşturma
  • Yapısal modeller
  • Tasarım yeniden kullanılabilirliği
  • Nesneye yönelik tasarım
  • Kritik sistem analizi’dir.
        - Yazılım mimarisi, yazılım yaşam döngüsü kısıtlamaları ve kullanılan teknoloji göz önüne alınarak belirlenir. (Yazılım mimarisi iyi tanımlanmış arayüzlerle, üst seviye bir çerçeve anlamına gelmektedir.)         - Yazılım mimarisi, yazılımı etkileyen mimari konularının tanımlanıp çözümlendiğini kontrol etmek için gözden geçirilir.

        - Yazılım mimarisi üzerine yazılımın detaylı tasarımı yaratılır.        - Yazılım tasarımı belgelenir.

  • Yazılım tasarımı belgesi; yazılım bileşenlerini, bileşenler arasındaki arayüzleri, diğer yazılım sistemleriyle olan arayüzleri kapsar.
        - Yazılım tasarımı dökümanının yönetimi, yazılım yapılanış yönetimi kontrolüne verilir.

        - Gereksinimler değiştiği takdirde, yazılım tasarımı da buna uygun olarak değiştirilir. 5. Projenin tanımlı yazılım sürecine bağlı kalınarak, yazılım gereksinimlerinin ve tasarımının gerçekleştirilmesi için yazılım kodları geliştirilir, bakımı yapılır, belgelenir, doğrulanır.

  • Kodlama ile uğraşanlar, yazılım tasarımını ve gereksinimlerini gözden geçirerek kodlamayı ilgilendiren konuların tanımlanıp çözüldüğünü garantilerler.
  • Kodlamada etkin kodlama yöntemleri uygulanır.
        Örnek yöntemler:        i. Yapısal kodlama

        ii. Yeniden kullanılabilir kod.
  • Kodlama, müşteri istekleri, kritiklik, zorluk gibi kriterler dikkate alınarak oluşturulan bir plan çerçevesinde yürütülür.
  • Kod, yazılım yapılanış yönetimi kontrolüne verilir.
  • Yazılım gereksinimleri ve tasarımı değiştiği takdirde gerekli değişiklikler yapılır.
6. Projenin tanımlanmış yazılım sürecine göre test yapılır.
  • Müşteri ve son kullanıcılar ile birlikte test kriterleri belirlenir.
  • Yazılımı test etmek için etkin yöntemler kullanılır.
  • Testlerin yeterliliği, testlerin uygulanma seviyesine göre belirlenir.
        Örnek seviyeler:         i. Birim testi

        ii. Birleştirme testi

        iii. Sistem testi

        iv. Kabuledilirlik testi         Ayrıca fonskyionel, yapısal, istatistiksel testler de önemlidir.

  • Her test seviyesi için test hazırlık kriterleri belirlenir ve kullanılır.
        Örnek kriterler:

        i. Birleştirme testinden önce birim testinin sağlıklı bir şekilde bitmiş olması

        ii. Sistem testine başlamadan önce birleştirme testinin sağlıklı bir şekilde bitmesi

        iii. Kabul edilirlik testinden önce testin hazır olup olmadığının kontrol edilmesi

  • Yazılımın veya ortamın değişmesi durumunda regresyon testleri yapılır.
  • Test planı, süreçleri kullanılmadan önce gözden geçirilir.
  • Test planları, süreçleri kontrol edilir ve yönetilir.
        Kontrol etmek ve yönetmek, programın belirli bir zamandaki sürümünün biliniyor olması, değişikliklerin kontrollü yapılması anlamına gelmektedir.

  • Yazılım gereksinimleri, tasarımı, kodlama değiştiği zamanlarda test planları, süreçleri de buna bağlı olarak değiştirilir.
7. Projenin tanımlanmış yazılım sürecine göre birleştirme testleri yapılır.

  • Yazılım geliştirme planına bağlı olarak birleştirme testleri planları belgelenir.
  • Yazılım gereksinimleri, tasarımı, kabul edilirlik testlerinden sorumlu kişiler, birleştirme testlerini, süreçlerini gözden geçirir.
  • Yazılım birleştirme testleri yazılım gereksinimleri dökümanına bağlı kalarak gerçekleştirilir.
8. Yazılımın gereksinimleri karşılayıp karşılamadığını görmek için sistem testleri ve kabul edilirlik testleri yapılır.Sistem testleri, gereksinimlerin ne kadar karşılandığını ortaya koyar.Kabul edilirlik testleri ise, müşteri ve son kullanıcıya yazılımın tüm gereksinimleri karşıladığını göstermek için yapılır.

  • Yazılımı test etmek için gerekli kaynaklar, önceden yapılır.
        Örnek hazırlıklar:         i. Test dökümanı hazırlama

        ii. Test kaynaklarını planlama

        iii. Test geliştirme         iv. Simülator geliştirme

  • Sistem testi ve kabuledilirlik testi, test planı ile belgelenir ve son kullanıcılar tarafından gözden geçirilir.
        Test planının içeriği:         i. Genel test yaklaşımı

        ii. Müşterinin ve son kullanıcıların sorumlulukları

        iii. Test özellikleri, aletleri, test destek gereksinimleri

        iv. Kabul edilirlik kriterleri

  • Test süreçleri, yazılım geliştiricilerinden bağımsız bir grup tarafından hazırlanır.
  • Hazırlanan test süreçleri, müşteriler, son kullanıcılar tarafından gözden geçirilir ve onaylanır.
  • Test sırasında karşılaşılan problemler raporlanır.
  • Test sonuçları da yazılımın gereksinimleri karşılayıp karşılayamadığını bildirecek şekilde raporlanır.
  • Test sonuçları yönetimi yapılır.
9. Yazılımın bakımının yapılması ve işletilmesi için gerekli dökümanlar, yazılımın proje yaşam döngüsü içinde yaratılır.

  • Dökümanları geliştirmek için uygun olan araçlar kullanılır.
        Örnek araçlar:         i. Kelime işlemcileri

        ii. Döküman tekrar kullanılabilirliğini sağlayan raporlar

  • Raporlama uzmanları, döükmanın gelişmesi, bakımı, planlanması gibi evrelerde aktif olarak yer alırlar.
  • Dökümanın ilk versiyonları, proje yaşam döngüsü içinde çok erken bir zamanda yaratılır.
        Dökümanın bölümleri olarak aşağıdakileri sayabiliriz:        i. Eğitim dökümanları

        ii. Kullanım klavuzu

        iii. Operatör klavuzu         iv. Bakım klavuzu

  • Dökümanın son hali, kabul edilebilirlik testi ile karşılaştırılır.
  • Döküman gözden geçirilir.
  • Döküman kontrol edilir ve yönetilir.
  • Son döküman, son kullanıcılar ve müşteriler tarafından onaylanır.
10. Test sonucu elde edilen veriler incelnir, analiz edilir ve hatalar bulunur.

        Analiz edilen veriler:         i. Hata tanımlamaları

        ii. Hata kategorileri

        iii. Hatanın ciddiyeti

        iv. Hata içeren birim

        v Hatadan etkilenen birimler

        vi. Hatanın bulunduğu aktiviteler

        vii. Hatanın karşılaşıldığı senaryo

        viii. Hata durumundaki gerçek sonuç ve beklenen sonuç

11. Yazılım planlarını, süreç açıklamalarını, gereksinimleri, tasarımı, test planlarını, test yordamlarını içine alan yazılım ürünü için, tutarlılık sağlanır.

  • Yazılım ürününün dökümanları yaratılır.
  • Yazılım gereksinimleri, tasarımı, kodlaması, testleri düzenli bir şekilde takip edilir, kontrol edilir.
  • Yazılı ürünlerinde, planlarında, süreç tanımlarında, aktivitelerinde olan değişiklikler analiz edilir.
        i. Değişklik yapılmadan önce, değişikliğin etkisi inelenir.

        ii. Gereksinimlerin değiştirilmesi istendiğinde, herhangi bir yazılım değişikliğine gidilmeden önce, gereksinimlerin değişiklikleri onaylanır.

        iii. Yazılım ürünlerine, planlarına ve aktivitelerine yapılan değişiklikler koordine edilir.

        iv. Değişiklikten ekilenen gruplarla iletişime girilir.             Etkilenmesi olası gruplar:

            - yazılım mühendisliği grubu             - yazılım tahminleme grubu

            - yazılım test grubu             - yazılım kalite güvencesi grubu

            - yazılım yapılanış yönetimi grubu

6.5. Ölçümleme & Analiz

1. Yazılım ürünün fonksiyonelliğini ve kalitesini ölçmek için ölçümlemeler yapılır.

    Örnek ölçümler:     i. Yazılım ürünündeki hataların sayısı, ciddiyeti, tipleri

    ii. Güvenlik, sistem yapılanışı, performans, güvenilirlik ölçümleri

2. Yazılım ürünü mühendislik aktivitelerini ölçmek için ölçümlemeler yapılır.

    Örnek ölçümler:

    i. Her gereksinimin proje yaşam döngüsündeki durumu     ii. Ciddiyetine ve sürdüğü süreye göre problem raporları incelemesi

    iii. Gereksinimlerdeki değişiklik aktiviteleri     vi. Önerilen değişiklik sayısı

    v. Değişiklikleri gerçekleştirmek için gerekli maliyet

6.6. Gerçekleştirim-Kodlama Doğrulaması

1. Üst yönetim tarafından periyodik olarak yazılım ürün mühendisliği aktiviteleri denetlenir.

2. Proje yöneticisi tarafından periyodik olarak yazılım ürün mühendisliği aktiviteleri denetlenir.    Bu denetlemeler, aşağıdaki maddelerle test edilir:

    i. Yazılım gereksinimlerinin tamamlanmış, doğru, tutarlı, uygulanabilir, test edilebilir olduğu,     ii. Her yazılım mühendisliği görevinin tamamlanmışlık ve hazır olma kriterlerine uygunluğu,

    iii.Yazılım ürünlerinin belirlenen standardlara ve gereksinimlere uygunluğu     iv.Gerekli testlerin yapıldığı

    v.Yazılıma uygulanan kabul edilirlik testlerinin önceden belirlenmiş plan ve yordamlara uygun olduğu     vi.Testlerin kabul edilirlik kriterlerini sağladığı

    vii.Testlerin yeterli olduğu     viii.Testlerin kaydedildiği ve tamamlandığı

Yukarıdaki adımlardan geçildikten sonra, projemizin standardlara ugyunluğundan söz edilebilir. Standardlara uygunluk için anlatılan rehber, tabi ki   mutlaka uygulanması gereken bir rehber değildir. Farklı yöntemler ile, farklı bakış açıları ile de yazılım ürün mühendisliği kapsamında CMM Seviye-3 kriterleri tanımlanabilir fakat yukarıda anlatılan rehber, genelde kabul edilmiş ve uygulanmaktadır.

7. KAYNAKÇA

Practical Software Measurement, A foundation for objective project management, PSM SPE Workshop, Office of the Under Secretary of Defense, Acquisition and Technology

SSC SAN DIEGO POLICY FOR SOFTWARE PRODUCT ENGINEERING, Version 1.1 - 10/9/97

Level 3 - Software Product Engineering, Software Product Engineering a key process area for level 3: Defined, www.sei.org

Selected Key Practices, http://www.dfki.de/fluids/References.html#Paulk:93b

www.stickyminds.com

Software Product Engineering Workshop 1999.pdf

Software Product Engineering Workshop 2000.pdf

http://www.dfki.de/fluids/Software_Quality_Assurance_Management.html

Makale:
Yazılım Ürün Mühendisliği (YÜM) Yazılım Mühendisliği Tanıl Ergin
  • Yazılan Yorumlar
  • Yorum Yaz
Bu konu hakkında yayınlanan yorum bulunmamaktadır.
"Yorum Yaz" tabını kullanarak sizde yorumlarınızı yazabilirsiniz.
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor