Preliminary Design

 

Requested by: 

 

Mr. Ken Swarner

System Administrator

Siena College

Computer Science Department

 

Dr. Tim Lederman

Professor

Siena College

Computer Science Department

 

 

RAEMS

Remote Access Environmental Monitoring System

 

 

 

 

EIN Systems

Environmental Intelligence Network Systems

 

 

Prepared by:

 

Ybelka Brito                          

   Michael Devanandan               

Joseph Halvey                                                     

Michael Jakubowski              

Vernell Mitchell                     

Anthony Ruotolo                   

 

 

November 29, 2005


Environmental Intelligence Network Systems

Remote Access Environmental Monitoring System

 

 

Table of Contents

 

            1.         User Case (Scenarios)……………………………………………2-14

            2.         Functional Requirements……………………………………….15-17

            3.         Component Hierarchy Chart……………………………………….18

            4.         Data Flow Diagrams……………………………………………19-23

5.         Logical Data Store……………………………………………   24-25           6.         Logical Data Library……………………………………………26-38

            7.         Development Environment………………………………………...39

            8.         Production Environment………………………………………..….39

            9.         Unit Test……………………………………………………..…40-45

            10.       Acceptance Test…………………………………………..……46-49

 

Appendices:

            Appendix A: Glossary of Terms………………………………………..50-52

            Appendix B: Gantt Charts………………………………………………….53

 

 

 


1. User Case (Scenarios)

 

--Read-Only User--

A read-only user begins by opening the user’s Web browser and navigating to the EIN homepage. The login page will appear asking the read-only user to enter the user’s E-mail address for the user’s login and the user’s password which consists of 6-12 characters, and includes at least one number, one uppercase letter, one lowercase letter, and at least one of eight recognized special characters. After being authenticated, the read-only user will be sent to the user logged-in screen, which will include a welcome message, as well as a message informing the read-only user that the user is at an unrecognized location. Displayed below for the read-only user are the registered locations, the devices associated with each location and the status for each. However, a read-only user will be unable to access any of the buttons on the navigation toolbar and will only be able to check the status of the devices.

 

A Read-Only user begins at the EIN Hompage

 

 

After authentication a read-only users logged in screen is loaded

 


--Remote User--

A remote user is a sensored user who is traveling and will be able to check on the status of devices when away from home.  The remote user opens a web browser and navigates to the EIN homepage.  The login page is shown and the remote user’s email address is entered for the username followed by the user’s password which is between 6-12 characters long, features at least one number, one capital letter, one lowercase letter, and at least one of eight recognized special characters. After authentication, a logged-in screen is shown, which welcomes the remote user and states the user is at an unknown or unregistered location.  The remote user is also shown the status of the user’s devices, grouped by location.  If the remote user has a device and wants to add a new location, the remote user can click on register a new location, and follow the registration process, which will change the remote user to a sensored user.  The remote user cannot make any changes to devices or change alert settings from an unregistered location.

 

A Remote user begins at the EIN homepage

 


After authentication a read-only users logged in screen is loaded

 

A remote user can also view the logs page


--Sensored User--

A sensored user’s Web browser will be set by default to the EIN homepage. Once the web browser is opened, the login page appears and the sensored user will enter the user’s E-mail address for the username followed by the user’s password which will consist of 6-12 characters, and includes at least one number, one uppercase letter, one lowercase letter, and at least one of eight recognized special characters. Once the sensored user is authenticated, a logged-in screen comes up with a welcome message, as well as a message informing the sensored user that the user is at a recognized, monitored location. Displayed below for the sensored user, are the user’s registered locations, with the current “at” location highlighted, the devices associated with each location and the status for each. A sensored user will have a navigation bar with buttons that will take the sensored user to the different pages on the website which will allow the user to change various aspects of the user’s account. The Account button will take the sensored user to a page that will allow the sensored user to add or delete an account, either a regular account or a “read-only” account. The Device button will navigate the sensored user to a page which will allow the sensored user to add or delete a device as well as check the alert status of each device and change the settings of the devices which are associated with the location the sensored user is currently at. The Profile settings button will navigate the sensored user to a page which will allow the sensored user to change the settings associated with the user’s online account, including changing the sensored user’s E-mail or password. The sensored user may also click on the Logs button which will send the user to a page that will display all the alert and event logs in each device’s history. However, a sensored user is unable to select the New Location button. This button will send the user to the Web page that would allow the user to add a new location.  

 


A sensored user begins at the EIN homepage

 


After authentication a read-only users logged in screen is loaded

 

A sensored user can view, change, or add/remove devices.

 

 

A sensored user can view, change, add/remove a profile, register a read-only user

 


A sensored user can view and change alert settings.

 


A sensored user can also view the logs page

 


--Site Administrator--

The site administrator is responsible for maintaining the database of sensored users as well as upkeep and troubleshooting for a sensored user’s software interaction and devices. The site administrator turns on a computer whose IP address is recognized by the EMS system, and opens a browser which has the EIN webpage as its homepage.  The login page is shown and the site administrator enters the site administrator email address for the username followed by an administrator password which is between 6-12 characters long, features at least one number, one capital letter, one lowercase letter, and at least one of eight recognized special characters.  The site administrator screen is displayed, including a welcome statement and a message informing the site administrator of the current location.  It displays the last 10 lines of recent account activity by remote or sensored users, as well as the last 10 alerts, each displayed with the most recent at the top, and includes a more button to view expanded logs of activity and alerts.  The bottom of the page features a navigation bar which allows the site administrator to move to a complete list of sensored users or devices or alerts.  The site administrator can click on the Sensored User button on the administrator navigation bar and arrive at a page where the administrator can select a sensored user’s account and see the sensored user’s information including locations, devices, system activity, account information, and alerts.  The site administrator can disable user accounts or devices as necessary via the User Information pages.  The site administrator can click on the Devices button on the administrator navigation bar and navigate to a page where the administrator can filter the devices by either sensored user’s that have them or by  the names of the devices.   The site administrator can click on the Alerts button on the administrator navigation bar and navigate to a page where the administrator can view all of the alerts reported for any sensored user to the EMS with most recent displayed at the top.  The site administrator can filter the alerts by sensored user location, or sensored user device.

 


A site administrator at recognized IP navigates to the EIN home page

 

A site administrator at recognized IP address after authentication

 


A site administrator at recognized IP address after authentication (Cont)

 

 


2. Functional Requirements

 

Read-Only User

User with a read-only account.

  • A read-only user’s Web browser is set to the EIN Homepage by default if at a monitored location.
  • A read-only user has to open the read-only user’s Web browser and navigate to the EIN homepage, if the read-only user is at a remote location.
  • A read-only user logs into the read-only user’s account using the read-only user’s username and password.
  • A read-only user’s username is the read-only user’s E-mail.
  • A read-only user’s password consists of 6-12 characters, and includes at least one number, one uppercase letter, one lowercase letter, and at least one of eight recognized special characters shown here within double quotes “#$%^!&*=”.
  • After the read-only user has been authenticated, a read-only user logged-in screen comes up with a welcome message, as well as a message informing the read-only user that the read-only user is at a recognized, monitored location if the read-only user is at a recognized monitored location.
  • If the read-only user is at a remote location, after being authenticated, the read-only user will be sent to the read-only user logged-in screen, which includes a welcome message, as well as, a message informing the read-only user that the read-only user is at an unrecognized location.
  • On the bottom of the read-only user logged-in page for the read-only user are the registered locations, the devices associated with each location and the status for each and the reading for each.
  • The read-only user is able to check on the previous status of each device at each location by clicking on the Logs button.
  • The Account, Device, Profile Settings, and New Location buttons are all displayed on the navigation bar, however the buttons will all be grayed out and the read-only user is unable to click on any of the buttons.

 

Remote User

Sensored user who is traveling and will be able to check on the status of devices when away from home.

  • The remote user opens a web browser and navigates to the EIN homepage.
  • The login page is shown and the remote user’s email address is entered for the username.
  • The remote user also must enter the remote user’s password which is between 6-12 characters long, features at least one number, one capital letter, one lowercase letter, and at least one of eight recognized special characters shown here within double quotes “#$%^!&*=”.
  • After authentication a logged-in page is shown, which welcomes the remote user and states the remote user is at an unknown or unregistered location.
  • At the remote user logged-in page, the remote user is also shown the status of the remote user’s devices, grouped by location.
  • The New Location button is enabled, allowing the remote user to navigate to a page which will allow the remote user to add a new location, if they have a new device to add at that location.
  • At this New Location page, the remote user must go through a registration process, which after completion will turn them into a sensored user.
  • The remote user cannot make any changes to device or alert settings from an unregistered location.
  • The Account and Device buttons are all displayed on the navigation bar, however the buttons are grayed out and the remote user is unable to click on the buttons.
  • The Profile Settings button navigates the remote user to a page that allows the remote user to change the settings associated with the remote user’s online account, including changing the remote user’s E-mail or password.

 

Sensored User

Registered user who is at a monitored location.

  • A sensored user’s Web browser is set to the EIN Homepage by default.
  • A sensored user logs into the sensored user’s account using the sensored user’s username and password.
  • A sensored user’s username is the user’s E-mail.
  • A sensored user’s password consists of 6-12 characters, and includes at least one number, one uppercase letter, one lowercase letter, and at least one of eight recognized special characters shown here within double quotes “#$%^!&*=”.
  • After the sensored user has been authenticated, a logged-in screen comes up with a welcome message, as well as a message informing the sensored user that the user is at a recognized, monitored location.
  • Displayed at the bottom of the sensored user’s logged in screen, are the sensored user’s registered locations with the current “at” location highlighted, the devices associated with each location and the status for each.
  • A sensored user also has a navigation bar with buttons that take the sensored user to the different pages on the website which allow the sensored user to change various aspects of the user’s account.
  • The Account button navigates the sensored user to a page that allows the sensored user to add or delete an account, either a regular account or a “read-only” account.
  • The Device button navigates the sensored user to a page that allows the sensored user to add or delete a device as well as to check the alert status of each device and change the settings of the devices which are associated with the location the sensored user is currently at.
  • The Profile Settings button navigates the sensored user to a page that allows the sensored user to change the settings associated with the sensored user’s online account, including changing the sensored user’s E-mail or password.
  • The Logs button navigates the sensored user to a page that displays all the alert and event logs in each device’s history.
  • The New Location button, which normally navigates the sensored user to the Web page that allows the user to add a new location, will be grayed out, and unable to be clicked on.  

 

Site Administrator

  • The site administrator is responsible for maintaining the database of sensored users as well as upkeep and troubleshooting for a sensored user’s software interaction and devices.
  • The site administrator turns on a computer whose IP address is recognized by the EMS system, and opens a Web browser which has the EIN webpage as its homepage.
  • The login page is shown and the site administrator enters the site administrator’s email address for the username
  • The site administrator also enters the site administrator password which is between 6-12 characters long, features at least one number, one capital letter, one lowercase letter, and at least one of eight recognized special characters shown here within double quotes “#$%^!&*=”.
  • The site administrator page is displayed, including a welcome statement and a message informing the site administrator of the current location.
  • The site administrator page also displays the last 10 lines of recent account events by remote or sensored users, as well as, the last 10 alerts, with each displayed with the most recent at the top.
  • The site administrator page also includes a More button to view expanded logs of events and alerts.
  • The bottom of the site administrator page has a navigation bar which allows the site administrator to move to a complete list of sensored users or devices or alerts. 
  • The site administrator can click on the Sensored User button on the site administrator navigation bar and arrive at a page where the site administrator can select a sensored user’s account and see the sensored user’s information including locations, devices, system events, account information, and alerts.
  • The site administrator can disable user accounts or devices as necessary via the User Information pages. 
  • The site administrator can click on the Devices button on the site administrator navigation bar and navigate to a page where the site  administrator can filter the devices by either sensored user’s that have the devices or by the names of the devices.
  • The site administrator can click on the Alerts button on the site administrator navigation bar and navigate to a page where the site administrator can view all of the alerts reported for any sensored user to the EMS with most recent displayed at the top.
  • The site administrator can filter the alerts by sensored user location, or sensored user device.

 


3. Component Hierarchy Chart using a Main Program/Subprogram Architecture

 

The following chart decomposes our main program into various subprograms which will help identify and manage components.  The top down structure proceeds with each component leading to a smaller component starting with the main program, leading to controller programs of users, and finally a users available actions and the interaction with data.


4. Data Flow Diagrams

 

 

This is the first Data Flow Diagram.  It is the most basic model of the Environmental Monitoring System.  It shows the different users’ need to send login information into the system in order to get any information out of it.  The Sensored and Remote users both get Sensor Information from the system, while the Website Administrator gets this information as well as User Information.  This diagram also shows some of the data flows between the system and the User Database.

 

 

 

This diagram shows the system’s most basic functions.  The system must authenticate users, manage the users’ choices, record event logs, and obtain sensor data.  In this diagram, the login information has been split into its two components, the E-mail and Password.  This diagram shows that a log is recorded each time the user changes the preferences, adds or removes a device, or logs in to the system.  Also, the diagram shows that the system needs to wait for authentication from the authenticate user process in order to start the manage user choices process.

 

 

This diagram shows the Authenticate User process broken down into two more process: Returning Account, and New Account.  This diagram also shows how personal data is broken down into Phone Number, Cell Phone Number, First Name, Last Name, Address, and Security Question and Answer.  Also, the diagram shows that the Authentication data flow leaves this chart and is sent into the Manage User Choices process.

 

 

This diagram shows how the Manage User Choices process is broken down.  The process is broken into three different processes: Change Device Options, Request Device Information, and Register New Devices.  The Register New Devices process is accessed immediately from an authorization for a new user, as a new user must register a device in order to become a Sensored user.  Request Device Information is only available for returning users, as is Change Device Options.  This diagram also shows that the Preferences data flow is broken down into the How Often Readings Updated, Alert Settings, and Enable or Disable Device data flows, as well as the Device Information data flow being divided into the Type of Sensor, Brand of Sensor, and Location of Sensor data flows. 

 

 

This diagram shows how the database is accessed to get information regarding the user’s devices, as well as how the Sensored User’s computer sends the system the sensor information. This diagram also shows how alerts are processed through the Process Alerts process, which takes in the Reading and Acceptable Range data flows and compares them to determine if there should be an alert or not.

 


5. Logical Data Store

 

Personal data

First Name - The first name of a particular user.  VARCHAR2 (20)

Last Name – The last name of a particular user.  VARCHAR2 (30)

E-Mail – The e-mail address of the user.  Also used as the log in name. VARCHAR2 (50)

Password – The password supplied at log on to give access to a user with a valid e-mail address. Must be between 6 and 12 characters, containing at least one upper case character, lower case character, and at least one of the following characters: $, *, #, $, ^, |, =, %. VARCHAR2 (13)

Address – The address of the user. VARCHAR2 (100)

Security Question/Answer Data – The security question and answer used to recover a password if the user loses it.  VARCHAR2 (100)

Phone Number – The phone number of the user. VARCHAR2 (20)

Cell Phone Number – The cell phone number of the user. VARCHAR2 (20)

 

Event Logs

Event ID - The ID number of an event. NUMBER

Date – The date that the event happened on. VARCHAR2 (10)

Time – The time the event occurred at.  VARCHAR2 (9)

Location – The location of the event.  VARCHAR2 (20)

IP Address – The IP address the event occurred at. VARCHAR2 (20) 

Event Message – The message describing the event. VARCHAR2 (50)

Type of Event – The type of the event. VARCHAR2 (20)

 

Location

ID for Location – The unique ID number for a specific location. NUMBER

IP Address – The IP address of the location. VARCHAR2 (20)

Address – The address of the location. VARCHAR2 (100)

Name – The name for the location. VARCHAR2 (20)

Owner – The owner of the location, the e-mail address of the user. VARCHAR2 (50)

 

Sensor

Location – The location for the sensor. VARCHAR2 (20)

Reading – The last reading of the sensor. NUMBER

Type of Sensor – The type of sensor, including temperature, motion, or water level. VARCHAR2 (25)

Brand of Sensors – The particular brand of the sensor. VARCHAR2 (30)

Alert On/Off – Whether or not the sensor has an alert setting. BOOLEAN

Id for each Device – The unique ID number for a device. NUMBER

Acceptable Range – The range in which a sensor will not be in an alert. VARCHAR2 (7)

Time since last Alert – The amount of time since the last alert for a device. VARCHAR2 (9)

Alert Status – Whether or not the sensor is in an alert. BOOLEAN

 


Alert logs

Alert ID – The unique ID for an alert log. NUMBER

Device with Alert – The name of the device with the alert. VARCHAR2 (25)

Location with Alert – The location the alert occurred at. VARCHAR2 (20)

Date – The date the alert occurred on. VARCHAR2 (10)

Time in Alert Status – The amount of time that the alert was active. VARCHAR2 (9)

Time of the Alert – The time the alert occurred on. VARCHAR2 (9)

Reading – The reading of the device with the alert. NUMBER

Type of Alert – The type of alert that was triggered. VARCHAR2 (20)

Alert Message – The message that describes the alert. VARCHAR (50)

 

 


6. Logical Data Library
 
    Acceptable Range                                                                             Data Flow
          Description:
              The range set by the user that if exceeded will trigger an alert
          Location:
              Obtain Sensor Data  ( 3 )
                                                             Source:    User Database  ( Data Store )
                                                             Dest:         Process Alerts  ( Process )
 
 
    Add Remove Device Event                                                          Data Flow
          Description:
              An event log of a user adding or removing a device.
          Location:
              Environmental Monitoring System                     ( 0 )
                                                             Source:    Manage User Choices  ( Process )
                                                             Dest:         Record Event Log  ( Process )
 
 
    Address                                                                                                    Data Flow
          Description:
              The user's address.
          Location:
              Authenticate User  ( 1 )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         New Account  ( Process )
              Data Flow -->                                      Personal Data
 
 
    Alert Log                                                                                                 Data Flow
          Description:
              A log of an alert for use by the system administrator or the user.
          Composition:
              Alert ID  :  Undefined
              Device with Alert  :  Undefined
              Location of Alert  :  Undefined
              Date  :  Undefined
              Time in Alert Status  :  Undefined
              Time of Alert  :  Undefined
              Alert Reading  :  Undefined
              Type of Alert  :  Undefined
              Alert Message  :  Undefined
          Location:
              Obtain Sensor Data  ( 3 )
                                                             Source:    Process Alerts  ( Process )
                                                             Dest:         User Database  ( Data Store )
              Data Flow -->                                      Logs
 
 
    Alert On or Off                                                                                    Data Flow
          Description:
              Tells whether the device's alert is on or off.
          Location:
              Manage User Choices   ( 2 )
                                                             Source:    Request Device Information  ( Process )
                                                             Dest:         Remote User  ( External Entity )
                                                             Source:    Request Device Information  ( Process )
                                                             Dest:         Sensored User  ( External Entity )
              Data Flow -->                                      Reading
              Data Flow -->                                      Sensor Information
              Data Flow -->                                      Device Information
 
 
    Alert Settings                                                                                       Data Flow
          Description:
              The settings that determine when the system notifies the user that a device has 
            reached a critical point.
          Location:
              Manage User Choices   ( 2 )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         Change Device Options  ( Process )
                                                             Source:    Remote User  ( External Entity )
                                                             Dest:         Change Device Options  ( Process )
              Data Flow -->                                      Preferences
 
    Authorization                                                                                        Data Flow
          Description:
              Authorization that the user should be in the system.  It is granted after  
            the email and password is verified through the database.
          Composition:
              Authorization for New User  : 
              Authorization for Returning User  : 
              Authorization for Returning User  : 
          Location:
              Environmental Monitoring System                     ( 0 )
                                                             Source:    Authenticate User  ( Process )
                                                             Dest:         Manage User Choices  ( Process )
              Authenticate User  ( 1 )
                                                             Source:    Returning Account  ( Process )
                                                             Dest:         *** Not on Diagram ***
                                                             Source:    New Account  ( Process )
                                                             Dest:         *** Not on Diagram ***
          Date Last Altered:           11/28/2005                 Date Created: 11/21/2005
 
 
    Authorization for New User                                                         Data Flow
          Description:
              Authorization for a new user. The new user needs to register a new device and  
            become a sensored user before the new user can become a remote user.
          Location:
              Manage User Choices   ( 2 )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         Register New Devices  ( Process )
              Data Flow -->                                      Authorization
 
 
    Authorization for Returning User                                                                 Data Flow
          Description:
              Authorization granted for a returning user.  Sends the user to the user’s 
            home page describing the condition of the user’s devices.
          Location:
              Manage User Choices   ( 2 )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         Request Device Information  ( Process )
              Data Flow -->                                      Authorization
 
 
    Authorization for Returning User                                             Data Flow
        Description:
               Authorization granted for a returning user.  Sends the user to the user’s home  
             page describing the condition of the user’s devices.
         Location:
              Manage User Choices   ( 2 )
                                                             Source:    Remote User  ( External Entity )
                                                             Dest:         Request Device Information  ( Process )
              Data Flow -->                                      Authorization
 
    
    Brand of Sensor                                                                                 Data Flow
          Description:
              The brand of the sensor to be registered
          Location:
              Manage User Choices   ( 2 )
                                                             Source:    Register New Devices  ( Process )
                                                             Dest:         User Database  ( Data Store )
              Data Flow -->                                      Reading
              Data Flow -->                                      Device Information
 
 
    

Cell Phone Number                                                                               Data Flow
          Description:
              The user's cell phone number.  Will be used in some alerts if the user has the cell 
            phone alert preference
          Location:
              Authenticate User  ( 1 )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         New Account  ( Process )
              Data Flow -->                                      Personal Data
 
 
    Delete Device Request                                                                  Data Flow
          Description:
              A request to delete a device from the system
          Location:
              Manage User Choices   ( 2 )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         Change Device Options  ( Process )
 
 
    Device Data                                                                                          Data Flow
          Location:
              Obtain Sensor Data  ( 3 )
                                                             Source:    Get Device Data  ( Process )
                                                             Dest:         Get Sensor Data  ( Process )
 
 
    Device ID                                                                                               Data Flow
          Description:
              The ID used by the system to identify the device
          Location:
              Manage User Choices   ( 2 )
                                                             Source:    Request Device Information  ( Process )
                                                             Dest:         Remote User  ( External Entity )
                                                             Source:    Request Device Information  ( Process )
                                                             Dest:         Sensored User  ( External Entity )
              Data Flow -->                                      Sensor Information
              Data Flow -->                                      Device Information
 
 
    Device Information                                                                           Data Flow
          Description:
              Information on the device, including type, brand and location of the sensor.
          Composition:
              Brand of Sensor  : 
              Location of Device  : 
              Type of Sensor  : 
              Device ID  : 
              Alert On or Off  : 
          Location:
              Manage User Choices   ( 2 )
                                                             Source:    User Database  ( Data Store )
                                                             Dest:         Request Device Information  ( Process )
 
 
    E-mail                                                                                                        Data Flow
          Description:
              The user's email that is used to log in to the system.
          Location:
              Environmental Monitoring System                     ( 0 )
                                                             Source:    Remote User  ( External Entity )
                                                             Dest:         Authenticate User  ( Process )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         Authenticate User  ( Process )
                                                             Source:    Website Administrator  ( External Entity )
                                                             Dest:         Authenticate User  ( Process )
              Authenticate User  ( 1 )
                                                             Source:    Remote User  ( External Entity )
                                                             Dest:         Returning Account  ( Process )
                                                             Source:    Website Administrator  ( External Entity )
                                                             Dest:         Returning Account  ( Process )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         Returning Account  ( Process )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         New Account  ( Process )
              Data Flow -->                                      Login Information
              Data Flow -->                                      Personal Data
 
 
    Enable or Disable Device                                                             Data Flow
          Description:
              A setting to allow the user to enable or disable a device
          Location:
              Manage User Choices   ( 2 )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         Change Device Options  ( Process )
              Data Flow -->                                      Preferences
 
 
    Event Log                                                                                               Data Flow
          Description:
              An event log passed into the database for later use by the administrator or user.
          Composition:
              Event ID  :  Undefined
              Date  :  Undefined
              Time  :  Undefined
              Location  :  Undefined
              IP Address  :  Undefined
              Message  :  Undefined
              Type  :  Undefined
          Location:
              Environmental Monitoring System                     ( 0 )
                                                             Source:    Record Event Log  ( Process )
                                                             Dest:         User Database  ( Data Store )
              Data Flow -->                                      Logs
 
 
    First Name                                                                                             Data Flow
          Description:
              The user's first name
          Location:
              Authenticate User  ( 1 )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         New Account  ( Process )
              Data Flow -->                                      Personal Data
 
 
    How often readings updated                                                        Data Flow
          Description:
              Determines when the system requests the information from the device
          Location:
              Manage User Choices   ( 2 )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         Change Device Options  ( Process )
              Data Flow -->                                      Preferences
 
 
    Id for each Device                                                                             Data Flow
          Description:
              The ID the system uses to identify each device
          Location:
              Obtain Sensor Data  ( 3 )
                                                             Source:    User Database  ( Data Store )
                                                             Dest:         Get Device Data  ( Process )
 
 
    Id for Location                                                                                     Data Flow
          Description:
              The ID for the location of a group of sensors
          Location:
              Obtain Sensor Data  ( 3 )
                                                             Source:    User Database  ( Data Store )
                                                             Dest:         Get Device Data  ( Process )
 
    Last Name                                                                                             Data Flow
          Description:
              The user's last name
          Location:
              Authenticate User  ( 1 )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         New Account  ( Process )
              Data Flow -->                                      Personal Data
 
 
    List of Sensors                                                                                     Data Flow
          Description:
              A list of all the sensors for a user
          Location:
              Obtain Sensor Data  ( 3 )
                                                             Source:    User Database  ( Data Store )
                                                             Dest:         Get Device Data  ( Process )
          Date Last Altered:           11/28/2005                 Date Created: 11/21/2005
 
 
    Location                                                                                                   Data Flow
          Description:
              The location for a group of sensors
          Location:
              Obtain Sensor Data  ( 3 )
                                                             Source:    User Database  ( Data Store )
                                                             Dest:         Get Device Data  ( Process )
              Data Flow -->                                      Reading
 
 
    Location of Device                                                                            Data Flow
          Description:
              The physical location of the device, used to monitor different locations
          Location:
              Manage User Choices   ( 2 )
                                                             Source:    Request Device Information  ( Process )
                                                             Dest:         Remote User  ( External Entity )
                                                             Source:    Request Device Information  ( Process )
                                                             Dest:         Sensored User  ( External Entity )
              Data Flow -->                                      Sensor Information
              Data Flow -->                                      Device Information
 
 
    Location of Sensor                                                                            Data Flow
          Description:
              The location of the sensor, used to monitor different locations
          Location:
              Manage User Choices   ( 2 )
                                                             Source:    Register New Devices  ( Process )
                                                             Dest:         User Database  ( Data Store )
 
 
    Login Event                                                                                           Data Flow
          Location:
              Environmental Monitoring System                     ( 0 )
                                                             Source:    Authenticate User  ( Process )
                                                             Dest:         Record Event Log  ( Process )
 
 
    Login Information                                                                              Data Flow
          Description:
              The information passed into the web browser and into the system that identifies 
            the user and verifies that the user is allowed in
          Composition:
              E-mail  : 
              Password  : 
          Location:
              Context            ( CONTEXT )
                                                             Source:    Remote User  ( External Entity )
                                                             Dest:         Environmental Monitoring System  ( Process )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         Environmental Monitoring System  ( Process )
                                                             Source:    Website Administrator  ( External Entity )
                                                             Dest:         Environmental Monitoring System  ( Process )
 
 
    Logs                                                                                                           Data Flow
          Description:
              Logs of events or alerts that have occurred for a user.
          Composition:
              Alert Log  : 
              Event Log  : 
          Location:
              Context            ( CONTEXT )
                                                             Source:    User Database  ( Data Store )
                                                             Dest:         Environmental Monitoring System  ( Process )
                                                             Source:    Environmental Monitoring System  ( Process )
                                                             Dest:         User Database  ( Data Store )
              Data Flow -->                                      User Information
 
 
    Password                                                                                                 Data Flow
          Description:
              The password the user provides at log in to verify the user should have access to 
            the system.
          Location:
              Environmental Monitoring System                     ( 0 )
                                                             Source:    Remote User  ( External Entity )
                                                             Dest:         Authenticate User  ( Process )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         Authenticate User  ( Process )
                                                             Source:    Website Administrator  ( External Entity )
                                                             Dest:         Authenticate User  ( Process )
              Authenticate User  ( 1 )
                                                             Source:    Remote User  ( External Entity )
                                                             Dest:         Returning Account  ( Process )
                                                             Source:    Website Administrator  ( External Entity )
                                                             Dest:         Returning Account  ( Process )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         Returning Account  ( Process )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         New Account  ( Process )
              Data Flow -->                                      Login Information
 
 
    Personal Data                                                                                      Data Flow
          Description:
              The personal data for the user, including email, address, phone numbers, and 
            name.
          Composition:
              Address  : 
              Cell Phone Number  : 
              E-mail  : 
              First Name  : 
              Last Name  : 
              Phone Number  : 
              Security Question and Answer  : 
          Location:
              Context            ( CONTEXT )
                                                             Source:    User Database  ( Data Store )
                                                             Dest:         Environmental Monitoring System  ( Process )
              Environmental Monitoring System                     ( 0 )
                                                             Source:    User Database  ( Data Store )
                                                             Dest:         Authenticate User  ( Process )
              Authenticate User  ( 1 )
                                                             Source:    User Database  ( Data Store )
                                                             Dest:         Returning Account  ( Process )
                                                             Source:    New Account  ( Process )
                                                             Dest:         User Database  ( Data Store )
              Context            ( CONTEXT )
                                                             Source:    Environmental Monitoring System  ( Process )
                                                             Dest:         User Database  ( Data Store )
              Data Flow -->                                      User Information
 
 
    Phone Number                                                                                     Data Flow
          Description:
              The user's home phone number.  A part of personal information
          Location:
              Authenticate User  ( 1 )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         New Account  ( Process )
              Data Flow -->                                      Personal Data
 
 
    Preferences                                                                                           Data Flow
          Description:
              The preferences set by the user to be stored in the database
          Composition:
              Alert Settings  : 
              Enable or Disable Device  : 
              How often readings updated  : 
          Location:
              Manage User Choices   ( 2 )
                                                             Source:    Change Device Options  ( Process )
                                                             Dest:         User Database  ( Data Store )
 
 
    Preference Change Event                                                             Data Flow
          Description:
              An event log of the user changing his or her preferences.
          Location:
              Environmental Monitoring System                     ( 0 )
                                                             Source:    Manage User Choices  ( Process )
                                                             Dest:         Record Event Log  ( Process )
 
 
    Reading                                                                                                   Data Flow
          Description:
              The reading from the sensor devices as parsed by the system so that it is in a  
            meaningful format for the user.
          Composition:
              Location  : 
              Type of Sensor  : 
              Brand of Sensor  : 
              Alert On or Off  : 
              Reading  : 
          Location:
              Environmental Monitoring System                     ( 0 )
                                                             Source:    Obtain Sensor Data  ( Process )
                                                             Dest:         Manage User Choices  ( Process )
              Manage User Choices   ( 2 )
                                                             Source:    Request Device Information  ( Process )
                                                             Dest:         Remote User  ( External Entity )
                                                             Source:    Request Device Information  ( Process )
                                                             Dest:         Sensored User  ( External Entity )
              Obtain Sensor Data  ( 3 )
                                                             Source:    Get Sensor Data  ( Process )
                                                             Dest:         Sensored User  ( External Entity )
                                                             Source:    Get Sensor Data  ( Process )
                                                             Dest:         Remote User  ( External Entity )
                                                             Source:    Get Sensor Data  ( Process )
                                                             Dest:         Process Alerts  ( Process )
              Data Flow -->                                     Reading
              Data Flow -->                                      Sensor Information
 
 
    Request Device Data                                                                      Data Flow
          Description:
              A request for information on the current devices
          Location:
              Obtain Sensor Data  ( 3 )
                                                             Source:    Get Device Data  ( Process )
                                                             Dest:         User Database  ( Data Store )
                                                             Source:    Get Sensor Data  ( Process )
                                                             Dest:         Get Device Data  ( Process )
 
 
    Request for New Device Registration                                  Data Flow
          Description:
              A request to add a new device
          Location:
              Manage User Choices   ( 2 )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         Request Device Information  ( Process )
                                                             Source:    Request Device Information  ( Process )
                                                             Dest:         Register New Devices  ( Process )
 
 
    Request Sensor Data                                                                      Data Flow
          Description:
              A request for the data from a sensor
          Location:
              Obtain Sensor Data  ( 3 )
                                                             Source:    Get Sensor Data  ( Process )
                                                             Dest:         Sensored User  ( External Entity )
 
 
    Security Question and Answer                                                   Data Flow
          Description:
              The security question and answer that the user provides in case the user loses the 
            password.
          Location:
              Authenticate User  ( 1 )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         New Account  ( Process )
              Data Flow -->                                      Personal Data
 
 
    Sensor Data                                                                                          Data Flow
          Description:
              Raw sensor data directly from the sensor devices.  This information needs to be 
            parsed by the system and made into meaningful data for the user.
          Location:
              Context            ( CONTEXT )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         Environmental Monitoring System  ( Process )
              Environmental Monitoring System                     ( 0 )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         Obtain Sensor Data  ( Process )
              Obtain Sensor Data  ( 3 )
                                                             Source:    Sensored User  ( External Entity )
                                                             Dest:         Get Sensor Data  ( Process )
 
 
    Sensor Information                                                                           Data Flow
          Description:
              Information from the devices, including the location, id, and reading.
              This is the info that the user will most likely be concerned with.
          Composition:
              Alert On or Off  : 
              Device ID  : 
              Location of Device  : 
              Reading  : 
          Location:
              Context            ( CONTEXT )
                                                             Source:    Environmental Monitoring System  ( Process )
                                                             Dest:         Remote User  ( External Entity )
                                                             Source:    Environmental Monitoring System  ( Process )
                                                             Dest:         Sensored User  ( External Entity )
              Environmental Monitoring System                     ( 0 )
                                                             Source:    Manage User Choices  ( Process )
                                                             Dest:         Remote User  ( External Entity )
                                                             Source:    Manage User Choices  ( Process )
                                                             Dest:         Sensored User  ( External Entity )
                                                             Source:    Manage User Choices  ( Process )
                                                             Dest:         Website Administrator  ( External Entity )
              Context            ( CONTEXT )
                                                             Source:    Environmental Monitoring System  ( Process )
                                                             Dest:         Website Administrator  ( External Entity )
 
 
    Type of Sensor                                                                                    Data Flow
          Description:
              The type of sensor, be it temperature, water level, motion sensor, or other sensor.
          Location:
              Manage User Choices   ( 2 )
                                                             Source:    Register New Devices  ( Process )
                                                             Dest:         User Database  ( Data Store )
              Data Flow -->                                      Reading
              Data Flow -->                                      Device Information
 
 
    User Information                                                                                Data Flow
          Description:
              Information on the user that the website admin is concerned with. Includes logs 
           and personal information on users.
          Composition:
              Logs  : 
              Personal Data  : 
          Location:
              Environmental Monitoring System                     ( 0 )
                                                             Source:    Manage User Choices  ( Process )
                                                             Dest:         Website Administrator  ( External Entity )
              Context            ( CONTEXT )
                                                             Source:    Environmental Monitoring System  ( Process )
                                                             Dest:         Website Administrator  ( External Entity )
 
    Verification                                                                                            Data Flow
          Description:
              The system checks the users email and password against the information in the 
            database to make sure that the user should have access.
          Location:
              Context            ( CONTEXT )
                                                             Source:    Environmental Monitoring System  ( Process )
                                                             Dest:         User Database  ( Data Store )
              Environmental Monitoring System                     ( 0 )
                                                             Source:    Authenticate User  ( Process )
                                                             Dest:         User Database  ( Data Store )
              Authenticate User  ( 1 )
                                                             Source:    Returning Account  ( Process )
                                                             Dest:         User Database  ( Data Store )

7. Development Environment

 

 

 

 

 

8. Production Environment

 

            The production environment is the environment in which the software will be produced, tested, and implemented. Oraserv is also the name of the machine that is our production environment. Its operation system is Red Hat Enterprise Linux ES release.

 

 

 

9. Unit Test

 

Authentication Screen (Index.php)




Authentication Screen (Register.php)

 

 



 

 

 

 

 

 

                                                  


10. Acceptance Test

 

1.                  Read-Only User

a.       Login page

·              Can enter e-mail for username

·              Can enter password which is between 6-12 characters long, features at least one number, one capital letter, one lowercase letter, and at least one of eight recognized special characters shown here within double quotes “#$%^!&*=”

·              Submit button works and submits the information within the e-mail and password fields

·              Submit button sends the read-only user to the logged-in screen which is a user homepage with a welcome message, as well as a message informing the read-only user that the user is at a recognized, monitored location.

·              The forgotten password link works and guides the read-only user with instruction on getting a working password

·              The FAQ link works

·              The new registration link works

b.      Registration page

·              Can enter in first name, last name, address, e-mail, password, security question and answer, phone number, and cell phone number.

·              Can click submit to transmit the information in the registration fields

c.       Logged-in Homepage

·              Shows a welcome message, as well as a message informing the read-only user that the user is at a recognized, monitored location

·              Displayed at the bottom of the read-only user’s logged in screen, are the read-only user’s registered locations, with the current “at” location highlighted, the devices associated with each location and the status for each

·              Has a navigation bar with buttons that take the read-only user to the different pages on the website which allow the read-only user to change various aspects of the user’s account.

·              Account link does not work

·              Device Management link does not work

·              Profile settings link works

·              Logout link works

·              Add New location link does not work

d.      Profile Settings page

·              Allows the read-only user to change the settings associated with the read-only user’s online account

·              Can change e-mail address

·              Can change password

·              Submit button transmits any changes made

e.       Logs page

·        Navigates the read-only user to a page that displays all the alert and event logs in each device’s history.

 

2.                  Remote User

a.       Login page

·              Can enter e-mail for username

·              Can enter password which is between 6-12 characters long, features at least one number, one capital letter, one lowercase letter, and at least one of eight recognized special characters shown here within double quotes “#$%^!&*=”

·              Submit button works and submits the information within the e-mail and password fields

·              Submit button sends the remote user to the logged-in screen which is a user homepage with a welcome message, as well as a message informing the remote user that the user is at a recognized, monitored location.

·              The forgotten password link works and guides the remote user with instruction on getting a working password

·              The FAQ link works

·              The new registration link works

b.      Registration page

·              Can enter in first name, last name, address, e-mail, password, security question and answer, phone number, and cell phone number.

·              Can click submit to transmit the information in the registration fields

c.       Logged-in Homepage

·              Shows a welcome message, as well as a message informing the remote user that the user is at a recognized, monitored location

·              Displayed at the bottom of the remote user’s logged in screen are the remote user’s registered locations, with the current “at” location highlighted, the devices associated with each location and the status for each

·              Has a navigation bar with buttons that take the remote user to the different pages on the website which allow the remote user to change various aspects of the user’s account.

·              Account link does not work

·              Device Management link does not work

·              Profile settings link works

·              Logout link works

·              Add New location link works

d.      Profile Settings page

·              Allows the remote user to change the settings associated with the remote user’s online account

·              Can change e-mail address

·              Can change password

·              Submit button transmits any changes made

e.       Logs page

·        Navigates the remote user to a page that displays all the alert and event logs in each device’s history.

 

f.        New Location Page

·        Able to add a new location

 

3.                  Sensored User

a.       Login page

·              Can enter e-mail for username

·              Can enter password which is between 6-12 characters long, features at least one number, one capital letter, one lowercase letter, and at least one of eight recognized special characters shown here within double quotes “#$%^!&*=”

·              Submit button works and submits the information within the e-mail and password fields

·              Submit button sends the sensored user to the logged-in screen which is a user homepage with a welcome message, as well as a message informing the sensored user that the user is at a recognized, monitored location.

·              The forgotten password link works and guides the sensored user with instruction on getting a working password

·              The FAQ link works

·              The new registration link works

b.      Registration page

·              Can enter in first name, last name, address, e-mail, password, security question and answer, phone number, and cell phone number.

·              Can click submit to transmit the information in the registration fields

c.       Logged-in Homepage

·              Shows a welcome message, as well as a message informing the sensored user that the user is at a recognized, monitored location

·              Displayed at the bottom of the sensored user’s logged in screen for the sensored user, are the sensored user’s registered locations, with the current “at” location highlighted, the devices associated with each location and the status for each

·              Has a navigation bar with buttons that take the sensored user to the different pages on the website which allow the sensored user to change various aspects of the user’s account.

·              Account link works

·              Device Management link works

·              Profile settings link works

·              Logout link works

·              Add new location link does not work

d.      Account page

·              Allows the sensored user to add or delete an account, both a regular account and a “read-only” account

·              Submit button transmits any changes made

e.       Device Management page

·              Allows the sensored user to add or delete a device

·              Can check the alert status of each device

·              Can change the acceptable range of the readings for a device

·              Submit button transmits any changes made

f.        Profile Settings page

·              Allows the sensored user to change the settings associated with the sensored user’s online account

·              Can change e-mail address

·              Can change password

·              Submit button transmits any changes made

g.       Logs page

·              Navigates the sensored user to a page that displays all the alert and event logs in each device’s history.


Appendix A: Glossary of Terms

 

Alert Log - A sequential data record of alerts.

 

Authenticate - The process by which a computer, computer program, or another user attempts to confirm that the computer, computer program, or user from whom the second party has received some communication is, or is not, the claimed first party.

 

Code – The symbolic arrangement of data or instructions in a computer program or the set of such instructions.

 

Context Diagram - The most abstract view of a system, showing the system as a whole, its inputs and outputs from/to external systems.

 

C++ – A compiled object oriented programming language.

 

Database A collection of data arranged for ease and speed of search and retrieval.

 

Data Flow Diagram (DFD) - A data flow diagram (DFD) is a graphical representation of the "flow" of data through an information system. A data flow diagram can also be used for the visualization of data processing (structured design). It is common practice for a designer to first draw a context-level DFD first which shows the interaction between the system and outside entities. This context-level DFD is then "exploded" to show more detail of the system being modeled.

Data Repository - A data repository is a central place where data is stored and maintained. A data repository can be a place where multiple databases or files are located for distribution over a network, or a data repository can be a location that is directly accessible to the user without having to travel across a network.

EIN Environmental Intelligence Network – Our team name for the six software engineers who will design and implement a home environmental regulation system available over the internet.

 

EMS Environmental Monitoring System – Name for our project consisting on monitoring environmental devices.

 

Event - A software message that indicates something has happened. This action can be initiated either by the user or the computer.

 

Event Log - A sequential data record of events.

 

Functional Decomposition Diagram – Diagram that shows the breaking down of a process into non-redundant operations. It provides a hierarchical breakdown of the program into the individual operations, or routines, that are required.

Gantt Chart – A chart that depicts progress in relation to time, of ten used in planning and tracking a project.

 

GUIGraphical User Interface – An interface, which uses text box’s and buttons to allow easy access of information by a mouse or other input device.

 

HTMLHypertext-markup language – HTML is a markup language used to structure text and offers hypertext links between documents.  It is the standard of the World Wide Web.

 

HTTP – Hypertext Transfer Protocol – The foundation protocol of the World Wide Web. It sets the rules for exchanges between browser and server. It provides for the transfer of hypertext and hypermedia, for recognition of file types, and other functions.

 

HTTPSHypertext Transfer Protocol Secure – This is a more secure version of HTTP.  It is often used for credit card transactions over the web.  

 

Internet – An interconnected system of networks that connects computers around the world via the TCP/IP protocol.

 

Java – An object oriented programming language.

 

Monitored Location – Registered and known location found in the database. Has a sensor installed at the location.

 

PHPPHP Hypertext Preprocessor – PHP is a widely-used server-sided scripting language and can be embedded into HTML.

 

Reading - An action performed by computers, to acquire data from a source and place it into their volatile memory for processing.

 

Read – Only User – User at an unrecognized location who will only have access to check the status of the devices. The read – only user will only be able to see the registered locations, the devices associated with each location and the status for each.

 

Registered User – A user who has gone through the registration process and currently has a sensored location.

 

Remote User – Sensored user at an unknown or unregistered location who will be able to check on the status of devices when away from home. From an unregistered location, the remote user can not make any changes to the devices or alert settings. The Remote User is able to add new locations which will make the user a sensored user.

 

Remote Location – An unknown or unregistered location not found in the database.

 

Sensor – A device that obtains and transmits environmental readings.

Sensored – An attribute indicating an installed sensor.

 

Sensored Location - Registered and known location found in the database. Has a sensor installed at the location.

 

Sensored User – Person at a monitored location who is able to add or delete devices and update other key elements such as alerts, passwords, etc. A sensored may not add a new location.

 

Site Administrator - The site administrator is responsible for maintaining the database of sensored users as well as upkeep and troubleshooting for a sensored user’s software interaction and devices. The site administrator can disable user accounts or devices.

 

SNMP Simple Network Management Protocol A protocol which can support monitoring of network-attached devices for any conditions that warrant administrative attention.

 

SSL Secure Socket Layer –A cryptographic protocol which provides secure communications on the internet.

 

Status – Current state of the device.

 

Structured Chart – See Functional Decomposition Diagram.

 

Web Browser - A software application that enables a user to display and interact with HTML documents hosted by web servers or held in a file system.

 

 


Appendix B: Gantt Chart