Software Requirements Specification Template



Family Nutrition Program

Proposal Application

CIS 690 – Implementation Project

Main URL:

Department of Computing and Information Sciences

Submitted by:

Puttam Reddy Venkata Karthik

KANSAS STATE UNIVERSITY

Manhattan, Kansas

2005

Table of Contents

Table of Contents ii

1. Introduction 1

1.1 Objective 1

1.2 Target Audience 1

2. Overall Description 1

2.1 System Architecture 2

2.2 Database Design 3

2.3 Control Flow 6

2.4 Functionalities 11

2.5 Improvements and Enhancements 12

3. Testing 13

3.1 ANTS Load Test 13

4. Screen Shots 16

References 19

Appendices 20

Appendix A – Technologies used to implement the project 20

Appendix B – Description of the modules used in the project 21

List of Figures

Table 1: Database Tables Description ……………………………...................... 6

Table 1: Database Tables Description ……………………………...................... 6

Table 1: Database Tables Description ……………………………...................... 6

Table 1: Database Tables Description ……………………………...................... 6

Table 1: Database Tables Description ……………………………...................... 6

Table 1: Database Tables Description ……………………………...................... 6

Table 1: Database Tables Description ……………………………...................... 6

Table 1: Database Tables Description ……………………………...................... 6

Table 1: Database Tables Description ……………………………...................... 6

Table 1: Database Tables Description ……………………………...................... 6

Table 1: Database Tables Description ……………………………...................... 6

Table 1: Database Tables Description ……………………………...................... 6

Table 1: Database Tables Description ……………………………...................... 6

List of Tables

Table 1: Database Tables Description ……………………………...................... 6

Introduction

1 Objective

The objective of this implementation project is to add a new module to the existing Food and Nutrition Program website using which will provide the website’s primary target audience with greater flexibility and additional features, a highly static yet interactive user interface and a host of other features that will greatly enhance the user’s experience with the Food and Nutrition Program’s Website.

2 Target Audience

This website has been primarily targeted at the county agents throughout the State of Kansas; to provide them with the ability to submit their Proposal Application’s for the Food and Nutrition Program.

Overall Description

This project is primarily concerned with adding a new module (Food and Nutrition Program Proposal Application) to the existing FNP website. The new module, built using in addition to providing the aforementioned features, also preserves the fast load times and speed of processing available on the FNP website.

Prior to this application, agents were required to file all of their information manually on paper and subsequently submit their proposals. This resulted in a large number of man-hours wasted, not only in the data entry process but also in verifying if all of the information was entered as per accepted procedures and formats and also the veracity of the data itself. This data was then again manually entered into MS Excel spreadsheets into order to obtain analytical results from the data and perform calculations on the data.

To overcome these problems, the new Food and Nutrition Program Proposal Application Module was created using . Several special features were also added to download the data in the form of reports directly into an Excel sheet. Users can also directly view reports created by performing calculations on the entered data.

The user interface of the website is highly intuitive and helps conform to the required data structures and formats. The user is now able to enter all of the required proposal application information quickly and easily.

1 System Architecture

Figure 1: System Architecture

Technologies

For a detailed description of the technologies used to implement this project refer to Appendix A.

2 Database Design

[pic]

Figure 2: FNP Proposal Application Database Schema

[pic]

Figure 3: Relationships between Tables in Database

The following is the overview of the database design for this application.

|TABLE NAME |DESCRIPTION |

|SB_DATA |Contains all the primary information about a worksheet. |

|SB_DATA_ITEMS |Contains the amounts in dollars of the contractual services, supplies and|

| |in-state travel pertaining to the Collaborating Agencies, County Match |

| |and FNP Funds. |

|SB_MISC_DESC |Contains the textual description of each of the items in the |

| |sb_data_items table. |

|SB_COLLAB_AGENCY |Contains information about the descriptions of the Collaborating agencies|

| |and the amounts in dollars each agency has been pledged. |

|SB_EMP_PERSONAL_PLEDGES |Contains the salaries and benefits information about each agent and the |

| |positions they hold. |

|SB_PROPOSED_EQUIPMENT |Contains a list of all the proposed equipment, their descriptions and the|

| |associated costs. |

|SB_PROGRAM_DESCRIPTION |Contains primary information about each program description by curriculum|

| |associated with each worksheet. |

|SB_PROGRAMDESC_AGENCY |Contains information about the partnering agencies in a program |

| |description by curriculum. |

|SB_PROGRAMDESC_EXTENSION |Contains information about the agents and their contributions in a |

| |program description by curriculum. |

|SB_PROGRAMDESC_ITEMS |Contains information about the behavioral objectives and indirect |

| |contacts in a program description by curriculum. |

|USER_COUNTIES |Contains information about the user and his/her counties. |

|PAS_ITEMS |Contains textual descriptions of the items used in the program |

| |description by curriculum. |

Table 1: Database Tables Description

3 Control Flow

a. County Agent:

The county agents are required to logon using their user name and password. In the case of an incorrect login they are redirected to the same page and prompted to reenter the information.

In order to provide additional security and preserve the integrity of the data, each agent is allowed to view information only for his/her county. Further, if the user is not an agent of that county but some other employee such as a program or nutrition assistant, then he/she will be unable to access any sensitive information such as the salaries and benefits or other financial information.

After completing the data entry, the agent adds that worksheet to his county alone. This prevents agents from other counties viewing information about counties other than their own or making any changes to other counties’ information. The user can log off the system after completion of all tasks thereby terminating that session.

The following figures show the control flow of the project in greater detail.

| |

|[pic] |

Figure 4: Use Case Diagram for County Agent

Figure 4.1: Control Flow Diagram for County Agent

[pic]

Figure 4.2: Hierarchy Diagram for County Agent

[pic]

Figure 4.3: Class Diagram for County Agent

b. System Administrator :

Figure 5: Control Flow Diagram for System Administrator

The control flow for an administrator is different as he is able to view the information for all the counties and can perform various functions from the “Welcome” page. The administrator needs to log onto the system using a password authentication system similar to the county agents.

4 Functionalities

For a detailed description of the various modules this project has been divided into, refer to Appendix B.

5 Improvements and Enhancements

a) Speed:

One of the major enhancements to this module is the increased speed. As the tests will later demonstrate, the speed of the website is exceedingly fast in terms of connectivity and data entry. The layout of the application sheet and the user interface ensure that data can be quickly and accurately entered. The use of appropriate constraint checking both in Oracle and has also added to the speed of the application. The extensive use of Oracle Packages and Stored Procedures in this project has greatly reduced code in the implementation and ensures that data is returned from the Oracle database itself rather than using embedded sql queries in , which has further improved speed.

b) Reduction in Lines of Code:

The use of has also lead to a reduction in the number of lines of code needed to implement all the modules of this project. The use of user controls rather than individual web forms for each page has helped in both reusability of code and reduction in size. This helps the application to load faster which is further enhanced by the use of dynamic placeholders are used to load only the required controls rather than every single element on a page.

c) Improved User Navigation:

The user interface makes navigation between sections of the worksheet very simple and intuitive. Also, the elements on each page allow for many editing functions to be carried out which is also greatly beneficial to the users.

d) Storage of View State in State Server:

The view state is used by the server controls to manage their state across individual web requests. In this application the view state of the page is stored in the state server thereby causing the pages to load faster and simultaneously reducing their size.

e) Cascading Style Sheets:

Style Sheets have been extensively used in this project. Cascading style sheets reduce defining properties for each HTML element and have also been implemented to include a number of print and screen functions.

Testing

1 ANTS Load Test

The Advanced .NET Testing System (ANTS) is a tool used for load and scalability testing of .NET applications and other web services.

It provides highly useful information to predict a web application’s behavior and performance and works on all .NET applications. It has the advantage of being able to auto-generate testing scripts and also test XML web services.

The results of this test include information about the fastest and the slowest objects in the web application along with the fastest and slowest web pages in the application, in terms of load times and stress handling.

This helps to eliminate the slowest unnecessary objects in the web application and increase the speed of the slowest web pages in the application.

[pic]

Figure 6: ANTS Load Test – 1

[pic]

Figure 6.1: ANTS Load Test - 2

[pic]

Figure 6.2: ANTS Load Test – 3

[pic]

Figure 6.3: ANTS Load Test - 4

Screen Shots

[pic]

Figure 7: Default.aspx

[pic]

Figure 7.1: Sabw_Add.aspx

[pic]

Figure 7.2: View_Report.aspx

[pic]

Figure 7.3: view.aspx

[pic]

Figure 7.4: submit_program_description.aspx

[pic]

Figure 7.5: view_sb_budget.aspx

References

[1] Nikhil Kothari and Vandana Datye. (2002). “ Server Controls and Components”, Microsoft.

[2] Oracle 10 g Overview ()

[3] ANTS load ()

[4] Scott Urman. (1997). “Oracle 8 PL/SQL Programming”, Osborne McGraw-Hill

[5] Overview ()

[6] Dave Sussman, Alex Homer, Rob Howard, Karli Watson, Brian Francis, Richard Anderson . (2001). “Professional ”, Apress

[7] Dave Sussman, Alex Homer, Rob Howard, Karli Watson, Brian Francis, Richard Anderson. (2004). “Professional 1.1 (Programmer to Programmer)”, Wrox

[8] Kevin Loney. (2004). “Oracle 10g: The Complete Reference”, McGraw-Hill Osborne Media

Appendices

Appendix A – Technologies used to implement the project

a) Microsoft Visual Studio .NET

The .NET framework forms the basic infrastructure for the new Microsoft .NET platform. It is a widely used and common environment for building, deploying, and running web services and web applications. It contains several class libraries, such as , and Windows Forms, to provide advanced standard services that can be integrated into a variety of computer systems.

Another feature is that it is language-neutral and supports C++, C#, Visual Basic, JScript, and COBOL, providing unprecedented flexibility in the choice of language. A host of third-party languages are currently available and the list is steadily increasing for building future .NET framework applications.

The new Visual is a common development environment for the new .NET framework. It provides a feature-rich application execution environment, simplified development, and easy integration between several different development languages.

b) Oracle 10g

The database server for this application is Oracle 10g. It is primarily aimed at reducing costs and improving the quality of service by making the database easier to deploy and manage. It also includes advanced capabilities for backup and recovery and supports enhancements for data warehousing.

It is robust and web-enabled. It offers easier fine tuning to serve the required purpose. It provides the most powerful database for secure, reliable, high-capacity Internet applications, data warehouses and e-commerce websites.

It is highly scalable. It scales to support the most demanding, high-throughput applications. It reduces the complexity of administration. It can manage the multimedia content directly. It provides complete data protection by means of Oracle Data Guard.

c) Microsoft Excel

Microsoft Excel is used to download all of the data in the form of reports. The choice of Excel for this purpose is justified owing to its powerful spreadsheet capabilities that allow the creation, storage, manipulation, analysis, and visualization of data. The application makes use of several formulas and calculations that are easy to implement using Excel.

Appendix B – Description of the modules used in the project

1) Welcome Page:

This module forms the primary user interface for the application and allows the user to navigate to different parts of the application in addition to each of the individual worksheets. The user is also able to add new worksheets, edit or delete existing worksheets, and also view summaries of the existing worksheets in the form of reports. The user is also able to select the worksheets pertaining to a fiscal year from this page.

2) Proposal Application Sheet:

In this module, the user can add or edit information to a proposal application sheet by accessing it from the main page. The proposal application sheet has several fields that need to be completed. They include:

General Information:

The user provides relevant and identifying information for the worksheet such as title of the sheet, fiscal year and the county for which the application is being submitted. In addition to these, the date of activity and user name of the person who entering information is appended to the welcome page.

Position:

This is an important section of the worksheet where details of each individual in that county are entered. Information provided for each individual include their FTE status, number of hours and weeks of employment, wages information and their job description. The user is also able to delete or make changes to existing information about individuals in that county, in this section.

Justification Salaries & Benefits:

The user enters a textual description of the justification of the salaries and benefits entered in the previous section.

Contractual Services:

The user enters the amounts in dollars of the various contractual services items. Here, there are two columns, one corresponding to the contractual services for FNP Funds and the other for the County Match.

Justification Contractual Services:

The user enters a textual description of the justification of the contractual services entered in the previous section.

In-State Travel:

The user enters the amounts in dollars of the various in-state travel expenses. Here, there are two columns, one corresponding to the in-state travel for FNP Funds and the other for the County Match.

Justification In-State Travel:

The user enters a textual description of the justification of the in-state travel entered in the previous section.

Supplies:

The user enters the amounts in dollars of the various supplies items. Here, there are two columns, one corresponding to the supplies for FNP Funds and the other for the County Match.

Justification Supplies:

The user enters a textual description of the justification of the supplies entered in the previous section.

Proposed Equipment:

Here, the user enters a list of all the equipment, their cost and the justification for that equipment. The user can also change or delete information about the equipment. Another constraint in this section is that the total cost of all the equipment should be equal to the amount of last item under supplies. If these two totals do not match, then the user is prompted by an error message to make the necessary changes, failing which he/she will be unable to continue to the next section.

Volunteer Pledges Match:

The user enters the volunteer pledges match and the cash donations for that county in this section.

Collaborating Agencies In-Kind Resources:

The user enters the name of each agency and its salaries and benefits. He can also enter the amounts of the contractual services and supplies for the collaborating agency. He can also update or delete any of the existing collaborating agency records for that county.

Program Description (By Curriculum):

The user can enter information for the various program descriptions which are described in detail in a later section.

Menu:

This is not a data entry section on the worksheet but allows the user with great flexibility in navigating between the different sections of the worksheet. Also, the menu keeps track of all completed sections of the worksheet, helping users to ensure that all sections of the worksheet have been completed.

The following are a series of reports that are generated for each worksheet and can be viewed and printed off by the user:

View Report:

The user can view all of the information pertaining to a worksheet in a summarized format.

View Extension of Pledged In-Kind Resources:

This provides a report of all the county employees and their associated information.

View Budget:

This provides a report of all the salaries and benefits, contractual services, in-state travel and supplies information for FNP Funds, County Match for that worksheet.

View Budget Narrative:

This provides a report of all the justifications for salaries and benefits, contractual services, in-state travel and supplies for that worksheet.

View Proposed Equipment:

This provides a report of all the information related to the equipment, its cost and justification for that worksheet

3) Program Description (By Curriculum):

The program description forms a part of the main worksheet but has several fields that require completion and is treated as a separate module:

Target Audience:

The user can select multiple target audience for the program description.

Primary Topic:

The user can select a primary topic for the program description.

Behavioral Objectives:

The user can select multiple behavioral objectives for the program description.

Type of Contact:

The type of contact can either be direct or indirect. For direct contacts the user selects whether the lessons are one-on-one or by group, in addition to providing information about the number and length of the lessons. For indirect contacts, the user can select multiple values.

Curriculum Information:

The user selects either a adult or youth primary curriculum. If other primary curriculum is selected, the user is required to manually enter the description of the curriculum.

Extension:

The user selects the extension information for the different agents including their contribution to FNP. The user is also able to edit or delete existing extension information. Also, based on the county, a list of all the agents of that county are made available to the user, thereby making manual entry of names unnecessary.

Partnering Agency (Matching/Non-Matching):

The user provides information about the various matching and non-matching organizations. The user is also able to edit or delete existing agency information.

Summary:

The user provides a summary description of the program description by curriculum’s intent and the manner in which the program will be carried out.

4) Reporting Site:

This module of the application allows users to download all of the information into Excel sheets. This enables the creation of reports from the data entered on the worksheets which can also alternatively be viewed on the web page itself. There are a number of reports in this module, totaling around twenty-five in number. Each of these reports makes use of a different calculation and a different set of parameters to extract the required data.

-----------------------

Database

Perform Admin activities

Manage Admin session

Add, Edit, Update, Print FNP Proposal Application

Manage Agent

session

Back End

(Oracle 10g)

Middleware

(.NET Framework)

Front End

(HTML and c#)

Admin

County Agent

Incorrect Login

Index Page

Save county

Information

Save item

Information

Add/Edit

Counties

*Perform

Report

* Add/Edit FNP Proposal Applications

Welcome Page

Check Login

Incorrect Login

Add/Update Information

Edit FNP Proposal Application

* View and Print FNP Proposal Application

* Add FNP Proposal Application

Agent Welcome Page

Check Login Information

Index Page

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download