Description |
When designing a large-scale software system there are many aspects of software design that go into making a successful final product. This document seeks to give insight into the software design process, using my capstone project, Hestia, as a case study. Hestia is an all-encompassing household management application that combines all the features of a budgeting, calendar, to-do list, and meal planning app into one single easy-to-use application. Hestia's goal is to help make managing your life and household easier to help users stay on top of their lives in this chaotic modern world. Hestia was developed by the following team of developers: Bridger Peterson, Liam Zhou, Pierce Bringhurst, Thang Ngyuen, and myself (Shawn Michael Linnebach III). I will present this case study to help explain the design decisions that must be made in the field of web development in software engineering. After talking about the field in general I will then give an introduction to Hestia, which lays the groundwork for what we wanted Hestia to be and the requirements for an application of this size. Then, the design decisions we made for the application are explained based on the kind of application we wanted to create and the role of each team member is discussed. A timeline of the entire development process is shown which documents how the 30 week development time frame over two semesters was divided. Then, our results are examined by giving an in-depth look at the completed application and showing off all the features implemented. After this, I explain the roles I served on the team as the database designer, a backend developer, the backend quality engineer, and the public website designer and explain how I contributed to the final product in each of these roles. After this, I break down our design decisions and analyze which decisions worked well and which did not and explain my recommended design decision changes were we to develop the application from scratch again. ii Next, I explain the future of Hestia after this semester. The current plan is to maintain ownership of the code but not release the application yet because our team has to commit to maintaining and improving the application once it is released if we want it to be successful. We as a team have decided to take a break from development after this semester but in the future, we plan on continuing work on Hestia and releasing it at that point. We have already brainstormed additional features we would like to add to the application in the future. Overall, our team is very proud of what we have accomplished with the Hestia application. We feel like this application could make household management easier for any user. We hope that Hestia can be released to the general public shortly and help make a difference in their lives. Keep on the lookout for the future release of Hestia, the one-stop-shop for all your home management needs. |