October 27, 2004
By: Andrew Alford Andrej Jechropov Sharmila Pandith Adam Zimmerman
Inception
3/1/2007
Table of Contents
1 Vision................................................................................................................................ 3 1.1 Introduction................................................................................................................ 3 1.2 Positioning................................................................................................................. 3 1.2.1 Business opportunity...........................................................................................3 1.2.2 Problem Statement.............................................................................................. …show more content…
3 1.2.3 Future enhancements.......................................................................................... 3 1.3 Summary of System Features.................................................................................... 4 2 Use-Case Models.............................................................................................................. 5 2.1 Use Case UC1: Add recipe....................................................................................... 5 2.1.1 Primary Actor: PalmGrocer System User........................................................... 5 2.1.2 Preconditions: Categories and ingredients needed for the recipe are already set up..................................................................................................................................5 2.1.3 Post conditions: Recipe is saved into the system database................................. 5 2.1.4 Main Success Scenario....................................................................................... 5 2.2 Use Case UC2: Build shopping list........................................................................... 5 2.2.1 Primary Actor: PalmGrocer System User........................................................... 5 2.2.2 Preconditions: Recipe is already in the system database.................................... 5 2.2.3 Post Condition: Shopping list is saved in the system......................................... 5 2.2.4 Main Success Scenario....................................................................................... 5 2.3 Use Case UC3: Find recipe........................................................................................ 6 2.3.1 Primary Actor: PalmGrocer System User........................................................... 6 2.3.2 Preconditions: Recipe has to be already in the system database........................ 6 2.3.3 Post Condition: The recipe is displayed on the main screen.............................. 6 2.3.4 Main Success Scenarios...................................................................................... 6 3 Supplementary Specifications...........................................................................................7 3.1 Introduction............................................................................................................... 7 3.2 Functionality.............................................................................................................. 7 3.2.1 Maintainable master lists................................................................................... 7 3.2.2 Logging and Error Handling............................................................................... 7 3.2.3 Security............................................................................................................... 7 3.3 Usability..................................................................................................................... 7 3.3.1 Human Factors.................................................................................................... 7 3.4 Performance............................................................................................................... 8 3.5 Supportability.............................................................................................................8 3.5.1 Adaptability.........................................................................................................8 3.5.2 Implementation Constraints................................................................................ 8 3.5.3 Purchased Components....................................................................................... 8 3.5.4 Free Open Source Components.......................................................................... 8 3.6 Interfaces.................................................................................................................... 8 3.6.1 Hardware and Interfaces..................................................................................... 8 3.6.2 Software Interfaces............................................................................................. 8 3.7 Legal issues................................................................................................................ 8 4 Glossary............................................................................................................................ 9
Andrew Alford, Andrej Jechropov, Sharmila Pandith, Adam Zimmerman
Page 2
of 9
Inception
3/1/2007
1 Vision
1.1 Introduction
We envision PalmGrocer as an electronic cookbook for any Palm user who wants to manage recipes and generate grocery lists. It is conceived as a simple, convenient tool for anyone who uses recipes and buys groceries. It is intended for use on the Palm hand-held device. The system is a “productivity tool” that attempts to mimic a recipe binder with very little deviation while enhancing it with automated features. As such, the user interface should be simple and straightforward. The system is conceived as a relatively low cost package, meant for the casual Palm user.
1.2 Positioning
1.2.1 Business opportunity There would appear to be a market for a low-cost, simple system for organizing recipes and building shopping lists. Initially, the product could be marketed on the internet, perhaps by distributing a limited version for free, and charging for a fully functional version. If the product were to be sold in stores, it is important to keep in mind that this is software that appeals as much to home chefs as it does to computer users. So an attempt should be made to place it in stores other than traditional computer stores (Comp USA, etc). An ideal location would be a bookstore, near the cookbooks. If the software can be priced low enough, people will buy it as a small gift, or impulse purchase. 1.2.2 Problem Statement Currently, most people get their recipes from a cookbook or custom-made binder, which is bulky and difficult to search. The only way to track ingredients for shopping is to manually copy them from the recipe. 1.2.3 Future enhancements Enhancements, which take advantage of the power of the internet, seem to be a natural extension to this product. For example the ability to use the internet to download or trade recipes—either through a central server or a peer-to-peer network—should be very appealing to users. It might also be possible to sell users a database of recipes, either on CD or through a web site. This would be an additional moneymaking opportunity. It might also be interesting to offer the ability to send a shopping list to an internetbased grocer, such as FreshDirect, thus completely automating the purchase of the
Andrew Alford, Andrej Jechropov, Sharmila Pandith, Adam Zimmerman
Page 3
of 9
Inception
3/1/2007
ingredients. This would have to be investigated further with the vendors in question.
1.3 Summary of System Features
PalmGrocer is meant to help Palm users with the task of organizing recipes and gathering ingredients to prepare them. The product’s basic functionality is as follows: • Maintain recipes: the system allows the user to maintain their recipes, and the ingredients required for each recipe. Users can add, edit and delete recipes from the system. The user can also organize recipes by category such as Entrée, Soup, Dessert, etc. • Shopping list: This is a list of groceries, which need to be purchased. Users normally add ingredients to the list by selecting a recipe from the system. Once a recipe is selected, the ingredients from that recipe are automatically added to the grocery list. Individual ingredients can also be added directly to the list. As the user shops, they can check off ingredients that they purchased. • Recipe search: allows the user to look for recipes in the system. There are two basic search modes: search by recipe name, and search by ingredients. The “search by ingredients” mode enables the user to search for recipes that include ingredients, which the user specifies.
Andrew Alford, Andrej Jechropov, Sharmila Pandith, Adam Zimmerman
Page 4
of 9
Inception
3/1/2007
2 Use-Case Models
2.1
Use Case UC1: Add recipe
2.1.1 Primary Actor: PalmGrocer System User. 2.1.2 Preconditions: Categories and ingredients needed for the recipe are already set up. 2.1.3 Post conditions: Recipe is saved into the system database. 2.1.4 Main Success Scenario 1. User navigates to the “Modify/Create Recipe Screen” by clicking “new” from the main screen. 2. User selects a category for the recipe from a drop-down list. 3. User pens in a name and brief description for the recipe. 4. User pens in an ingredient name, and a unit of measurement. An autocomplete feature assists the user. 5. User pens in a quantity. 6. User repeats steps 4-5 for each ingredient in the recipe. 7. If desired, user pens in step-by-step instructions for preparing the recipe. 8. User presses OK. 9. System switches to the “Main Screen”, where the new recipe is displayed.
2.2 Use Case UC2: Build shopping list
2.2.1 Primary Actor: PalmGrocer System User. 2.2.2 Preconditions: Recipe is already in the system database. 2.2.3 Post Condition: Shopping list is saved in the system. 2.2.4 Main Success Scenario 1. User finds a recipe (see use case 3—find recipe). 2. User selects the ingredients to be included on the shopping list, either by tapping them individually, or by using a “select all” checkbox. 3. User repeats steps 1 and 2 for each recipe that he is planning on preparing. 4. User navigates to the “Shopping List Screen”. 5. System displays the shopping list, including all of the ingredients selected in step 2. 6. User adds a new item to the list for any groceries that need to be purchased that were not included in a recipe (e.g., cleaning products, etc.). 7. User deletes any items from the list, which he does not need to purchase.
Andrew Alford, Andrej Jechropov, Sharmila Pandith, Adam Zimmerman
Page 5
of 9
Inception
3/1/2007
2.3 Use Case UC3: Find recipe
2.3.1 Primary Actor: PalmGrocer System User. 2.3.2 Preconditions: Recipe has to be already in the system database. 2.3.3 Post Condition: The recipe is displayed on the main screen. 2.3.4
2.3.4.1
Main Success Scenarios
Path 1: Find from main screen
1. If desired, user selects a category from the drop-down list in order to filter the displayed recipes 2. User browses through recipes one by one, using the arrow button, until she finds the desired recipe.
2.3.4.2 Path 2: Find from main screen
1. If desired, user selects a category from the category list in order to filter the displayed recipes 2. Users looks for the desired recipe in the recipe list, using the scroll buttons if necessary. 3. When the user has located the recipe, she opens it by tapping it with the pen. 4. The system switches to the main screen, displaying the full details of the selected recipe.
2.3.4.3 Path 3: Find from Find Recipes Screen
1. User pens in the criteria to search by, one of either: • A fragment of the recipe’s name, or • One or more ingredients that are used in the recipe. 2. User presses the OK button. 3. The system switches to the Table of Contents screen, where any recipes that meet the user’s criteria are displayed. 4. If the correct recipe is in the list, the user taps it with the pen. 5. The system switches to the main screen, displaying the full details of the selected recipe.
Andrew Alford, Andrej Jechropov, Sharmila Pandith, Adam Zimmerman
Page 6
of 9
Inception
3/1/2007
3 Supplementary Specifications
3.1
Introduction
This document is the repository of all PalmGrocer requirements not captured in the use cases.
3.2 Functionality
The application should adhere to the standards of Palm OS Application design, as specified by Palm. The Palm OS Interface Guidelines are available from http://www.palmos.com/dev/support/docs/uiguidelines.pdf. This application is not necessarily designed for people who are computer-savvy. The functionality should therefore be as simple and straightforward as possible. To that end, the following guidelines will be adhered to: • Maximize perceived speed of the application • Minimize required steps for major functionality • Minimize taps • Maintain consistency among application screens • Minimize number of elements on the screen • Minimize necessity for data input • Major functionality is visible and not hidden in menus 3.2.1 Maintainable master lists PalmGrocer allows user to maintain master lists of categories Units and Ingredients 3.2.2 Logging and Error Handling (Optional) Keep transaction log on the Palm external memory card for quick data recovery 3.2.3 Security Usage of the system is only available to the Palm owner.
3.3 Usability
3.3.1 Human Factors • • • Text entry into the Palm directly will be guided with an auto-complete function. Text entry through the Palm keyboard will be supported to maximize productivity. Alternative text entry would be considered to streamline the use of the system.
Andrew Alford, Andrej Jechropov, Sharmila Pandith, Adam Zimmerman
Page 7
of 9
Inception
3/1/2007
3.4 Performance
Since the PalmGrocer system is not process intensive, the user input speed is the only bottleneck to system performance.
3.5 Supportability
3.5.1 Adaptability PalmGrocer system will be written in non-architecture specific language and can be adopted on platforms other than Palm with minor changes of the User Interface. 3.5.2 Implementation Constraints PalmGrocer development team is leaning towards Java technology for system implementation to simplify the transfer of UML object concepts into the programming language classes and methods. 3.5.3 Purchased Components Any Palm OS supported device. 3.5.4 Free Open Source Components Java VM platform will be used to support PalmGrocer system.
3.6 Interfaces
3.6.1 Hardware and Interfaces • Palm Graffiti will be used as the main user interface. • Palm External keyboard can be used as an alternative user interface. 3.6.2 Software Interfaces • Palm touch screen can be used as one type of interface to the system with the built in software keyboard by Palm OS.
3.7 Legal issues
Since the PalmGrocer is being developed using open source Java technology, our product will be sold separately from the Java VM platform. It is the user’s responsibility to have an updated Java VM platform to run the current version of the PalmGrocer system. Each PalmGrocer version will specify all supported Java VM platform …show more content…
versions.
Andrew Alford, Andrej Jechropov, Sharmila Pandith, Adam Zimmerman
Page 8
of 9
Inception
3/1/2007
4 Glossary
Term autocomplete Definition and Information Aliases The function by which the system will automatically prompt the user with a completed version of the word which he is inputting, based on a match from the database.
This is meant to save data-entry. Category An indicator which is used to sort recipes into sub-groups. Examples of categories which users might choose are: soups, entrees, desserts, Chinese, Indian, Italian, low-carbohydrate, vegetarian, etc. graffiti The simplified alphabet with which the user inputs characters into the Palm. Ingredient One item of food or other product which can be purchased in a store, and used to prepare a recipe. Palm A hand-held portable computer which runs the Palm Pilot, Palm OS. hand-held PalmGrocer The name of the system. pen in The act of inputting information into a Palm device using a stylus. recipe The instructions needed to prepare a dish. Normally consists of 3 parts: 1) a name and brief description; 2) a list of ingredients with quantities; 3) step-by-step instructions shopping A list of ingredients with associated quantities list and units. Normally used for shopping. tap The method for selecting an item on a Palm device. unit A term used in specifying the quantity of an ingredient. Examples are: pounds, ounces, cloves,
cups.
Andrew Alford, Andrej Jechropov, Sharmila Pandith, Adam Zimmerman
Page 9
of 9