Прототипен модел в софтуерното инженерство
Какво е прототипен модел?
Модел за прототипиране е модел за разработка на софтуер, при който прототипът се изгражда, тества и преработва, докато се постигне приемлив прототип. Той също така създава база за производство на крайната система или софтуер. Работи най-добре в сценарии, при които изискванията на проекта не са известни в детайли. Това е итеративен метод на проба и грешка, който се осъществява между разработчик и клиент.
Фази на прототипния модел
Моделът за прототипиране има следните шест SDLC фази, както следва:
Стъпка 1: Събиране и анализ на изискванията
Моделът за прототипиране започва с анализ на изискванията. В тази фаза се определят детайлно изискванията на системата. По време на процеса потребителите на системата се интервюират, за да разберат какво очакват от системата.
Стъпка 2: Бърз дизайн
Втората фаза е идеен проект или бързо проектиране. На този етап се създава прост дизайн на системата. Това обаче не е завършен дизайн. Той дава кратка представа за системата на потребителя. Бързият дизайн помага при разработването на прототипа.
Стъпка 3: Изградете прототип
В тази фаза се проектира действителен прототип въз основа на информацията, събрана от бързото проектиране. Това е малък работещ модел на необходимата система.
Стъпка 4: Първоначална потребителска оценка
На този етап предлаганата система се представя на клиента за първоначална оценка. Помага да се открият силните и слабите страни на работещия модел. Коментарите и предложенията се събират от клиента и се предоставят на разработчика.
Стъпка 5: Усъвършенстване на прототипа
Ако потребителят не е доволен от текущия прототип, трябва да прецизирате прототипа според обратната връзка и предложенията на потребителя.
Тази фаза няма да приключи, докато не бъдат изпълнени всички изисквания, посочени от потребителя. След като потребителят е доволен от разработения прототип, се разработва окончателна система въз основа на одобрения краен прототип.
Стъпка 6: Внедряване на продукта и поддръжка
След като окончателната система бъде разработена въз основа на крайния прототип, тя се тества щателно и се внедрява в производство. Системата се подлага на рутинна поддръжка за минимизиране на времето на престой и предотвратяване на мащабни повреди.
Видове прототипни модели
Четири вида прототипни модели са:
- Прототипи за бързо изхвърляне
- Еволюционен прототип
- Инкрементален прототип
- Екстремен прототип
Прототип за бързо изхвърляне
Бързото изхвърляне се основава на предварителното изискване. Бързо се разработва, за да покаже как ще изглежда изискването визуално. Обратната връзка на клиента помага да се направят промени в изискването и прототипът се създава отново, докато изискването не бъде изградено.
При този метод разработеният прототип ще бъде отхвърлен и няма да бъде част от окончателно приетия прототип. Тази техника е полезна за проучване на идеи и получаване на незабавна обратна връзка за изискванията на клиента.
Еволюционно прототипиране
Тук разработеният прототип се усъвършенства постепенно въз основа на обратната връзка от клиента, докато накрая бъде приет. Помага ви да спестите време, както и усилия. Това е така, защото разработването на прототип от нулата за всяко взаимодействие на процеса понякога може да бъде много разочароващо.
Този модел е полезен за проект, който използва нова технология, която не е добре разбрана. Използва се и за сложен проект, където всяка функционалност трябва да бъде проверена веднъж. Полезно е, когато изискването не е стабилно или не е разбрано ясно в началния етап.
Инкрементално прототипиране
При постепенното създаване на прототипи крайният продукт се разделя на различни малки прототипи и се разработва индивидуално. В крайна сметка различните прототипи се обединяват в един продукт. Този метод е полезен за намаляване на времето за обратна връзка между потребителя и екипа за разработка на приложения.
Екстремни прототипи
Екстремният метод на прототипиране се използва най-вече за уеб разработка. Състои се от три последователни фази.
- Основният прототип с цялата съществуваща страница присъства в HTML формат.
- Можете да симулирате процес на данни, като използвате слой на прототипни услуги.
- Услугите са внедрени и интегрирани в крайния прототип.
Най-добри практики за създаване на прототипи
Ето няколко неща, за които трябва да следите по време на процеса на прототипиране:
- Трябва да използвате прототипиране, когато изискванията са неясни
- Важно е да се извършва планирано и контролирано създаване на прототипи.
- Редовните срещи са жизненоважни, за да поддържате проекта навреме и да избегнете скъпи забавяния.
- Потребителите и дизайнерите трябва да са наясно с проблемите и клопките при създаването на прототипи.
- На много ранен етап трябва да одобрите прототип и едва тогава да позволите на екипа да премине към следващата стъпка.
- При метода за прототипиране на софтуер никога не трябва да се страхувате да промените предишни решения, ако трябва да се внедрят нови идеи.
- Трябва да изберете подходящия размер на стъпката за всяка версия.
- Внедрете важни функции на ранен етап, така че ако времето ви свърши, все още имате система, която си заслужава
Предимства на прототипния модел
Ето важни плюсове/ползи от използването на прототипни модели:
- Потребителите участват активно в разработката. Следователно грешките могат да бъдат открити в началния етап на процеса на разработка на софтуера.
- Липсващата функционалност може да бъде идентифицирана, което помага за намаляване на риска от повреда, тъй като създаването на прототипи също се счита за дейност за намаляване на риска.
- Помага на члена на екипа да комуникира ефективно
- Удовлетворението на клиента съществува, защото клиентът може да усети продукта на много ранен етап.
- Едва ли ще има шанс за отхвърляне на софтуера.
- По-бързата обратна връзка с потребителите ви помага да постигнете по-добри решения за разработка на софтуер.
- Позволява на клиента да сравни дали софтуерният код съответства на софтуерната спецификация.
- Помага ви да откриете липсващата функционалност в системата.
- Той също така идентифицира сложните или трудни функции.
- Насърчава иновациите и гъвкавото проектиране.
- Това е ясен модел, така че е лесен за разбиране.
- Няма нужда от специализирани експерти за изграждане на модела
- Прототипът служи като основа за извличане на системна спецификация.
- Прототипът помага за по-добро разбиране на нуждите на клиента.
- Прототипите могат да бъдат променяни и дори изхвърляни.
- Прототипът също така служи като основа за оперативни спецификации.
- Прототипите могат да предложат ранно обучение за бъдещи потребители на софтуерната система.
Недостатъци на прототипния модел
Ето важните минуси/недостатъци на прототипния модел:
- Създаването на прототипи е бавен и отнемащ време процес.
- Разходите за разработване на прототип са пълна загуба, тъй като прототипът в крайна сметка се изхвърля.
- Създаването на прототипи може да насърчи прекомерни искания за промяна.
- Понякога клиентите може да не желаят да участват в итерационния цикъл за по-дълъг период от време.
- Може да има твърде много вариации в софтуерните изисквания, когато всеки път, когато прототипът се оценява от клиента.
- Лоша документация, защото изискванията на клиентите се променят.
- За разработчиците на софтуер е много трудно да приспособят всички промени, изисквани от клиентите.
- След като видят ранен прототипен модел, клиентите може да си помислят, че действителният продукт ще му бъде доставен скоро.
- Клиентът може да загуби интерес към крайния продукт, когато той или тя не е доволен от първоначалния прототип.
- Разработчиците, които искат да изградят прототипи бързо, може да изградят решения за разработка под стандарта.
Oбобщение
- В софтуерното инженерство методологията на прототипа е модел за разработка на софтуер, при който прототип се изгражда, тества и след това се преработва, когато е необходимо, докато се постигне приемлив прототип.
- 1) Събиране и анализ на изискванията, 2) Бърз дизайн, 3) Изграждане на прототип, 4) Първоначална потребителска оценка, 5) Усъвършенстване на прототипа, 6) Внедряване на продукт и поддръжка; са 6 стъпки от процеса на прототипиране
- Типовете прототипни модели са 1) Прототипи за бързо изхвърляне 2) Еволюционен прототип 3) Инкрементален прототип 4) Екстремен прототип
- Редовните срещи са от съществено значение, за да се поддържа проектът навреме и да се избегнат скъпи забавяния в подхода за създаване на прототипи.
- Липсващата функционалност може да бъде идентифицирана, което помага за намаляване на риска от повреда, тъй като прототипирането също се счита за дейност за намаляване на риска в SDLC.
- Създаването на прототипи може да насърчи прекомерни искания за промяна.