1 |
Modernisering av mjukvaruarkitektur för äldre mjukvarusystem / Modernization of software architecture for legacy software systemsSaffo, Farah, Saeed, Basma January 2021 (has links)
Flera företag använder sig än idag av mjukvarusystem som är uppbyggda med äldre mjukvaruarkitektur som den monolitiska. Ett av dessa företag är Consid vars personalsystem är uppbyggt med det utdaterade ramverket klassisk ASP och där användargränssnitt samt logik kan direkt kommunicera med varandra. Detta medför begränsningar som uppstår till följd av brister i modularitet på grund av valet av mjukvaruarkitektur, vilket försvårar vidareutveckling och ändringar i ett system. Dessa begränsningar påverkar i sin tur parametrar som prestanda, skalbarhet, säkerhet, robusthet samt integrering med modernare tekniker. I denna rapport presenteras en litteraturstudie samt en semistrukturerad intervjustudie, i syfte att undersöka vilka mjukvaruarkitekturer som är lämpliga att implementera vid en modernisering av en monolitisk mjukvaruarkitektur. Arbetet diskuterade också vilka utmaningar som kan uppstå vid en sådan modernisering och hur de hanteras på ett effektivt sätt. Ett bedömningsschema med önskvärda parametrar, med avseende på skalbarhet, prestanda, säkerhet och robusthet, togs fram för att underlätta avgörandet vid val av mjukvaruarkitektur. Utifrån detta, beslutades det att en prototyp med en REST-baserad arkitektur skulle implementeras och utvärderas. Resultatet av prototypen, till följd av re-architecting, visade en ökad modularisering av mjukvaruarkitekturen. I jämförelse mot med det tidigare systemet har den nya prototypen ingen större påverkan på prestanda i form av responstid. Däremot bidrog prototypen till förbättrad skalbarhet när det gäller vidareutvecklingen av systemet, eftersom det förenklar införandet av ny funktionalitet. Prototypen hade också högre säkerhet genom att isolera lager ifrån varandra samt dölja underliggande detaljer i implementationen. Dessutom blev prototypen inte bara mer robust till följd av modulariseringen, men även enklare att utföra integrationstester samt destruktiva tester mot. / Several companies still use software systems that are built with older software architecture such as the monolithic one. One of these companies is Consid, whose personnel system is built with the outdated framework Classic ASP and where the user interface and logic can directly communicate with each other. This entails limitations that arise because of shortcomings in modularity due to the choice of software architecture, which complicates further development and changes in a system. These limitations in turn, affect parameters such as performance, scalability, security, robustness, and integration with modern technologies. In this work, a literature study was conducted as well as a semi-structured interview study in order to investigate which software architectures are suitable to implement when a modernization of a monolithic software architecture, is carried out. The work also discussed the challenges that may arise in a modernization of the software architecture and how they are handled efficiently. An assessment scheme with desirable parameters regarding scalability, performance, security, and robustness, was developed to facilitate the decision in the choice of software architecture. Based on this, it was decided that a prototype with a REST-based architecture would be implemented and evaluated. The result of the prototype, following re-architecting, showed an increased modularization of the software architecture. Compared to the previous system, the new prototype has no major impact on performance in terms of response time. However, the prototype contributed to better scalability in the further development of the system as it simplifies the introduction of new functionality. The prototype also had higher security by isolating layers from each other and hiding the underlying details in the implementation. In addition, the prototype not only became more robust because of the modularization, but also easier to perform destructive tests against.
|
Page generated in 0.0534 seconds