Self-Checkout Station
Connell Reffo, Tara Strickland, Julian Fan, Samyog Dahal, Phuong Le, Daniel Yakimenka, Merick Parkinson, Julie Kim, Ajaypal Sallh, Nathaniel Dafoe, Anmol Ratol, Chantel del Carmen, Dana Al Bastrami, Maria Munoz, Ernest Shukla, Hillary Nguyen, Robin Bowering, Anne Lumumba, Jasmit Saroya, Fion Lei, Royce Knoepfli
overview
This was created as the final iteration of developing Self Checkout Station control software for the course SENG 300. The software had to meet a set of requirements, including a GUI that were given to each group by the client (The professor - Mr. Customer).
relevance
The work required for this project aimed to simulate a real software development environment where the client would provide requirements and the developers would implement them. It required a lot of communiation between team members to ensure that the software met the requirements and was delivered on time. Version control with git was also a key part of this project. Additionally, automated tests were written to ensure there would be no bugs when it was had to be demonstrated to the client.
highlights
I was fortunate enough to have a driven team (Group #2) that was able to work together to deliver a product that met the requirements. Not only did it meet the requirements, but it was the only demonstration that did not have any bugs! I can confirm because I watched them all.
architecture
The software followed the MVC architecture where observers provided by the API would notify the controllers which would then update the model and in turn update the view. This design allowed work to be split up between team members and allowed for a more modular approach to development. However, this design led to high coupling which could have been improved by using the Observer Pattern.
images
Below are some images of the GUI that was created for the Self Checkout Station control software.





