Кіріспе

Бағдарламалау сапасын жақсарту процесі

Жеке бағдарламалық қамтамасыз ету процесі (PSP) – бағдарламалық қамтамасыз ету инженерлеріне бағдарламалық қамтамасыз етуді әзірлеу тәсілдеріне рет пен тәртіп енгізу және олардың жоспарланған және нақты кодты әзірлеуін қадағалау арқылы өз жұмысын жақсырақ түсінуге және жақсартуға көмектесу үшін жасалған құрылымдық бағдарламалық қамтамасыз етуді дамыту процесі. Ол әзірлеушілерге өнімдерінің сапасын қалай басқаруға, тиімді жоспар құруға және жауапкершіліктерді қабылдауға болатынын нақты көрсетеді. Сонымен қатар, ол оларға өз жоспарларын негіздеуге қажетті деректерді ұсынады. Олар даму уақытын, қателерді және көлем деректерін талдап, қарастыру арқылы өз жұмыстарын бағалай алады және жақсартуға бағыт бере алады. PSP-ны Уоттс Хамфри Software Engineering Institute (SEI) Capability Maturity Model (CMM) негізгі принциптерін жеке әзірлеушінің бағдарламалық қамтамасыз етуді дамыту тәжірибесіне қолдану үшін құрды. Ол бағдарламалық қамтамасыз ету инженерлеріне командалық бағдарламалық қамтамасыз ету процесі (TSP) тобында жұмыс істеу үшін қажетті процестік біліктерді береді. "Personal Software Process" және "PSP" – Карнеги Меллон университетінің тіркелген қызмет таңбалары.

Мақсаттар

PSP бағдарламалық жасақтама инженерлеріне жеке бағдарламалық жасақтаманы әзірлеу процестерін жақсарту үшін реттелген әдістерді ұсынуды мақсат етеді. PSP бағдарламалық жасақтама инженерлеріне:

Бағалау және жоспарлау дағдыларын жетілдіруге көмектеседі. Орындауға болатын міндеттемелерді қабылдауға мүмкіндік береді. Жобалардың сапасын басқаруға көмектеседі. Жұмыстағы кемшіліктер санын азайтуға септеседі.

Жоспарлау және бақылау

Уақыт, ақаулар және көлем деректерін тіркеу – PSP жобаларын жоспарлау және бақылаудың маңызды бөлігі болып табылады, себебі тарихи деректер бағалаудың дәлдігін арттыру үшін пайдаланылады. PSP жобалаушының жобаларды дәлірек жоспарлау үшін бағалау дағдыларын жақсарту мақсатында PROxy негізделген бағалау (PROBE) әдісін қолданады. Жобаны бақылау үшін PSP табысқа жету әдісін пайдаланады. PSP сонымен қатар корреляция, сызықтық регрессия және стандартты ауытқу сияқты статистикалық техникаларды қолданады, олар деректерді бағалауды, жоспарлауды және сапаны жақсартуға арналған пайдалы ақпаратқа айналдырады. Бұл статистикалық формулалар PSP құралымен есептеледі.

PSP-ны пайдалану

PSP әзірлеушінің жеке процесін жақсартуға бағытталған; демек, PSP әзірлеушілері процесті өздерінің жеке қажеттіліктеріне сәйкес етіп, оны үздіксіз жетілдіре беруі керек.

PSP және TSP

Іс жүзінде PSP дағдылары TSP командалық ортада қолданылады. TSP командалары PSP оқыған және жобаның жауапкершілік аймақтарына ерікті түрде кірісетін бағдарламашылардан құралады, сондықтан жобаны команданың өзі басқарады. PSP дағдыларын қолдану арқылы жиналған жеке деректерді пайдалана отырып, команда жоспарлар жасайды, бағалаулар береді және сапаны бақылайды. PSP процестік әдістерін қолдану TSP командаларына уақыт талаптарын орындауға және жоғары сапалы бағдарламалық қамтамасыз етуді жасауға көмектеседі. Мысалы, Уотс Хамфридің зерттеулеріне сәйкес, барлық бағдарламалық жобалардың үштен бірі сәтсіз аяқталады, бірақ SEI 13 әртүрлі ұйымдағы 20 TSP жобасын зерттегенде, TSP командалары жоспарланған мерзімдерін орташа есеппен тек алты пайызға ғана артта қалды. Уақыт талаптарын сәтті орындау тарихи деректерді пайдалану арқылы дәл бағалау жасауға байланысты, сондықтан жобалар нақты жоспарларға негізделген, ал PSP сапалық әдістерін қолдану арқасында ақаулары аз бағдарламалық қамтамасыз ету жасалады, бұл интеграция және қабылдау сынағы сияқты кезеңдерде ақауларды жоюға жұмсалатын уақытты азайтады.

PSP және басқа әдістемелер

PSP – әрбір дамытушының қажеттіліктеріне бейімделуге болатын жеке процесс. Ол нақты бағдарламалау немесе жобалау әдістемесімен байланысты емес; демек, оны әртүрлі әдістемелермен, соның ішінде Agile бағдарламалық жасақтаманы әзірлеумен бірге қолдануға болады. Бағдарламалық жасақтаманы жасау әдістерін болжамдыдан бейімдемеліге дейін қарастыруға болады. PSP – болжамды әдістеме, ал Agile – бейімдемелі деп есептеледі, бірақ олардың айырмашылықтарына қарамастан, TSP/PSP және Agile бірнеше ұғымдар мен тәсілдерді бөліседі – әсіресе команданы ұйымдастыру тұрғысынан. Олар командаға: мақсаттары мен стандарттарын анықтауға, жұмысты бағалау және жоспарлауға, реалистік және қол жетімді кестелерді анықтауға, жоспарлар жасауға және процестерді жақсартуға мүмкіндік береді. Agile және TSP/PSP екеуі де команда мүшелерінің өз жұмыстарына жауапкершілікпен қарауы және өзара келісіммен реалистік жоспар құру арқылы сенім мен жауапкершілік атмосферасын қалыптастыру идеясын бөліседі. Дегенмен, TSP/PSP, Agile-ден процесті құжаттауға және жоба кестесін болжау мен анықтау үшін деректерді пайдалануға көбірек мән беруімен ерекшеленеді.

Сертификаттау

Карнеги Меллон университетінің SEI-і PSP бойынша сертификаттауды ұсынады. SEI сертификатталған PSP әзірлеушісі болу үшін қадамдар: PSP-ні оқып үйрену; сертификаттау емтиханын тапсыру; куәліктерді жаңарту. PSP әзірлеушісі емтиханы PSP білім қорынан алынған ұғымдарға негізделген. SEI сертификаттау бойынша жиі қойылатын сұрақтарды жариялайды.