Софтуерни технологии



страница10/18
Дата23.07.2016
Размер3.19 Mb.
#2714
ТипАнализ
1   ...   6   7   8   9   10   11   12   13   ...   18

13

Ниво 1 се нарича начално (initial). Организация на ниво 1 не осигурява ста-
билна среда за разработване и съпровождане на софтуер. В такива фирми управле-
нието не е на здрава основа. Дори да има планирани процедури, в момента когато
настъпи криза по отношение на срокове или ресурси, плановете се изоставят и се
преминава изключително към програмиране (кодиране) и тестване. Успехът зависи
само от опитността и квалификацията на ръководителя и членовете на екипа. Об-
щата способност на организациите на ниво 1 е непредсказуема, каквито са и всич-
ки елементи на софтуерния процес — графици, бюджет, качество на продукта и др.
Поради това не може да се предскаже и ефективността на такава организация.

Ниво 2 се нарича повторяемо (repeatable). В организацията е установена
политика за управление на софтуерния проект и процедури за прилагане на
тази политика. Планирането и управлението на нови проекти се основава на
опита от предишни проекти. Показател за достигането на това ниво е формал-
ното установяване на ефективни процедури за управление. Това позволява на
организацията да повтаря успешните дейности от проект на проект. Може оба-
че да се случи някои от дейностите (практиките) да не се повторят. По принцип,
за да бъде един процес ефективен, той трябва да е приложим, документиран,
измерим, с възможности за усъвършенстване и с обучени за приложението му
кадри. Ръководството на всеки проект следи разходите и графиците. Дефинира-
ни са стандарти и има стремеж към съблюдаването им.



Ниво 3 се нарича определено (defined). Тук стандартният процес за разра-
ботване и съпровождане на софтуер в организацията е документиран, включи-
телно технологичните и управленските процеси, като при това те се интегрира-
ни. Така стандартизираният процес в рамките на СММ се нарича стандартен
софтуерен процес на организацията. Налична е специална група, отговорна
за този процес. Действа програма за обучение на членовете на колектива в съ-
ответствие с изпълняваните от тях задачи. Съществува процедура за настройва-
не на стандартния софтуерен процес към нуждите на всеки конкретен проект.

Накратко, на това ниво процесите са стандартни и непротиворечиви пора-


ди стабилността и повторяемостта на технологичните и управленските дейнос-
ти. Цената, графиците и функционалността са под контрол и качеството на соф-
туера се следи.

Ниво 4 се нарича управляемо (managed). На това ниво организацията уста-
новява количествено измерими критерии за качество и се стреми към постигане-
то им — както за софтуерните процеси, така и за софтуерните продукти. Произ-
водителността и качеството се измерват за важните софтуерни процеси през ця-
лото време в рамките на специална програма. Всеобхватна база данни се ползва
за събиране и анализ на параметрите на софтуерните процеси. За измерването
им са предвидени инструментални средства. При излизането на тези параметри
от определени граници може да се установи дали това е случайно явление, или са
необходими коригиращи действия. При преминаването към нова област на при-
ложение или нов инструментариум се пресмята и контролира рискът.

Накратко, организациите на това ниво са предсказуеми, защото работят с из-


мерими процеси и в дефинирани измерими граници. Предсказуеми са както висо-
кото качество на процесите и продуктите, така и тенденциите в развитието му. На-
рушаването на определените количествени граници подлежи на коригиране.

Ниво 5 се нарича оптимизиращо (optimizing). На това ниво цялата орга-
низация е съсредоточена към непрекъснато подобряване на процесите. Тя има
средствата за идентифициране на силните и слабите страни на процесите с цел
предотвратяване на дефекти. Разполага се с данни за ефективността на софту-
ерния процес, които се използват за анализ на цената и ползата от въвеждането
на нови технологии или изменения в него. Технологични иновации се иденти-
фицират и евентуално се въвеждат в практиката. Дефектите се анализират до
установяване на причините и избягване на повтарянето им както в текущия,
така и в бъдещи проекти.

Табл. 8.1. Разпределение на нивата на СММ
103

В табл. 8.1. наред с кратките определения на петте нива са дадени и данни
за реалното разпределение на организациите (фирмите) по тези нива на осно-
вата на извършени изследвания в САЩ.

Ниво според СММ

Честота

Определение

1 = начално

75.0%

Примитивни и случайни процеси

2 = повторяемо

15.0%

Някои стандартизирани методи и контроли

3 = определено

8.0%

Добре структурирани методи,
добри резултати

4 = управляемо

1.5%

Висока сложност с повторна използваемост

5 = оптимизиращо

0.5%

Съответства на теорията, нови методи

Ключови области на обработка

Вече беше казано какво представляват ключовите области на обработка.


Тук ще изброим тези области така, както са разпределени по нива.

Ниво 2:

  1. Управление на софтуерната конфигурация

  2. Осигуряване качеството на софтуера

  3. Управление на договорите с подизпълнителите

  4. Проследяване на софтуерния проект

  5. Планиране на софтуерния проект

  6. Управление на изискванията (на потребителя)
    Ниво 3:




  1. Групови прегледи

  2. Координация между групите

  3. Технология на софтуерния продукт

  4. Интеграция на управлението и технологиите

  5. Програма за обучение

  6. Дефиниране на софтуерния процес

  7. Фокусиране върху организацията на процесите
    Ниво 4:




  1. Управление на качеството на софтуера

  2. Управление на количественото оценяване на софтуерните процеси

Ниво 5:

  1. Управление промените в процесите

  2. Управление промените в технологиите

  3. Предотвратяване на дефектите

Цели

Целите обозначават обхвата, границите и намеренията за всяка ключова


област. Те, както се каза, се реализират чрез ключови практики. Когато дадена
ключова практика се настройва към конкретен проект, целта е тази, която слу-
жи като ориентир, доколко настройката е запазила същността на практиката в
рамките на областта.

Ключови практики

Всяка ключова практика се изразява с едно изречение, често следвано от


по-подробно описание. Характерно за тях е, че те не отговарят на въпроса, как
да се постигне дадена цел, а описват какво следва да се прави.

Пример

За илюстрация ще изберем една от 18-те ключови области и ще дадем в


схематичен, съкратен, но достатъчно пълен вид нейното описание.

Ниво 3: Програма за обучение

Предназначението на програмата за обучение е да развие умения и зна-
ния у членовете на колектива, така че те да изпълняват задачите си ефективно.

Програмата за обучение включва преди всичко идентификация на нуждите


от обучение и след това осигуряване на такова обучение. В някои случаи обу-
чението се извършва неформално (в течение на изпълняването на задачите чрез
ръководство от страна на по-опитни членове на екипа), в други то се организи-
ра формално във вид на курсове или ръководено самообучение.

104

Целите на програмата за обучение са:

  1. Да се планират дейностите по обучението.

  2. Да се осигури обучение за уменията и знанията, необходими за изпъл-
    нение на управленските и технологичните роли.

  3. Всяко лице, за което това е необходимо, да получи нужното му обуче-
    ние.

Ключовите практики за осъществяване на програмата за обучение са:

  1. Всеки софтуерен проект разработва и поддържа план за обучение, в
    който са указани нуждите от обучение.

  2. Планът за обучение се разработва и актуализира в съответствие с доку-
    ментирана процедура.

  3. Обучението се извършва в съответствие с плана за обучение.

  4. Курсовете за обучение, подготвени в организацията, се разработват в
    съответствие с вътрешни стандарти.

  5. Съществува процедура, която се ползва и с чиято помощ се установява
    доколко дадено лице притежава или е придобило необходимите за неговата ра-
    бота умения и знания.

  6. Поддържа се архив за протичането на обучението.

8.3.2. Методологията BOOTSTRAP

СММ получава разпространение по целия свят. Все пак в някои отноше-


ния тя не удовлетворява потребителите в Европа. Основната причина е, че в
Европа водещо значение имат стандартите по качеството ISO 9000—9004, кои-
то на практика се пренебрегват от СММ. Поради тази причина в рамките на
европейската програма ESPRIT като проект 5441 в началото на 90-те години се
разработва методологията BOOTSTRAP. Тя се основава на:

  1. СММ като модел

  2. Въпросника на СММ, чрез който се извършва оценката

  3. Стандартите за качество lSO 9000, 9001, 9000-3.

Авторите на BOOTSTRAP определят целите й по следния начин:

  • на основата на най-добрите софтуерни практики да се създаде средство за
    оценяване способността на дадена организация за ефективен софтуерен процес;

  • да се отразят признатите технологични софтуерни стандарти;

  • да се гарантира повторяемостта и устойчивостта на оценката;

  • във всяка оценявана организация да може да се идентифицират слабите
    и силните страни на софтуерните процеси;

  • да се осигури подкрепа за планиране на подобренията и съответстващи
    положителни резултати;

  • да се подпомогне увеличаването на ефективността на процесите при
    прилагането на стандартни изисквания.

База на BOOTSTRAP ca:

  1. Процесът на оценяване. Той се разглежда като част от цялостното по-
    добряване. Резултатите от оценката са основният ресурс за създаване на план
    за подобряване. Оценката се прави на основата на модел на процесите.

  2. Моделът на процесите. Аналогично на СММ и тук има нива на зре-
    лост (макар да не се ползва точно този термин). Нивата са:

105

  • ниво 0: непълен процес;

  • ниво 1: изпълняван процес;

  • ниво 2: управляван процес;

  • ниво 3: установен процес;

  • ниво 4: предсказуем процес;

  • ниво 5: оптимизиращ процес.

Идентифицирани са всички процеси и са структурирани във вид на дърво.
Това дърво схематично е дадено на фиг. 8.2. Както се вижда от нея, коренът на
дървото е цялостната BOOTSTRAP. На следващото ниво има 3 клона:

  • Организация

  • Методология

Технология

Организацията и технологията за разбити съответно на 3 и 4 процеса. Като


пример за организационен процес може да се посочи управлението на човеш-
ките ресурси, а на технологичен — обновяване на технологията.

Методологията се състои на следващо ниво от:



  • процеси, зависими от жизнения цикъл (например анализ на изисква-
    нията към системата, проектиране на архитектурата на системата и т. н. до съп-
    ровождане и накрая отмиране);

  • процеси, независими от жизнения цикъл, разбити на още едно ниво;

  • метапроцесни" дейности — дефиниция на процесите и подобряване

на процесите.

Накрая независимите от жизнения цикъл процеси се разделят на 3 групи:

управление (например управление на проекта, управление на качество-
то, управление на риска);


  • вътрешно поддържане (например документиране, управление на кон-
    фигурацията, верификация, валидация);

  • поддържане на потребителя (например управление на нуждите и ис-
    канията на потребителите, доставка, експлоатация на софтуера).

3. Въпросниците. Оценката се основава, както при CMM, на отговорите,
събрани по фиксирани въпросници. Тук те са два. Първият се отнася до органи-
зацията на софтуерните процеси във фирмата, а вторият — до отделните проек-
ти. Това е отражение на разбирането, че в рамките на една софтуерна единица
(фирма или дори нейно подразделение) може да има съществени разлики. Меж-
ду другото това дава възможност да се сравняват екипите, работещи по отделни

проекти.


4. Оценяването и представянето на резултатите. За да може подоб-
ряването на процесите и тяхното планиране да се осъществи на основата на
оценките, необходимо е те да са надеждни и да представят адекватно оценява-
ната фирма. Това става благодарение на това, че:

  • оценителите имат еднаква подготовка и ползват единна методология —
    това се гарантира от специална система за акредитация;

  • прилаганите правила за оценка са строго дефинирани.

Всеки атрибут на качеството на всеки процес се оценява по четиристепен-
на скала. След това по схема за агрегиране на тези оценки се получават оценки
за нивата на зрелост — за фирмата и за отделните проекти.

5. Указанията за подобряване на процесите. Тези указания подпомагат


идентифицирането на процесите, които са с най-съществено значение за пос-

106


тигането целите на фирмата. След това най-висок приоритет за подобряване се


дава на процесите с най-ниска оценка и най-голямо влияние. Оценява се рискът
от неприлагането на мерки за подобряване. Ако това не е направено до момен-
та, извършва се подготовка за постигането на изискванията на стандартите за
качество ISO 9000—9004.

6. Базата данни. Всички данни от оценки автоматично се натрупват в


централна база. Тя има за задача:

  • да съхранява данни за резултатите от извършените оценки в Европа с
    цел да се създаде постепенно картина на софтуерната индустрия в Европа;

  • да подпомага позиционирането на всяка оценявана фирма в рамките на
    съответния сектор от софтуерната индустрия в Европа.

8.4. Стандарти за качеството на софтуера

В областта на качеството на софтуера има най-разнообразни стандарти,


отличаващи се по степен на общност, предназначение, степен на готовност за
приложение, разпространение и др. Нито е възможно, нито е смислено тук да
се разглеждат всички те. Поради това ще направим кратък преглед с цел създа-
ване на обща представа, а след това ще обърнем повече внимание на тези, без
прилагането или поне познаването на които създаването на съвременен софту-
ер не е препоръчително. Изрично ще отбележим, че някои от тях не визират
точно качеството на софтуера, а по-общи или други проблеми на неговото съз-
даване. Независимо от това те представляват интерес, защото самото прилагане
на стандарти при производството на софтуер е едно от изискванията за осигу-
ряването качеството на процеса и на продукта.

8.4.1. Национални и други стандарти с ограничено действие

В областта на отбраната, както е известно, особено се държи на стандар-


тизацията, а и въпросът за качеството на софтуера е от първостепенно значе-
ние. Министерството на отбраната на САЩ освен споменатия по-горе в 8.2.4.
стандарт DOD-STD-2168 Software Quality Program прилага и DOD-STD 2167A
Defense System Software Development. Подобни стандарти има и в НАТО. Общи

107


стандарти за качеството са NATO AQAP-1, AQAP-13, AQAP-14, като AQAP-13
дава допълнителни изисквания за софтуера, a AQAP-14 съдържа указания за
оценяване на съответствието на продукта с изискванията. Има данни, че тези
стандарти се ползват активно във Великобритания, по-малко в другите евро-
пейски страни — членки на НАТО, и никак — в САЩ. Що се отнася до AQAP-1,
той се смята за еквивалентен на ISO 9001 и вече е изместен от него.

В областта на авиацията САЩ имат специален стандарт STD 018a-1987


Computer Software Quality Program Requirements.
Негов аналог в Европа е ESA
PSS-05 Software Engineering Standards.

Ядрената енергетика има също своите специални стандарти: IAEA-1987
QA for Computer Software, BS 5882-80 Specification for a Total Quality Assurance
Programme for Nuclear Power Plants, прилаган във Великобритания, ASME
N45.2.11 Quality Assurance Requirements for the Design of Nuclear Power Plants,
канадската серия от стандарти Q396 за програми за осигуряване на качеството
за критични и некритични приложения, испанския стандарт UNE73-404 за оси-
гуряване на качеството на информатични системи в ядрени инсталации.

Немалък брой страни имат също свои стандарти за качеството на софтуе-


ра. За Франция, Ирландия и Германия например те вече губят значението си във
връзка с преминаването към единна система на стандарти в рамките на Евро-
пейския съюз. В Австралия и Нова Зеландия се прилага стандартът AS3563 —
Standard for Software Quality Management Systems. Той се смята за по-добър за
приложение от аналогичните от серията ISO 9000, като при това, ако дадена
система за осигуряване на качеството удовлетворява единия от тях, тя съответ-
ства на практика и на втория.

8.4.2. Международни стандарти за софтуера

В световен мащаб съществува специално тяло, упълномощено да създава


международни стандарти, отнасящи се до софтуера. To e образувано като общ
орган на Обединения технически комитет 1 (JTC1) на Международната органи-
зация за стандартизация ISO и на подкомитет 7 (SC7), принадлежащ на Между-
народната електротехническа комисия IEC. Нарича се ISO/IEC JTCl/SC7
Software Engineering.

Подготовката на даден стандарт се подчинява на строго формализирана


процедура, чиято цел е да се отчете мнението на всички заинтересовани страни,
да се постигне съгласие между тях, да се избегнат по възможност всякакви греш-
ки, да се спазят стандартите относно формата и съдържанието. Обикновено в
началните стадии на изработването на даден стандарт материалите за него са с
ограничен достъп, но от един момент нататък стават достъпни и могат да бъдат
намерени в Интернет. Обикновено даден стандарт е в състояние TR (Technical
Report) — технически доклад, или IS (International Standard) — международен
стандарт.

В момента има около 30 стандарта в областта на софтуера, но броят им


нараства. Някои от тях са в състояние на технически доклади, но други са в
сила.. Нещо повече — за приетите има предвидена специална процедура за ре-
визия, която се провежда по определен план. Сред тези стандарти ще споменем
следните, пряко свързани с качеството на софтуера:

108


IS 9126-1 Information Technology Software quality characteristics and
metrics Part 1 Quality characteristics and sub-characteristics

TR 15504-к: Information Technology Software Process Assessment
Part k (тук K е число от 1 до 9, т. е. това са 9 части на един стандарт, които
третират различни аспекти на оценяването на софтуерния процес — увод, кон-
цепции, речник, указания и т. н.)

IS 12119 Information Technology Software packages quality requirements
and testing

IS 14598-5: Information Technology Software Product Evaluation Part
5: Process for evaluators

IS 14598-1 Information Technology Software Product Evaluation Part
1: General Overview.

8.4.3. Стандартите от серията ISO 9000

В последните години непрекъснато нараства значението на стандартите от


серията ISO 9000. Във връзка с процесите на интегриране на България към Евро-
пейския съюз (ЕС) все по-важно става съблюдаването им (съответно сертифици-
рането) от тези български фирми, които имат интерес да изнасят продукция в ЕС.

Серията ISO 9000 се появява през 1987 година. От 1992 година са задъл-


жителни за продажбата на продукти в ЕС. Основната й цел е да даде стандарти
и указания за създаване на такава организация на производство и обслужване,
че получените в резултат продукти и услуги да са качествени.

Със софтуера имат пряка връзка следните от тези стандарти.



ISO 9001 е модел за осигуряване на качеството, състоящ се от 20 групи
изисквания за качество. Този модел се отнася до организации, които проекти-
рат, разработват, произвеждат, инсталират и обслужват продукти. ISO очаква
организациите да прилагат този модел, като създават и развиват съответна сис-
тема за качеството.

ISO 9004-2, част 2, представлява указания за качеството на услугите, кои-
то са приложими към обслужването и на софтуерните продукти.

ISO 9000-3 представлява указания за приложението на ISO 9001 по отно-
шение на разработването, доставката и съпровождането на софтуера.

За да илюстрираме тези указания, ще дадем пример с втората от 20-те гру-


пи указания — изисквания към качеството на системата:

  • разработете план за контролиране на качеството на проектите за разра-
    ботване на софтуер;

  • разработете план за качеството навсякъде, където имате нужда да конт-
    ролирате качеството на конкретен проект, продукт или договор;

  • вашият план за качеството трябва да обяснява как имате намерение да
    създадете вашата система за качество, така че да е приложима към конкретния
    проект, продукт или договор;

  • разработете подробни планове за качеството и процедури за контрол на
    управлението на конфигурацията, на верификацията на продукта, на валидаци-
    ята на продукта, на нестандартни продукти, на коригиращи действия.

Трябва да се признае, че тези указания имат прекалено общ характер и се
нуждаят от задълбочено конкретизиране и детайлизиране, за да станат реално

109


приложими. Много е вероятно това да е причината за пренебрегването им в
софтуерната индустрия в САЩ. Последното има и друго обяснение. То се илюс-
трира със следния цитат от [8]: „Единственият видим ефект от прилагането на
ISO [9000—9004], изглежда, е цената на самия процес на сертифициране по
ISO, изразходваното време за това сертифициране и нарастването на обема на
книжната документация, свързана с качеството."



Сподели с приятели:
1   ...   6   7   8   9   10   11   12   13   ...   18




©obuch.info 2024
отнасят до администрацията

    Начална страница