3.1. Модели на жизнения цикъл и подходи за разработване
Проучването на специализираната литература показва, че продължава съз-
даването на нови модели на ЖЦ. Поради стремежа да обхванат най-различни
аспекти (технологични, организационни и икономически) новосъздаваните мо-
дели са все по-сложни и оттам — все по-малко приложими в практиката. Затова
в последно време усилията са насочени към разглеждане на
noдxoдu за разра-
ботване. Всеки подход за разработване определя основните правила, практики
и
процедури, които трябва да се следват в процеса на създаване на ПП.
Подходите могат да бъдат с различна степен на общност. Някои от тях
обединяват сродни методи. Например известни от литературата са подходът за
разработване съгласно целите (чрез проследяване на изискванията или чрез про-
тотипиране) или подходът с управление на риска.
Най-общите фундаментални подходи се наричат
парадигми. Ще разгранича-
ваме два такива подхода:
традиционен (конвенционален) и
обектно ориентиран.
Традиционният подход се е формирал с възникването на научното направление соф-
туерни технологии като възможно решение на т. нар. софтуерна криза. За съжале-
ние десетилетия след прилагането му някои тревожни симптоми на софтуерната
криза — висока цена на разработване и незадоволително качество — продължават
да се наблюдават. Затова бе създаден нов поход — обектно ориентираният.
Такова
развитие е в пълно съответствие с диаграмата на Kuhn [1], показана на фиг. 3.1
3.2. Определяне на софтуерната система
Целта на тази фаза е да се определят предназначението и обхватът на соф-
туерната система; да се разберат потребностите и желанията на потребителя; да
се оцени осъществимостта на избираните решения; да се обсъди и избере при-
емлива съвкупност от изисквания, които да се специфицират, валидират и ут-
върдят, като се регламентира и проследяването им така, че
да се осигури вграж-
дането им в целевата система.
3.2.1. Определяне на изискванията
Основен проблем при определяне на изискванията е разминаването на спе-
циалистите в съответната приложна област (наричани най-общо потребители)
и софтуерните специалисти, които отговарят за първоначалното определяне на
системата (т. нар. системни аналитици или проектанти). Обикновено потреби-
телите не могат ясно и точно да формулират потребностите и очакванията си;
пропускат очевидните за тях подробности и нямат реална представа за възмож-
ностите на компютърните системи. Аналитиците пък не познават особеностите
на дейностите,
които ще автоматизират, и не могат да преценяват доколко са
съществени обсъжданите проблеми. Затова определянето на изискванията трябва
да се разглежда като итеративен процес с активното участие на подходящо изб-
рани представители и от двете страни.
Ще опишем целите, съдържанието и прилаганите техники за всяка от пос-
ледователните стъпки.
а) Формулиране на изискванията
Основна цел на този етап е съставяне на съвкупност от всички възможни
изисквания въз основа на определените вече предназначение и обхват на пред-
лаганата софтуерна система. В [2] е предложен подходът FAST (Facilitated Ap-
plication Specification Techniques). Съгласно този подход се съставят работни
групи с представители на
потребителите и разработчиците, със съвместните
усилия на които се идентифицира проблемът, обсъждат се алтернативни реше-
ния и се подготвя предварително множество от изисквания. Регламентирани са
формите на комуникации, подготовката и организирането на ефективни обсъж-
дания и др. Друга подходяща техника е
анализът на различните гледни точ-
37