Дипломна работа

Микро-фронтенд архитектури в разработката на софтуерни продукти | Защитена на: 01/01/1900

Разработването на софтуерни продукти е изключително динамичен процес. На всеки 5-10 години се появяват нови технологии, а развитието на някои от настоящите бива прекъснато. Когато става въпрос за разработването на потребителски интерфейс, нещата се променят още по-бързо. На всеки 3-4 години се появяват нови софтуерни рамки, които подобряват начина на разработка на нови продукти. Едновременно с това процесът на обновяване на съществуващи софтуерни продукти също претърпява огромно развити. В днешно време е практика да бъдат издавани нови версии на даден софтуерен продукт ежедневно.

 

Тези факти водят до огромни предизвикателства при разработването и поддръжката на системи със сложен потребителски интерфейс. За да могат да бъдат конкурентни, такива системи се нуждаят както от надеждна софтуерна архитектура, която да позволява бързото внедряване на нови технологии, така и от оптимален процес на организация на работата, който да позволява бързото издаване на нови версии на продукта. Настоящата дипломна работа предлага решение на тези предизвикателства.

 

За целта представяме така наречения микро-фронтенд подход на разработка, който позволява разработването на дадена софтуерна система да бъде разделено на няколко вертикални екипа, които работят автономно. Екипите биват обособени спрямо конкретна функционалност на системата, а не спрямо използваните технологии. Това означава, че всеки екип отговаря за част от потребителския интерфейс и има свободата да използва софтуерна рамка, независима от останалите екипи. Това позволява по-бързото внедряване на нови технологии за разработка, тъй като няма нужда целият продукт да бъде адаптиран към новата технология едновременно, а това може да стане екип по екип.

 

Предложен е нов подход на организация на работата по софтуерната система, който включва въвеждането на един хоризонтален екип, който работи с всички вертикални екипи по общи интеграционни и инфраструктурни задачи. Наличието на такъв екип позволява отделните екипи да не са зависими един от друг. Това води както до по-бързото и надеждно издаване на нови функционалности, така и до по-бързите подобрения по настоящи такива. Целта е да се намали максимално нуждата от извършване на еднотипна работа от различните екипи, като едновременно с това се запази автономността им.

 

 

Scroll to Top