• Development of an Inventory Management System: Agile Software Development

      Mitra, Sandeep; Fritschi, Matthew G.; The College at Brockport (2019-05-17)
      For this thesis, I created an inventory management system for The College at Brockport’s Kinesiology, Sports Studies and Physical Education department along with a team of three other students. Prior to this, students and faculty would reserve and checkout equipment using pen and paper. In today’s highly technology-based world, though, this seemed like an unreliable and out of date way to track the school’s inventory. With our system in place, the department is able to keep perfect records of what equipment they have, what has been checked out, by whom, and whether something is in stock at any given time or not. They can receive reports on all previous checkouts that have occurred and keep track of any late fees that may be acquired by a student for returning equipment past a given date. Keeping paper records of all this information is difficult and tough to manage, and so there was a need for a system such as what we intend to develop. For this project, we took an Agile approach. Agile is a commonly used coding methodology that involved meeting with our thesis director, Sandeep Mitra, once a week to discuss the progress we have made and what should be done within the following week. By doing this we ensure that we are always aware of how much progress has been made by each team member as well as what needs to be accomplished and by when. In Agile software development, there are also opportunities to iterate over each stage of the Software Development Life Cycle multiple times. During any coding endeavor, the requirements that are provided by the customer may change several times as they want new features to be added in, or a current feature to be changed. Because we weren’t restricted to going through the SDLC only once, we were able to incorporate these changing requirements into the finished product. Agile has been proven to be one of the best coding methodologies in place for delivering a product that meets customer needs and delivers the product on time. In this paper, I will be discussing the different coding methodologies that our team considered using, and the pros and cons of each. I will explain our design process to give further insight on how to properly take a coding project from its conception through to its completion. I will also discuss the different frameworks and coding patterns that we used in the development of the application. Finally, I will give some recommendations for future development on our system and show images of the user interfaces we developed to demonstrate the workflow of the system.