260 likes | 390 Views
Reiman Gardens Plant Database Dec 08-06. Josh Weisskopf Cory Simon. Rolando Gaytan Clay Schumacher. Aaron Steil ( Reiman Gardens) – Client Dr. Tien Nguyen - Advisor. Problem. Reiman Gardens, the client, needs to keep detailed records of all plants in the botanical gardens.
E N D
Reiman Gardens Plant Database Dec 08-06 Josh Weisskopf Cory Simon Rolando Gaytan Clay Schumacher Aaron Steil (Reiman Gardens) – Client Dr. Tien Nguyen - Advisor
Problem • 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.
Market Survey BG-Base BG-Map KE EMu
Approach • 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
RegisteredClient Registered User Label Makers AutoCAD Map Web Browser Public User Server Web Pages HTTP Server Web Browser Queries Public Client Responses Database System Description
Operating 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
Functional 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.
Functional Requirements – cont’d • 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.
Functional Requirements – cont’d • 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.
Functional Requirements – cont’d • 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.
Input/Output Specification • Input: HTTP Page Requests • Output: HTML, CSS, JavaScript, and Labelmaker Files
Software 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
Software SpecificationViews • Views are visual presentations of model data • Each view has a specific function • Login • Welcome / Home • Administration • Photo Upload • Help Page
Software SpecificationViews • Views continued • Advanced Search • Export to File • Edit Record • Search Results • View Record • Printable Report • Add New Record
Software 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.
Software 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
Software 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
Hardware 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
Test Specifications • 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
Summary • 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