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 : 19.2.2004
Okunma Sayısı : 23363
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 25.11.2024
Turhal Temizer
Mac OS/X Removing CUDA 25.11.2024
Burak Selim Şenyurt
Rust ile ECS Yaklaşımını Anlamak 25.11.2024
Burak Selim Şenyurt
Birlikte Rust Öğrenelim Serisi 25.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
SEI-CMM Düzey-2 Kapsamında Efektif Bir Gereksinimlerin Yönetimi Planı İçin Bir Rehber
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
*(SEI: Software Engineering Institute, Yazılım Mühendisliği Enstitüsü) *(CMM-Capability Maturity Level, Yetenek Olgunluk Seviyesi)

Proje yönetimi, gereksinimlerin yönetimi sürecinin verimliliğini ölçebilir. Bunun için şu ölçütler kullanılabilir: Her gereksinimin durumu, gereksinimlerin toplam kümülatif değişim sayısı, efor ve gereksinimlerin yönetiminde harcanan bütçe. Gereksinimlerin yönetimi sürecinin başarısızlığa uğraması direkt olarak proje yönetimini de etkileyeceği için detaylı bir “gereksinimlerin yönetimi planı” yapılmasında fayda vardır.

Amaçlar

Yazılıma atanmış olan gereksinimleri, yazılım mühendisliği ve yönetim için bir temel referans olmaları için kontrol etmek.Yazılıma atanmış   sistem gereksinimleri ile yazılım planları, ürünleri, aktiviteleri tutarlı tutabilmek. Bu amaçlara göre; 1 – Proje, yazılıma atanmış sistem gereksinimleri için yazılı ve kurumsal bir anlaşmayı takip etmelidir.

Yazılıma atanmış bu sistem gereksinimlerine “atanmış gereksinimler” denir. Atanmış gereksinimler, yazılım bileşenleri tarafından gerçekleştirilen sistem gereksinimlerinin bir alt kümesidir. Bu atanmış gereksinimler yazılım geliştirme planının birincil girdilerini oluşturur. Yazılım gereksinimleri analizi atanmış gereksinimleri sadeleştirerek yazılım gereksinimleri belgesi haline getirir. Bu oluşturulan belge şunları belirtir:
  • Atanmış gereksinimler belge haline getirilmiş, raporlanmıştır.
  • Atanmış gereksinimler, yazılım yöneticileri, sistem test grubu, yazılım mühendisliği grubu, sistem mühendisliği grubu, yazılım kalite güvence grubu, yazılım yapılandırma (konfigurasyon) yönetim grubu, belgeleme/raporlama destek grubu tarafından gözden geçirilmiştir.
  • Yazılım planları, ürünleri, aktiviteleri atanmış gereksinimlerdeki değişikliklere tutarlı bir şekilde değiştirilmiştir.

Gerekli Yetenekler

Yetenek –1 Her proje için sistem gereksinimlerini analiz etme ve bunları yazılım, donanım ve diğer sistem bileşenlerine dağıtma sorumluluğu tanımlanma

Sistem gereksinilerinin analizi ve atamalarının yapılması yazılım mühendisliği grubunun sorumluluğu değildir fakat işleri için bir önkoşuldur. Sorumluluk şunları kapsar:     1. Gereksinimlerin yönetimi ve belgelendirilmesi ve bunların proje yaşam döngüsü boyunca dağıtımını yapma

    2. Sistem gereksinimlerindeki değişiklikleri ve dağıtımlarını etkilemek, yönlendirme

Yetenek – 2 Atanmış gereksinimleri belgeleme/raporlama, yazıya dönüştürme

Atanmış gereksinimler aşağıdakileri içerir:      1.Yazılım projesinin aktivitesini belirleyen teknik olmayan gereksinimler (anlaşmalar, koşullar, anlaşma ile ilgili terimler).

  • Anlaşma, koşul, anlaşmadan doğan terim örnekleri:
  • Hazırlanması gereken ürünler
  • Hazırlanma tarihleri
  • Ara raporlar (milestones)
    2.Yazılımın teknik gereksinimleri.

  • Teknik gereksinim örnekleri:
  • Son kullanıcı, işlemci, destek, birleştirme fonksiyonları
  • Performans gereksinimleri
  • Tasarım kısıtlamaları
  •  Programlama dili
  • Arayüz gereksinimleri
3.Yazılım ürünlerinin atanmış   gereksinimleri karşılayıp karşılamadığını ölçmek için kullanılacak olan kabul edilebilirlik kriterleri.

Yetenek – 3 Atanmış gereksinimler yönetiminin yapılabilmesi için kaynak ve bütçe sağlanması

    1. Uygulama alanında ve yazılım mühendisliğinde yeterli tecrübesi olan kişilerin gereksinimleri yönetmek için atanması.     2. Gereksinim yönetimi için gerekli olan araçların sağlanması.

    Örnek araçlar:
  • Hesap çizelgesi programları
  • Yapılandırma yönetimi programları
  • İzleme programları
  • Test yönetimi programları

Yetenek 4 – Yazılım mühendisliği grubu üyeleri ve diğer yazılm ile ilgili grupların üyelerinin kendi gereksinim yönetim aktivitelerini yapabilmeleri için eğitimi

    Örnek olarak:

  • Projede kullanılan metod, standard, süreç eğitimi
  • Uygulama alanı eğitimi (sağlık, eğitim, hukuk vs.)

Yapılacak Aktiviteler

Aktivite – 1 Yazılım mühendisliği grubu tarafından, gereksinimler yazılım projesine geçirilmeden önce atanmış gereksinimleri inceleme

    1. Tamamlanmamış ve unutulmuş gereksinimler düzeltilir.    2.Atanmış gereksinimlerin:

  •  yapılabilir, yazılım ile gerçekleştirilebilir,
  •  düzgün ve açıkca belirtilmiş,
  •  test edilebilir,
  •  birbiriyle tutarlı olup olmadıkları kontrol edilir.
    3. Gereksinimleri atamaktan ve analiz etmekten sorumlu olan grup tarafından potansiyel olarak sorun teşkil edecek gereksinimler gözden geçirilir ve gerekli değişiklikler yapılır.

    4. Atanmış gereksinimlerden etkilenen gruplar ile görüşmeler yapılır.

    Etkilenen grup örnekleri:
  • Yazılım mühendisliği
  • Yazılım tahminleme
  • Sistem mühendisliği
  • Sistem test
  • Yazılım kalite güvence
  • Belgeleme/raporlama destek

Aktivite – 2 Yazılım mühendisliği grubu, atanan gereksinimleri, yazılım planını, ürünü, aktiviteler için temel olarak kullanmak

    Atanmış gereksinimler:     1. Kontrol edilebilir, yönetilebilirdir. (Herhangi bir anda, ürünün hangi versiyonu olduğu bilinmektedir ve ne gibi değişiklikler yapıldığı bilinmektedir.)

    2. Yazılım planı için referans olur     3. Yazılım gereksinimleri geliştirme için referans olur.

Aktivite – 3 Atanmış gereksinimlere yapılan değişiklikler incelenir ve yazılım projesine dahil edilir.

    1. Kurum dışı gruplarla tayin edilen gereksinimler üst düzey yöneticiler tarafından gözden geçirilir, kurum içi gruplara tayin edilen gereksinimler etkilenen gruplar tarafından gözden geçirilir.     2. Atanmış gereksinimlerdeki değişikler yüzünden plan, ürün, aktivitelerde yapılması gereken değişiklikler

  • belirlenir,
  • değerlendirilir,
  • risk analizi yapılır,
  • planlanır,
  • etkilenen gruplarla iletişime geçilir,
  • tamamlanana kadar gözlemlenir.

Ölçümleme & Analiz

Atanmış gereksinimleri yönetmek için kullanılan aktivitelerin durumlarını belirlemek için ölçümlemeler kullanılır

    Ölçümleme örnekleri:
  • Her gereksinimin durumu,
  • Atanmış gereksinimler için değişim aktiviteleri,
  • Atanmış gereksinimlere uygulanan değişimlerin kümülatif sayısı

Gerçekleştirimde Doğrulama

Doğrulama – 1 Atanmış gereksinimlerin yönetimi, periyodik aralıklarla üst düzey yönetim tarafından kontrol edilir

Belirli aralıklarla yapılan bu kontrollerin amacı yazılım sürecine belirli bir soyutlama ile bakarak yanlışlıkların farkında olmaktır. Kontroller arasındaki zaman, raporlamalar ve yeni gelişmeler için yeterli olmalıdır.

Doğrulama –2 Atanmış gereksinimlerin yönetimi, periyodik ve olay-tabanlı olarak proje yöneticisi tarafından kontrol edilir

Doğrulama – 3 Yazılım kalite güvence grubu iş ürünlerini ve diğer sonuçları kontrol eder

Bu kontroller aşağıdakileri doğrular:     1. Atanmış gereksinimlerdeki problemlerin, tutarsızlıkların yazılım mühendisliği grubu onları ele almadan önce çözülmesi

    2. Atanmış gereksinimlerin değişiminde iş planlarının, ürünlerinin, aktivitelerinin doğru olarak gözden geçirilmesi

Etkili gereksinim yönetimi, yazılım kalitesini arttırır, proje yaşam döngüsü zamanını azaltır.Tam gereksinimler daha iyi bir yazılım tasarımını sağlar ve daha bakımı kolay kod oluşmasını sağlar. Böylelikle zamandan ve paradan tasarruf sağlanır çünkü yanlış mantıkta kodlama yapma veya artık istenmeyen bir özelliğin gerçekleştirimi yapılmamış olur.
 

NOT: CMM gereksinimleri nasıl yöneteceğinizi söylemez. Onun yerine yazılımın gereksinimlerini karşılamak zorunda olduğunu belirtir ve aşağıdaki soruları dikkate almanızı ister:      - Gereksinimlerin ne olduğunu biliyor musun?

      - Tüm yazılım geliştirme ekibi ne yapılmak istendiğini biliyor musun?

      - Gereksinimler değişince ne yapacaksın?

CMM, gereksinimler değişince onları bir şekilde yönetmek gerektiğini, bunu için de izlenmesi gereken yazılı bir belge/poliçe olması gerektiğini söyler.

Gereksinimlerin yönetimindeki asıl amaç, tüm projeleri kapsayan bir süreç hazırlamaktır. Gereksinimler tüm projelerde farklı olacaktır fakat genel şablon aynı olacaktır. Süreç şablonları değişmeyecektir.

NEDEN GEREKSİNİMLERİN YÖNETİMİ?

Bu soruyu verilecek en güzel yanıt şudur: “Tahminlerinizden çok, müşterinin istekleri doğrultusunda bir yazılım üretebilmek için”.

Belirsizlik, tüm proje risklerinin kökünü oluşturur. Belirsizliğin büyük bir bölümünü de yetersiz gereksinimler analizi oluşturur. Gereksiz veya tekrarlanmış gereksinimler, projenin kapsamının, maliyetinin ne olacağının belirlenmesini engeller. Dahası, projeyi durdurma noktasına getirir. Gereksinimlerdeki eksikleri gidermek, tasarım sırasında 10 kat, gerçekleştirim sırasında ise 100 kat daha fazla maliyettedir.

İyi Gereksinim Yönetimi Nedir?

  • Gereksinimlerin takibi, analizi için kullanıcı merkezli, organize bir yaklaşımdır.
  • Gereksinimlerin nasıl ele alınacağını ve gereksinimlerin yönetimi planını kapsar
 -   Kimler nasıl iş ile ilgili olacak?

 -   Gereksinimler ile ilgili hangi bilginin bakımı yapılacak?

 -   Yeni gereksinimlerle karşılaşılınca hangi süreç izlenecek?

  • Ek gereksinimlerin belirlenmesinde proje özellikleri de göz önüne alınmalıdır
Başarılı bir proje dikkatlice oluşturulmuş ve belgelendirilmiş gereksinimlerle başlar. İyi oluşturulmuş bir gereksinimlerin yönetimi süreci proje takımına tüm projeler boyunca yardımcı olur.

GEREKSİNİMLERİN YÖNETİMİNDE KULLANILAN ARAÇLAR

Aşağıda, gereksinim yönetiminde kullanılan araçları görmektesiniz. Şunu unutmayın ki, kullanılan araç ne kadar iyi olursa olsun, kötü belirlenmiş gereksinimleri yönetmek zordur, maliyeti arttırır, çizelgeyi aşmanıza sebep olur. İnternetteki GY Araçları:

Active!Focus: www.xapware.com

AnalystPro: analysttool.com/

Caliber-RM: www.borland.com/caliber/index.html

C.A.R.E. 2.0: www.sophist.de

Catalyze: www.chiaracorp.com/requirements.htm

CORE: www.vtcorp.com

Cradle: www.threesl.com

DOORS: www2.telelogic.com/doors/index/cfm

EasyRM: www.easy-rm.com/easyrm.php3

Focal Point: www.focalpoint.se

IRqA (Integral Requisite Analyzer): www.irqaonline.com

Mac A&D and Win A&D: www.excelsoftware.com

Projectricity: www.projectricity.com/specification_tool.htm

Prosareq Requirements Manager: www.prosa.fi/eng/pr2Req.htm

Qualica QFD: qualica.de/english/requirements_mgmt.htm

RDD-100: www.holagent.com/new/products/modules.html

RDT: igatech.com/rdt/rdtwalkthrough.html

Reconcile: compuware.com/products/reconcile.html

Requirement Tracing System: www.bandwood.com/cms_exec_summary.htm

Requirements Manager: toolforsystems.com/

Requisite Pro: www.rational.com/products/reqpro/index.jsp

RMTrak: www.rmtrak.com

RTM Workshop: www.chipware.com

SLATE: www.eds.com/products/plm/teamcenter/slate

SpeedReq: www.speedev.com

Team-Trace: www.team-trace.com

TrueReq: www.truereq.com

Vital Link:  www.complianceautomation.com

XTie-Requirements Tracer: tbe.com/products/xtie

Kaynaklar:

Brackett, J.W. "Software Requirements." Curriculum Module SEI-CM-19-1.2, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, Pa., Jan 1990. This paper can be downloaded from the web at http://www.asset.com/WSRD/abstracts/ABSTRACT_1715.html.

Romback, H. D. "Software Specification: A Framework." Curriculum Module SEI-CM-11-2.1, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, Pa., Jan. 1990. This paper can be downloaded from the web at http://www.asset.com/WSRD/abstracts/ABSTRACT_1709.html.

McConnell, Steve "Software Project Survival Guide: How to Be Sure Your First Important Project Isn’t Your Last." Redmond, WA: Microsoft Press, 1998.

Jones, Do-While "Repeatable Software Development, Part I: Quality Assurance." Software Developement, May 1995.

Jones, Do-While "Repeatable Software Development, Part II: Configuration and Requirements Management." Software Developement, June 1995.

A Field Guide to Effective Requirements Management Under SEI’s Capability Maturity Model

CMM Key Practices for Level 2 - Requirements Management

LTInsights Managing Requirements for Successful Software Projects

Requirements Management Policies and Procedures

Requirements Management Using Tables

Software Program Managers Network - 16 Critical Software Practices TM

Makale:
SEI-CMM Düzey-2 Kapsamında Efektif Bir Gereksinimlerin Yönetimi Planı İçin Bir Rehber 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