Програма: |
Софтверско инженерство |
| Циклус на студии: | Втор циклус (Постдипломски) |
| Факултет: | Современи науки и технологии |
| Академска година: | 2023 / 2024 |
| ЕКТС: | 120 (2 години) |
| Решение: |
Магистерската програма по софтверско инженерство е дизајнирана за да им обезбеди на студентите можности да ги унапредат своите знаења во специфични области по компјутерските науки, да се насочат кон истражувањето, како и да научат да ги применуваат стекнатите теоретски и технички вештини во индустријата и во бизнис-секторот.
Во рамките на програмата се негува креативно размислување и иновативен пристап за решавање проблеми преку солидни теоретски основи и нови технологии.
План-програма за магистерски студии по софтверско инженерство е заснована врз усвоениот Болоњски модел на организирањето на студиите во времетраење од четири семестри, погоден за студенти кои завршиле додипломски студии на тригодишните програми.
Програмата ќе им овозможи на студентите ги стекнат потребните знаења и вештини за да придонесат во сите аспекти на процесот на развој на софтвер, вклучувајќи и планирање, соработка, спецификација, дизајн, кодирање, испорака и одржување на софтверски производи. Покрај тоа, студентите ќе стекнат општи вештини, како што се аналитичко и критичко размислување, тимска работа и работа во мултикултурни средини, планирање и организирање итн.
По завршувањето на оваа програма, дипломираните студенти ќе имаат можности за кариера во различни индустрии, главно исполнувајќи ги потребите за дизајн на компјутерски системи, како развивач на софтвер, тестер на софтвер, менаџер на софтверски проекти и процеси.
Последниот семестар на студии вклучува пишување на магистерскиот труд, овозможувајќи им на дипломираните студенти да ги продолжат своите студии на докторски студии по компјутерски науки.
Знаење и разбирање
- Напредни знаење и разбирање во областа на развој на апликации и софтвер, вклучувајќи:
- развој на софтвер, анализа на потребите, проектирање, кодирање, тестирање;
- програмски јазици, нивна анализа и употреба во развојот на различни софтверски решенија, анализа на софтверски системи, развој на интернет-апликации и сигурност, вмрежување.
- Знаење на напредни концепти на информатиката.
- Менаџирање со поголеми софтверски проекти.
Примена на знаењето и разбирањето
- Може да аплицира, да употреби, да развива и да распоредува напредни софтверски системи.
- Може да нуди и да примени различни методи и методологии на развој на софтвер за испорака на поголеми информатички решенија.
- Може да користи разни алатки за развој на софтвер и да ги програмира истите употребувајќи шел, скрипти и компајлирани програми во самостојни или веб-средини.
- Може да учествува во процесот на решавање проблеми на оригинален, критичен и креативен начин во нови, невидени или непознати средини за развој на софтвер.
- Во можност е да организира софтверски системи со цел решавање различни социјални, економски и/или технолошки прашања.
- Во можност е да учествува во истражувачки проекти како база за понатамошен академски развој.
- Демонстрира експертиза во третирањето реални проблеми од областа на развој на софтвер и менаџирање со проекти.
- Може да развива и да аплицира оригинални и креативни идеи.
Способност за проценка
- Може на адекватен начин да собере, да анализира и да евалуира податоци, употребувајќи современи алатки и системи за одредени социјални, економски и/или организациони прашања.
- Има способност адекватно да ги процени потребните рокови, ресурси и ризици при планирање, развој, распоредување и одржување на софтвер, употребувајќи адекватни алатки.
- Може да аргументира и да образложи идеи, концепти.
- Може да тестира, да процени и соодветно да одлучи за различни можни информатички решенија
Комуникациски вештини
- Може на јасен и недвосмислен начин да ги презентира своите знаења, податоци и резултати од студии на членови на тимот, на клиенти, на управители и на други засегнати страни при развој на софтвер.
- Може адекватно да ги прилагоди стилот и формата на изразување кога се обраќа на нестручна публика.
- Може да иницира, да води и да преземе одговорност за работата на група на луѓе.
- Во можност е да преземе подготовки за истражување и да придонесе во полето на развој на софтвер.
Вештини на учење
- Може да ги следи новите достигнувања во полето на развој на апликативен софтвер, да научи нови технологии и ги имплементира.
- Може да ги идентификува сопствените потреби и насоки на лично усовршување.
Семестар 1
-
[6 ЕКТС]
Методологија на истражување
Целта на овој предмет е студентите да стекнат знаење и разбирање на различни научни теории и методологии кои се применуваат во областа на развој на софтвер и апликации. По завршувањето на предметот студентите ќе бидат способни: * Темелно да го објаснат и да разберат значењето на основните научни концепти. * Ефикасно да пребаруваат релевантни информации и литература. * Да идентификуваат, да формулираат и да опишат научни проблеми. * Да направат внимателен избор на алтернативни истражувачки пристапи. * Темелно да ги опишат, да ги споредат и да ги објаснат предностите и недостатоците на различни научни методи за собирање квантитативни и квалитативни податоци. * Да ги применуваат основните научни методи за анализа на квантитативни и квалитативни податоци. * Да разберат различни рамки за изградба на теорија. * Да проценат и да прегледуваат научни публикации.
-
[6 ЕКТС]
Напредни структури на податоци и алгоритми
Овој предмет се базира на претходни знаења од областа на алгоритми и структури на податоци. Целта на предметот е да се запознаат студентите со напредни ефикасни алгоритми и соодветни структури на податоци кои се користат за организација, барање и за оптимизација на податоци. Исто така се разгледува и теоретската ефикасност на алгоритмите и нејзиното практично утврдување со цел да може да се споредат различни алгоритми. Во текот на предметот, студентите ќе се запознаат со неколку познати алгоритми, особено за барање и оптимизација во комплексни нелинеарни структури, како на пр. стебла и графови.
-
[6 ЕКТС]
Софтверски процеси и менаџирање
Целта на предметот студентите да стекнат критичко и систематско разбирање на принципите и техниките за менаџирање со проектирање на ефективни софтверски апликации и да им се претстави методологијата на менаџирање на развојот на софтверски солуции. Поспецифичните цели се: профили и типови на софтверски проекти, разбирање на креирање на структурата на софтверски проект, менаџерскиот пристап во решавање на проблемите и алатките, евалуација и менаџирање на ризикот, мониторинг и контрола, одржување на квалитетот, техники за менаџирање на агилен развој на софтвер и др.
-
[6 ЕКТС]
Семинарска работа
Овој предмет ги покрива различните аспекти на менаџмент на развојот на софтверските системи и работа во групи како и менаџирање на развојните техники на агилен развој на софтверот. На студентите им се дава можност да изработат семинарска работа под надзор на професорот, за да ги истакнат своите знаења и вештини, преку користење софтверски алатки за следење и набљудување на проекти; софтверски алатки за тимска работа; организациско донесување одлуки; потенцијал на еден ефективен систем во раководење на информацијата; организациско учење; извор на натпреварувачка предност; организацијата во глобална арена.
- [6 ЕКТС] Слободен изборен предмет 1
Семестар 2
-
[6 ЕКТС]
Анализа и проектирање на софтвер
Во рамките на овој предмет се дава преглед на дизајнот на софтвер. Понатаму предметот опфаќа: проучување на обрасците за дизајн (design patterns), рамки за дизајн и архитектури, преглед на актуелните посреднички (middleware) архитектури, дизајн на дистрибуирани системи со користење на посредници, компонентно базиран дизајн, теорија за мерка и користење метрики во дизајнот, карактеристики на добриот дизајн: перформанси, сигурност, безбедност, повторна искористливост, надежност итн., мерење на внатрешните квалитети и комплексност на софтверот, евалуација и еволуција на дизајнот, основи на софтверска еволуција, реинженеринг и реверсен инженеринг.
-
[6 ЕКТС]
Парадигми на програмирање
Преку овој предмет се обезбедува преглед на принципите на програмски јазици и на темите поврзани со нивна имплементација. Темите вклучуваат споредба на најважни програмски парадигми: декларативно програмирање, функционално, процедурално, логично, релациско,, објектно-ориентирано и други парадигми на програмирање. Понатаму опфатени се: типови на податоци, методи на одредување јазична семантика и синтакса, контролни структури, податочно поврзување и други поврзани теми. Предвидено е и следново:, вовед на алтернативни програмски јазици, како што се функционални јазици за програмирање како Lisp, логични програмски јазици како Prolog и скриптови јазици како Perl. Во рамките на овој предмет, студентите ќе пишуваат програми во LISP, Prolog и во PERL.
-
[6 ЕКТС]
Дистрибуирани системи
Архитектури на дистрибуирани системи. Меѓупроцесни комуникации. Типови сокети и развојни платформи. Стандардни апликативни решенија за дистрибуираните компјутерски системи. Основи на клиент - сервер програмирање. Комуникација јазел до јазел кај интернет-базираните дистрибуирани компјутерски системи. Платформи Middleware (CORBA, JavaBeans, DCOM, .NET). Мултиагентски системи во дистрибуирана околина. Веб-услуги и технологии кај дистрибуираните компјутерски системи (архитектура и реализација).
-
[6 ЕКТС]
Лабораториски курс
Ориентирана тимска работа во лаборатории. Примена на дигитализација. Е-презентација. Авторски и изведувачки права. Алатки за дигитализација: скенирање слики, резолуција, обработка на слики, битмапирани и векторски ориентирани обработувачи на слики.
- [6 ЕКТС] Слободен изборен предмет 2
Семестар 3
-
[6 ЕКТС]
Тестирање софтвер
Дефиниции и мерки за сигурност и доверливост. Сигурност и моделирање на расположливост. Детекција на грешка и кодови за корекција на грешка. Дизајн на доверлив систем: Транзиенти наспроти перманентни грешки. Извори на грешки во софтверот. Техники за толеранција на грешка, Доверливост кај VLSI уредите, системите за воздушна контрола, телекомуникациските системи, апликациите за индустриска контрола. Доверливи системи за процесирање трансакции. Софтверски пристапи и софтверска доверливост. Модели за софтверска надежност. Методи за софтверска доверливост. Доверливост кај оперативните системи и податочните структури. Доверливост кај бази на податоци и дистрибуирани системи. Дизајн на тестови. Методи за генерирање тестови. Automatic Test Pattern Generation (ATPG).
-
[6 ЕКТС]
Тимски проект
Станува збор за отворен предмет. Во рамките на овој предмет студентите ќе може да изберат да работат на некој тимски проект поврзан со најновите достигнувања во полето на софтверското инженерство. Можните теми ги опфаќаат следниве области: анализа и дизајн на софтверски системи, развој на графички апликации, мултимедијални апликации и е-комерцијални апликации, тестирање, статистичка обработка на податоци, метафоричко расудување и расудување по аналогија.
-
[6 ЕКТС]
Теорија на автоматите и формални јазици
Предметот ги опфаќа следните теми: Теорија на автоматите, алгоритамски стратегии, основни компјутерски алгоритми, геометриски алгоритми, криптографски алгоритми, паралелни алгоритми, дистрибуирани алгоритми, основна алгоритамска анализа, напредна алгоритамска анализа, основна пресметливост, комплексност, класи на комплексност P и NP.
-
[6 ЕКТС]
Безбедност на оперативните системи
Предметот ги опфаќа следните теми: Структура на криптирање. Примери на протоколи за криптирање. Криптирање со тајни клучеви. Криптирање со јавни клучеви. Пробивање криптирани системи. Основни заштитни механизми кај оперативните системи. Архитектура на системите за заштита кај оперативни системи, автентикација, контрола на пристап:листи на пристап, имплементација на контрола на пристап (Unix, Java), модели Bell и La Padula, Механизми на оперативни системи за поддршка на политиките MAC, Безбедносни политики Clark-Wilson и Кинески ѕид. Слабости на заштитата кај оперативните системи. Безбедни јадра на оперативни системи.
- [6 ЕКТС] Изборен предмет 1
Семестар 4
-
[30 ЕКТС]
Магистерски труд
Овој модул им овозможува на студентите да ги пренесат своите вештини и знаења за истражување и за составување на покомплицираната задача - пишувањето на магистерскиот труд. Модулот е наменет да биде целосно практичен и студентите да ги стекнат потребните знаења, способности, вештини и доверба за да пристапат кон истражување и пишување на тезата. Модулот има единствен повратен резултат - да им овозможи на студентите да ја пишуваат магистерската теза со минимални тешкотии и со максимална ефективност. Сѐ што е предвидено е во насока на подобрување на техниките на истражување и на стилот на пишување на магистерската теза водејќи сметка притоа за забраната со служење со недозволените средства како: плагијаторство и повреда на авторските права, кои се забранети со Статутот на УЈИЕ.