Част 3: Обзор на проблемната област итеоретична обосновка на предлаганото решение3. Обзор на проблемната област и теоретичнаобосновка на предлаганото решение3.1 Процес на разработка на софтуерСофтуерният процес дефинира последователност от дейности, водещи досъздаване на софтуерно решение или до развитие на съществуващо такова.Използването на предварително дефиниран процес осигурява стабилност, контрол иорганизация на дейностите. По този начин се гарантира разработването на качественпродукт в определените времеви рамки. За да бъде ефективен и приложим единсофтуерен процес подходите за дефинирането му трябва да са гъвкави и съобразенисъс средата, в която ще се прилага и с типа на разработваното софтуерно решение.В книгата си Software Engineering - A Practitioner’a Approach [2] Робърт Пресмъндефинира софтуерния процес като рамка (framework) за всички дейности, които санеобходими за създаването на софтуер с високо качество. Тази рамка е основа на всекисофтуерен процес. Тя идентифицира няколко активности, които са приложими за всекисофтуерен проект независимо от неговата големина и сложност. Също така тази рамкавключва и множество от глобални активности, които намират своето приложение презцелия процес. На Фигура 1 е представена схема на софтуерния процес.От Фигура 1 се вижда, че всяка активност е съставена от множество действия(software engineering actions), всяко от които е изградено от различни дейности (tasks).Дейностите извършват част от работата, която трябва да бъде изпълнена, в рамкитена едно действие. В резултат на изпълнението на дадено действие се създаваопределена основна част от софтуерния продукт. Като казваме ‘част от софтуернияпродукт’ изхождаме от представената в книгата [2] дефиниция на софтуерен продукткато обединение на програма/и, данни и документация. Компютърната програма задаваинструкциите, чието изпълнение осигурява желаната функционалност. Структурите отданни, използвани от програмата, позволяват правилната обработка и представяне наинформацията. Документите, съпровождащи процеса на разработка на продукта,предоставят описание на системата и начин на употреба. В рамките на едно действие,освен дейностите, които трябва да бъдат извършени, се определят и свързаните стяхната работа продукти, дейностите за осигуряване на качеството и времевитеинтервали, определени в плана на проекта.Основните активности, които са определени и които са приложими къммнозинството софтуерни проекти са:• Комуникация - Тази активност определя дейностите свързани сидентифициране на изискванията на клиента и изисква постоянна връзка исътрудничество с клиента.• Планиране - Планирането е основна активност, която е свързана спланиране на дейностите в активностите, които предстоят. Освен това сеописват продуктите, които ще бъдат изготвени в процеса на работа,необходимите ресурси и вероятните рискове.• Моделиране - Тази активност е свързана с изработване на различни моделина системата, които позволяват по-пълно разбиране на изискванията насистемата, както от клиента така и от програмиста.17
Част 3: Обзор на проблемната област итеоретична обосновка на предлаганото решениеProcess FrameworkUmbrella activitiesFramework Activity #1Software engineering Action #1.1Work tasksWork ProductsQuality assurance pointsProject milestonesSoftware engineering Action #1.kWork tasksWork ProductsQuality assurance pointsProject milestonesFramework Activity #nSoftware engineering Action #n.1Work tasksWork ProductsQuality assurance pointsProject milestonesSoftware engineering Action #n.mWork tasksWork ProductsQuality assurance pointsProject milestonesФигура 1. Софтуерен процес18