Iteration 2: More Features, More Testing - UofMBryce/R.O.S.E GitHub Wiki
Iteration 2 continues the development and implementation phase for the ROSE application. The content of the Iteration 2 submission includes more application features, additional testing with integration, and implementation of an SQL database. An updated software architecture diagram for ROSE is included for this iteration.
The additional application features include adding/deleting a recipe, adding/editing/deleting items from a shopping list, and sorting stored recipes by meal type, by ingredient, alphabetically, by top rating, or by application default. The additional testing portion includes business logic layer testing, database testing, and persistence layer interface testing. Implementation of a ‘real’ database for this application uses an SQL-based database engine with support for the previous Iteration 1 stub database.
The Iteration 2 software architecture diagram for ROSE specifies updated functionality with added files. The three main layers of functionality for this application are the Presentation layer, the Business Logic layer, and the Persistence layer. The architecture diagram lists project files under their associated layer of functionality for the application.
A project package breakdown of the ROSE application is as follows:
In the ‘java’ folder:
comp3350.rose (top level)
comp3350.rose.Business
- Alphabetical.java
- MyApplication.java
- TopRated.java
comp3350.rose.Controller
- DBInterface.java
- DBSLInterface.java
comp3350.rose.Database
- dbHelper.java
- dbSLHelper.java
- RecipeDatabase.java
- ShoppingListDatabase.java
comp3350.rose.model
- Recipe.java
- ShoppingList.java
comp3350.rose.Presentation
- Details.java
- Edit.java
- init.java
- SLDetails.java
- SortRecipes.java
comp3350.rose.Stub
- StubDB.java
- StubSLDB.java
comp3350.rose (for testing)
- ROSEUnitTest.java
In the ‘res’ folder:
layout(top level)
- activity_details.xml
- activity_edit.xml
- activity_init.xml
- activity_shopping_list.xml
- activity_sort_recipes.xml
- content_details.xml