Научная статья на тему 'Метод прогнозування успішності програмних проектів на основі аналізу прогнозованих значень характеристик програмного забезпечення'

Метод прогнозування успішності програмних проектів на основі аналізу прогнозованих значень характеристик програмного забезпечення Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
313
65
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
програмне забезпечення / програмний проект / специфікація вимог до програмного забезпечення / інтегративний показник проекту / успішність програмного проекту / software / software project / software requirements specification / integrative indicator of software project / success of software project.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Красій А. В., Говорущенко Т. О.

Вирішено завдання розроблення методологічного забезпечення для прогнозування успішності програмних проектів. Об’єктом дослідження є процес прогнозування успішності програмних проектів на ранніх етапах життєвого циклу. Предметом дослідження є метод прогнозування успішності програмних проектів на основі аналізу прогнозованих значень характеристик програмного забезпечення. Мета роботи – підвищити достовірність вибору програмних проектів та успішність програмних проектів. Запропоновано інтелектуальний метод прогнозування успішності програмних проектів, який дозволяє обчислювати інтегративні показники успішності різних програмних проектів на основі прогнозованих (штучною нейронною мережею) значень характеристик розроблюваного за проектом програмного забезпечення, а також обчислювати ймовірності успішності цих програмних проектів. Метод відрізняється від відомих тим, що дозволяє прогнозувати успішність програмних проектів, порівнювати програмні проекти комплексно за основними характеристиками проекту і розроблюваного програмного забезпечення та прогнозованим значенням ймовірності успішності (а не тільки за вартістю та тривалістю, як відбувається наразі) та виконувати обґрунтований вибір програмного проекту замовником і розробником для подальшої реалізації. Проведені експерименти з дослідження роботоздатності методу. Результати експериментів дозволяють рекомендувати запропонований метод для використання на практиці.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

THE METHOD OF PREDICTION OF SOFTWARE PROJECTS SUCCESS BASED ON THE ANALYSIS OF PREDICTED VALUES OF SOFTWARE CHARACTERISTICS

The task of development of methodological support for predicting of the software projects success is solved. The object of research is the process of predicting of software projects success at the early lifecycle stages. The subject of the research is a method of prediction of software projects success based on the analysis of predicted values of software characteristics. The purpose of the work is to increase the accuracy of selection of software projects and to increase the success of software projects. The intelligent method of prediction of software projects success is proposed. It provides to calculate the integrative indicators of success of various software projects based on the predicted (by artificial neural network) values of the characteristics of the software developed for the project. It also provides to calculate the probability of success of software projects. The method differs from the known methods, that provides to predict the success of software projects, compare software projects on the main characteristics of the project and the software and on the predicted value of the probability of success (and not just on the cost and duration, as is happening now), and perform the grounded choice of software project by customer and by developer for further realization. Experiments on investigations of the method operability were performed The experimental results provide to recommend the proposed method for use in practice.

Текст научной работы на тему «Метод прогнозування успішності програмних проектів на основі аналізу прогнозованих значень характеристик програмного забезпечення»

УДК 004.891.3:004.3

Красiй А. В.1, Говорущенко Т. О.2

Аспрант кафедри системного програмування Хмельницького нацонального унверситету, Хмельницький, Украна 2Канд. техн. наук, доцент, старший науковий спiвробiтник, доцент кафедри системного програмування Хмельницького

нацонального унверситету, Хмельницький, Украна

МЕТОД ПРОГНОЗУВАННЯ УСП1ШНОСТ1 ПРОГРАМНИХ ПРОЕКТ1В НА ОСНОВ1 АНАЛ1ЗУ ПРОГНОЗОВАНИХ ЗНАЧЕНЬ ХАРАКТЕРИСТИК

ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

Виршено завдання розроблення методолопчного забезпечення для прогнозування успшност програмних проекпв. Об'ектом дослiдження е процес прогнозування усшшност програмних проектiв на раннiх етапах життевого циклу. Предметом дослiдження е метод прогнозування успiшностi програмних проекпв на основi аналiзу прогнозованих значень характеристик програмного забезпечення. Мета роботи - шдвищити достовiрнiсть вибору програмних проекпв та успiшнiсть програмних проекпв. Запропоновано iнтелектуальний метод прогнозування усшшност програмних проектiв, який дозволяе обчислювати iнтегративнi показники успiшностi рiзних програмних проек^в на основi прогнозованих (штучною нейронною мережею) значень характеристик розроблюваного за проектом програмного забезпечення, а також обчислювати ймовiрностi успiшностi цих програмних проек™. Метод вiдрiзняеться вщ вiдомих тим, що дозволяе прогнозувати усшшшсть програмних проектiв, порiвнювати програмш проекти комплексно за основними характеристиками проекту i розроблюваного програмного забезпечення та прогнозованим значенням ймовiрностi усшшност (а не тiльки за вартютю та тривалiстю, як вiдбуваеться нараз^ та виконувати обгрунтований вибiр програмного проекту замовником i розробником для подальшо! реалiзацil. Проведенi експерименти з дослщження роботоздатностi методу. Результати експерименпв дозволяють рекомендувати запропонований метод для використання на практищ.

Ключовi слова: програмне забезпечення, програмний проект, специфжащя вимог до програмного забезпечення, штегративний показник проекту, усшшшсть програмного проекту.

НОМЕНКЛАТУРА

ПЗ - програмне забезпечення;

ЖЦ ПЗ - життевий цикл програмного забезпечення;

ШНМ - штучна нейронна мережа;

Ср - кросплатформшсть програмного забезпечення;

Ся - вартасть програмного забезпечення;

Сх - складшсть програмного забезпечення;

Ояр - тривал1сть програмного проекту;

Еев/ - економ1чна ефектившсть програмного забез-печення;

1рирм

ах- максимальне значення 1нтегративного показника устшноста програмного проекту за характеристиками ПЗ, яю вимагають максишзацп;

/рмрмахХр - штегративний показник усшшноста програмного проекту за характеристиками ПЗ, яю вимагають максишзацп;

1рирм{пЬас1 - максимальне значення штегративного показника устшноста програмного проекту за характеристиками ПЗ, яю вимагають мшм1зацп;

1рирМтЗр - штегративний показник усшшноста програмного проекту за характеристиками ПЗ, яю вимагають мшм1зацп;

РМахЯр - ймов1ршсть устшносп програмного проекту за штегративним показником !рирмах_3 - устшносп програмного проекту;

РМтЯр - ймов1ршсть устшносп програмного проекту за штегративним показником 1рирмь~ - устшносп

Яр

програмного проекту;

- ймов1ршсть устшносп програмного проекту;

Qs - яюсть програмного забезпечення;

© Красш А. В., Говорущенко Т. О., 2015

Б01 10.15588/1607-3274-2015-2-7

R1 - множина показникiв роздiлу 1 специфжацп вимог до ПЗ;

R 2 - множина показникiв роздiлу 2 специфжацп вимог до ПЗ;

R3 - множина показниюв роздiлу 3 специфжацп вимог до ПЗ;

R4 - множина показниюв роздшу 4 специфжацп вимог до ПЗ;

Rs - надшшсть програмного забезпечення;

SCHМах Sp - множина характеристик програмного проекту та розроблюваного ПЗ, збшьшення значень яких вик-ликають збiльшення успiшностi програмного проекту;

SCH Min Sp - множина характеристик програмного проекту та розроблюваного ПЗ, збшьшення значень яких вик-ликають зменшення успiшностi програмного проекту;

SCH Sp - множина основних характеристик програм-ного проекту;

Slcm - тип моделi життевого циклу програмного за-безпечення;

Sp - програмний проект;

SRS - специфжащя вимог до ПЗ;

Ub - зручтсть використання програмного забезпечення.

ВСТУП

Програмний проект - це комплекс взаемозв'язаних заходiв, спрямованих на досягнення поставлених задач з чiтко визначеними цшями протягом заданого перiоду часу та при встановленому бюджетi [1]. Наразi великi програмнi проекти часто виконуються з вiдставанням вiд графiка або з перевищенням кошторису витрат, розроб-лений продукт часто не мае необхщних функцiональних можливостей [2].

Сьогодш, коли юльюсть високобюджетних програм-них проектiв с^мко зростае, дуже важливим i актуаль-ним е вмiння оцiнити можливу усшшшсть програмного проекту на раншх етапах життевого циклу, а також допо-могти замовнику i розробнику обрати ймовiрно успiш-ний програмний проект з множини альтернативних про-грамних проекпв.

Статистика успiшностi програмних проектiв за дани-ми The Standish Group International (Chaos reports) [3] наведена у табл. 1.

Таблиця 1 - Усшшшсть програмних проек™

Категор1я проекту 1994 2000 2006 2012

Усшшш, % 16 28 35 39

Проблемш, % 53 49 46 43

Провальш, % 31 23 19 18

Аналгз даних табл. 1 дав можливгсть побачити, що частка проблемних проекпв е досить сталою величиною i складае мгнгмум 43 %. При цьому лише невелика юльюсть (максимум 39 % за 1994-2012 роки) проектав мае необшдт функцiональнi можливост при iснуючих обмеженнях за вартастю та термiном [3].

Програмнi проекти часто зазнають невдач через по-милки на раннiх етапах життевого циклу ПЗ, а саме [2]: 1) неадекватне формулювання вимог; 2) невдале проек-тування або неефективне планування; 3) невiрне розум-шня або недостатнiй аналiз специфiкацiï; 4) нереалютичш проектнi плани; 5) невiрно обрану модель життевого циклу.

Помилки формулювання вимог та проектування скла-дають 25-55% вих помилок, причому чим бшьший об-сяг ПЗ, тим бшьше помилок вноситься саме на раншх етапах [3]. Слщ врахувати й той факт, що варпсть виправ-лення помилки проектування в два-чотири рази вища вартост виправлення помилки конструювання [3]. 1 ПОСТАНОВКА ЗАДАЧ1

Нехай програмний проект задано специфiкацiею вимог до ПЗ [4] у наступному формалiзованому виглядi [5]: SRS =< R1,R2,R3,R4 > , де R1 - множина показниюв роздiлу 1 специфiкацiï вимог до ПЗ, R2 - множина показниюв роздшу 2, R3 - множина показниюв роздшу 3, R4 - множина показникiв роздшу 4.

Тодi задача оцiнювання усшшноста програмного проекту полягае у:

1) прогнозуваннi (на осжда множин показникiв спе-цифжацп R1, R2, R3, R4 ) характеристик програмного проекту та розроблюваного за ним ПЗ - множини зна-

чень SCHsp = {Es, Dsp, Ecef, Cp, Cx,Ub, Qs, Rs, Slcm};

2) штерпретаци отриманих вдаосних значень характеристик проекту та ПЗ-критершми для тажй iнтерпретапiï е штег-

ративт показники успшносп Ipup-Min (за характеристика-

Sp

ми ПЗ SCHMinSp = {Cs,Dsp,Cx}, SCHMins с SCHSp) та

IPuPMa

-Sp

Sp

(за характеристиками

ПЗ

SCH Max Sp ={Ecef ,Ub, Cp, Qs, Rs},SCH Max Sp c SCHSp);

3) опiнюваннi ймовiрностi успiшностi програмного проекту PSp -критерiями е ймовiрнiсть успiшностi PMin Sp за

тегративним показником IpupMin та ймовiрнiсть уст -

Sp

шностi PMax Sp за штегративним показником IpupMaXs .

2 ОГЛЯД Л1ТЕРАТУРИ

Аналiз основних характеристик ПЗ [6-8] зробив оче-видним факт, що iснуючi математичш iнструменти та методи визначення основних характеристик ПЗ не при-датнi для ощнки ïх значень на раннiх етапах життевого циклу (на етапах формулювання вимог та проектуван-ня), осюльки вони орiентованi на готовий програмний код, а не на наявну на етат проектування специфiкацiю вимог до програмного забезпечення. Саме аналiз спе-цифiкацiï вимог до ПЗ може надати рiзнопланову шфор-мащю для подальшого розрахунку тривалостi програмного проекту, вартосп, кросплатформностi, ефектив-ностi, складностi, якостi та надшност розроблюваного за проектом ПЗ, а також для вибору прийнятноï моделi життевого циклу ПЗ.

Аналiз специфжацп вимог до ПЗ [6, 9, 10] показав, що вже на етат проектування, коли розробник надав готову специфжащю, аналiз ïï вимог дозволяе сформувати мно-жини юльюсних та якiсних показникiв, на осжда яких за-мовник i розробник можуть отримати прогнозоваш кiлькiснi значення характеристик розроблюваного за про-грамним проектом ПЗ, якi дозволяють отримати прогноз усшшносп даного програмного проекту.

3 проведеного аналiзу [6, 11, 12] вщомих автоматизо-ваних засобiв аналiзу специфiкацiй та ощнювання характеристик програмного забезпечення зрозумшо, що всi вони призначенi для роботи з вимогами та специфжащ-ями, причому деякi з них спрямоваш на контроль за реа-лiзацiею вимог, але жоден з них не визначае прогнозова-них значень характеристик ПЗ за специфжащею. Очевидно тодi, що юнукт засоби не прийнятнi для юльюсного оцiнювання характеристик ПЗ на осжда ана-лiзу специфiкацiй.

3 МАТЕР1АЛИ ТА МЕТОДИ

На характеристики тривалост програмного проекту, типу моделi життевого циклу, вартоста, економiчноï ефек-тивносп, складностi, зручностi використання, кросплат-формноста, якостi та надiйностi ПЗ впливають певнi показники специфiкацiï [5], але невiдомi функцiï (формули, залежноста), за якими можна обчислити значення ^ï чи iншоï характеристики ПЗ на осжда множини впливових показниюв специфжацп - всi наявнi формули та методики ощнювання характеристик ПЗ орiентованi на готовий програмний код, а не на специфжащю вимог

Теорема Хехт-Ншьсена [13] доводить можливють роз-в'язку задачi представлення багатовимiрноï функцiï дов-iльного вигляду на ШНМ, тому для реалiзацiï невiдомих функцiй залежностi характеристик ПЗ вщ показниюв спе-цифiкацiï використовуватимемо саме ШНМ. Важкофор-малiзованою задачею прогнозування характеристик ПЗ е визначення ваг та взаемовпливу показниюв специфжацп в межах кожноï характеристики ПЗ. Ця задача може бути виршена за допомогою використання навчежй ШНМ.

У [14] розроблено ШНМ, яка опрацьовуе показники специфшацп, здшснюе апроксимацiю показникiв та надае прогнозованi кiлькiснi оцiнки характеристик ПЗ, на ос-новi яких можна зробити прогноз усшшноста програм-ного проекту та здiйснити вибiр моделi життевого циклу. Концепцiю прогнозування основних характеристик ПЗ на осжга аналiзу специфжацп вимог iз використанням ШНМ представлено на рис. 1.

Отже, за рисунком 1, ШНМ прогнозування характеристик програмного забезпечення на осжда аналiзу спе-ци-фiкацiй видае множину SCH^p =

, Dsp, Ecef, Cp, Cx, Ub, Qs, Rs, Slcm} значень основ-них характеристик програмного проекту Sp та розроб-люваного за ним ПЗ. ШНМ прогнозування характеристик ПЗ на осжда аналiзу специфiкацiй навчена так, що всi значення характеристик ПЗ (результукш данi ШНМ) належатимуть iнтервалу (0;1]. На основi отриманих з ШНМ значень основних характеристик ПЗ замовнику складно ощнити успiшнiсть проекту, оскшьки складно вiрно iнтерпретувати одержанi значення характеристик. Крiм цього, успiшнiсть програмного проекту та роз-роблюваного за ним ПЗ слщ оцiнювати, приймаючи до уваги всi отриманi значення характеристик в комплеки та враховуючи якi значення характеристик викликають зменшення успiшностi програмного проекту, а яю значення - ll збшьшення. Така задача е ще бшьш важкою та незрозумiлою для замовника. Тому варто визначити метод, який допомагатиме замовнику ощнити устшшсть програмного проекту, штерпретуючи та штегруючи одержанi значення характеристик ПЗ.

Збшьшення значень деяких характеристик

SCHMinsp = {Cs, Dsp, Cx} (SCHMinSp c SCHSp) викли-кають зменшення успiшностi програмного проекту. Тодi

значення характеристик множини SCHMin , близькi до

Sp

0, будуть вказувати на високу успiшнiсть програмного

проекту. Збiльшення значень шших характеристик SCHm ={Ecef,Ub, Cp, Qs, Rs}(SCH Max Sp с SCHsp)

викликають збiльшення устшносп програмного проекту. Тодi значення характеристик множини SCHмах ,

Sp

близью до 1, вказуватимуть на високу устшшсть програмного проекту.

Визначення 1. 1нтегративний показник устшносп програмного проекту Sp - це кшьюсний показник уст-шност програмного проекту на основi множини значень прогнозованих характеристик SCH Sp =

= {Cs , Dsp, Ecef, Cp, Cx, Ub, Qs, Rs, Slcm}.

Оскшьки, як показано вище, значення рiзних характеристик по^зному впливають на устшшсть програмного проекту, то введемо два штегративт показники устшносп.

Визначення 2. 1нтегративний показник успiшностi IpupMinSp програмного проекту Sp - це кшьюсний показник устшносп програмного проекту на осжга множини значень прогнозованих характеристик

SCH Min Sp ={Cs, ^ Cx}.

Визначення 3. 1нтегративний показник успiшностi IpupMaxSp програмного проекту Sp - це кшьюсний показник устшносп програмного проекту на осжга множини значень прогнозованих характеристик

SCH Max Sp ={Ecef,Ub, Cp, Qs, Rs}.

Для отримання IpupM[ns проекту Sp створимо графiк в системi координат, яка мае три основих вiсi (для трьох характеристик - Cs е (0;1], Dsp е (0;1], Cx е (0;1]) -рис. 2. Для отримання IpupMax проекту Sp створимо

Sp

графiк в системi координат, яка мае п'ять основих осей (для п'яти характеристик - Ecef е (0;1], Ub е (0;1], Cp е (0;1], Qs е (0;1], Rs е (0;1]) - рис. 3.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рисунок 1 - Концепщя прогнозування характеристик ПЗ на основ! анал1зу специфжацш ¡з використанням нейромережних

шформацшних технологш

Cx - - 1

p Пир Dsp

Рисугок 2 - Система кoopдинaт для IpupMin

ср -р

ficef

1 о

Pиcyнoк 3 - Сиcтeмa кoopдинaт для IpupMa

■Sp

Hexaй ШНМ пpoгнoзyвaння xapaктepиcтик ПЗ нa oc-жда aнaлiзy cпeцифiкaцiй нaдaлa нaм шступт знaчeння xapaктepиcтик для Sp : Csann e (0;1], Dspann e (0;1], Cxann e (0;1] ; EcEfANN e (0;1], ^ANN e (0;1], Cpann e (0;1], Qsann e (0;1], Rsann e (0;1]. Вiдклaдeмo

тoдi oтpимaнi знaчeння y в^тв^ний cиcтeмax кoopди-нaт i oтpимaeмo нacтyпнi гpaфiчнi пpeдcтaвлeння

IpupMinSp (pиc. 4) тa IpupMaxSp Фис 5) пPoeктУ SP.

Iнтeгpaтивним пoкaзникoм ycпiшнocтi IpupMin„ npo-

Sp

гpaмнoгo пpoeктy Sp e плoщa видiлeнoгo cyцiльнoю жи>-нoю лiнieю нa pиc. 4 тpикyтникa CSannDSPannCXann, a iнтeгpaтивним пoкaзникoм ycпiшнocтi IpupMax пpoeк-

Sp

ту Sp e плoщa вид^етого cyцiльнoю жиpнoю лiнieю нa pro. 5 п'ятикyтникa ^J'ann^ann'^Pann^ann^ann . Теда для визнaчeння IpupMinSp пpoeктy Sp (визнaчeння

плoщi тpикyтникa CS annDSP annCXann ) зacтocyeмo фop-мулу плoщi тpикyтникa 3a вiдoмoю cтopoнoю тa висагою:

IpupMinSp = 2 ' (CsANN + DspANN ) • CxANN . (1)

Визнaчaльнoю xapaктepиcтикoю щoдo пpoгнoзyвaн-ня ycпiшнocтi пpoгpaмнoгo пpoeктy (cepeд xapaктepиc-тик тpивaлocтi пpoeктy, вapтocтi тa cклaднocтi ПЗ) e xa-paктepиcтикa cклaднocтi, ocкiльки roerme зpocтaння cклaднocтi фyнкцiй ПЗ неминуче пpизвoдить дo збшьшен-ня тpyдoмicткocтi cтвopeння пpoгpaмниx пpoeктiв, кiлькocтi ^мигок y пpoгpaмнoмy кoдi, a тaкoж дo змен-шення ycпiшнocтi пpoгpaмниx пpoeктiв [3]. Тoмy систе-!a кoopдинaт для IpupMinSp (рис. 2) пoбyдoвaнa тaким чинoм, щo пpи визнaчeннi IpupMin як плoщi тpикyтни-

Sp

Cr - - 1

7

p-- Ix Bsj>

О(О)

Pиcyнoк 4 - Tpai^iqœ пoдaння IpupMin S пpoгpaмнoгo пpoeктy Sp

1 Sp

Cp - -1 ъСрл\у

üb Os __ ^Ш 1

^iwlT OL _ а / / "\ а /ißs.tyy ->

Жсе/jv

О (О)

Pиcyнoк 5 - Tpai^iqœ пoдaння Ipup Max пpoгpaмнoгo

Sp

пpoeктy Sp

кa Cs anndsp anncx ann caмe xapaктepиcтикa cклaднocтi e визнaчaльнoю i не пiдлягae кoмпeнcaцiï iншими xapa^ тepиcтикaми.

Для визшчення IpupMaxS пpoeктy Sp (плoщi п'яти-

кyтникa ^fANN^ANN^ANN^ANN^'ANN) p^6'^ п'ятикутник нa чoтиpи тpикyтники - Ecefa^no^ann ,

^ANN^PANN CPANNOQsANN, qsANNORsANN i зшй-дeмo плoщy для кoжнoга з тpикyтникiв, зacтocoвyючи фopмyлy плoщi тpикyтникa 3a вдамими двoмa CTopom-ми тa кутом мiж ними:

IpupMaxSp = SEcefAШOUЬAШ + SUЬAШOCpAШ + + ScPannOQsANN + SqsANNORsANN = 1 ' EcefANN ' ^ANN ' sin45° +1 -Ul

' CpANN ' sin 45° +

1 1 (2) + - ' cPANN • QsANN ' sin45°+ 2 ' QsANN • RsANN ' sin45° =

= 0,3536 ' (EcefANN 'иЬANN + mANN ' CPANN + + Cp ANN ' Qs ANN + Qs ANN ' RsANN ).

Iнтeгpaтивнi ^газники устш^и! пpoгpaмнoгo ^o-екту дaють змoгy визнaчити ймoвipнicть йoга ycпiшнocтi.

Для визнaчeння ймoвipнocтi ycпiшнocтi пpoгpaмнo-гo пpoeктy 3a iнтeгpaтивним пoкaзникoм ycпiшнocтi

IpupMin Sp слщ знaйти мaкcимaльнe знaчeння iнтeгpaтив-

нoгo пoкaзникa ycпiшнocтi IpupMintad (плoщy мaкcи-

мaльнo мoжливoгo тpикyтникa CsDspCx, oкpecлeнoгo пyнктиpнoю лiнieю нa pro. 6).

Sp

Оскiльки ШНМ прогнозування характеристик ПЗ на ochobí аналiзу специфiкацiй навчена так, що максимальш значення характеристик вартостi, тривалостi та складносл, отриманi з не!, становлять 1, то:

1

1

IPuPMinbad = - • (Cs + Dsp) • Cx = ^ • (1 +1) -1 = 1. (3)

Для визначення ймовiрностi успiшностi програмно-го проекту за штегративним показником успiшностi IpupMaxSp слiд знайти максимальне значення штегратив-ного показника успiшностi IpupMaXb t (площу максимально можливого п'ятикутника EcefUbCpQsRs, окрес-леного пунктирною лшею на рис. 7).

Оскшьки ШНМ прогнозування характеристик ПЗ на основi аналiзу специфiкацiй навчена так, що максимальш значення характеристик екожмчно! ефекгивносп, зруч-ностi використання, кросплатформноста, якостi та на-дшносп, отриманi з не!, становлять 1, то:

ipupmaxbest = 0,3536 - (ecefann-ubann + ubann - cpann +

+cpann • qsann + qsann - rsann ) = = 0,3536 • (1-1 +1-1 +1-1 +1-1) = 1,4144. (4)

Оскшьки характеристики вартосп, тривалосп та скла дносп вимагають мшмзанд, то максимальне значення IpupMin Sp, яке складае Ipup Min ad = 1 (зпдно формули (3)), - це найпр-

ше значення IpupMin програмного проекту.

Sp

ZU

1 Cíi** О (О) 1

Рисунок 6 - Граф1чне подання штегративного показника

усшшносп IpupMin „ та максимального значення штегратив-

Sp

ного показника успiшностi IpupM

mbad

1 Шефш

Рисунок 7 - Граф1чне подання штегративного показника усшшносп IpupMaxSp та максимального значення штегратив-ного показника усшшносп IpupMaXbest

Тодi за IpupM[nS ймовiрнiсть успiшностi pMin Sp про-грамного проекту Sp складае:

^Min Sp = 1

Ipup M

Ipup M

■ = 1 --

Ipup M

■ = 1 - iPuP Min Sp ■ (5)

Характеристики екожмчно! ефективностi, зручностi використання, кросплатформносл, якостi та надiйностi навпаки вимагають максишзацп, тому максимальне значення IpupMaxS , яке складае IpupMaXb t = 1,4144 (зпдно

формули (4)), - це найкраще значення IpupMax програм-

Sp

ного проекту.

Тодi за IpupMaxSp ймовiрнiсть усшшносп pMaxSp про-грамного проекту Sp складае:

Ipup M

Ipup M

Max Sp

IpupM

1,4144

■ = 0,7070 • IpupMaxSp . (6)

Оскiльки 1рырм[п проекту Бр, на основi якого об-числюеться рмтБр проекту, залежить вiд трьох основних

характеристик ПЗ, а /рмрМах проекту Бр, на осжда яко-

Бр

го обчислюеться рмахБр проекту, залежить вщ п'яти основних характеристик ПЗ, тода усереднене значення ймо-вiрностi успiшностi рБр програмного проекту Бр на ос-

новi двох отриманих значень рмтБр та РмахБр обчислюеться за формулою:

3 • -

Psp =-

Minsp + 5 • -Maxsp 8

(7)

Формалiзацiя даного методу прогнозування усшшносп програмного забезпечення на етат проектування матиме наступний вигляд:

Í7pupMinSp = f1(SCHMinSp ) schsp = {schmnsp , sch^ } => J^^ = f2 (SCHmoxsp ) ^

= f3 (IpupMln p > pp Min bad ) = f4 (IpupMaxp >IpupMaxы„ )

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

^ -Sp = f5 Min Sp > -Max Sp )- (8)

де функщя /К) обчислюеться за формулою (1), функщя /2О - за формулою (2), функщя /з() - за формулою (5), функщя /4О - за формулою (6), функщя /5О - за формулою (7); показники 1рырмть й та 1рирмахь 1 обчислю-ються за формулами (3) та (4) вщповщно. 4ЕКСПЕРИМЕНТИ

Виконаемо експериментальне дослiдження методу прогнозування усшшноста проектiв. Для цього розгля-немо чотири альтернативнi програмнi проекти, розроб-ленi рiзними софтверними компашями для вирiшення одше1 задачi. Нехай для розглядуваних чотирьох альтер-нативних проектiв було отримано наступнi прогнозоваш значення характеристик ПЗ - таблиця 2.

Sp

Sp

1

bad

Sp

Sp

best

=>

5 РЕЗУЛЬТАТИ

Зпдно методу прогнозування устшносп програмних проекпв (формула (8)), обчислимо /рирмь ^ [ !рирмаХз для чотирьох альтернативних програмних проекпв, а та-кож РМтБр, РшахБр> Цих проекпв. Результати обчис-лень представлен у таблиц! 3.

Таблиця 2 - Прогнозоваш значення характеристик ПЗ для чотирьох альтернативних програмних проекпв

Характеристика Проект 1 Проект2 Проект3 Проект4

1 2 3 4 5

Сэ 0,2 0,78 0,61 0,41

Оэр 0,1 0,81 0,59 0,43

Сх 0,15 0,69 0,63 0,38

Еев/ 0,8 0,13 0,52 0,52

иь 0,85 0,15 0,5 0,56

1 2 3 4 5

Ср 0,87 0,21 0,47 0,57

Я* 0,89 0,17 0,49 0,61

я* 0,91 0,24 0,41 0,49

Таблиця 3 - 1нтегративш показники та ймов1рносп усшшносп чотирьох альтернативних програмних проекпв

Величина усшшност! Проект1 Проект2 Проект3 Проект4

^"■рмт^ 0,0225 0,5486 0,3780 0,1596

/р«рмах£р 1,0621 0,0451 0,3275 0,4445

РЫт Бр 0,9775 (97,75 %) 0,4514 (45,14 %) 0,6220 (62,20 %) 0,8404 (84,04 %)

РМах Бр 0,7509 (75,09 %) 0,0319 (3,19 %) 0,2316 (23,16 %) 0,3143 (31,43 %)

% 0,8359 (83,59 %) 0,1892 (18,92 %) 0,3780 (37,80 %) 0,5116 (51,16 %)

6 ОБГОВОРЕННЯ

Так, за результатами, наведеними у таблищ 3, про-ект1 мае найбшьшу ймов1ршсть устшносп (майже 84%), а проект2 - найменшу ймов1ршсть устшносп (близько 19 %). Враховуючи отримаш результати, замовнику для виршення поставлено! задач1 пропонуеться обрати проект 1, осюльки саме вш мае найкращ1 характеристики та найвищу ймов1рну усшшшсть.

Нараз1 виб1р програмного проекту як замовником, так \ розробником здшснюеться на основ1 лише прогно-зованих у специфжаци характеристик вартосп, тривалосп та власно! шту!цп. Але не завжди розробнику вдаеться в1рно спрогнозувати ор1ентовану вартасть та тривал1сть при розробленш специфжацп вимог до ПЗ. Як було доведено у [6], варпсть \ тривал1сть слщ ощнювати комплексно з врахуванням вмх впливових вимог (показниюв) специфжацп.

Прогнозоваш в специфжацп значення вартосп та тривалосп чотирьох розглядуваних програмних проекпв наведено у таблищ 4.

Характеристики програмних проекпв з таблищ 4 св1дчать, що для вмх чотирьох програмних проекпв у спе-цифжащях зазначено приблизно однаков1 прогнозоваш варт!сть та тривалють розроблення, але в таблищ 2 показано, що вони мають суттево р1зш ввдност ощнки вмх характеристик ПЗ, в тому числ вартосп та тривалосп, об-числеш комплексно, з врахуванням вмх значущих показниюв специфжацп. Так, вщносна варпсть коливаеться в межах вщ 0,2 (для проекту1) до 0,78 (для проекту2); в1днос-на тривалють - в межах вщ 0,1 (для проекту 1) до 0,81 (для проекту2). Отже, якщо ощнювати вартють та тривал1сть, враховуючи вм значущ1 показники специфжацп, то очевидно, що !х значення не будуть однаковими для чотирьох розглядуваних програмних проекпв. Тому на основ1 лише прогнозованих у специфжаци вартосп та часу розроблення як замовник, так \ розробник може прийняти хибний вис-новок щодо вибору програмного проекту.

Кр1м цього, усшшшсть програмних проекпв залежить не лише вщ вартосп та тривалосп, але й вщ решти основ-них характеристик ПЗ - складносп, ефективносп, зруч-носп використання, кросплатформносп, якосп та над-шносп, яю в явному юльюсному вигляд1 взагал1 не зазна-чеш у специфжацп вимог до ПЗ. Тому саме ощнки вмх основних характеристик, надаш ШНМ, та опрацьоваш зпдно запропонованого методу, допоможуть зробити в1рний виб1р \ реал1зовувати проект, який мае кращ1 значення характеристик та найвищу ймов1ршсть устшносп (серед розглядуваних чотирьох проекпв - це проект1).

Отже, результати роботи запропонованого методу дають можлив1сть замовнику обрати програмний проект з точки зору його основних характеристик та прогно-зовано! устшносп. ВИСНОВКИ

Вперше запропоновано метод прогнозування устшносп програмних проекпв на основ1 анал1зу прогнозованих значень характеристик ПЗ, який базуеться на оп-рацюванш вихщних функщонал1в нейромережно! модел1 процесу прогнозування характеристик ПЗ, яю вщповща-ють юльюсним значенням основних характеристик ПЗ \ дають можливють ощнити сумарний вплив показниюв специфжацп на характеристики розроблюваного за спе-цифжащею ПЗ. Опрацювання вих1дних функщонал1в полягае у обчисленш двох штегративних показниюв устшносп (за характеристиками ПЗ, яю вимагають м1шм1зацп, та за характеристиками ПЗ, яю вимагають максишзацп) для будь-якого описаного специфжащею програмного проекту, на основ1 яких обчислюються значення ймов1рностей устшносп програмного проекту за обома штегративними показниками та усереднено! ймов1рност1 устшносп програмного проекту.

Метод в1др1зняеться вщ ввдомих тим, що дозволяе про-гнозувати усшшшсть програмних проекпв та пор1вню-вати програмш проекти комплексно - за основними ха-

Таблиця 4 - Прогнозоваш в специфжаци значення вартосп та тривалосп для чотирьох альтернативних програмних проекпв

Характеристика Проект1 Проект2 Проект3 Проект4

Прогнозована варт1сть, вказана у специфжаци 87000 грн. 89000 грн. 85000 грн. 86500 грн.

Прогнозована тривал1сть, вказана у специфжаци 200 роб.дшв 210 роб.дшв 198 роб.дшв 203 роб.дшв

рактеристиками проекту i розроблюваного ПЗ та про-гнозованими значеннями ймовiрностi успiшностi (а не тшьки за вартiстю та тривалютю, як вщбуваеться наразi).

Практичне значення розробленого методу полягае у його використаннi для виконання обгрунтованого вибо-ру програмного проекту замовником i розробником для подальшо! реалiзацп.

Перспективою для подальших дослiджень авторiв е пiдвищення достовiрностi роботи даного методу за раху-нок пiдвищення достовiрностi роботи ШНМ прогнозуван-ня основних характеристик ПЗ на основi аналiзу специфь кацш, для чого необхiдним е збiр велико1 кiлькостi показ-никiв та значень характеристик ПЗ зi специфжацш вже розроблених проектiв для побудови навчально! вибiрки ШНМ (для достовiрноl на 100% роботи ШНМ необхвдний об'ем навчально! вибiрки становить 20250 вектс^в). СПИСОК Л1ТЕРАТУРИ

1. Futrell R. T. Quality software project management / R. T. Futrell, D. F. Shafer, L. I. Shafer. - New York : Prentice Hall PTR, 2003. -1136 p.

2. Pomorova O. Intelligent assessment and pediction of software characteristics at the design stage / O. Pomorova, T. Hovorushchenko // American journal of software engineering and applications (AJSEA). - 2013. - Vol. 2. - P. 25-31.

3. CHAOS Manifesto: think big, act small, 2013 [Electronic resource] -Access mode: http://www.versionone.com/assets/img/files/ CHA0SManifesto2013.pdf

4. IEEE 830-1998. Recommended practice for software requirements specifications. - New York : IEEE, 1998 - 31 p.

5. Говорущенко Т. О. Математичне моделювання специфжаци вимог та характеристик програмного забезпечення / Т. О. Говорущенко, А. В. Красш // Радюелектронн i комп'ю-терн системи. - 2014. - № 5. - C. 34-39.

6. Говорущенко Т. О. Визначення характеристик та вибiр моделi життевого циклу програмного забезпечення на основi анал> зу специфжацш / Т. О. Говорущенко, А. В. Красш // Вюник Хмельницького нацюнального ушверситету. - 2013. - № 6. -C. 201-208.

7. Maedche A. Software for people: fundamentals, trends and best practices (Management for professionals) / A. Maedche, A. Botzenhardt, L. Neer. - Berlin : Springer-Verlag Berlin Heidelberg, 2012. - 293 p.

8. Jones C. The economics of software quality / C. Jones, O. Bonsignour. - Boston : Pearson Education, 2012. - 588 p.

9. Wiegers K. Software requirements: 3-rd edition / K. Wiegers, J. Beatty. - Washington : MS Press, 2013. - 640 p.

10. Wiegers K. More about software requirements: Thorny issues and practical advice / K. Wiegers. - Washington : MS Press, 2006. -203 p.

11. Chen A. Visual models for software requirements / A. Chen, J. Beatty. - Washington : MS Press, 2012. - 444 p.

12. Open Source Requirements Management Tool [Electronic resource] - Access mode: http://sourceforge.net/projects/osrmt/

13. Callan R. The essence of neural networks / R. Callan. - London : Prentice Hall Europe, 2003. - 288 p.

14. Красш А. В. Моделювання процесу прогнозування характеристик програмного забезпечення на основi аналiзу специ-фжацш / А. В. Красш // Комп 'ютерно-штегроваш технологи: освгга, наука, виробництво. - 2014. - № 2. - C. 66-76.

Стаття надшшла до редакци 09.12.2014.

Шсля доробки 19.12.2014.

Красий А. В.1, Говорущенко Т. А.2

'Аспирант кафедры системного программирования Хмельницкого национального университета, Хмельницкий, Украина

2Канд. техн. наук, доцент, старший научный сотрудник, доцент кафедры системного программирования Хмельницкого национального университета, Хмельницкий, Украина

МЕТОД ПРОГНОЗИРОВАНИЯ УСПЕШНОСТИ ПРОГРАММНЫХ ПРОЕКТОВ НА ОСНОВЕ АНАЛИЗА ПРОГНОЗИРОВАННЫХ ЗНАЧЕНИЙ ХАРАКТЕРИСТИК ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Решена задача разработки методологического обеспечения для прогнозирования успешности программных проектов. Объектом исследования является процесс прогнозирования успешности программных проектов на ранних этапах жизненного цикла. Предметом исследования является метод прогнозирования успешности программных проектов на основе анали за прогнозируемых значений характеристик програмного обеспечения. Цель работы - повысить достоверность выбора программных проектов и успешность программных проектов. Предложен интеллектуальный метод прогнозирования успешности программных проектов, который позоляет вычислять интегративные показатели успешности различных программных проектов на основе прогнозируемых (искусственной нейронной сетью) значений характеристик разрабатываемого по проекту програмного обеспечения, а также вычислять вероятности успешности этих программных проектов. Метод отличается от известных тем, что позволяет прогнозировать успешность программных проектов, сравнивать программные проекты комплексно по основным характеристикам проекта и разрабатываемого программного обеспечения и по прогнозированным значениям вероятности успешности (а не только по стоимости и продолжительности, как происходит сейчас) и выполнять обоснованный выбор програмного проекта заказчиком и разработчиком для дальнейшей реализации. Проведены эксперименты по исследованию работоспособности метода. Результаты экспериментов позволяют использовать предложенный метод на практике.

Ключевые слова: программное обеспечение, программный проект, спецификация требований к программному обеспечению, интегративный показатель проекта, успешность программного проекта.

Krasiy A. V.1, Hovorushchenko T. O.2

*Post-graduate student of System Programming Department of Khmelnitsky National University, Khmelnitsky, Ukraine

2PhD, Associate Professor, Senior Researcher, Associte Professor of System Programming Department of Khmelnitsky National University, Khmelnitsky, Ukraine

THE METHOD OF PREDICTION OF SOFTWARE PROJECTS SUCCESS BASED ON THE ANALYSIS OF PREDICTED VALUES OF SOFTWARE CHARACTERISTICS

The task of development of methodological support for predicting of the software projects success is solved. The object of research is the process of predicting of software projects success at the early lifecycle stages. The subject of the research is a method of prediction of software projects success based on the analysis of predicted values of software characteristics. The purpose of the work is to increase the accuracy of selection of software projects and to increase the success of software projects. The intelligent method of prediction of software projects success

is proposed. It provides to calculate the integrative indicators of success of various software projects based on the predicted (by artificial neural network) values of the characteristics of the software developed for the project. It also provides to calculate the probability of success of software projects. The method differs from the known methods, that provides to predict the success of software projects, compare software projects on the main characteristics of the project and the software and on the predicted value of the probability of success (and not just on the cost and duration, as is happening now), and perform the grounded choice of software project by customer and by developer for further realization. Experiments on investigations of the method operability were performed The experimental results provide to recommend the proposed method for use in practice.

Keywords: software, software project, software requirements specification, integrative indicator of software project, success of software project.

REFERENCES

1. Futrell R. T., Shafer D. F., Shafer L. I. Quality software project management. New York, Prentice Hall PTR, 2003, 1136 p.

2. Pomorova O., Hovorushchenko T. Intelligent assessment and pediction of software characteristics at the design stage, American journal of software engineering and applications (AJSEA), 2013, Vol. 2, pp. 25-31.

3. CHAOS Manifesto : think big, act small, 2013 [Electronic resource]. Access mode: http://www.versionone.com/assets/img/ files/CHA0SManifesto2013.pdf

4. IEEE 830-1998. Recommended practice for software requirements specifications. New York, IEEE, 1998, 31 p.

5. Hovorushchenko T. O., Krasiy A. V. Matematichne modeluvannya spetsifikacii vimog ta kharakteristik programnogo zabezpechennya, Radioelektronni i komputerni sistemi, 2014, No. 5, pp. 34-39.

6. Hovorushchenko T. O. Krasiy A. V. Viznachennya kharakteristik ta vibir modeli jittevogo tsiklu programnogo zabezpechennya na osnovi analizu spetsifikatsiy, Visnik Khmelnitskogo natsionalnogo universitetu, 2013, No. 6, pp. 201-208.

7. Maedche A. Botzenhardt A., Neer L. Software for people: fundamentals, trends and best practices (Management for professionals). Berlin, Springer-Verlag Berlin Heidelberg, 2012, 293 p.

8. Jones C., Bonsignour O. The economics of software quality. Boston, Pearson Education, 2012, 588 p.

9. Wiegers K., Beatty J. Software requirements: 3-rd edition. Washington, MS Press, 2013, 640 p.

10. Wiegers K. More about software requirements: Thorny issues and practical advice. Washington, MS Press, 2006, 203 p.

11. Chen A., Beatty J. Visual models for software requirements. Washington, MS Press, 2012, 444 p.

12.Open Source Requirements Management Tool [Electronic resource]. Access mode: http://sourceforge.net/projects/osrmt/

13. Callan R. The essence of neural networks. London, Prentice Hall Europe, 2003, 288 p.

14.Krasiy A. V. Modeluvannya protsesu prognozuvannya kharakteristik programnogo zabezpechennya na osnovi analizu spetsifikaciy, Komputerno-integrovani tekhnologii: osvita, nauka, virobnictvo, 2014, No. 2, pp. 66-76.

i Надоели баннеры? Вы всегда можете отключить рекламу.