Introduction
Requirement Specification
Purpose
The company is undergoing difficulties in managing the large volume of applications for Food Stamps. The application Food Stamps Terminal (FOSTER) is targeted to provide a flexible Food Stamps Management Solution in the company. There is substantial collaboration among workgroup members of the department in creating new applications and food stamps approval and history maintenance. The purpose of this document is to provide the functional and non-functional requirements for this application.
Intended Audience
The intended audience of this document is a Solution Architect / Developer.
System Overview
Each user of the application is assigned the role of Clerk / Manager / Accountant. The Clerk role will be responsible for recording new applications for Food Stamps. The Manager role is performing the Approval process. The Accountant will be reading the Food Stamp information and posting into other LOB applications.
Using a web based interface the users can create new applications, process the approval, view history records etc.
System Analysis
Business Stake Holders from various categories provided input through various discussions and interviews. This information is recorded, analyzed and incorporated into this document.
Acronyms, Terms and Abbreviations
Code |
Description |
FOSTER |
Food Stamps Terminal |
Table/List/Records |
Repository for storing records of pre-defined columns. |
UD |
User Document |
UC |
Use Case |
TBD |
To be determined |
Interface |
A connectivity between two systems |
LOB |
Line of Business System |
References
http://en.wikipedia.org/wiki/Supplemental_Nutrition_Assistance_Program
Use Cases
UC-01 Add / Edit / Delete Users
Id |
UC-01 |
Title |
Add / Edit / Delete Users |
The Administrator of the system should be able to Add, Edit and Delete users for the application.
The following are the attributes for the User entity:
Attribute |
Description |
First Name |
Text, First Name of the user |
Last Name |
Text, Last Name of the user |
Created Date |
Date, Created Date of entity |
UC-02 Modify User Role
Id |
UC-02 |
Title |
Modify User Role |
The Administrator of the system should be able to modify the user role.
The following are the roles involved:
- Clerk
- Manager
- Accountant
UC-03 Add / Edit / Delete Application
Id |
UC-03 |
Title |
Add / Edit / Delete Application |
The Clerk user should be able to add / edit / delete applications for the Food Stamps.
The following are the attributes for the Application entity:
Attribute |
Description |
First Name |
Text, First Name of the applicant |
Last Name |
Text, Last Name of the applicant |
SSN |
Text, Social Security Number of the applicant |
Address |
Text, Address of the applicant |
Amount |
Currency, Request Amount for Food Stamps |
Application Status |
Text, Lookup values are Started, Approved, Rejected |
Comments |
Text, Set reasons for approval / rejection / some comments |
UC-04 Approve / Reject Application
Id |
UC-04 |
Title |
Approve / Reject Application |
The Manager should be able to approve / reject the application.
The Manager can perform this task in two ways:
- Manually updating each Application
- Automated updating of all Applications
User Characteristics
The following are the potential classifications of the users of the system:
- Administrators: They are given ultimate power to add / edit / delete users, modify configuration settings, run updates, perform backups etc.
- Clerks: They are the users who use the system on a day-to-day basis. They run the application screens and reports.
- Managers: They are given permission for approval of Food Stamps. They run the application on a weekly basis.
- Accountants: They are given read-only permission for viewing the Food Stamp records. They run a desktop application that will interface with FOSTER.
Constraints, Assumptions and Dependencies
The new application solution should confirm to the following standards and constraints:
- The application must fit into the existing Windows Intranet
- Provide a web-based user interface for the users
- Integrate an authentication mechanism with current Active Directory installation
- The application must comply with existing security mechanisms
Functional Requirements
Login/Logout
The system should provide a mechanism to Login or Logout a user. This mechanism should comply with the current Windows Authentication Account credentials of the intranet.
Navigation
The system should provide links to navigate the entire system within the boundaries of the user roles. The system should provide a base URL pointing to the Home page of the application.
User Creation
The system should provide an interface to create new users, modify users and delete users. The interface should have Roles & Permissions assignable to each user.
New Application
The system should provide an interface to capture the new applicant information for Food Stamps. The attributes of an application are detailed in further sections.
Modify Application
The system should provide an interface to modify the applicant information previously recorded.
Delete Application
The system should provide an interface to delete the application information previously recorded.
Manual Approval
The system should provide an interface for manual approval of the application.
Automatic Approval
The system should provide an interface which on invoking should process multiple applications in a loop and Approve or Reject the application based on rules detailed in further sections.
Approved Applications
The system should maintain a table of approved applications. There should be no constraint in having multiple entries of same applicant or ID number.
Rejected Applications
The system should maintain a list of rejected applications. There should be no constraint in having multiple entries of the same applicant or ID number.
Employment Status Management
On a weekly basis the system should connect to other line-of-business applications and retrieve the employment job status for the applicants in the Applications table. This is explained in the upcoming Activity section.
Search History
A Search screen has to be provided for the user role Manager. The Manager should be able to view the history of applicant. The history details should include the following tables:
- Applications
- Approved Applications
- Rejected Applications
The search screen should provide the flexibility to search based on the following fields:
External Interface Requirements
The following are the application sides that should be integrated with other Line of Business applications.
Integration with Accounting
The system should provide a desktop application to integrate the monthly transaction summary to other Line of Business applications. The LOB SDK has only one license and runs within the intranet.
Activity Diagrams
The following are the activity diagrams describing the control flows for:
- New Application Activity
- Application Approval Activity
- Application Rejection Activity
Additionally the activity diagrams are included for background jobs of:
- Background Employment Status Update Activity
New Application Activity
Here the clerk logs into the system, creates a new application and enters the details and submits. The new application is created in the New Applications table.
Application Approval Activity
Here the manager logs into the system, selects an application and does the approval process. The approval application is moved from the New Applications to the Approved Applications table. The application gets approved based on the rules defined in a further section.
Application Rejection Activity
Here the manager logs into the system, selects an application and does the rejection process. The manager needs to enter comments for the rejection. The rejected application is moved from the New Applications to Rejected Applications list.
Automatic Approval / Rejection Activity
This activity will automatically apply the rules to the New Applications list. The Manager should be able to invoke this activity by a button click.
If all the rules are valid then the particular item is moved to the Approved Applications list. If any of the rules are violated then the item is moved to the Rejected Applications list.
Background Employment Status Update Activity
In this process the Employment Status table is updated with the latest information from other LOB applications.
The period of execution should be Weekly. Plus the Manager should be given the facility to run this activity on demand by a button click.
The following are the attributes for the Employment Status entity:
Attribute |
Description |
SSN |
Text, Social Security Number |
HasJob |
Boolean, True / False |
Note: The application should maintain this table as part of the future extensibility strategy.
Approval Rules
The following are the rules the application should consider for approving an application. Please note that these rules must be used in the approval process. Periodically the approved applicants are checked using the same rules and the status is updated.
- Rule-01: If the Requested Amount is greater than 800, then reject the application with reason "Application Rejected: Requested Amount higher than limit!"
- Rule-02: If the Applicant is currently employed, then reject the application with the reason "Application Rejected: Applicant no longer Out of Job Status!"
Note: For checking the applicant Employment Status, the SSN has to be used to connect with the Employment Status table.
List of Tables
The following is the summary list of tables involved in the application:
Table |
Description |
New Applications |
For storing applications waiting for approval/rejection |
Approved Applications |
The set of approved applications |
Rejected Applications |
The set of rejected applications |
Employment Status |
The employment status records with SSN as the unique identifier |
Users |
The set of users |