File
Transcription
File
ChopChop! High Level Design by: Ayesha Ahmed, Erin Boley, Alexander Evans, Jennifer Gonzalez, Chris Kennedy, Cindy Osorio, & Erin Smith Table of Contents Introduction Background Design Goals Architecture Introduction Top-Level Architecture Comparision Data Model User Interface 3 3 3 4 4 5 5 6 6 Introduction Background With the strenuous demands of daily life, finding the time to prepare healthy and savory meals can be difficult. The numerous fast food options readily available on every street corner show the need for possibilities that are quick and easy. However, the growing obesity epidemic is proof of the immediate change our society desperately needs. “Obesity is imposing an increasingly heavy burden on the world’s population in rich and poor nations alike, with almost 30 percent of people globally now either obese or overweight – a staggering 2.1 billion in all.” This soaring statistic signifies the need for change in the United States, as well as the rest of the world. Many families and individuals have busy schedules that do not allow for proper meal planning and preparation. With a continuous rise in single-parent and double-income families in America, the dietary needs tend to be focused around convenience instead of health benefits. Also, different dietary restrictions and allergies can hinder one’s ability to find a wide variety of meal choices. Individuals who suffer from Celiac disease have to exclude gluten from their diets. For those with dietary preferences such as Vegetarian or Vegan, finding recipes with the option to restrict certain ingredients can be extremely time consuming. Design Goals ChopChop! is a cooking application that is designed to serve a broad group of users. The goal in developing this mobile web application is to allow users to find simple and healthy recipes under specific timeframes. It is aimed at facilitating a healthier lifestyle and will allow users to track calorie intake. It is intended to meet individual needs based on the user’s preferences or dietary needs. The cooking application ChopChop! will be capable of meeting user needs through the following features: · Web-based interface that will allow users to navigate easily to find healthy recipes quickly and efficiently · Capability to narrow down the search to certain specifications · Checklists will enable the search to filter recipes according to: o Meal you would like to prepare o Amount of time available to prepare the meal o Ingredients on hand o Dietary restrictions/Food allergies selection o Ingredients available on-hand selection The user-friendly application, ChopChop!, will allow users to choose and export recipes from a list of recipes generated based on his/her entries. Architecture 2.1 Introduction Mobile Web App: ○ Clients are mobile phones with HTML5 compatible browsers. ○ No installation or permissions required, no listing in app store needed. ○ Universal compatibility with iOS, Android, Windows Phone, etc. 1. Top Level Architecture 1. The front end will be what the user sees and interacts with. Information that the user enters will go to forms to connect to the middleware. Middleware will send back information in PHP, Javascript, JQuery. 2. Middleware will process data entered by the user to query the database, and process the data returned from the database for display to the user. This will be done with PHP. 3. The database will hold information about recipes. Middleware will request data from the database based on user entry. The database will be read-only for the app. This architecture enables us to achieve the desired performance and function of the app: 1. Users can search and browse a list of recipes, and select individual recipes from the database. 2. The database being read only will eliminate potential data-entry errors by users in the public database, and will allow fast access since the app won’t have to write data to the database. Comparison with other Architecture: Our 3 tier architecture is similar to the layered architecture . Where the database layer is at the core and application server layer and the client layer work on top of it in that order. 3-tier architecture is also similar to the client server architecture , or it is a specialization of client server architecture. We have not preferred the pipe-filter architecture as the top level architecture since, in the broader scope, our requirements do not hint at only the data processing/manipulating aspects of ERP. There are many quality requirements which are crucial for the success of the project. We may have pipe-filter like architecture for some of the embedded modules in the application server layer. Data Model User Interface ● Start up ○ “Welcome to ChopChop! Please enter the time, diet restrictions, and ingredients you have to receive recipe suggestions.” ○ “Select the meal you want to prepare”: Drop down menu with choices: Breakfast, Lunch, Dinner, Dessert, Snack ● Cooking Time Entry ○ “Enter how much time you have available to cook right now”: Text field to type the time with hours and minutes (program will scan to make sure value is a number and is a valid time) ● Diet Restrictions Selection ○ “If you are diabetic, vegetarian, cannot have white flour, etc., indicate it in the checklist below”: check box list of diet restrictions ● Ingredient Availability Selection ○ “Choose which ingredients you have available”: Checkbox list of ingredients from the recipes that meet the criteria so far ● Recipe Selection ○ Based on your entries, here are recipes that will suit you: Listview where each item is a button that will lead to a page with the full recipe The user can navigate back and forth through these screens to edit their input, or select a different recipe to look at. User Interface Diagram Resources http://www.reuters.com/article/2014/05/28/us-health-obesity-idUSKBN0E82HX20140528