Iteration 1: Starting the Implementation - UofMBryce/R.O.S.E GitHub Wiki

Iteration 1 begins the development and implementation phase of the ROSE Android application. It is based on the 'ROSE software architecture' drawing included with the project files. The architecture specifies domain objects for a presentation layer (GUI), a business logic layer (classes), and a persistence (DB) layer. The details of the project files are explained below.

Presentation Layer (GUI): Located in the 'res/layout' project folder.

  • activity_init.xml
 - The 'default' GUI screen on ROSE application startup.
  • activity_details.xml - The recipe details GUI screen.
  • activity_edit.xml
 - The 'add/modify recipes' and 'add to shopping list' GUI screen.
  • activity_shopping_list.xml - The shopping list GUI screen. This screen is available by clicking the 'SHOPPING LIST' button on the 'default' GUI screen.

Business Logic Layer (classes): Located in the 'java/comp3350.rose' project folder.

  • init.java - The 'default' file loaded on ROSE application startup. It calls StubDB.java to retrieve a list of default recipes. It also creates the activity_init.xml file for the presentation layer.
  • Details.java
 - Source code for recipe details screen. The user clicks a recipe on the initial startup screen which then loads another screen for listing recipe ingredients and cooking instructions. This file creates the activity_details.xml file for the presentation layer.
  • Edit.java - Source code for 'adding/modifying recipes' and 'adding to a shopping list'. This file creates the activity_edit.xml
 file for the presentation layer.
  • ShoppingList.java - Source code for the shopping list. This file creates the activity_shopping_list.xml file for the presentation layer.

Persistence Layer (DB): Located in the 'java/comp3350.rose' project folder.

  • StubDB.java - Source code for the stub recipe database. This file is dependent on the Recipe.java class.
  • Recipe.java - The Recipe class with getters and setters. ArrayLists are used for storing String data.