С предишната статия започнахме поредица за етапите от създаването на софтуера и професиите в ИТ компанията, които се включват на всеки един от тях. В тази статия ще разкажем за втората стъпка от процеса, когато в проекта се включат софтуерните архитекти.
Софтуерните архитекти
Спецификацията бива предадена на софтуерните архитекти (обикновено 1 човек или цял екип). Това са хора с много богат опит в програмирането, запознати с възможностите на различните програмни езици и технологии, както и с възможностите, наличностите и познанията на екипа.
Докато разглеждат спецификацията, подготвена от бизнес анализаторите, те трябва да преценят какво ще е най-подходящо да се използва за изграждане на софтуера. Тяхната задача е да опишат максимално подробно всичко, за да е напълно ясна задачата на програмистите.
Архитектите описват модулите, от които се състои софтуерът. Може да направят диаграми на обекти и класове. Описват или рисуват потребителския интерфейс на програмата – това, с което клиентът ще работи реално, външният вид на програмата.
Например къде ще има бутони, къде ще извежда отчети, какви прозорци ще се отварят, къде ще се въвеждат данните. Може да напишат и някакъв съвсем груб прототип на системата на uml език.
UML e специализиран стандарт за описване на софтуер от архитектурна гледна точка.
Това също все още не е програмиране.
На този етап се решава и каква ще бъде базата данни и каква ще бъде нейната мета структура (таблиците). За по-сложните софтуери тя се прави отворена, тъй като се предполага, че с развиването на софтуера базата данни също ще се развива, ще се появяват нови таблици, ще се увеличава броят на колонките и връзките между таблиците може да се променят.
Софтуерните архитекти дават първата версия на програмата с възможност за развитие на софтуера на базата. Те могат да кажат:
„Нашият софтуер ще е трислоен. Ще има front-end офис, който ще е уеб базиран и достъпен през браузър. Ще има server middleware и от него ще има връзка с базата данни.“
За всеки от тези елементи архитектите казват как и къде да бъдат написани и изпълнени. Уеб частта ще се пише в Angular на Javascript. Middleware частта ще се пише на Embedded SQL, C и Pro*C. A back-end ще бъде в база данни с хора-процедури.
Софтуерните архитекти описват и обясняват спецификацията така, че програмистите да я разберат и да могат да напишат кода.
В следващата статия от поредицата ще опишем какво се случва след като софтуерните архитекти приключат със своята част от работата и предадат заданието на програмистите.