Upload
ashlee-lynne-marshall
View
218
Download
0
Tags:
Embed Size (px)
Citation preview
Rolando GaytanClay Schumacher
Josh WeisskopfCory Simon
Aaron Steil (Reiman Gardens) – ClientDr. Tien Nguyen - Advisor
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.
BG-Base
BG-Map
KE EMu
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
HTTP ServerWeb Pages
Database
Queries Responses
Web Browser
Server
Web Browser
Registered Client
AutoCAD Map
Label Makers
Public User
Registered User
Public Client
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
FR-1The 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.
FR-2The 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.
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.
FR-4The product shall allow multiple concurrent users to access the database.
FR-5The product shall export files to be used with the most commonly used label-maker.
Input: HTTP Page Requests Output: HTML, CSS, JavaScript,
and Labelmaker Files
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
Views are visual presentations of model data
Each view has a specific function◦ Login◦ Welcome / Home◦ Administration◦ Photo Upload◦ Help Page
Views continued◦ Advanced Search◦ Export to File◦ Edit Record◦ Search Results◦ View Record◦ Printable Report◦ Add New Record
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.
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
Excel spreadsheet document with the following columns◦ Accession Number◦ Genus◦ Specific Epithet◦ Cultivar◦ Common Name◦ Family Name
Existing CakePHP helper will create Excel file
Administrator Staff Public
Models
Accession RWCD RWC R
- accession_num RW RW -
- num_plants RW RW -
- how_received RW RW -
- display_label_present RW RW -
- notes RW RW -
Species RWCD RWC R
- notes RW RW -
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
The product’s model view controller architectural modules will be unit tested.
The product’s 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
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