| 
      
        |  SİTE 
            İÇİ ARAMA |  
        |  |  
      
        |  Blogroll |  
        |  |    | 
        
            |  |  
            | 
                    
                        | SEI-CMM Düzey-2 Kapsamında Efektif Bir Gereksinimlerin Yönetimi Planı İçin Bir Rehber |  |  
                        | 
	
    
		
            | Gönderiliyor lütfen bekleyin... | 
 |  |  
            | *(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çlarYazı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
YeteneklerYetenek –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ımlanmaSistem 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ürmeAtanmış 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).
 
 
  2.Yazılımın teknik gereksinimleri.Anlaşma, koşul, anlaşmadan doğan terim 
örnekleri:
Hazırlanması gereken ürünler
Hazırlanma tarihleri
Ara raporlar (milestones) 
 
 
  3.Yazılım ürünlerinin atanmış   
gereksinimleri karşılayıp karşılamadığını ölçmek için kullanılacak olan kabul 
edilebilirlik kriterleri.Teknik
gereksinim örnekleri:  Son kullanıcı, işlemci, destek, birleştirme 
fonksiyonlarıPerformans gereksinimleri  Tasarım kısıtlamaları     Programlama dili  Arayüz
gereksinimleri 
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 AktivitelerAktivite – 1 Yazılım mühendisliği grubu 
tarafından, gereksinimler yazılım projesine geçirilmeden önce atanmış 
gereksinimleri inceleme1. Tamamlanmamış ve unutulmuş gereksinimler 
düzeltilir.    2.Atanmış gereksinimlerin:
 
 
    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.
 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. 
 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üvenceBelgeleme/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 
kullanmakAtanmış 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
& AnalizAtanmış 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ğrulamaDoğrulama – 1 Atanmış gereksinimlerin 
yönetimi, periyodik aralıklarla üst düzey yönetim tarafından kontrol edilirBelirli 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 edilirDoğrulama – 3 Yazılım kalite güvence grubu 
iş ürünlerini ve diğer sonuçları kontrol ederBu 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?
 
 
 
  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.
Ek gereksinimlerin belirlenmesinde proje 
özellikleri de göz önüne alınmalıdır 
GEREKSİNİMLERİN YÖNETİMİNDE KULLANILAN ARAÇLARAş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
 |  
            |  |  
            |  |  
            | 
                    
                        
                            
                        
                            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
                         |  
            |  |  |