Software reliability

Software reliability

1.

Subject title

Software reliability

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

2.

Code

m23_s_050

3.

Study program

Cloud Computing, Bioinformatics, Security, Cryptography and Coding, Еducation with ICT, Eco-informatics, Inteligent Systems, Internet Technologies and cyber security, Computer Science, Statistics and Data Analytics, Software for embedded systems, Cloud Computing, Bioinformatics, Security, Cryptography and Coding, Statistics and Data Analytics, Data science in computer science and engineering, IT management, IT management, Software Engineering, Software Engineering,

4.

Organizer of the study program (unit, institute, department, division)

Faculty of Information Sciences and Computer Engineering

5.

Study cycle (first, second, third)

Втор циклус

6.

Academic year / semester

5 / Летен

7. Number of ECTS credits

6.0

8.

Instructor

проф. д-р Иван Чорбев

9.

Prerequisites for enrollment

10.

Subject goals and competencies:


The course aims to offer students knowledge of the basic concepts of error resistance, the basic techniques for achieving the resistance of error in software, communication and electronic systems. Gaining skills for modeling and evaluating error -resistant architectures, their facilitation and reliability. To acquire knowledge of possible sources of error and ways to predict and prevent them. To know how to design and develop high-point software.

11.

Subject content:


Definition of software reliability, definition of software available, the need for promising software, application of cancellation software. Software Development Cycle, Software Error Models, Software Error, Software Development Strategy with a very small number of errors. Using standards when encoding. Applying different software structures, modules decomposition, partitioning, module closure, anomical actions. Error detection, time checks, back check, detection and error correction codes, logic check, structural checks. Exceptional processing, exception processing system design. Debagging, induction debugging, deduction debugging. Logging information, application of debugging logging, application logging for error detection. Testing, automating the test process, unit tests, integration tests, accesstance tests. Software techniques that are done in one version, control points and re -launch, pair of processes, diversity of input data. Software Ehnicki in many versions, recovery blocks, N-versions programming, N self-checking programs, consensus recovery blocks, T/(N-1)-variants.

12.

Learning methods:


Предавања поддржани со презентации преку слајдови, интерактивни предавања, вежби (користење на опрема и софтверски пакети), тимска работа, пример случаи, поканети гости предавачи, самостојна изработка и одбрана на проектна задача и семинарска работа, учење во електронско опкружување (форуми, консултации).

13.

Total available time fund

6.0 ECTS x 30 hours = 180 hours

14.

Time distribution

60 + 0 + 45 + 45 + 30 = 180 hours

15.

Forms of teaching activities

15.1.

Lectures - theoretical teaching

60 hours

15.2.

Exercises (laboratory, classroom), seminars, team work

0 hours

16.

Other forms of activities

16.1.

Project tasks

45 hours

16.2.

Independent tasks

45 hours

16.3.

Homework

30 hours

17.

Grading method

17.1.

Tests

0 points

17.2.

Seminar work / project (presentation: written and oral)

45 points

17.3.

Activities and learning

0 points

17.4.

Final exam

0 points

18.

Grading criteria (points / grade)

up to 50 points

5 (five) (F)

from 51 to 60 points

6 (six) (E)

from 61 to 70 points

7 (seven) (D)

from 71 to 80 points

8 (eight) (C)

from 81 to 90 points

9 (nine) (B)

from 91 to 100 points

10 (ten) (A)

19.

Condition for signature and taking final exam

реализирани активности

20.

Language of instruction

македонски и англиски

21.

Quality assurance method

механизам на интерна евалуација и анкети

22.

Literature

22.1.

Mandatory literature

No.

Author

Title

Publisher

Year

6556

Elena Dubrova

Fault-Tolerant Design

Springer

2013

6557

John Knight

Fundamentals of Dependable Computing for Software Engineers

(Chapman & Hall/CRC Innovations in Software Engineering and Software Development Series)

2012

6558

Kopetz, Hermann

Real-Time Systems, Design Principles for Distributed Embedded Applications

Springer

2011

6559

Mitch Lacey

The Scrum Field Guide: Practical Advice for Your First Year (Agile Software Development Series)

Addison-Wesley Professional

2012

6560

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.

Additional literature

No.

Author

Title

Publisher

Year