Subject

Надежност на софтвер

1. Наслов на наставниот предмет Надежност на софтвер
Software reliability
2. Код m23_s_050
3. Студиска програма
4. Организатор на студиската програма (единица, односно институт, катедра, оддел) Факултет за информатички науки и компјутерско инженерство
5. Степен (прв, втор, трет циклус) Втор циклус
6. Академска година / семестар 10 / Летен
7. Број на ЕКТС кредити 6
8. Наставник Иван Чорбев
9. Предуслови за запишување на предметот
10. Цели на предметната програма (компетенции) Курсот има за цел да им понуди на студентите познавање на основните концепти за отпорност на грешка, основните техники за постигнување на отпорност на грешка во софтверските, комуникациските и електронските системи. Здобивање на вештини за моделирање и евалуирање на архитектури отпорни на грешка, нивна овозможеност и сигурност. Да се здобијат со знаење за можните извори на грешка и начини за нивно предвидување и спречување. Да знае да дизајнира и развива високо-надежен софтвер.
11. Содржина на предметната програма Дефиниција на надежност на софтвер, Дефиниција на расположливост на софтвер, Потреба од надежен софтвер, Примена на софтвер толерантен на откази. Развоен циклус за софтвер, Модели за грешки во софтверот, Извори на грешки во софтверот, Стратегија на развој на софтвер со многу мал број на грешки. Користење на стандарди при кодирањето. Примена на различни структури на софтверот, Декомпозиција по модули, Партиционирање, Затварање на модулите, Аномични акции. Детекција на грешки, Временски проверки, Проверка наназад, Кодови за детекција и корекција на грешка, Проверка на логиката, Структурни проверки. Обработка на исклучоци, Дизајн на системот за обработка на исклучоци. Дебагирање, Дебагирање со индукција, Дебагирање со дедукција. Логирање на информации, Примена на логирањето за дебагирање, Примена на логирањето за детекција на грешки. тестирање, Автоматизирање на процесот на тестирање, Unit тестови, Интеграциски тестови, Acceptance тестови. Техники кај софтвер кој се прави во една верзија, Контролни точки и Повторно стартување, Пар од процеси, Разновидност на влезните податоци. ехники кај софтвер во повеќе верзии, Опоравувачки блокови, Програмирање со N-верзии, N Само-Проверувачки програми, Опоравувачки блокови со консензус, t/(n-1)- Варијантно програмирање.
12. Методи на учење Предавања поддржани со презентации преку слајдови, интерактивни предавања, вежби (користење на опрема и софтверски пакети), тимска работа, пример случаи, поканети гости предавачи, самостојна изработка и одбрана на проектна задача и семинарска работа, учење во електронско опкружување (форуми, консултации).
13. Вкупен расположив фонд на време 6 ЕКТС x 30 часа = 180 часа
14. Распределба на расположивото време 60 + 0 + 45 + 45 + 30 = 180 часа
15. Форми на наставните активности
15.1. Предавања - теоретска настава 60 часови
15.2. Вежби (лабораториски, аудиториски), семинари, тимска работа 0 часови
16. Други форми на активности
16.1. Проектни задачи 45 часови
16.2. Самостојни задачи 45 часови
16.3. Домашно учење 30 часови
17. Начин на оценување
17.1. Тестови 0 бодови
17.2. Семинарска работа / проект ( презентација: писмена и усна) 45 бодови
17.3. Активности и учење 0 бодови
17.4. Завршен испит 0 бодови
18. Критериуми за оценување (бодови/ оценка)
до 50 бода5 (пет) (F)
од 51 до 60 бода6 (шест) (E)
од 61 до 70 бода7 (седум) (D)
од 71 до 80 бода8 (осум) (C)
од 81 до 90 бода9 (девет) (B)
од 91 до 100 бода10 (десет) (A)
19. Услов за потпис и полагање на завршен испит реализирани активности
20. Јазик на кој се изведува наставата македонски и англиски
21. Метод на следење на квалитетот на наставата механизам на интерна евалуација и анкети
22. Литература
22.1. Задолжителна литература
1. Elena Dubrova | Fault-Tolerant Design | Springer | 2013
2. John Knight | Fundamentals of Dependable Computing for Software Engineers | (Chapman & Hall/CRC Innovations in Software Engineering and Software Development Series) | 2012
3. Kopetz, Hermann | Real-Time Systems, Design Principles for Distributed Embedded Applications | Springer | 2011
4. Mitch Lacey | The Scrum Field Guide: Practical Advice for Your First Year (Agile Software Development Series) | Addison-Wesley Professional | 2012
5. Mark A. Levin , Ted T. Kalal, Jonathan Rodin | Improving Product Reliability and Software Quality: Strategies, Tools, Process and Implementation (Quality and Reliability Engineering Series) | Wiley | 2019
22.2. Дополнителна литература
Ред.бр. Автор Наслов Издавач Година