|
Functional Requirements
The overall functionality must:
- Provide a secure interface for users to login to TerraWeb applications
- Provide a centralized way to manage users and their access/priority level
- Use a web-based interface
- Allow the user to:
- Supply a user name and password to be granted access to applications
- Supply personal preferences
- Allow the administrator to specify users, access levels, priority levels, and available applications
- Store all the data in its database
The following specific functions must be provided:
1. User Accounts:
- Shall provide storage of user information including but not limited to: user login name, password, priority level, access rights, group membership, and interface preferences.
- Will be administered through an administrator interface.
2. Centralized User Login:
- Will require use of user login name and password to access the software.
- Shall provide users the ability to change the password at any time.
- Shall use encryption to send data.
- May have expiration times for passwords set by administrators and will force users to change their passwords after the expiration time.
3. Interactive Web Application for Administrators:
- Will be an independent application available exclusively to administrators.
- Shall provide the ability to add or delete information that can be stored for users.
- Shall provide the ability to alter information stored for any given user.
- Shall provide the ability to add or delete users.
- Shall provide options to set the password expiration time.
- Shall provide monitoring of user activities and the option to enable outputting of activities to a log file.
4. Interactive Web Application for Users:
- Shall use secure login.
- Shall provide access to the Maui Cam, TerraData, and Photo Archive applications.
- Shall provide user interface customization stored with their user data.
- Shall allow applications to retrieve the user’s customization.
- Shall allow users to view and manage their system accounts in one place.
- Shall allow users to use TerraWeb applications they have been granted access to.
- Shall allow users the option to change their password.
Functional Client-side requirements
There are three kinds of users:
- Administrators: Users who use the administration application to edit user information in the database. They enter data such as who the user is, what privileges the user has and the priority level of the user.
- Editors: Users belonging to a specific work group or multiple work groups who have access to all information belonging to their group. These users also have read access to information that is marked public by other groups.
- Guests: Users who are allowed very limited access and information to applications. These users can only search and read information that is marked as public.
Administrators
Administrators manage users and teams and what information they can access. The following table is a list of the identified requirements for the administrators.
Requirements prioritized with 1 = Crucial, 2 = Very high, 3 = High, 4 = Average, 5 = Low, 6 = Very low. Difficulty is rated from 1 to 10 where 10 = very difficult and 1 = very easy.
Requirement
|
Priority
|
Difficulty
|
Add a new user
|
1
|
2
|
Delete existing user
|
1
|
2
|
Update user information
|
1
|
2
|
Add/Update/Delete team information
|
1
|
2
|
Log off all users
|
3
|
8
|
Post Message of the Day (MOTD)
|
5
|
1
|
View active users or logs
|
2
|
2
|
Add information fields
|
1
|
4
|
Set password reset/expire
|
1
|
5
|
Table 4.1: Administrator Requirements
Editors
Editors are the main users of the interface and applications. These users do the actual work. The following table is a list of the identified requirements for the editor.
Requirements prioritized with 1 = Crucial, 2 = Very high, 3 = High, 4 = Average, 5 = Low, 6 = Very low. Difficulty is rated from 1 to 10 where 10 = very difficult and 1 = very easy.
Requirement
|
Priority
|
Difficulty
|
Change password
|
1
|
2
|
Change preference
|
1
|
4
|
Access to applications
|
1
|
8
|
Search option
|
5
|
8
|
E-mail to administrator
|
2
|
1
|
Table 4.2: Editor Requirements
Guest
Guests are just able to view certain information and have limited access to applications. The following table is a list of the identified requirements for the Guest.
Requirements prioritized with 1 = Crucial, 2 = Very high, 3 = High, 4 = Average, 5 = Low, 6 = Very low. Difficulty is rated from 1 to 10 where 10 = very difficult and 1 = very easy.
Requirement
|
Priority
|
Difficulty
|
View application data that is marked public
|
1
|
8
|
Search for public information
|
1
|
5
|
Post messages to administrators or teams
|
5
|
1
|
Table 4.3: Guest Requirements
External Interface Requirements
User Interfaces
The TerraUser software will be accessed on the Internet through a web-browser. Users must have an Internet connection and a standard browser to access the software.
Hardware Interfaces
The TerraUser software is a database driven web-application. The software will use the most current standards for implementing JSP pages accessing a MySQL database via JDBC. All HTTP transfers (data over the internet) and SQL access (data from a local database) will be handled by internal functions of the technologies being used.
Software Interfaces
The TerraUser software will act as an interface between the user and applications they have access to. The applications can be only be accessed through the software. When the user selects an application to run, the software will send required information. At any time the application is running, a request from the application can be made back to the software to gain any new or different information needed. The request can be made from any of the applications. A single feature in the software will handle all requests. When new applications need to interface to the software, the form of the request will be used in the new application and the software will be ready for the new application. The requests for information can be requested only with valid user login.
Communications Interface
The TerraUser software will use a web-based interface. The software will generate dynamic web pages viewed via HTTP/HTTPS. The software will communicate with the users web browser using the most current HTTP/HTTPS and HTML standards. All communication from the software to the user will be prompted by user input. All communication from the user will be done through entering data and selecting items on the web pages dynamically created by the software.
Performance Requirements
- System development must use the technical tools/languages as specified by USGS sponsor. See Design and Implementation Constraints below for the technical constraints.
- System must be user-friendly for non-technical users.
- The system will use a simple web-based interface.
- It shall be accessible by all standard methods of Internet access.
- It should require little or no training to use.
- System must be maintainable.
- The code will be well commented.
- Documentation will be created about the software design and implementation.
- System should be accessible from any machine.
- The system will reside on a network visible to the Internet.
- System must be highly secured.
- The system will enforce user login, which will determine level of accessibility.
- It shall use encryption to send information across networks.
- System must be scalable.
- The system will use a modular design.
- The system will use a simple and well-documented interface between modules and external software.
Non-Functional Requirements
These are constraints on the services that do not impact the functionality of the product. The system must follow design guidelines presented in the capstone design course. The system must be designed using technical constraints listed in table 4.4 below.
Delivery
- Documents in electronic forms: PDF, HTML, or MS Word.
- Code should be delivered well commented in electronic form.
Training
- Users should require little to no training to use interface.
- Administrators should require at most an hour worth of training to use application.
- Application developers that want to use interface should require less than an hour of training to interface (Reading documentation should be enough).
Usability
- User logins should take no longer than 30 seconds.
- Access to applications should be seamless.
- Errors should give a friendly error message and direct the user toward help.
- Basic help should be available.
- Users can only be logged in once.
- Messages will be displayed when server is unavailable for logins.
Design and Implementation Constraints
Below are the constraints that have been proposed by the client as well as those which reflect project domain specifications.
General security constraint
The system will have to secure user information sent through the Internet. This will be achieved by using the secure HTTPS protocol.
Technical constraints
The TerraUser software must meet the following minimal requirements:
- The system will be designed to be scalable to meet future needs of the client.
- The implementation must utilize specific technologies provided on the server.
The following is a brief summary of the technology required by the project and available on the server:
Category
|
Technology Used
|
Operating System
|
SuSE Linux
|
Web Server
|
Apache
|
Java Server
|
Apache Tomcat
|
Server Side Interfacing
|
Java, JDBC, JSP, JavaScript
|
Database
|
MySQL
|
Security
|
SSL
|
Table 4.4: Technical Requirements
The design must provide a completely web-based interface. All interfaces must meet with HTML 4.0 minimum standards and be in compliance with the Rehabilitation Act of 1973, Amendments of 1998, section 508.
Business Rules
- System must comply with the Rehabilitation Act of 1973, Amendments of 1998, Section 508
- System must adhere to accessibility and government guidelines (System must not use cookies, etc)
- System must not require specific browser to be run.
- System development/integration/testing must be completed by April 26, 2002, for the Capstone Project Conference.
User Documentation
- All the documentation must be in PDF, HTML, or Microsoft Word.
- All deliverable documentation should be submitted electronically.
- Documentation and reports should be formatted so they will make usable two-sided hardcopies.
- Documentation should be readable on a computer screen.
- Documentation on setup/implementation of system, database, and security must be provided.
- Code must be well commented.
- Manuals for programmers, system/database/web administrators must be provided.
- Online, context-sensitive help must be provided.
|