Modern library interface
We have always offered Master´s Thesis opportunities to university students to support their academic and professional qualifications. There are more than 40 Master´s Theses completed for Vertex during the years. The research results are implemented in our product development to provide cutting-edge software solutions for our customers. In the “My Master´s Thesis Journey” blog series, our young professionals tell about their Master´s theses and what they have learned and accomplished during the journey.
Road to thesis
I started to work in Vertex Systems Oy in 2019 as a summer trainee. At end of the summer with CTO we planned that by next summer I finish the rest of my studies so we can start to plan my thesis in summer 2020. During next semester I finished my studies with software engineering as my major. Combining that major with great interest about designing and evaluating software architecture in practice,
I thought it would be easy to find topic for thesis. However, who would have known that in software company the problem was to choose from many different possibilities. After couple of iterations topic formed to be modernization of building design component library interface (Library in this context means collection of items).
Brief glimpse into theory
Development of technologies has created brand new demands on software. That means existing software turns to be legacy. In many cases existing software is critical for corporation so, it cannot be thrown away. Only solution is modernization to make software fulfil today’s requirements.
Actual modernization always starts with reverse-engineering. Goal of reverse-engineering is to get high abstraction level by studying old implementation and reading documentation. Abstraction levels are same as in the ordinary software engineering from concepts and requirements to architecture and implementation, but in reverse order. After obtaining enough information about old software, all the abstraction levels are redesigned to match current principles and demands. After that you can do normal software engineering when implementing new software.
Besides modernization architecture evaluated by using Decision-centric architecture review -method (DCAR). DCAR is lightweight way to find trade-offs between different architecture decision. Evaluation starts with introducing architecture and all the relevant background information. Next evaluation group find all the decisions made to achieve introduced architecture. To compare and debate about decisions DCAR uses forces which means anything that has influence architecture from quality requirements to quiet info like company’s preferences. Decisions will be prioritized by using forces. At the last top decision are documented also including the forces and arguments favour and against the decision. So, the motivation besides evaluation itself to use DCAR is that it encourages naturally sharing information and it increases documentation about architecture.
Modernization of component library
With component libraries especially technical requirements has been changed significantly during software life cycle. Maintaining and updating libraries have become also very difficult. The hardest part was to reach high abstraction level from implementation. Age of the implementation and my knowledge of the building design made things little bit complicated. However just like in normal software development with customers you just need to ask the right questions. Asking the right questions has been the skill I have tried to get better and during thesis I have improved so much.
Figure 1: Library editing before and after modernization
The biggest change for customers was the new library UI which was possible to do after modernization. Picture above shows the old database editing view and on the right is new UI. Besides the look new UI has much better control of the libraries so we can more efficiently guide users to do changes right and prevent them to do errors.
In the future
New architecture of component libraries and UI are part of BD 2022 which is just released. Architecture has been evaluated and tested, but at the time this blog was written only small part of libraries use that interface. So, work around libraries continues, but I am looking forward to next development steps what this thesis work made possible.
Read also other “My Master´s Thesis Journey” blog posts: