• 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.
    • Inventory Management for Sports Equipment: Agile Project Management

      Mitra, Sandeep; Barnard, Nicholas; The College at Brockport (2019-05-10)
      The goal of this Agile software development project is to create an application to manage the inventory and the rental process of an on-campus organization. At the start of the project, I met with the client to understand their current business processes, which were largely paper-based. I then undertook a requirement capture process to better understand the features needed in the envisaged software application, making sure to keep close contact with the customer. A design phase was started using an Agile Modeling approach to create a minimal model that primarily outlines the behavior of the software application, relying mainly on UML sequence diagrams and GUI mockups/state diagrams. After each check-in with the client the design was modified accordingly. The main objective is to practice the Agile methodology to its fullest, both in the overall project management and, especially, in the development and testing phases.