Lab 2 – VIPS Prototype Requirements Jacob Baughman Nick Bitto

advertisement
Lab 2 – VIPS Requirements 1
Lab 2 – VIPS Prototype Requirements
Jacob Baughman
Nick Bitto
Kyle Bohannon
Chad Pellitt
Eric Schultz
CS411
Janet Brunelle
April 13, 2009
Lab 2 – VIPS Requirements 2
Table of Contents
3
Specific Requirements ............................................................................................................ 4
3.1
Functional Requirements.................................................................................................. 4
3.1.1
VIPS Website ............................................................................................................ 4
3.1.2
VIPS Engine.............................................................................................................. 9
3.1.3
VIPS Database ........................................................................................................ 12
3.1.4
RFID Tags and Barcodes ........................................................................................ 22
3.1.5
Garage Simulation .................................................................................................. 22
3.1.6
Admin Screen/Test Harness .................................................................................... 26
3.2
Performance Requirements ............................................................................................ 28
3.2.1
VIPS Website .......................................................................................................... 28
3.2.2
VIPS Database ........................................................................................................ 28
3.2.3
VIPS Engine............................................................................................................ 28
3.2.4
Garage Simulation .................................................................................................. 29
3.3
Assumptions and Constraints ......................................................................................... 30
3.4
Non-Functional Requirements ....................................................................................... 31
3.4.1
Security ................................................................................................................... 32
3.4.2
Maintainability ........................................................................................................ 32
3.4.3
Reliability................................................................................................................ 33
List of Figures
Figure 1. VIPS Website Layout...................................................................................................... 5
Figure 2. VIPS Engine Algorithms ................................................................................................ 9
Figure 3. Start-of-Day Algorithm ................................................................................................. 11
Figure 4. End-of-Day Algorithm .................................................................................................. 12
Figure 5. VIPS Database Tables ................................................................................................... 13
Figure 6. Barcode Procedure Flow ............................................................................................... 15
Figure 7. RFIDcheck Procedure Flow .......................................................................................... 17
Figure 8. ChangeCount Procedure Flow ...................................................................................... 19
Figure 9. ClearGarage Procedure Flow ........................................................................................ 21
Lab 2 – VIPS Requirements 3
List of Tables
Table 1. Comparison of VIPS Website Security Levels ................................................................. 6
Table 2. Garage Simulation Message Format ............................................................................... 25
Table 3. Assumptions, Dependencies, and Constraints on Prototype Requirements ................... 31
Lab 2 – VIPS Requirements 4
3
Specific Requirements
The VIPS prototype must achieve several specific requirements. The initial requirements
placed on the VIPS prototype are the functional requirements. Functional requirements describe
what the VIPS prototype must do in order to achieve the goals of VIPS Inc. The performance
requirements are specifications VIPS must achieve in order to meet the functional requirements.
The assumptions and constraints section explains the limited environment in which the prototype
will operate. Finally, the non-functional requirements conclude the framework for the VIPS
prototype requirements.
3.1
Functional Requirements
The VIPS prototype's functional components consist of the VIPS Website, VIPS Engine,
VIPS Database, barcodes, VIPS Garage Simulation, and the VIPS Test Harness. Each
component has unique qualities that help shape the VIPS prototype. Although VIPS contains
many components, each is streamlined and designed to be advantageous to the Parking Services
staff and the visitor.
3.1.1 VIPS Website
The VIPS Website is the primary interface used by Parking Services staff and visitors to
the university. In order for both the staff member and the visitor to make efficient use of the
webpage, a well planned and well defined layout is necessary in order to create ease of use and
prevent confusion. The VIPS Website layout is illustrated in Figure 1.
[This space intentionally left blank]
Lab 2 – VIPS Requirements 5
Figure 1. VIPS Website Layout
1. Home Page - The home page acts as the main menu for the rest of the VIPS Website. The
contents of the home page depend on the user's security level (unregistered, visitor,
admin, faculty, or staff), with each level giving access to different options and features.
The various levels of security are shown in Table 1. The unregistered home page will
display the login page.
[This space intentionally left blank]
Lab 2 – VIPS Requirements 6
Table 1. Comparison of VIPS Website Security Levels
2. Login Page - The page an unregistered web user encounters upon reaching the VIPS
Website. From the login page, the user is able to navigate to the areas acceptable to their
security rating.
a. Allows the user to log into their respective accounts
b. Grants the user the proper access
c. Redirects the user to their personal page
d. The login page provides a link to register for a new account
3. Department - The page a list of faculty that fall under the department. The page allows a
department figurehead to enable the "invite a visitor" feature on user accounts which are
gathered from the VIPS Database. The Department page allows the Department access to
invite individuals to the university.
4. Personal Page - The Personal Page contains links to web pages that the individual has
been granted access.
a. Connects to the VIPSUsers, Visitors, and Dept tables from the VIPS Database
Lab 2 – VIPS Requirements 7
b. Displays the user's data from the VIPS Database
c. Allows the user's data to be modified. The tables that can be modified are:
VIPSUsers and Visitors. See Section 3.1.3 for the correlating columns/fields.
d. Asks if updates are correct, then saves them
5. Account History - This page displays the user's recent trip history including the time, date
and car/license plate registered for the visit. For faculty and staff, the page can also show
recently a list of invited visitors. The following data is recorded:
a. Time
b. Date
c. License plate
d. Barcode (which is a unique visit number)
6. Account Creation/Verification - This page allows a user to create an account by
collecting the user's personal information. Account information is stored in the VIPS
Database. personal information gathered includes:
a. First name
b. Last name
c. License plate number
d. Username ( an email address)
e. Password
Lab 2 – VIPS Requirements 8
7. Pass Registration/Verification - This page is where a user goes when they want to register
a visit to the university. The user provides trip specific information such as date (drop
down), which car they will use (drop down), reason for visit (drop down), and which
parking garage they prefer (drop down). The collected information is then stored in the
Passes table from the VIPS Database. The user can also register to park in a specific
garage.
8. Pass Generation – Pass generation creates a visitor pass with a functioning barcode.
a. The pass gathers the user's information from the VIPSUsers, Visitors,
Subscribers, and Passes from the VIPS Database.
b. The visitor trip identification number is also grabbed from the VIPS Database and
is transfered into a barcode via the PHP-Barcode 0.3pl1 tool kit.
c. The pass is generated when the user information and barcode are turned into an
image file with the GD library.
9. Email – The Email page is similar to the Pass Generation page (Section 3.1.1.8), with an
extra option for sending the pass via email.
a. If a faculty or staff member wishes to invite a visitor, they can fill out a special
invitation form on the Pass Generation page.
b. The pass is then emailed to an invited visitor's email address.
c. The visitor then prints out the pass.
Lab 2 – VIPS Requirements 9
3.1.2 VIPS Engine
The VIPS Engine's purpose is to ensure the VIPS system maintains an accurate internal
representation of each garage’s available spaces and a history of each gate event. It does so by
acting as an interface between the Garage Simulation and the VIPS Database, performing the
parking space allocation and deallocation necessary to implement reservations, and updating the
Garage Simulation's display board whenever a garage's status changes. The algorithms used to
meet these responsibilities are depicted in Figure 2.
Figure 2. VIPS Engine Algorithms
Lab 2 – VIPS Requirements 10
As the interface between the VIPS Garage Simulation and the VIPS Database, the VIPS
Engine is required to:
1. Monitor messages sent from the VIPS Garage Simulation to the VIPS Engine. These
messages will be either sensor data from an RFID sensor or barcode scanner, or a
command from the VIPS Test Harness initiating start- or end-of-day algorithms.
2. Extract identifying information from the message, formatted as specified in Table 2, to
include:
a. Garage identification number
b. Gate identification number
c. Message type
d. The sensor's data
3. If the message is from an RFID sensor or a barcode scanner, the VIPS Engine calls the
appropriate VIPS Database procedure with the parameters extracted from the message.
The VIPS Database procedure returns a value representing the validity of the user and the
new status of the garage.
a. If valid, the VIPS Engine will send data to the VIPS Garage Simulation, formatted as
specified in Table 2, instructing the appropriate gate to open and updating the display
board with the new garage status. The VIPS Engine then returns to its waiting state.
b. If not, the VIPS Engine will send data to the VIPS Garage Simulation, formatted as
specified in Table 2, instructing the appropriate gate to reject the user. The VIPS
Lab 2 – VIPS Requirements 11
Engine then returns to its waiting state.
Reservations require the VIPS Engine to respond to time-based events in addition to
sensor events from the VIPS Garage Simulation. If a user makes a reservation the same day they
intend to use it, the VIPS Website can make the necessary allocation in the VIPS Database.
However, reservations made for a future date must be handled by the VIPS Engine at a
predefined start-of-day time. A similar situation occurs at the end-of-day time; since reserved
spaces are deallocated when the visitor leaves, any visitor who does not show up will not use
their space.
To manage these cases, the real world product must run reserved space allocation and
deallocation algorithms at a predefined start- and end-of-day time respectively. For the purposes
of the prototype, these algorithms will be initiated by a command from the VIPS Test Harness.
The VIPS Engine will implement
4. The start-of-day algorithm, as shown in Figure 3.
Figure 3. Start-of-Day Algorithm
Lab 2 – VIPS Requirements 12
5. The end-of-day algorithm, as shown in Figure 4.
Figure 4. End-of-Day Algorithm
For the most part, the VIPS Engine will be the component that registers changes to the
garages' status and whenever such an event occurs, it will signal the appropriate VIPS Garage
Simulation display board to update its display with the new number of available spaces (the
garage’s status). However, because the VIPS Website can make reservations on behalf of a
visitor, it is possible for the VIPS Engine to assume an incorrect status. To prevent an inaccurate
display board, the VIPS Engine must
6. Query the VIPS Database table ‘GarageCount’ to determine the current number of
available spaces in all garages once every two seconds, and message the VIPS Garage
Simulation to update any garage’s display board that is not accurate.
3.1.3 VIPS Database
The VIPS Database is the central point in the VIPS parking management system. It will
be housing data for both the VIPS Engine and the VIPS Website. It will also hold configuration
Lab 2 – VIPS Requirements 13
information for the purpose of the demonstration. The VIPS Database tables are shown in Figure
5.
Figure 5. VIPS Database Tables
The VIPS Database will contain several stored procedures that will speed up processing
of requests from the VIPS Engine by reducing TCP/IP traffic. These functions will include:
Lab 2 – VIPS Requirements 14
1. Password check procedure – used when logging into the VIPS Website. It will accept or
reject based on:
a. An alphanumeric username
b. A corresponding alphanumeric password, at least 8 characters
Inputs: userID, password
Output: Char (1 or 0)
2. Barcode check procedure – used when the VIPS Engine needs validation of a barcode.
Once the procedure has determined if it will accept or reject, it must insert into the
history table the gid, tstamp, gateID, code, usertype, and accepted (1 or 0). After the
validity of the entry or exit has been determined, the procedure will call the update
display board procedure and finally return 1 or 0, as well as the display board values.
Figure 6 shows the procedure’s flow chart.
[This space intentionally left blank]
Lab 2 – VIPS Requirements 15
start
Open cursors
Valid := 0
Barcode found
on today’s
date?
1
Entrance gate?
0
Has entered?
1
1
Not Entered
before?
Not exited?
1
1
Changecount (v-1)
Changecount
(s+1)
Changcount
succeed?
0
0
Valid := 1;
Fetch garagecount
values
Insert into history
END
Figure 6. Barcode Procedure Flow
0
Lab 2 – VIPS Requirements 16
Inputs: gid, gateID, barcode
Output: Char (1 or 0), availfac, availvis, availstu
3. RFID check procedure – Similar to the barcode check, it will check the student/faculty
table to determine if the entry or exit is valid. The procedure will then check if there are
enough spaces available to accept entry and call the display board procedure. Finally, it
will return 1 or 0, as well as the current values for the display board. Figure 7 shows the
process flow of the procedure.
[This space intentionally left blank]
Lab 2 – VIPS Requirements 17
start
Open cursors
Found?
1
Student?
0
Entrance?
0
Changecount f+1
0
1
Entrance?
1
0
Changecount s+1
0
Insert history
Changecount f-1
1
Changecount
S -1
Changecount
succeded?
1
Valid = 1
Insert history
Fetch garagecount
values
END
Figure 7. RFIDcheck Procedure Flow
Lab 2 – VIPS Requirements 18
Input: RFID
Output: Char (1 or 0), availfac, availstu, availvis
4. ChangeCount procedure – used to update the current count of a particular garage as
necessary. It will receive the garage ID, the user type, and an integer value and use them
to increment or decrement the appropriate counter. Figure 8 shows the process flow of
the procedure.
[This space intentionally left blank]
Lab 2 – VIPS Requirements 19
start
Open cursors
Data < 0?
0
v?
1
v?
0
f?
0
s?
0
f?
0
s?
1
1
1
Availstu >=
data?
Availfac+data
Valid = 1;
Fetch garagecount
values
Availstu + data
Valid = 1;
Fetch garagecount
values
00
0
1
1
1
1
Availvis >=
abs(data)?
Availfac >= abs
(data)?
Availstu >= abs
(data)?
Availstu-data
Availvis + data
Valid = 1;
Fetch garagecount
values
1
1
1
Availvis + data
Valid = 1;
Fetch garagecount
values
0
Availfac + data;
Valid = 1;
Fetch garagecount
values
0
Availstu + data
Valid = 1;
Fetch garagecount
values
END
Figure 8. ChangeCount Procedure Flow
Inputs: gid, usertype, integer
Output: none
5. Scenario procedure – will update all necessary values in the VIPS Database to those
specified in the given scenario. This procedure will update the VIPS Database by:
0
Lab 2 – VIPS Requirements 20
a. Selecting from a predefined list of visitors
b. Inserting these visitors via the barcode or RFID procedure
i. When adding to the garage, an entry gate will be specified
ii. When removing, an exit gate will be specified.
Inputs: gid, gateID, integer(number to be added/removed)
Outputs: none
6. Add garage procedure – will add a new garage with preset information. Up to two
garages will be available for the prototype.
Inputs: gid
Outputs: none
7. Remove garage procedure – will remove a given garage from the VIPS Database. A
minimum of one garage must remain.
Inputs: gid
Outputs: none
8. Clear garage procedure – will be used to return the garage to an empty state. The
procedure will check the history table to determine those visitors and subscribers who
have not left a garage. For an indicated visitor or subscriber, the correct procedure is
called to immediately register the visitor or subscribers exit. Figure 9 shows the
procedure flow.
Lab 2 – VIPS Requirements 21
start
Open cursors
Valid := 0;
i := 0;
Garage found?
1
i<
notexitedcount
1
v?
0
RFIDcheck( Gate
2)
1
Barcodecheck(
gate 2)
0
0
Fetch next row
Valid := 1;
END
Figure 9. ClearGarage Procedure Flow
Lab 2 – VIPS Requirements 22
3.1.4 Barcodes
To help demonstrate the integration of the VIPS system with the customer's existing
infrastructure and the correctness of the VIPS Website implementation, the VIPS Test Harness
will use a barcode scanner to read newly created visitor passes.
1. Barcodes will be generated by the VIPS Website barcode generation algorithm and will
represent a five digit number. Each barcode will be unique.
3.1.5 VIPS Garage Simulation
The VIPS Garage Simulation will model two garages by simulating hardware, simulating
incoming and outgoing vehicular traffic, and displaying the state of those components
animatedly. The VIPS Garage Simulation must respond to commands from the VIPS Test
Harness which are defined in this section.
The VIPS Garage Simulation models hardware in the following manner:
1. The VIPS Garage Simulation will contain two garages.
2. A garage contains one display board, four gates, and a set of vehicles parked within.
3. Each gate has associated with it a barcode scanner, an RFID scanner, and a queue of
vehicles.
4. Each gate may be either an entrance or an exit but not both.
5. When a barcode or RFID tag is scanned, the sensor sends a message to the VIPS Engine,
formatted as defined in Table 2, containing its:
Lab 2 – VIPS Requirements 23
a. Garage identification number
b. Gate identification number
c. Message type
d. RFID tag or barcode value as appropriate
6. When the VIPS Engine sends a message to a garage’s display board, the display board
will change to reflect the new status contained in the message whose format is defined in
Table 2.
7. When the VIPS Engine sends a message to one of a garage’s gates, the gate will respond
by opening or rejecting depending on the message whose format is defined in Table 2.
8. Rate of traffic flow is controlled by the parameters set by the VIPS Test Harness.
9. Based on the rate of traffic flow, simulated vehicles representing users that exist in the
VIPS Database are randomly queued at entrance and exit gates.
10. The state of the model, to include the garages, each garage's display board, each gate's
open/reject status, the queue of vehicles waiting at entrance gates, the current entry and
exit rates, and the current paused/unpaused status will be displayed animatedly.
The Garage Simulation must respond to commands from the Test Harness in order to
demonstrate prototype functionality. These commands are:
11. Pause – Toggles the paused state of the Garage Simulation.
a. If the Garage Simulation is currently active, it will:
Lab 2 – VIPS Requirements 24
i.
Suspend gates from processing vehicles from their queues
ii.
Suspend vehicles from entering queues for gates
b. If the Garage Simulation is currently suspended, it will:
i.
Resume gates processing vehicles from their queues
ii.
Resume vehicles entering queues for gates
12. Set rate of incoming traffic – Sets the rate at which vehicles enter the entrance gate
queues in vehicles per minute.
13. Set rate of outgoing traffic – Sets the rate at which vehicles enter the exit gate queues in
vehicles per minute.
14. Start-of-day Algorithm – Allocates the reserved spaces for the current date.
15. End-of-day Algorithm – Deallocates the unused reserved spaces for the current date.
[This space intentionally left blank]
Lab 2 – VIPS Requirements 25
[Byte 0]
Garage ID
This specifies the garage number to or from which the messages is traveling.
[Byte 1]
Gate ID
This specifies the gate number to or from which the message is traveling. If the
message is being sent to a display board, the Gate ID byte is irrelevant but still
must be included.
[Byte 2]
Message Type
This specifies the type of sensor from or to which the data is traveling.
Type
Value
Prototype Command
0
RFID Sensor
1
Barcode Scanner
2
Gate
3
Display Board
4
[Variable Length] This is the message being sent from or to a sensor. Its meaning and length depend
Data
on Message Type.
Message Type
Length and Meaning
RFID Sensor
[32 bit Integer] representing the RFID tag value.
Barcode Scanner
[32 bit Integer] representing the barcode value.
[Byte] representing “Open” or “Reject” commands.
Command
Value
Gate
Display Board
Open
0
Reject
1
[Byte 3] representing available student spaces.
[Byte 4] representing available faculty spaces.
[Byte 5] representing available visitor spaces.
[Byte] representing Test Harness Command
Command
Value
Prototype Command
Run Start-of-Day procedure
0
Run End-of-Day procedure
1
Table 2. Garage Simulation Message Format
Lab 2 – VIPS Requirements 26
3.1.6 VIPS Admin Screen/Test Harness
The Administrative screen will be a function provided to Parking Services that will allow
for manipulation of the VIPS Database. In the case of the prototype, the functionality of the
admin screen will exceed that of the real world product admin screen, in order to properly
demonstrate the product. The functionality of the admin screen will be:
1. A visitor screen – will allow creation and deletion of visitor accounts. It will also allow
the modification of the following:
a. Visitor name
b. Username
c. Password
d. Visitor address
e. Visitor license
f. Option to generate a pass
2. A garage screen – will allow creation and deletion of garages. It will allow modification
of the following:
a. Garage name
b. Address
c. Capacity for students, faculty/staff, visitors, and total number of spaces
d. Number of entrances and exits
e. Add garage
3. A pass screen – will provide the following functionality:
a. Allow searching of passes by date, user ID, or barcode
b. Allow deletion of a given pass
Lab 2 – VIPS Requirements 27
4. Department screen – will allow Parking Services to create and delete departments and set
the manager ID for each department.
The VIPS Test Harness will provide additional functionality above that of the admin
screen for the purposes of the demonstration. In addition to the functionality of the admin screen
it will provide:
5. Full manipulation of the VIPS Database, including:
a. Current date
b. Number of available spaces in a garage
c. Number of student, faculty, and visitors in a garage
6. Scenario management – the VIPS Test Harness will provide quick links to predefined
scenarios for the demonstration.
a. Case one – the garage is empty
b. Case two – the garage is full
c. Case three – the garage is full but for one reserved visitor space
d. Case four – the garage is half-full
7. Entry and departure forms – the VIPS Test Harness will provide input boxes allowing
manual entry of pass information, demonstrating what happens for a specific individual.
8. Garage Simulation – the VIPS Test Harness will have several options to change the
configuration of the Garage Simulation, including:
a. Entry/Exit rate
b. Pause
c. Start-of-Day algorithm
d. End-of-Day algorithm
Lab 2 – VIPS Requirements 28
3.2
Performance Requirements
Important components that have performance requirements are the VIPS Website, VIPS
Database, VIPS Engine and the VIPS Garage Simulation. The VIPS prototype has performance
requirements to help ensure that it can meet the demand that the real world product faces. Each
requirement is important to achieve, so testing the prototype is important.
3.2.1 VIPS Website
Since the VIPS Website is the main focal point for the customer, a good experience is
necessary for repeat visitors. To appeal to the widest audience of visitors, performance
requirements were created to insure that users running with the minimal specifications could
have a smooth, quick and positive experience. The performance requirements for the VIPS
Website are:
1. Pass size is less than 1 MB.
2. Barcode generation takes less than 7 seconds.
3.2.2 VIPS Database
The VIPS Database will be the central point of information exchange for the
implementation. Therefore it is necessary to provide an appropriate response time to ensure
proper traffic flow.
1. Transactions will take no more than 2 seconds to complete.
3.2.3 VIPS Engine
The VIPS Engine is the most likely bottleneck in the VIPS system because it acts as the
interface between the VIPS Garage Simulation and the VIPS Database. Because it has the
Lab 2 – VIPS Requirements 29
potential to wait on transactions from the VIPS Database, it is important to define how quickly it
must perform them.
1. The VIPS Engine must process and respond to all messages from the VIPS Garage
Simulation within three seconds. This includes:
a. Verifying the input via the VIPS Database procedure
b. Sending the appropriate signal to the VIPS Garage Simulation gate
c. Sending the appropriate signal to the VIPS Garage Simulation display board
2. The start-of-day and end-of-day garage space allocation and deallocation must start and
complete within five seconds of issuing the command from the VIPS Admin Screen/Test
Harness.
3. The VIPS Engine must query the VIPS Database's 'GarageCount' table and update any
discrepancies no less than once every two seconds.
3.2.4 VIPS Garage Simulation
The VIPS Garage Simulation has several specifications regarding the performance of its
simulated hardware. The VIPS Garage Simulation must be able to
1. Model two garages, with one display board and four gates per garage
2. Each garage must be able to contain up to 50 vehicles.
3. Update display boards less than a second after receiving properly formatted input.
4. Finish opening gates within two seconds of receiving properly formatted “OPEN”
Lab 2 – VIPS Requirements 30
command.
5. When combined with the performance requirements for the VIPS Engine and VIPS
Database, total scan-to-open time should be within five seconds.
3.3
Assumptions and Constraints
The VIPS prototype will have limitations and constraints. Due to this, VIPS Inc. has
developed a list of assumptions, constraints, and dependencies. The development of the
limitations, as shown in Table 3, is necessary to document any assumptions, constraints, and
dependencies because these will affect the requirements and explain possible incompleteness of
the prototype. For instance, VIPS Inc. will assume that the garages will be gated 24 hours a day.
This assumption allows VIPS Inc. to focuses on the innovative functionality of the prototype
rather than solving trivial issues. The development of a limitations table will allow VIPS Inc. to
produce and test a viable prototype to show functionality as it will relate to the complete product.
Table 3 contains a complete list of assumptions, constraints, and dependencies associated with
the VIPS prototype.
Conditions
The parking environment will be
gated 24 hours
Prototype will only service
visitor requests one at a time
Type
Assumption
Eliminate the need of tracking cars when gates
are open
Assumption Prototype will not deal with mass subscriptions
A computer will be in Parking
Services to facilitate last minute Assumption
requests
Effect on Requirements
Will allow the system to use the same services
for advance and day of purchases
Lab 2 – VIPS Requirements 31
Conditions
A table in the VIPS database
will be used for the blacklist
User passwords will be plain
text
Type
A customer based database will not be created.
Assumption The customer database will be emulated as a
table in the VIPS Database.
Assumption
There will be enough spaces in
the garage at the start of the day
through the entrance or exit
VIPS will have access to Human
Resource records
A CS department laptop is
available to run the application.
The VIPS Engine is used to
process garage traffic
The VIPS Website is used to
process visitor requests
The barcodes used by VIPS will
be unique for each visitor pass
Prototype will not enforce an encryption
algorithm on the user passwords
Allows the visitor parking to be guaranteed
Assumption without the reallocating of subscription spaces,
to allocate visitor spaces
Only one car at a time will pass
Effect on Requirements
prior to the visitor capacity of the garage.
Assumption
Assumption
This allows for the Garage Simulation to
process the barcode/RFID reads one at a time
Allows VIPS to develop the Faculty/ Staff
tables in the VIPS Database.
Dependency If it is not, a student laptop will be used
Dependency
Dependency
Constraint
The prototype VIPS Database will fail if the
VIPS Engine does not work.
The prototype VIPS Database will fail if the
VIPS Website does not work.
Allows VIPS to ensure only one pass will be
issued under any one barcode.
Table 3. Assumptions, Dependencies, and Constraints on Prototype Requirements
3.4
Non-Functional Requirements
Non-functional requirements characterize the performance of the prototype. They are
elements that are present in the all aspects of the development of the prototype. The nonfunctional requirements do not impact the innovative features of the prototype but are needed for
Lab 2 – VIPS Requirements 32
successful development. The non-functional requirements are security, maintainability, and
reliability.
3.4.1 Security
Security is very critical for the VIPS prototype. VIPS customers must be assured that
their data will not be compromised. VIPS will ensure security through the use of access control.
Access control is critical to make sure that the system will not be abused. Access control will be
implemented through the use of username/password. The access control will be created
according to functional requirement 3.1.X. It will not allow unauthorized users access to the
system and grant authorized users the appropriate access. Security is of the upmost importance
to VIPS Inc. and the appropriate measures will be taken to ensure data security.
3.4.2 Maintainability
The two main things that need to be maintained are the VIPS software systems and the
garage hardware. Once visitors are added to the system, their information is stored internally in
the VIPS Database. The information is stored to allow the visitor access on the day they have
registered for. The visitor data will also be maintained for future visits and to help develop
historical trends. The VIPS Website must be maintained in order to allow the visitor to register.
The VIPS Engine must also be maintained to ensure the garage will allow authorized users to
enter and exit the garages. Hardware, including the laptop and the barcode scanner will be
inspected by VIPS Inc. This inspection will include a visual check as well as operational tests. It
is important for VIPS Inc. to maintain all hardware and software components in order to ensure
an effective prototype development and demonstration.
Lab 2 – VIPS Requirements 33
3.4.3 Reliability
In order for the VIPS prototype to be successful, it must meet a level of reliability. The
barcode reader must be able to scan passes with at least 95% reliability, from a maximum
distance of 6 inches. The prototype software must also work correctly with no critical errors and
be able to appropriately interface with all other components. The VIPS Engine should be free of
any conditions that could cause the software to freeze. The VIPS Database will be able store and
query data whenever necessary, with little to no lag time. The VIPS Website must be able to
handle multiple access requests without degradation of the system. The VIPS Website must also
be able to route visitor requests to the VIPS Database. Reliability is a very important aspect to
ensure a successful development of the VIPS prototype.
Related documents
Download