Pick your project title / Version <1.1
Software Requirements Specifications / Date 10-28-13

CS 148 Database Design for the Web

Connor Williams

Assignment 4.1

They’re Your Dishes!

Version <1.1

Time Log
Date / Time Spent (in hours) / Description / Author
10/7/13 / 3.0 / First Version of Software Requirements / Robert Erickson
Your estimated time to complete assignment __20______hours / Connor Williams
2.5 / Story Board ER Diagram Scema Data Dictionary Progect Specifications / Connor Williams
2.0 / Form Registration elements / Connor Williams
2.0 / Database connection and insertion / Connor Williams
1.0 / Mail message and confirmation / Connor Williams
1.0 / Web site style and arrangement / Connor Williams
1.0 / Content, final touches and testing with roommates / Connor Williams
Total / 9.5

Table Of Contents

Software Requirements Specifications 5

Introduction 5

Purpose 5

Definitions, acronyms, and abbreviations 5

Overview 5

Overall Description 6

Data Dictionary 7

E-R Diagram 10

Schema 11

Story Board 12

Specific requirements 13

Software Requirements Specifications

Introduction

Purpose

The purpose of this document is to describe the requirement specification for the web site “They’re Your Dishes!”.

The intended audience for this document is the prospective developers of this site. The goal being that you can give this document to someone and they can make the site without having to ask any questions.

Definitions, acronyms, and abbreviations

HTML – Hypertext markup language – used to define your conent.

PHP – Personal Home Page – language that helps to customize html.

CSS – Cascading Style Sheets – used to define the look of a web site.

W3 Validation – refers to both Html and CSS validation tool provided by the W3c.org. the html validator is located at:

http://validator.w3.org/

with the CSS validator located at:

http://jigsaw.w3.org/css-validator/

MySQL – Database management language My Sequel

Overview

The rest of this document contains an overall description of the They’re Your Dishes web site.

Overall Description

The purpose of "They're Your Dishes!" is to ensure that the roommates in an apartment understand when they are responsible for doing the dishes. This webpage is designed to end roommate disputes over whose turn it is for dish duty. It provides a form for roommates to enter information about when they have free time that provides a response via webpage and email. When each roommate confirms their registration through the email message the data they entered into the form is recorded in a database, which can be accessed by our system administrators. This eliminates any dispute as to when they said they were responsible for doing the dishes.

Data Dictionary

E-R Diagram

Schema

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

SET time_zone = "+00:00";

--

-- Database: `CWILLI20_dishes`

--

------

--

-- Table structure for table `tbldishwash`

--

CREATE TABLE IF NOT EXISTS `tbldishwash` (

`fldfkroomyID` int(50) NOT NULL,

`fkfreeTimeID` int(11) NOT NULL,

`fkemail` varchar(50) DEFAULT NULL,

`fkMon` varchar(50) DEFAULT NULL,

`fkTues` varchar(50) DEFAULT NULL,

`fkWed` varchar(50) DEFAULT NULL,

`fkThurs` varchar(50) DEFAULT NULL,

`fkFri` varchar(50) DEFAULT NULL,

`fkSat` varchar(50) DEFAULT NULL,

`fkSun` varchar(50) DEFAULT NULL,

PRIMARY KEY (`fldfkroomyID`,`fkfreeTimeID`),

KEY `fkemail` (`fkemail`),

KEY `fkMon` (`fkMon`,`fkTues`),

KEY `fkTues` (`fkTues`),

KEY `fkWed` (`fkWed`,`fkThurs`,`fkFri`,`fkSat`,`fkSun`),

KEY `fkThurs` (`fkThurs`),

KEY `fkSat` (`fkSat`),

KEY `fkSun` (`fkSun`),

KEY `fkFri` (`fkFri`),

KEY `fkfreeTimeID` (`fkfreeTimeID`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--

-- Dumping data for table `tbldishwash`

--

INSERT INTO `tbldishwash` (`fldfkroomyID`, `fkfreeTimeID`, `fkemail`, `fkMon`, `fkTues`, `fkWed`, `fkThurs`, `fkFri`, `fkSat`, `fkSun`) VALUES

(98, 46, '', 'Monday', '', 'Wednesday', '', 'Friday', '', 'Sunday'),

(99, 47, '', 'Monday', '', 'Wednesday', '', '', 'Saturday', 'Sunday');

------

--

-- Table structure for table `tblfreetime`

--

CREATE TABLE IF NOT EXISTS `tblfreetime` (

`pkfreeTimeID` int(5) NOT NULL AUTO_INCREMENT,

`fldMon` varchar(50) DEFAULT NULL COMMENT 'check',

`fldTues` varchar(50) DEFAULT NULL COMMENT 'check',

`fldWed` varchar(50) DEFAULT NULL COMMENT 'check',

`fldThurs` varchar(50) DEFAULT NULL COMMENT 'check',

`fldFri` varchar(50) DEFAULT NULL COMMENT 'check',

`fldSat` varchar(50) DEFAULT NULL,

`fldSun` varchar(50) DEFAULT NULL,

PRIMARY KEY (`pkfreeTimeID`),

KEY `fldMon` (`fldMon`,`fldTues`),

KEY `fldTues` (`fldTues`),

KEY `fldSat` (`fldSat`,`fldSun`),

KEY `fldWed` (`fldWed`),

KEY `fldThurs` (`fldThurs`),

KEY `fldFri` (`fldFri`),

KEY `fldSun` (`fldSun`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=48 ;

--

-- Dumping data for table `tblfreetime`

--

INSERT INTO `tblfreetime` (`pkfreeTimeID`, `fldMon`, `fldTues`, `fldWed`, `fldThurs`, `fldFri`, `fldSat`, `fldSun`) VALUES

(46, 'Monday', '', 'Wednesday', '', 'Friday', '', 'Sunday'),

(47, 'Monday', '', 'Wednesday', '', '', 'Saturday', 'Sunday');

------

--

-- Table structure for table `tblroomy`

--

CREATE TABLE IF NOT EXISTS `tblroomy` (

`fldpkroomyID` int(50) NOT NULL AUTO_INCREMENT,

`fldDateJoined` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

`fldfirstName` varchar(50) NOT NULL,

`fldlastName` varchar(50) NOT NULL,

`fldEmail` varchar(50) NOT NULL COMMENT 'txt box',

`flduseDish` varchar(50) NOT NULL COMMENT 'radio',

`fldlikeDirty` varchar(50) NOT NULL COMMENT 'radio',

`fldbadRoomy` varchar(50) NOT NULL COMMENT 'check bok',

PRIMARY KEY (`fldpkroomyID`),

KEY `fldfirstName` (`fldfirstName`,`fldlastName`),

KEY `fldlastName` (`fldlastName`),

KEY `fldEmail` (`fldEmail`,`flduseDish`,`fldlikeDirty`,`fldbadRoomy`),

KEY `flduseDish` (`flduseDish`),

KEY `fldlikeDirty` (`fldlikeDirty`),

KEY `fldbadRoomy` (`fldbadRoomy`),

KEY `fldDateJoined` (`fldDateJoined`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=100 ;

--

-- Dumping data for table `tblroomy`

--

INSERT INTO `tblroomy` (`fldpkroomyID`, `fldDateJoined`, `fldfirstName`, `fldlastName`, `fldEmail`, `flduseDish`, `fldlikeDirty`, `fldbadRoomy`) VALUES

(98, '2013-10-29 02:33:17', 'Connor', 'Williams', '', 'YES', 'NO', 'Really Great'),

(99, '2013-10-29 02:36:33', 'Grace', 'Vansurksum', '', 'YES', 'NO', 'Really Great');

--

-- Constraints for dumped tables

--

--

-- Constraints for table `tbldishwash`

--

ALTER TABLE `tbldishwash`

ADD CONSTRAINT `tbldishwash_ibfk_10` FOREIGN KEY (`fkSun`) REFERENCES `tblfreetime` (`fldSun`),

ADD CONSTRAINT `tbldishwash_ibfk_1` FOREIGN KEY (`fldfkroomyID`) REFERENCES `tblroomy` (`fldpkroomyID`),

ADD CONSTRAINT `tbldishwash_ibfk_2` FOREIGN KEY (`fkfreeTimeID`) REFERENCES `tblfreetime` (`pkfreeTimeID`),

ADD CONSTRAINT `tbldishwash_ibfk_3` FOREIGN KEY (`fkemail`) REFERENCES `tblroomy` (`fldEmail`),

ADD CONSTRAINT `tbldishwash_ibfk_4` FOREIGN KEY (`fkMon`) REFERENCES `tblfreetime` (`fldMon`),

ADD CONSTRAINT `tbldishwash_ibfk_5` FOREIGN KEY (`fkTues`) REFERENCES `tblfreetime` (`fldTues`),

ADD CONSTRAINT `tbldishwash_ibfk_6` FOREIGN KEY (`fkWed`) REFERENCES `tblfreetime` (`fldWed`),

ADD CONSTRAINT `tbldishwash_ibfk_7` FOREIGN KEY (`fkThurs`) REFERENCES `tblfreetime` (`fldThurs`),

ADD CONSTRAINT `tbldishwash_ibfk_8` FOREIGN KEY (`fkFri`) REFERENCES `tblfreetime` (`fldFri`),

ADD CONSTRAINT `tbldishwash_ibfk_9` FOREIGN KEY (`fkSat`) REFERENCES `tblfreetime` (`fldSat`);

Story Board

Specific requirements

1. Location – all files will be located in the public folder of your uvm account. The assignment web page and the submit process will detail the exact location. Failure to have your site located in the correct folder by the due dates will result in a zero on the assignment. Be sure to pay attention to the lowercase letters.

2. Html Validation – All pages will pass W3C Html validation for html 5.

3. CSS Validation – All pages will pass W3C 3.0 CSS validation.

4. Meta Information – All pages will contain a proper title tag, Meta tags (author, character set and description).

5. CSS – all pages will have a linked style sheet.

6. Navigation – All pages will contain navigation to all other pages on the site using an ordered list. Be sure to enclose the navigation in the correct element.

7. Content – Each page will have a minimum of 150 words not counting titles, lists or links. Be sure to use the correct elements to hold your content.

8. Browser compatibility - This site will be checked on Firefox, Safari, Chrome and Internet Explorer.

9. File Names – the main home page will be called home.php with the rest of the file names up to you (be sure to use .php, .css for the respective files).

1. Create a database for roommates in an apartment that records necessary personal information, and each roommates free time.

2. Create a website that has a form for roommates to fill out that sends the data in the form fields to the database.

3. The website must also have a mission statement and display the results of the form.