Software Design Principles and Architectures - a case study
Mishra, Suraj (2024)
Mishra, Suraj
2024
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024052715897
https://urn.fi/URN:NBN:fi:amk-2024052715897
Tiivistelmä
Design principles and architectures are decisive factors for developing robust and efficient information systems in this volatile technological environment. This thesis aims to explore the fundamental design principles and architectures used in modern software development. A sample software project has been chosen to study and conduct thorough analysis of applied architecture and design patterns. Based upon the gathered theoretical knowledge and practical implementation from the sample project, analysis of sample project’s architecture and design principles has been made and further improvements are suggested.
The research has been carried out by finding in-depth theoretical knowledge from different scientific sources, e-books, articles, reports, and relevant blogs from software professionals. Furthermore, research has been supported by exploring the sample project’s architecture and design. This research has been done in an iterative manner by delving into the project’s codebase and establishing the relevant theoretical framework.
Development of sustainable information system should follow well defined methodology with various development phases, suitable architecture, and proven design principles. This thesis presents software development methodologies within traditional plan-driven and modern agile dimensions. Various phases of software development cycles are discussed, and architectural characteristics and various design principles has been highlighted. Moreover, main tools and technologies used in sample project has been explored thoroughly along with the project’s background information.
During the analysis of sample project’s architecture and design principles, considerations has been made by reflecting to the gathered theoretical knowledge. Further improvements to the project’s architecture and design have been suggested. The analysis and improvement suggestions further include author’s own development experience from the project work.
This thesis showed that, by following suitable architecture and well-practiced design principles, we can develop sustainable, maintainable, efficient, and robust solutions. Furthermore, quality of system can be examined from various angles of architectural characteristics. It is a challenging task to satisfy all the expects of architectural characteristics in an application, however we need to find a balance between application requirements and project’s limitations.
The research has been carried out by finding in-depth theoretical knowledge from different scientific sources, e-books, articles, reports, and relevant blogs from software professionals. Furthermore, research has been supported by exploring the sample project’s architecture and design. This research has been done in an iterative manner by delving into the project’s codebase and establishing the relevant theoretical framework.
Development of sustainable information system should follow well defined methodology with various development phases, suitable architecture, and proven design principles. This thesis presents software development methodologies within traditional plan-driven and modern agile dimensions. Various phases of software development cycles are discussed, and architectural characteristics and various design principles has been highlighted. Moreover, main tools and technologies used in sample project has been explored thoroughly along with the project’s background information.
During the analysis of sample project’s architecture and design principles, considerations has been made by reflecting to the gathered theoretical knowledge. Further improvements to the project’s architecture and design have been suggested. The analysis and improvement suggestions further include author’s own development experience from the project work.
This thesis showed that, by following suitable architecture and well-practiced design principles, we can develop sustainable, maintainable, efficient, and robust solutions. Furthermore, quality of system can be examined from various angles of architectural characteristics. It is a challenging task to satisfy all the expects of architectural characteristics in an application, however we need to find a balance between application requirements and project’s limitations.