EEL-5881

Software Engineering Project: Research Expert



Home



Concept of Operations

Project Management Plan

Software Requirements Spec

Test Plan

High-Level Design

Detailed Design

Test Results

User's Manual

Source Code

Build Instructions

Project Legacy



Presentations




Research Expert

Software Requirements Specification

EEL-5881, Fall, 2008

Team Name: Team 3

Team Members:


Contents of this Document

Introduction

Definition, Acronyms, and Abbreviations

Product Overview

Specific Requirements

Supporting Material


SECTION 1: Introduction

Software to be Produced:

  • Web-based user interface for populating and accessing a research paper database (likewise to be produced). This database is to contain documents produced from conferences, journals, and other academic sources. Meta data will be stored alongside each document as well as user-produced paper reviews. Documents can be associated to other documents with annotation describing the relationship. Lastly, the system is collaborative -- allowing multiple users to operate on common data repositories.

Reference Documents:

  • Concept of Operations
  • Project Management Plan
  • Applicable Standards:

    • Hypertext Markup Language (HTML)
    • Cascading Style Sheets (CSS)
    • SQL:2003 (ISO/IEC 9075(1-4,9-11,13,14):2003)

    Definitions, Acronyms, and Abbreviations:

    • Microsoft Internet Information Server 7 (IIS 7)
    • .NET Framework -- The Microsoft .NET Programming Environment
    • Structured Query Language (SQL)
    • Application Programming Interface (API)
    • Adobe Acrobat File (PDF)
    • Uniform Resource Locator (URL)


SECTION 2: Product Overview

Assumptions:

  • Using web standards, this application is expected to function with modern web browsers. Therefore, the user-side requirements of the system are those of the web browser.
  • The server(s) hosting the website must meet the requirements for running Microsoft Internet Information Server 7 (IIS 7). Typically, the IIS 7 server will reside on a Windows Server 2003 or 2008 operating system, though Windows Vista is also capable of hosting IIS 7. Therefore, computing hardware requirements can be as low as those for a modern desktop computer.
  • The server hosting the database must meet the requirements for running Microsoft SQL Server 2005 (any edition, including SQL 2005 Express). These requirements, at a minimum, are no different than for hosting IIS 7. Indeed, a small installation of the Research Expert application will likely host the database and webserver on the same computer.
  • The IIS 7 webserver must be configured to allow ASP.NET applications. This also requires the installation of the .NET 2.0 Framework (which is pre-installed on Windows Server 2003, 2008 or Windows Vista).

Stakeholders:

  • Chris Centelle - Customer/User
  • Academic Research Community - Users

Event Table:

Event Name External Stimuli External Responses Internal data and state
User Login User Login Request Authentication Successful
Authentication Unsuccessful
User Logout Logout Successful
User Create  
User Delete      
User Modify      
Document Search      
Document Browse      
Document Create      
Document Delete      
Document Modify      
Repository Create      
Repository Delete      
Repository Modify      
Assign User Permission      
Group Create      
Group Delete      
Group Modify      
Manage Group Membership      
Review Create      
Review Delete      
Review Modify      
Document Reference Create      
Document Reference Delete      
Document Reference Modify      

Use Case Diagram:

Use Case Descriptions:

Use Case Description
Create Repository End users and site administrators can create repositories for storing documents. These repositories are logical structures within the database. All users within the system have the ability to create repositories and can grant permission to access the repository to collaborating users. Users can have an unlimited number of repositories.
Modify Repository A repository has a name and description. These values can be modified after initial creation.
Delete Repository A repository may be deleted at any time. All documents, and associated data, contained within the repository are removed when a repository is deleted.
Manage Repository Membership Multiple system users can access a repository, and are considered repository 'members'. Members are other system users and groups and have one of three levels of privilege: Admin, Read-Write, or Read-Only. Read-Only members have access to view the entire contents of the repository, but cannot add, modify, or remove documents and associated data. Read-Write members can view, add, and modify documents and associated data, but cannot manage repository members nor delete the repository. Repository admin users have read-write privilege and the ability to delete the repository. Managing repository membership is to add or remove users and groups from a repository and assign corresponding permissions. If a user has access to a repository through a direct association and through membership in one or more groups, his direct association takes precedence. If the user has no direct association, but belongs to more than one group that has access to the repository, the highest-level of access (read-only or read-write) of all of such groups is provided to the user.
Transfer Repository Ownership A site administrator may transfer the ownership of a repository. This may be necessary before a user is deleted. This process is simply a matter of selecting a new user as the repository owner/administrator.
   
Create Document Users create a document with or without uploading a corresponding physical academic article file. Typically, the user will trigger the 'create document' process by uploading an Adobe Acrobat file (.pdf). The system will parse the .pdf file and extract meta-data for inclusion in the document database record. With either entry vector into the 'create document' process, the net result is a set of meta-data corresponding to an academic article.
Modify Document The user can modify the meta data associated with a document.
Delete Document The user can delete a document from the repository. This deletes all meta data associated with the academic article.
Browse for Documents A search mechanism, browsing displays document to the user in three forms: documents created by the same author, documents with similar keywords (tags), and documents with the same publication source (e.g. conference or journal).
Search for Documents A user can search by title, author, keyword, publication source, and abstract (full-text search).
Create Document Reference A user can establish an annotated reference to any other document within the database. These references are independent of any internal associations defined within an academic paper. Users can likewise modify and delete document references.
Link Documents Academic papers often contain references to other academic articles. If such references are discovered, the user will be presented with an option to associate (link) one document within the database to another. These links are not-annotated and merely represent direct references between documents. Of course the associated document must have have a record within the database for the link to be connected. The user will be presented with an option to 'import' referenced documents which are not present in the database, with a specified recursion depth. Links without corresponding database records will still exist, but will not be 'connected' - indicating that the link exists but cannot be expanded upon. Users can likewise modify and delete document links.
   
Create Group Groups are organizational elements that allow for simplified permission and repository associations. A group contains a list of users and other groups and can be assigned read-only, read-write, privileges (though not admin) to a repository in the same fashion as user records. Any user within the system can create a group and becomes the defacto administrator of that group.
Modify Group Groups have a name and description. These values can be modified after initial creation.
Delete Group A group may be deleted at any time. All permissions and repository associations are removed when the group is deleted. Users and other groups, listed within the deleted group, are not otherwise affected.
Manage Group Membership The list of users and groups contained within a group can be modified by any user with admin rights to that particular group. Managing group membership is to add or remove users and sub-groups from the group.
   
Create User Users of the system can self-subscribe or can be created by the site administrator. Through either entry vector, a created user is granted admin privileges to any repositories that he creates.
Modify User A user has a profile containing data such as: first name, last name, username, password, affiliation, email address, and URL (website). The user can change all of these entries after initial creation. Usernames are unique.
Delete User A site administrator may delete a user at any time. This process will delete all repositories associated with the user. Therefore, the site administrator may wish transfer repository ownership before deleting a user.
   
Create Review A review is user-provided text or a file attached to a document record. Reviews indicate the user's opinion of the associated article and many reviews can be associated with a document.
Modify Review The text or file contained within the review can be modified by any user with read-write privilege to the repository.
Delete Review A user with read-write privilege, to the corresponding repository, may delete a review. This removes all corresponding files and meta data.


SECTION 3: Specific Requirements

3.1 Functional Requirements:

No: 1
Statement: All research papers shall be stored in a database.
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: The system will not operate without the underlying database.
Revision History: PDV, 9/26/2008, Initial Req.

No: 2
Statement: The application shall be web-based, supporting IE7
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: The system will not operate without a web-browser. Multiple web-browser may indeed function, but testing will only be conducted on IE7.
Revision History: PDV, 9/26/2008, Initial Req.

No: 3
Statement: Site administrators shall have a simple process for installing the application
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Feedback from the user.
Revision History: PDV, 9/26/2008, Initial Req.

No: 4
Statement: Site administrators shall have superuser privileges to the entire system
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Site administrators will be the only users able to delete user accounts and transfer repositories.
Revision History: PDV, 9/26/2008, Initial Req.

No: 5
Statement: Users shall be able to self-subscribe to the application
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Users will be able to signup to the system without the assistance of the site administrator.
Revision History: PDV, 9/26/2008, Initial Req.

No: 6
Statement: The site-administrator shall be able to specify a maximum document size
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: An option must exist for the site-administrator to specify a maximum document size.
Revision History: PDV, 9/26/2008, Initial Req.

No: 7
Statement: The database can be organized into user-created repositories
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: All users of the system will be able to create repositories.
Revision History: PDV, 9/26/2008, Initial Req.

No: 8
Statement: Users shall be able to maintain control of their own repositories
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Other users, without admin privileges will not be able to modify a repository's membership.
Revision History: PDV, 9/26/2008, Initial Req.

No: 9
Statement: Users shall be able to assign access levels to other users for their repositories
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 10
Statement: User level access permissions consist of Admin, Read-Only, Read-Write
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 11
Statement: Users with Read-Write privileges shall be able to add, modify, and delete documents on corresponding repositories
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 12
Statement: Users with Admin privileges shall have the ability to add and delete users to the repository and modify their privileges
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 13
Statement: Users with Read-Only privileges shall have the ability to view documents on the repository
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 14
Statement: Users with RW and Admin access to the repository shall be able to upload comments and reviews to any document
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 15
Statement: Users shall be able to upload .pdf files
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 16
Statement: Users shall be able to upload .doc files
Source: Chris Centelle
Type: Functional
Priority: Low
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 17
Statement: Users must login to the application with a username and a password
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 18
Statement: Documents shall be able to have more than one review attached to them
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 19
Statement: Documents shall be able to be linked to each other with annotations (independent of document references)
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 20
Statement: Each article shall have references to other related articles
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method:
Revision History: PDV, 9/26/2008, Initial Req.

No: 21
Statement: Documents shall be tagged with searchable keywords
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 22
Statement: Users shall be able to join groups with other users
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 23
Statement: Users shall be able to grant access to groups and well as individual users
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 24
Statement: Metadata shall include author, publication date, title, abstract, keywords, publication source, references
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 25
Statement: Users shall be able to search for documents based on metadata
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 26
Statement: Uploaded documents shall be parsed to auto-populate metadata
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 27
Statement: The application shall maintain usage statistics to be presented to the user.
Source: Chris Centelle
Type: Functional
Priority: Low
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 28
Statement: The application shall provide notification of recently added or modified content
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 29
Statement: Users shall be able to create a favorite articles list
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 30
Statement: Each document shall have user ratings
Source: Chris Centelle
Type: Functional
Priority: Low
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 31
Statement: The system shall include an online help system
Source: Chris Centelle
Type: Functional
Priority: Low
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 32
Statement: The application shall provide an article browsing interface
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 33
Statement: Users shall be able to modify their profile
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 34
Statement: User profiles shall consist of first name, last name, username, password, email address, affiliation, URL, group associations
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 35
Statement: A group shall provide an organization mechanism for users
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 36
Statement: Groups can be associated with multiple repositories with corresponding permissions
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 37
Statement: All users shall be able to add and remove groups and modify membership
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 38
Statement: Groups shall have the same repository permissions as regular users
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 39
Statement: Groups shall maintain their own permission levels for individual users, which include group admin and group user
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 40
Statement: Group admins shall be able to request enrollment to repositories
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 41
Statement: Group admins shall be able to maintain group membership
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 42
Statement: Groups shall consist of users and other groups
Source: Chris Centelle
Type: Functional
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

3.2 Interface Requirements:

No: 43
Statement: The system must interact with  the Adobe PDF API (required for parsing .pdf documents)
Source: Chris Centelle
Type: Interface
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 44
Statement: The system must interact with the Microsoft Office API (for parsing MS Word (.doc) documents)
Source: Chris Centelle
Type: Interface
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

No: 45
Statement: The system must interact with the underlying database using the OLEDB API. Interactions with the database will be frequent, though not continuous. Calls through the OLEDB API will be as stored procedures.
Source: Chris Centelle
Type: Interface
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

3.3Physical Environment Requirements:

No: 46
Statement: The server(s) hosting the website must meet the requirements for running Microsoft Internet Information Server 7 (IIS 7). Typically, the IIS 7 server will reside on a Windows Server 2003 or 2008 operating system, though Windows Vista is also capable of hosting IIS 7. Therefore, computing hardware requirements can be as low as those for a modern desktop computer.
Source: Chris Centelle
Type: Physical Environment
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method:
Revision History: PDV, 9/26/2008, Initial Req.

No: 47
Statement: The server hosting the database must meet the requirements for running Microsoft SQL Server 2005 (any edition, including SQL 2005 Express). These requirements, at a minimum, are no different than for hosting IIS 7. Indeed, a small installation of the Research Expert application will likely host the database and webserver on the same computer.
Source: Chris Centelle
Type: Physical Environment
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method:
Revision History: PDV, 9/26/2008, Initial Req.

No: 48
Statement: For installations of the system that require public Internet access, the hosting computer must be connected to the Internet. For intranet applications the hosted computer can be connected to a local TCP/IP network. For private installations of the system, the hosted computer can be the client's personal computer.
Source: Chris Centelle
Type: Physical Environment
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method:
Revision History: PDV, 9/26/2008, Initial Req.

3.4 Users and Human Factors Requirements:

No: 49
Statement: Users need no particular skillset aside from the ability to operate a web browser. Typical users will be familiar with academic research.
Source: Chris Centelle
Type: Users and Human Factors
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method:
Revision History: PDV, 9/26/2008, Initial Req.

3.5 Documentation Requirements:

No: 50
Statement: Site administrators require installation documentation (online and included with the distribution package)
Source: Chris Centelle
Type: Documentation
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: User feedback
Revision History: PDV, 9/26/2008, Initial Req.

No: 51
Statement: An online user's guide
Source: Chris Centelle
Type: Documentation
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

3.6 Data Requirements:

  • No additional requirements

3.7 Resource Requirements:

No: 52
Statement: A site adminsitrator, skilled with MS SQL Server 2005 and IIS 7
Source: Chris Centelle
Type: Resource
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method:
Revision History: PDV, 9/26/2008, Initial Req.

No: 53
Statement: Electricity and floors pace for the hosting machine(s)
Source: Chris Centelle
Type: Resource
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method:
Revision History: PDV, 9/26/2008, Initial Req.

No: 54
Statement: Licenses for SQL 2005 (any edition, including the free Express edition), IIS 7, and the hosting operating system (e.g. Windows 2003, Windows 2008, or Windows Vista)
Source: Chris Centelle
Type: Resource
Priority: Normal
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

3.8 Security Requirements:

No: 55
Statement: User account passwords must be encrypted
Source: Chris Centelle
Type: Resource
Priority: Security
Dependency: None
Conflicts: None
Supporting Materials:
Evaluation Method: Testing
Revision History: PDV, 9/26/2008, Initial Req.

3.9 Quality Assurance Requirements:

  • None specified. Reasonable availability and reliability based on the underlying database, web server, and operating system environment.

SECTION 4: Supporting Material

  • None.