Project for the Engineering of Programming class - consists of a C# Windows Forms application that strives to be a simpler clone of Paint. The main focus of the project was to work as a team and to distribute tasks evenly among the team's members - it was supposed to teach us how software is written in a company.
Key concepts learned:
- work in an organised manner in a team
- planning/designing the application before actually starting to write any code. (Software Requirements Specification - Architecture)
- design patterns (Strategy, Memento)
- improved ability to both create and read UML diagrams
- writing documentation in LaTeX
- writing unit tests
- MVP architecture
My tasks were to implement the Model of the MVP architecture, the UndoStack class (used for undoing/redoing actions while painting), the DrawingMemento class and also to create Unit Tests for the Model class.