Вовед
-----

**Квалитетот на софтверот**, во софтверското инженерство , се однесува на два поврзани, но различни поими кои постојат секогаш кога се дефинира квалитет во бизнис контекст:

- *Квалитет на функционалностите на софтверот* се однесува на тоа колку софтверот одговара или е во согласност со даден дизајн, врз основа на функционалните барања или спецификацијата. Може и да се опише како дали кодот е подготвен да ја изврши својата цел или како е во споредба со останатите конкурентски производи.

- *Квалитет на структурата на софтверот* се однесува на тоа колку софтверот ги исполнува нефункционалните барања, што ја поддржуваат испораката на функционалните барања, како што се робустност или одржливост, степен до кој софтверот бил создаван правилно.
Квалитетот на структурата се оценува преку анализата на внатрешната структура на софтверот, неговиот изворен код, како и за тоа дали неговата архитектура се придржува до принципите од софтверската архитектура, додека пак квалитетот на функционалностите вообичаено се мери со софтвер за испробување.

Историски гледано, структурата, класификацијата и терминологијата на атрибутите и вредностите кои се применуваат кај управувањето со софтверски квалитет, произлегуваат од ISO 9126-3 и од ISO 25000:2005 модели за квалитет.
Врз основа на овие модели, одликите за квалитетот на структурата на софтверот јасно се дефинирани од страна на Конзорциумот за квалитет на софтверот кај информатичките технологии (англиски: Consortium for IT Software Quality CISQ),
која е независна организација основана од страна на Институтот за Софтверско Инженерство (англиски: Software Engineering Institute) 
и од Object Management Group (OMG).

Конзорциумот има дефинирано 5 значајни одлики кои се потребни за едно парче софтвер да има квалитет. Тоа се: *доверливост, ефикасност, сигурност, одржливост и големина*.

Мерењето на квалитетот на софтверот е со цел да се одреди поединечно до кој степен се секоја од овие 5 одлики. Со мерењето на квалитетот на софтверот на одликите и сумирање на тие мерења, се добива генерална проценка на системот.

Цел за дефинирање на квалитетот на софтверот
--------------------------------------------

Една изрека на Луис Пастер(англиски:Louis Pasteur) вели: ,,Науката е зрела онолку колку што се зрели нејзините мерни алатки‘‘. Софтверското инженерство го достигна она ниво на зрелост во кое што мерењето на квалитетот на софтверот не е само можност, него потреба поради две причини и тоа:
Управување со ризик - Софтверските падови може да бидат предизвикаат незгоди. Софтверските грешки може да бидат причина за човечки жртви. Грешка во програмирањето е Therac 25, машина за радиотерапија која била компјутерски контролирана, во која имало софтверски недостаток и како резултат на тоа дошло да загуба на човечки живот.

**Управување со трошоците** - Како и во другите инженерски области, барањата за квалитетен софтвер чинат помалку од неговото одржување, и предност е тоа што полесно може да се разбере и лесно промени доколку тоа го бара клиентот.

Дефиниции
---------

**Доверливост** – се мери нивото на ризик и веројатноста за пад на апликацијата. Исто така се мерат грешките кои се направени по модификацијата на софтверот, неговата ,,стабилност‘‘ како што е дефинирано од страна на Интернационалната Организација за Стандардизација (англиски: ISO).

Проверувањето и следењето на доверливоста на софтверот е со цел да се намали и да се спречи апликацијата да не работи, да направи испад или настанат други грешки што директно ќе им наштетат на корисниците. Доколку се спречи тоа ќе се подобри сликата за ИТ индустријата како и влијае на понатамошниот бизнис на компанијата.

**Ефикасност** – Изворниот код и софтверската архитектура се оние кои овозможуваат високи перформанси за време на извршувањето на апликацијата. Ефикасноста е особено значајна кај апликациите што се користат во околина каде што бараат брзо време на извршување, како што се трансакциски обработки каде што перформансите и размерливоста се најважни.

**Безбедност** – Се мери колкава е можноста да се наруши безбедноста на системот поради лошото кодирање и лошата архитектура, односно колкава е веројатноста на системот да се одбрани од случајни или намерни напади.. Колку е поголема сигурноста на системот, помала можноста за напад. Ова својство е тешко да се измери.

**Одржливост** – Кај одржливоста битно е системот да ги има својствата на приспособливост, преносливост и трансфер (од еден тим за развивај на друг). Одржливоста мора да биде на високо ниво кај целно – критичните апликации каде што промените на системот се чести и потребно е да се извршат во најбрз можен рок. Исто така потребно е трошоците за одржливост да бидат под контрола.

**Големина** – Иако не е некоја битна одлика, сепак големината на изворниот код директно влијае на одржливоста. Во комбинација со претходните одлики, софтверската големина се користи да се види колкава работа е завршена и уште колку треба да се заврши од страна на тимовите.

Квалитетот на функционалностите на софтверот се дефинира како дали функциите коишто ги поседува системот се во согласност со барањата на клиентот кои се наведени во барањата.

Наводи
------

1. 1 2  Pressman, Scott (2005), Software Engineering: A Practitioner's Approach (Sixth, International ed.), McGraw-Hill Education Pressman, стр. 388 harvnb error: no target: CITEREFPressman (help)
2. ↑  INTERNATIONAL STANDARD ISO/IEC 25000 проверена на 01.04.2012
3. ↑   проверена на 01.04.2012
4. ↑  Software Engineering Institute проверена на 01.04.2012
5. ↑  Object Management Group проверена на 01.04.2012
6. ↑   проверена на 01.04.2012
7. ↑   проверена на 01.04.2012
8. ↑  An Investigation of the Therac-25 Accidents проверена на 01.04.2012
9. ↑   проверена на 01.04.2012

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| * п
* р
* у
Информатика |
| --- |
|  |
| Белешка: Оваа предлошка го следи официјалниот АКМ сметачки класификационен систем од 2012 година. |
|  |
| Опрема | 
* Печатена плочка
* Периферен уред
* Интегрално коло
* Интеграција во многу големи размери
* Систем на чип
* Еколошка информатика
* Автоматизација на електронската замисла
* Хардверско забрзување

 |
|  |
| Организација насметачки системи | 
* Сметачка архитектура
* Вграден систем
* Сметање во реално време
* Ослонливост

 |
|  |
| Мрежи | 
* Мрежна архитектура
* Комуникациски протокол
* Мрежен уред
* Мрежен распоредувач
* Мрежен учинок
* Мрежен сервис

 |
|  |
| Софтверска организација | 
* Интерпретатор
* Посреден софтвер
* Виртуелна машина
* Оперативен систем
* Квалитет на софтвер

 |
|  |
| Софтверско запишувањеи алатки | 
* Програмерска парадигма
* Програмски јазик
* Програмски преведувач
* Обласно-специфичен јазик
* Моделен јазик
* Програмска рамка
* Интегрирано развојно опкружување
* Управување со софтверска конфигурација
* Библиотека
* Софтверско складиште

 |
|  |
| Развој на софтвер | 
* Развоен циклус на софтверот
* Анализа на потребите
* Проектирање на програмска опрема
* Конструкција на софтвер
* Софтверско распределување
* Одржување на програмска опрема
* Програмска екипа
* Слободен софтвер

 |
|  |
| Теорија на сметањето | 
* Модел на сметање
* Формален јазик
* Теорија на автоматите
* теорија на пресметувањето
* Сложена теорија на сметање
* Логика
* Семантика на програмски јазик

 |
|  |
| Алгоритми | 
* Алгоритам
* Анализа на алгоритми
* Алгоритамска ефикасност
* Случаен алгоритам
* Сметачка геометрија

 |
|  |
| Сметачкаматематика | 
* Дискретна математика
* Веројатност
* Статистика
* Математички софтвер
* Теорија на информации
* Математичка анализа
* Бројчена анализа

 |
|  |
| Информацискисистеми | 
* Систем за бази на податоци
* Системи за складирање информации
* Претприемнички информациски систем
* Друштвена програмска опрема
* Географски информациски систем
* Систем за поддршка на одлучувањето
* Автоматско производство
* Мултимедиски информациски систем
* Податочно рударење
* Дигитална библиотека
* Сметачка платформа
* Дигитален маркетинг
* Светска пајажина
* Пребарување на информациите

 |
|  |
| Безбедност | 
* Криптографија
* Формални методи
* Безбедносни сервиси
* Систем за забележување на упади
* Хардверска безбедност
* Мрежна безбедност
* Информациска безбедност
* Безбедност на апликациите

 |
|  |
| Интеракција меѓу човекот и сметачот | 
* Интеракциона замисла
* Друштвено сметање
* Сеприсутно сметање
* Визуелизација
* Пристапливост

 |
|  |
| Паралелизам | 
* Паралелно сметање
* Паралелна обработка
* Распределен сметачки систем
* Повеќенитна обработка
* Милтипроцесираност

 |
|  |
| Вештачкаинтелегенција | 
* Обработка на природни јазици
* Претставување на знаењето
* Сметачки поглед
* Автоматско планирање и распоредување
* Методологија на пребарување
* Контролен метод
* Филозофија на вештачката интелегенција
* Распределена вештачка интелегенција

 |
|  |
| Машинско учење | 
* Надгледно учење
* Ненадгледно учење
* Учење со утврдување
* Повеќезадачно учење
* Прекрстна проверка

 |
|  |
| Графика | 
* Анимација
* Рендеринг
* Обработка на дигитална слика
* Графички процесор
* Измешана реалност
* Виртуелна реалност
* Обработка на природни јазици
* Збивање на слики
* Стереометриско моделирање

 |
|  |
| Применетосметање | 
* Електронска трговија
* Претприемнички софтвер
* Сметачка математика
* Сметачка физика
* Сметачка хемија
* Сметачка биологија
* Сметачка социологија
* Сметачко инженерство
* Сметачка здравствена нега
* Дигитална уметност
* Електронско издаваштво
* Кибервојна
* Електронско гласање
* Видеоигри
* Процесор на текст
* Операциони истражувања
* Образовна технологија
* Систем за управување со документи

 |
|  |
| 
* Википедиина книга **Книга**
* Категорија **Категорија**
* Краток преглед **Преглед**
* Википроект**ВикиПроект**
* Страница на Ризницата **Ризница**

 |

 |