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



страница65/106
Дата11.05.2023
Размер2.27 Mb.
#117653
ТипАнализ
1   ...   61   62   63   64   65   66   67   68   ...   106
Softuerni Texnologii
Свързани:
empty doc
Много
висок

Свръх ­висок

Атрибути на продукта



















Изисквана надеждност

0.75

0,88

1,00

1,15

1.40




Размер на базата данни




0,94

1,00

1,08

1,16




Сложност на продукта

0,70

0,85

1,00

1,15

1,30

1,65

Атрибути на компютъра



















Ограничение по бързина







1,00

1,11

1,30

1,65

Ограничение по оперативна
памет







1,00

1,06

1,21

1,65

Изменяемост на виртуалната
машина




0,87

1,00

1,15

1,30




Цикъл на обръщение към ком-
пютъра




0,87

1,00

1,07

1,15




Атрибути на изпълнителя



















Квалификация на проектанти-
те

1,46

1,19

1,00

0,86

0,71




Опит в приложната област
Квалификация на програмис-
тите

1,29
1,42

1,13
1,17

1,00
1,00

0,91
0,86

0,82
0,70




Опит от работа с компютъра

1,21

1,10

1,00

0,90







Опит с езика за програмиране

1,14

1.07

1,00

0,95







Атрибути на проекта



















Прилагане на съвременни ме-
тоди

1,24

1,10

1,00

0,91

0,82




Ползване инструментални
средства

1,24

1,10

1,00

0,91

0,83




Ограничения в срока на разра-
ботка

1,23

1,08

1.00

1,04

1.10




Табл. 10.3. Атрибути и рейтинги
129

При извършването на оценката експертите следва да се ръководят от тази
таблица и за конкретния проект трябва да определят за всеки атрибут съответ-
ния рейтинг. Получените стойности се заместват в формулата, която вече е при-
добила по-сложен вид:
ЧМ = к х ХРПКР х A1 x A2... х А15,
където ЧМ и ХРПК са вече познатите величини,
к и р са коефициенти, които са различни за различните типове софтуер,
както се вижда и от табл. 10.2.
А, са рейтингите на атрибутите
Разликата в междинния и детайлния модел е в начина на получаване на
крайната оценка. Основната разлика е в това, че при детайлния вариант се при-
лагат различни коригиращи коефициенти (рейтинги) за всяка фаза от производ-
ствения процес. По-сложен е и процесът, чрез който от оценките на отделните
модули се получават оценки за подсистемите и от тях — за цялостния продукт.
При междинния вариант нивото модул се игнорира.
10.3.5. Критика на„редове първичен код"
Основните критики към СОСОМО се свеждат до следните две:

  • Няма нито стандарт, нито единно виждане за това, какво е „ред първичен код".

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

По въпроса за редовете първичен код се изтъкват следните проблеми:

  1. Какво всъщност да се разглежда — физически или логически редове.
    Физическият край на даден ред се получава с натискането на клавиша Enter,
    което води до генериране на съответни служебни символи за край на реда. Ло-
    гическият край е някакъв ограничител, зависещ от конкретния език за програ-
    миране, например двоеточие, запетая или друг точно определен знак. Езици,
    които позволяват написването на няколко оператора на един ред, могат да да-
    дат неколкократна разлика при двата вида броене. Същото може да се случи в
    обратна посока и когато (за прегледност или по други причини) един логически
    оператор се разполага върху 2 или повече реда. Показателно е едно изследване
    [7], което показва, че в САЩ 35% от ръководителите на проекти броят физи-
    ческите редове, 15% броят логическите, а останалите 50% въобще не смятат за
    уместно да борят редовете първичен код.

  2. Друг елемент на несигурност внасят различните от семантична гледна
    точка типове редове. Почти всеки процедурен език включва 4 типа първични

редове:

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

  • определения на данни, чрез които се дефинират различните типове данни;

  • коментари, които дават разясняваща информация;

  • празни редове, които се ползват за повишаване прегледността на прог-
    рамата.

Установено е, че в дадено типично бизнесприложение около 40% от общия
брой оператори за изпълними, 35% са определения на данни, 15% са комента-
ри и 10% — празни редове. При системния софтуер (например операционни
130
системи) 45% са изпълними оператори, 30% са определения на данни и отново
15% са коментари и 10% празни редове.
Правени са изследвания сред създателите на софтуер и отново е установе-
но различие в разбиранията — 10% броят само изпълнимите редове, 20 % бро-
ят изпълнимите редове и определенията на данни, 15% добавят коментарите, а
5% броят дори и празните редове. Както вече беше казано, 50% въобще не
броят редовете първичен код.
3. Голям проблем е повторно използваемият код. По съвсем общи оцен-
ки един програмист на традиционните процедурни езици за програмиране Фор-
тран, С, КОБОЛ, средно копира от други програми между 20 и 30% код в сво-
ите програми. За обектно ориентирани езици като Smalltalk, C++ този процент
достига до 50. Има отделни софтуерни фирми, които са организирали специал-
ни библиотеки от модули за повторно използване и там въпросният процент
достига дори 75. При това положение спорът се върти около това как да се брои
даден повторно използван модул:

  • да се брои при всяко негово появяване;

  • да се брои само веднъж независимо от броя появявания;

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

Изследванията показват, че в САЩ първата алтернатива се прилага от 25%
от професионалистите, втората — от 20%, третата — от 5%. За останалите 30%
вече се разбра, че не броят.
4. Друга област на несигурност е как да се ползват редовете първичен код
при приложения, писани на повече от един език. Има данни, че около една
трета от софтуера в САЩ е написан на повече от един език за програмиране.
Колкото и да изглежда невероятно, дори около 1996 година най-срещаните ком-
бинации от езици все още са били следните:

  • КОБОЛ заедно с някакъв език за обработка на заявки за търсене от типа
    на SQL;

  • КОБОЛ и език за дефиниция на данни от типа на DL/1;

  • КОБОЛ и някакъв специализиран език;

  • С и Асемблер;

  • АДА и Асемблер.

Доколкото, както стана вече ясно, няма стандарти и единство дори при
броенето в приложения с един език, още по-малко, може да се очаква такова
единство при софтуер, написан на повече от език.
5. Има и някои допълнителни, по-малки проблеми от рода на това да се
включва или изключва временно поставен в програмата код, код от типа мак-
рос, код, свързан с управлението на заданието в рамките на операционната
система. Трудности предизвиква и разликата в стила на програмистите. Преди
време в IBM направили малък експеримент, като възложили на 8 програмисти
да напишат първичен код по зададена спецификация. Разликата в броя редове
първичен код (преброени, естествено, по една и съща фиксирана методика) меж-
ду най-големия и най-малкия била петкратна.
Независимо от критиката по горните 5 пункта моделът СОСОМО продъл-
жава да има своите привърженици и да се прилага. Причината е в особената
сложност и динамика на софтуера и неговото създаване и невъзможността, по-
не за момента, да се предложи напълно адекватен метод и модел. Това е и при-
131
чината да са създадени и да продължават да се предлагат и да се усъвършенст-
ват немалък брой методи, независимо от огромните усилия, необходими за съз-
даването, валидирането и прилагането им.


Сподели с приятели:
1   ...   61   62   63   64   65   66   67   68   ...   106




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

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