This article concerns a software development project conducted as part of my Honours degree at the University of Surrey. The purpose of the project was to gain exposure to the complete software engineering process, including design and implementation. This project was split into two parts. The first part is a detailed design process in which UML, GUI, Use Case, Database Schema and EER diagrams were drawn and documents detailing the design process, class diagrams, use case modelling and software requirement specification were developed. The second part of the project involved implementing the designed solution and documenting the testing of the solution, evolution of the requirements, critical reflection and finally an auto-generated UML diagram showing how the implemented solution deviated from the original designs.
The software developed in this project was a Java-based Code Snipper Manager, allowing developers to store, organise and retreive code snippets.
Design Documentation: https://portfolio.jbm.fyi/static/code_snippet_design.pdf
Software Requirements Specification: https://portfolio.jbm.fyi/static/code_snippet_SRS.pdf
UML Class Diagram:
UML Class Diagram Documentation: https://portfolio.jbm.fyi/static/code_snippet_UML_doc.pdf
Use Case Diagram:
Use Case Modelling Documentation: https://portfolio.jbm.fyi/static/code_snippet_use_case.pdf
Database Schema Design:
GUI Mock Up:
Implemented Code Snippet Manager: https://portfolio.jbm.fyi/static/code_snippet.jar
Code Base (including implementation and unit tests): https://portfolio.jbm.fyi/static/code_snippet.zip
Critical Reflection: https://portfolio.jbm.fyi/static/code_snippet_reflection.pdf
Requirements Specification: https://portfolio.jbm.fyi/static/code_snippet_reqspec.pdf
Auto-generated UML Diagram: