Skip to content
Caleb Callaway edited this page Oct 13, 2013 · 12 revisions

1. As a network administrator, I want to restrict access time to improve network security.

    Acceptance Criteria:
        - We can successfully modify the access point's configuration
        - We can generate QR codes that can be used for wireless access
        - We have a database that will store the QR codes that have been generated
        - We have a mechanism to serve QR codes via HTTP
        - Ensure codes are not usable once they have expired
    Failure Mode: If two users are given the exact same code we have to:
        - Allow the first user to attempt to use the code, to have access
        - Prevent the second user from obtaining network access with the same code
    Failure Mode: If the web interface is unable to read the configuration file we have to:
        - Have default values hard-coded that will be used
    Failure Mode: To ensure proper security of the administrative interface, we have to:
        - Remove any hard-coded values that could be easily changed by anyone
        - Be sure that our configuration file isn't in a location in our file system that could
          be found and exploited by any user on our network

2. As a business owner, I want to restrict access time so that I can better monetize my wireless network access.

    Acceptance Criteria:
        - We have a mechanism to access the wireless access point's configuration
        - We have mechanisms that will use fall-back methods if data in the configuration file is
          non-existent or malformed
        - We have a mechanism that will create a configuration file, given a non-existent configuration
        - We have a mechanism to emulate a wireless access point that a phone can connect to
        - We are able to manually disconnect users from the access point using our emulation environment
        - We have a user-friendly way of accessing configuration data
     
    Failure Mode: If customers aren't buying my product due to low access time we have to:
        - Increase access time given per customer based on purchase
        - Give the customer more incentive to buy our product
    Failure Mode: If access time is changed in our configuration, we have to:
        - Choose whether or not to extend access time to those already connected
        - If not, we have to be sure that the configuration change hasn't allowed 
          previously connected users longer access time
    Failure Mode: If we've allowed access via all of the previously generated codes, we have to:
        - Generate new codes for the users
        - Populate our database with the new codes we've just generated
    Failure Mode: If the user has permanent access, we have to:
        - Regularly compare the users to an log of users who currently have access
        - Based on the results of this log we will either, continue to allow access, or kick the user

3. As a mobile device user, I want an app that scans QR codes so that I can connect to a WiFi access point quickly and painlessly.

    Acceptance Criteria:
        - We have an Android application that can successfully scan qr codes
        - Our application can take a QR code and decode it
        - Our application can take data from a decoded QR code and connect to a wireless access point
        - (Stretch goal) We have an application that when forced to, will disconnect from the access point
    Failure Mode: If the phone continuously attempts to reconnect after being disconnected, we have to:
        - Have the bar code application remove the access point from its list of known access points
        - Be sure the application does not continually try to reconnect to the access point
    Failure Mode: If the user scans an invalid code we have to:
        - Warn the user that there was an error in the code
Clone this wiki locally