Кіріспе

Жүйелік инженериядағы талаптарды анықтау және сақтау

Талаптарды жасау (RE) – инженерлік жобалау процесінде талаптарды анықтау, құжаттау және сақтау процесі. Бұл жүйелік инженерия және бағдарламалық жасақтама инженериясында кең таралған рөл. «Талаптарды жасау» термині алғаш рет 1964 жылы «Maintenance, Maintainability, and System Requirements Engineering» конференциясында қолданылған болуы мүмкін, бірақ ол 1990-шы жылдардың соңында IEEE Computer Society-дің 1997 жылғы наурыз айында жарияланған оқу құралы және талаптарды жасау жөніндегі конференциялар сериясының құрылуымен ғана кеңінен қолданысқа енді. Бұл конференциялар сериясы Халықаралық талаптарды жасау конференциясына (International Requirements Engineering Conference) айналды. Суарна модельде талаптарды жасау даму процесінің алғашқы кезеңі ретінде қарастырылады. Кейінгі даму әдістері, соның ішінде бағдарламалық жасақтама үшін Рационалды біріктірілген процесс (RUP), талаптарды жасау жүйе өмірінің бойында жалғаса береді деп есептейді. Жүйелік инженерия практикасының бір бөлігі болып табылатын талаптарды басқару, Халықаралық жүйелік инженерия кеңесінің (INCOSE) нұсқаулықтарында да көрсетілген.

Іс-шаралар

Талаптар инженериясымен байланысты қызметтер әзірленіп жатқан жүйенің түріне және ұйымның нақты тәжірибесіне қарай кең ауқымды болады. Оларға мыналар жатады:

Талаптарды қабылдау немесе талаптарды іздестіру – Дамушылар мен мүдделі тараптар кездеседі, соңғылары бағдарламалық өнімге қатысты қажеттіліктері мен тілектері туралы сұралады. Талаптарды талдау және келіссөздер жүргізу – Талаптар анықталады (даму итеративті болса, жаңаларын қоса алғанда), мүдделі тараптармен келіспеушіліктер шешіледі. Жазбаша және графикалық құралдар (соңғысы көбінесе жобалау кезеңінде қолданылады, бірақ кейбіреулер оларды осы кезеңде де пайдалы деп санайды) көмекші құрал ретінде табысты қолданылады. Жазбаша талдау құралдарының мысалдары: қолданыс сценарийлері және пайдаланушы оқиғалары. Графикалық құралдардың мысалдары: UML және LML. Жүйелік модельдеу – Кейбір инженерлік салалар (немесе нақты жағдайлар) өнімнің құрылысын немесе өндірісін бастамас бұрын толық жобаланып, модельделуін қажет етеді. Сондықтан жобалау кезеңі алдын ала орындалуы тиіс. Мысалы, ғимаратқа келісімшарт бекітіліп, қол қойылмас бұрын жобасы дайындалуы керек. Көптеген салалар жүйе модельдерін Өмірлік цикл модельдеу тілімен (Lifecycle Modeling Language) құрастырады, ал басқалары UML-ді пайдаланады. Ескерту: Көптеген салаларда, мысалы бағдарламалық жасақтама инженериясында, модельдеу қызметтерінің көпшілігі талаптар инженериясы емес, жобалау қызметтері ретінде жіктеледі. Талаптар спецификациясы – Талаптар талаптар спецификациясы (ТС) деп аталатын ресми құжатқа жазылады, ол тек расталғаннан кейін ғана ресми күшке енеді. ТС қажет болған жағдайда жазбаша және графикалық (модельдер) ақпаратты қамти алады. Мысал: Бағдарламалық қамтамасыз ету талаптарының спецификациясы (SRS). Талаптарды тексеру – Құжатталған талаптар мен модельдердің дұрыстығын және мүдделі тараптардың қажеттіліктерін қанағаттандыратынын тексеру. Тек соңғы нұсқа тексеруден өткен жағдайда ғана ТС ресми болады. Талаптарды басқару – Талаптарды қабылдаудан бастап, жүйенің дамуын бақылау және тіпті пайдалануға бергеннен кейін де (мысалы, өзгерістер, кеңейтулер және т.б.) олармен байланысты барлық қызметтерді басқару. Бұл қызметтер кейде хронологиялық кезеңдер ретінде ұсынылса да, іс жүзінде олардың арасында үлкен байланыс болады. Талаптар инженериясы бағдарламалық жасақтама жобаларының сәтті болуына айқын үлес қосатыны дәлелденді.

Қиындықтар

Германияда жүргізілген бір шектеулі зерттеу талаптарды жобалауды іске асыруда туындауы мүмкін проблемаларды көрсетті және сауалнамаға қатысушылардан олардың шынайы проблемалар екендігіне келіседі-келіспейтінін сұрады. Зерттеу нәтижелері жалпылама емес деп көрсетілді, бірақ негізгі проблемалар толық емес талаптар, өзгеріп отыратын мақсаттар және уақыт шектеулері болды, ал коммуникациядағы қателер, іздеуге болмау, терминологиялық қиындықтар және жауапкершіліктің белгісіздігі сияқты мәселелер аз болды.

Сын

Проблеманы құрылымдау, қажеттіліктерді инженерияның маңызды аспектісі, жобалау өнімділігін төмендетуі мүмкін деген болжам бар. Зерттеулер көрсетіп тұрғандай, егер қажеттіліктерді инженерия процесінде кемшіліктер болса, нақты талаптардың болмауына қарамастан, бағдарламалық жасақтама талаптары жасалуы мүмкін, бұл жағдайда жобалау шешімдері талаптар ретінде қате көрсетіліп, иллюзия тудыруы мүмкін.