With the previous article, we started a series on the stages of software creation and the IT company professions that are involved at each of them. In this article, we will talk about the second step of the process when software architects get involved in the project.
Software architects
The specification is handed over to the software architects (usually 1 person or a whole team). These are people with a lot of programming experience, familiar with the capabilities of different programming languages and technologies, as well as the capabilities, availability and knowledge of the team.
As they review the specification prepared by the business analysts, they must consider what will be most appropriate to use to build the software. Their task is to describe everything in as much detail as possible so that the developers’ task is completely clear.
Architects describe the modules that make up the software. They may make diagrams of objects and classes. They describe or draw the user interface of the program – what the client will actually work with, the appearance of the program.
For example, where there will be buttons, where it will display reports, what windows will open, where data will be entered. They might also write some very rough prototype of the system in uml.
UML is a specialized standard for describing software in architectural terms.
It’s also not programming yet.
At this stage it is also decided what the database will be and what its meta structure (tables) will be. For more complex software it is made open, as it is assumed that as the software evolves the database will also evolve, new tables will appear, the number of columns will increase and the relationships between tables may change.
The software architects provide the first version of the program with the possibility to develop the software base. They can say:
“Our software will be three-layered. There will be a front-end office that will be web-based and accessible through a browser. There will be server middleware and from that there will be a connection to the database.”
For each of these elements, the architects say how and where they should be written and implemented. The web part will be written in Angular in Javascript. The middleware part will be written in Embedded SQL, C and Pro*C. And the back-end will be in a database with people-procedures.
Software architects describe and explain the specification so that programmers understand it and can write the code.
In the next article in this series, we will describe what happens after the software architects finish their part of the job and hand the task over to the programmers.
