Sistem mühəndisliyi və proqram mühəndisliyindətələblərin təhlili (ing.requirements analysis) müxtəlif maraqlı tərəflərin mümkün ziddiyyətli tələblərini nəzərə alaraq yeni və ya dəyişdirilmiş məhsul və ya layihəni təmin etmək üçün ehtiyacları və ya şərtləri müəyyən edən tapşırıqlara diqqət yetirir, proqram təminatı və ya sistem tələblərini təhlil edir, sənədləşdirir, sınaqdan keçirir və idarə edir.[2] Tələblərin təhlili proqram təminatı prosesində ilk və ən vacib mərhələlərdən biridir.[3] Bu mərhələ proqramın hansı məqsədə xidmət edəcəyini və istifadəçilərin hansı ehtiyaclarını qarşılamaq üçün nəzərdə tutulduğunu müəyyən edir. Tələblərin təhlili düzgün aparıldıqda, layihənin davamında qarşıya çıxan potensial problemlərin qarşısı alınır və yekun məhsulun keyfiyyəti artır.
Tələblərin təhlili mərhələsi aşağıdakı əsas addımlardan ibarətdir.[4]
Bu addımda, layihəyə dair bütün mümkün məlumatlar toplanır. Müştəri, son istifadəçilər, maraqlı tərəflər və digər mənbələrlə müsahibələr aparılır.[5] traceable,[5]
Tələblər yazılı və ya şifahi formada ola bilər.[6] Tələblər sistemin funksional və qeyri-funksional ehtiyaclarını əhatə etməlidir.
Tələblərin Təsnifatı (ing.Classification of Requirements)
Toplanan tələblər funksional və qeyri-funksional olaraq təsnif edilir:
Funksional Tələblər: Proqramın konkret nə edəcəyini təsvir edir (məsələn, istifadəçinin qeydiyyatdan keçmə funksiyası).
Qeyri-Funksional Tələblər: Proqramın necə işləməli olduğunu müəyyən edir, məsələn, performans, təhlükəsizlik, istifadəçi təcrübəsi.
Tələblərin Prioritetləşdirilməsi (ing.Prioritization of Requirements)
Hər bir tələb layihənin ümumi məqsədinə və resurslarına uyğun olaraq dərəcələndirilir. Ən vacib tələblər birinci prioritet olur və əsas diqqət onların təmin olunmasına yönəlir.
Bu, məhdud resurslarla işlənən layihələr üçün vacibdir, çünki layihə hədəfinə ən uyğun olan tələblər əvvəlcə yerinə yetirilir.
Tələblərin Təhlili və Dəqiqləşdirilməsi (ing.Analysis and Refinement)
Toplanan ilkin tələblər analiz olunur və aydın, dəqiq şəkildə ifadə edilir. Bu mərhələdə tələb dəqiqliyi artırmaq üçün suallar verilir və tələblərin konkret nəticələri müəyyən olunur.
Burada uyğun olmayan, qeyri-müəyyən və ya ziddiyyətli tələblər yenidən nəzərdən keçirilir və müştəri ilə birgə müzakirə olunur.
Tələblərin Sənədləşdirilməsi (ing.Documentation of Requirements)
Tələblər rəsmi sənədlər şəklində yazılır ki, bu sənədlər layihənin gələcək mərhələlərində istinad nöqtəsi kimi istifadə olunsun.[7]
Ən geniş istifadə olunan sənədləşdirmə formaları Tələblərin Spesifikasiyası Sənədi (SRS — ing.Software Requirements Specification) və İstifadəçi Tələbləri Sənədidir (URS — ing.User Requirements Specification).
Tələblərin Doğrulanması və Təsdiqi (Verification and Validation of Requirements)
Tələblərin doğrulanması zamanı onların düzgün başa düşüldüyü və proqram təminatının bu tələbləri ödəyə biləcəyi yoxlanılır.
Müştəri və maraqlı tərəflər sənədləri nəzərdən keçirir və təsdiq edir ki, hər bir tələb onların gözləntilərinə və biznes məqsədlərinə uyğundur.
Tələblərin İdarə Edilməsi (ing.Requirements Management)
Tələblərin dəyişə biləcəyi nəzərə alınaraq, təhlil mərhələsindən sonra onların idarə olunması vacibdir.
Layihə müddətində yeni tələblər ortaya çıxa və ya mövcud tələblər dəyişə bilər. Bu zaman tələblərin idarə olunması mexanizmi ilə dəyişikliklər layihənin uyğun mərhələlərinə təsir etmədən tətbiq olunur.
↑Alain Abran; James W. Moore; Pierre Bourque; Robert Dupuis, redaktorlar Chapter 2: Software Requirements // Guide to the software engineering body of knowledge (2004). Los Alamitos, CA: IEEE Computer Society Press. March 2005. ISBN0-7695-2330-7. 2009-03-23 tarixində arxivləşdirilib. İstifadə tarixi: 2007-02-08. It is widely acknowledged within the software industry that software engineering projects are critically vulnerable when these activities are performed poorly.