In the past few years, the digitalization of various in-house institutional processes became very popular. Almost every aspect of our lives is either helped or extended by a mobile or desktop application. This may have caused both big and small institutions to help their in-house processes with various mobile or desktop software applications.
Despite the rise of these directives, our profession is very young. Because of this, the processes necessary to design and build software systems may be extraneous to those who want them done. Partly because of this, and because of cost-effectiveness, us software engineers may neglect some true values that make a software system considered well-written.
In my thesis I study those methodologies that can make a software system more maintainable and extendible. I present these through an app made for iOS, specifically for iPads.
During my thesis, I had the chance to design a system based on it's requirements and I could dive into architectural design and various design patterns. I had the opportunity to write several automated software tests and to focus on the testability of the software I was writing. All of these gave me a deeper understanding of professional software development.
It is important to note that various parts of the presented application are considered as business secrets, so it was not always possible to report on every detail of the design and building process.