Skip to content

Project Report Sprint 1 Key Decisions

tamarazard edited this page Feb 23, 2021 · 3 revisions

1- Requirements Model

  • We decided to brainstorm individual requirements. We then met on Zoom and merged our ideas into the fifteen most important requirements.
  • We assigned unique IDs to them and added them as issues in the project backlog. FR is the abbreviation for Functional Requirement, NFR is the abbreviation for Non-Functional Requirements, and US for User Stories.
  • We split the work and created 6 different Use Case Diagrams with the main flow and exceptional flows.

2- Domain Model

Domain Model Key Decisions

3- Persistence Layer

  • We decided to use the CRUD repositories as opposed to Spring Transactions because we felt it was more efficient.
  • We created 16 different interfaces representing all the model classes in our system.

4- Testing of Persistence Layer

  • On a zoom meeting, we added the JPA annotations together.
  • After plenty of debugging, we decided to add certain JPA tags such as cascade, lazy, and fetch.
  • Subsequently, we assigned each group member 2-3 test cases out of 16 test cases to implement.
  • We later decided that implementing a test for abstract classes such as User and Bookable service is not necessary, and thus, we did not implement test cases for those classes. As a result, we only had 14 test cases.

5- Build System and Continuous Integration

  • Due to issues concerning Travis CI, we decided to solely focus on the Gradle implementations.

6- Project Management and Project Report