Title: Reiman Gardens Plant Database Dec 0806
1Reiman Gardens Plant Database Dec 08-06
- Rolando Gaytan
- Clay Schumacher
Josh Weisskopf Cory Simon
Aaron Steil (Reiman Gardens) Client Dr. Tien
Nguyen - Advisor
2Problem
- Reiman Gardens, the client, needs to keep
detailed records of all plants in the botanical
gardens. - The current plant database is not user friendly
and does not interface well with other software
and equipment.
3Market Survey
BG-Map
KE EMu
4Approach
- System will use a web-based client-server
architecture - Emphasis on intuitive user interfaces
- Provide access from existing AutoCAD maps
- Generate files compatible with label-making
software
5System Description
6Operating Environment
- End-user environment
- End-users staff and volunteers
- Access through a web browser
- Likely at their desk in the offices
- May also provide limited access to the general
public - Host environment
- Web server with PHP 4.3.2 and MySQL 4
- Regular backups
7Functional Requirements
- FR-1 The product shall store records.
- FR-1.1 The product shall have eleven types of
records Accession, Genus, Species, Supplier,
Location, Reference, Family, Photo, Propagation,
User, and Group.
8Functional Requirements contd
- FR-2 The product shall allow users to manage
records. - FR-2.1 The product shall allow users to create
records. - FR-2.2 The product shall allow users to edit
records. - FR-2.3 The product shall allow users to view
records. - FR-2.4 The product shall allow users to search
records by any field in the record.
9Functional Requirements contd
- FR-3 The product shall provide user accounts.
- FR-3.1 The product shall authenticate users with
a username and password. - FR-3.2 The product shall have at least two user
groups Administrators and Staff - FR-3.3 The product may have a third user group
for public users. - FR-3.4 The product shall provide an
administrative interface for the management of
its users.
10Functional Requirements contd
- FR-4 The product shall allow multiple concurrent
users to access the database. - FR-5 The product shall export files to be used
with the most commonly used label-maker.
11Input/Output Specification
- Input HTTP Page Requests
- Output HTML, CSS, JavaScript, and Labelmaker
Files
12User InterfaceWelcome Page
13User InterfacePlant Record
14User InterfaceSearch Results
15Software SpecificationModel-View-Controller
16Software SpecificationCakePHP
- CakePHP is a rapid development framework for PHP
- Based on Model-View-Controller architecture
pattern - Provides abstraction layers for different
databases - Provides components for common tasks (ex input
sanitizing) - Good documentation and active community
- Object oriented design
17Software SpecificationViews
- Views are visual presentations of model data
- Each view has a specific function
- Login
- Welcome / Home
- Administration
- Photo Upload
- Help Page
18Software SpecificationViews
- Views continued
- Advanced Search
- Export to File
- Edit Record
- Search Results
- View Record
- Printable Report
- Add New Record
19Software SpecificationModels
20Software SpecificationControllers
- Each controller will be associated with a
particular model - Controllers will gather data from the models,
manipulate the data, and pass it to the views. - Controllers will use components to perform common
actions.
21Software SpecificationComponents
- In CakePHP, components are similar to controllers
except they are not associated with a model. - Components
- Authentication Based on obAuth component
- Labelmaker File Generation Based on Excel helper
22Software SpecificationLabelmaker File Format
- Excel spreadsheet document with the following
columns - Accession Number
- Genus
- Specific Epithet
- Cultivar
- Common Name
- Family Name
- Existing CakePHP helper will create Excel file
23Software SpecificationPermissions
24Hardware Specification
- Server Hardware Specification
- The product will require an HTTP server 50 GB
of database space. - Depending on scalability for the future, the
following specifications are recommended - Under 25 concurrent users
- 256mb RAM
- 1 GHz CPU Pentium 4
- 25 100 concurrent users
- 512mb RAM
- Dual-core 2.4 GHz Pentium Xeon or equivalent
- Over 100 concurrent users
- 4 GB RAM
- Dual-core 2.4 GHz Pentium Xeon or equivalent
- Client Hardware Specification
- The end-user will require a computer running
Internet Explorer 7 or Firefox 2 - Minimum Requirements 233 MHz processor or
higher, 64mb RAM, Super VGA or higher resolution
monitor, internet connection, mouse, and keyboard
25Test Specifications
- The products model view controller architectural
modules will be unit tested. - The products model view controller architectural
modules will be black box tested. - Model
- Each table in the database will have a PHP class
representation that will have to be tested. - A basic test includes loading the database with
data and ensuring that the model is able to load
the data into corresponding variables. - Relationship enforcement needs to be tested.
- View
- Inputs Data from the model instructions from
the controller - Outputs On screen rendering of model, update
requests to the model, and user interactions to
the controller - Controller
- Inputs User interactions from the view
- Outputs View selection to the view and state
changes to the model
26Summary
- Completed
- Requirements
- Detailed design
- Project management and source control software
- Future Work
- Draw up implementation milestones
- Code and integrate
- Release incremental test builds
- Perform final tests