System Requirements Specification (SRS) Document Format

COMP 413W Semester Project

PennStateHarrisburg Fall 2006

Title Page

Contains the name of project, date, document version number, and approval block.

Abstract

A one-to-three paragraph summary of the problem solved by this project.

Project Team

List project team members and their roles.

Table of Contents

Provide major headings and page numbers. The page footer should contain the page number ("Page x of y,")

1.0 Introduction

This section provides an overview of the entire design document. This document describes all data, architectural, interface and component-level design for the software.

1.1. Goals and Objectives

Describe overall goals and business objectives to be realized by the software. If relevant to the problem area, include a list and description of the major classes of stakeholders.

1.2. Scope of Solution

Describe the boundaries of the solution here. State what functionality is included and what is excluded. This statement is given in terms of business functions. A rationale for which parts are excluded should also be included.

2.0 Overall Description

This section provides a high level overview of the system, how it will be used, and by whom.

2.1. Product Context

Indicate whether this system is part of a larger system, whether it encompasses other, smaller systems, or whether it is one of several products in a product line.

2.2. Product Features

Summarize the significant features of the product from a.high level perspective. Graphical depictions such as top-level data flow, UML architecture, or use case diagrams may be included here if they are helpful.

Note: This section should include the features that were not included in this product at this time with an explanation as to why they were not included and whether they will be included in a future version of the product.

2.3. User Classes, Roles, and Characteristics

Describe the organizational roles of people who are expected to use the system. It may also be helpful to mention the assumed level of sophistication of the users if it is relevant to the design of the product. Indicate which system features will be employed by each class of users. These user roles appear as actors in the use case diagrams below. A tabular format is helpful when there are a large number of roles involved.

2.4. Operating Environment

Provide a general description of the hardware and software environment(s) within which the product will operate. Be sure to list anything unusual, such as whether the product is expected to operate in a harsh physical environment.

2.5. Constraints

List any unusual factors that may impede the expedient implementation of full functionality of the product. There is no need to include the obvious constraints of staying within budget or on time unless one or both of these constrains is unusual in its severity. (For example, Y2K was an immovable deadline!)

2.6. Assumptions and Dependencies

Provide information concerning any unusual conditions that are assumed to hold to assure a successful implementation or to allow the product to operate correctly.

3.0. Detailed Requirements

Describe the system functionality in plain language that is understandable by the customer and the technical team.

3.1. Use Case Diagrams

Supply a use case diagram that encompasses the functional requirements of the system. More than one diagram may be required.

Use Case #1 Maintain Vehicle Inventory

General Description: Add, update, and delete purchasing, costing, OEM warranty, and history for each vehicle in the fleet.

Basic Flow:

U1.1. User selects desired function by clicking on a menu icon.

U1.2. If user selects "Vehicle Inquiry," invoke the "Vehicle Inquiry" (Use Case 1.1) function.

U1.3. If user selects "Add Vehicle," invoke the "Add Vehicle" (Use Case 1.2) function.

U1.4. If user selects "Update Vehicle," invoke the "Update Vehicle Information" (Use Case 1.3) function.

U1.5. If user selects "Delete Vehicle," invoke the "Delete Vehicle" (Use Case 1.4) function.

U1.6. If user selects "Exit," close the screen, and terminate the inventory program.

Alternative Flow: None

Figure 3.xx: Use Case #1: Maintain Vehicle Inventory

Use Case #1.1 Vehicle Inquiry

General Description: Retrieve a vehicle master record for a vehicle in the vehicle inventory.

Basic Flow:

U1.1.1 Basic vehicle inquiry screen is displayed with blank fields that allow entry of VIN, license plate number, or make, model, and year. A [Back] button to allow the user to return to the previous screen is also displayed.

U1.1.2 User enters information that identifies one or more vehicles that exist in the fleet. The user then engages the [Submit] button by: clicking on it, pressing [Enter] when it is highlighted, or by pressing the key combination [Alt]+S.

U1.1.3 A list of summary information for all vehicles whose information match the entered parameters appears on the screen. This information includes VIN, license plate number, vehicle type ("auto" or "truck") make, model, and year. A [Back] button that allows the user to return to the previous screen is also displayed.

U1.1.4 The user selects a list entry by double clicking on it.

U1.1.5 Detailed information for the vehicle displays on the screen. This information includes all of the information on the summary screen with the addition of: date purchased, purchase price, latest odometer reading, warranty summary, last service date, next service date due, number of axles, freight capacity, current inventory valuation, and freeform comments. Buttons for viewing vehicle usage history from trip logs (Use Case XX), and service histories (Use Case XX), shall be available from the detail screen.

U1.1.6 User clicks "[OK]," to update the record and return to the vehicle summary list (U1.1.3), whereupon another selection may be made, or the [Back] button pressed.

U1.1.7 When the user presses the [Back] button, presses the [Backspace] key, or clicks on the back arrow button on the browser, the screen returns to the basic vehicle inquiry screen (U1.1.1). Note: The information entered on basic vehicle information entry screen shall "persist" from the original entry. To clear this information, the user may press [F5].

Alternative Flow:

U1.1.1.aThe user presses the [Back] button, presses the [Backspace] key, or clicks on the back arrow button on the browser. This action returns the user to the inventory maintenance menu screen.

U1.1.2.a If no vehicles in the inventory match the parameters entered, an information box stating "No matching vehicles found," shall display on the basic inquiry screen. The user shall be able to close this box by clicking an [OK] button within the box, pressing an "X" in the upper right hand corner of the box, or by typing the [Alt]+[F4] key sequence. The user may re-enter any or all parameters to try again.

U1.1.2.b If the VIN and tag numbers entered conflict with each other, an information box stating "This license plate number not registered to this vehicle ID number," shall display on the basic inquiry screen. The user shall be able to close this box by clicking an [OK] button within the box, pressing an "X" in the upper right hand corner of the box, or by typing the [Alt]+[F4] key sequence. The user may re-enter either parameter to try again. Return to U1.1.2.

U1.1.2.c If parameters other than the VIN and tag numbers entered conflict the VIN or tag number entered, and the VIN or tag number are found on file an information (warning) box stating "Note: make|model|year entered do not match VIN|tag" shall display on the basic inquiry screen. The selection of make|model|year and VIN|tag shall be appropriate to the information that has been entered by the user. The user shall be able to close this box by clicking an [OK] button within the box, pressing an "X" in the upper right hand corner of the box, or by typing the [Alt]+[F4] key sequence.

U1.1.3.a If the number of vehicle records retrieved exceeds 25, the vehicle summary records shall be displayed in groups of 25 per screen, with each screen being navigable through hyperlinked numerals and [Next] and [Prev] buttons. The last screen may contain fewer than 25 summary records, and will not display a [Next] button. The first screen will not display a [Prev] button. If the number of records retrieved exceeds 100, a message shall display at the top of each summary screen stating "Maximum number of records exceeded."

Use Case #2.2 Add Vehicle

General Description: Add a vehicle master record to the vehicle inventory.

Basic Flow:

U1.2.1 Basic vehicle entry screen is displayed with blank fields that allow entry of VIN, license plate number, and make, model, and year. A [Back] button that allows the user to return to the previous screen is also displayed.

U1.2.2 User enters information requested in U1.2.1 and [Submit] button by clicking on it, pressing [Enter] when it is highlighted, or by pressing the key combination [Alt]+S. Note, all fields except for license plate number are mandatory, and the [Submit] function shall not be enabled until entries are made in all fields.

U1.2.3 Once the key vehicle information is accepted, a screen soliciting detailed information for the vehicle displays on the screen. This information includes date purchased, purchase price, odometer reading, warranty summary, last service date, next service date due, color, number of axles, freight capacity, current inventory valuation, and freeform comments. Note: Key information from the previous screen (U1.2.2) displays at the top of the detail screen. No changes may be made to the key information.

U1.2.4 Once the user enters detailed information for the vehicle, the user engages the [Submit] button by clicking on it, pressing [Enter] when it is highlighted, or by pressing the key combination [Alt]+S. This action causes reasonableness checks to be applied to appropriate fields as follows:

Year: Must be greater than 1979 and less than 2100.

Dates: All dates must be entered in mm-dd-yyyy format, and must pass general date validity checks.

Service dates: Last service date and next service date are optional. If entered, both must be greater than or equal to the purchase date. If entered, next service date must be greater than last service date.

Current inventory valuation: Will be equal to purchase price. (Pre-populated.)

Number of axles and freight capacity will be displayed for trucks only. Number of axles must be 6 or less. Freight capacity, given in US pounds, shall not exceed 100,000 lbs.

Warranty information: Includes two fields, number of miles and number of years. If entered, the number of years must be 10 or less, and miles must be 100,000 or less.

Reasonableness checks shall be applied when the user clicks the [Submit] button, pressing [Enter] when the [Submit] button is highlighted, or by pressing the key combination [Alt]+S.

If any of the reasonableness checks fails, a list of all failed checks shall display in a pop up box. The user shall be able to close this box by clicking an [OK] button within the box, pressing an "X" in the upper right hand corner of the box, or by typing the [Alt]+[F4] key sequence.

U1.2.5 When the user presses the [Back] button, presses the [Backspace] key, or clicks on the back arrow button on the browser, the screen returns to the basic vehicle information entry screen, the screen returns to the basic vehicle information entry screen (U1.2.1). Note: The information entered on basic vehicle information entry screen shall be cleared from the original entry.

Alternative Flow:

U1.2.1.a The user presses the [Back] button, presses the [Backspace] key, or clicks on the back arrow button on the browser. This action returns the user to the inventory maintenance menu screen.

U1.2.2.a If the VIN or tag numbers entered already exist in the inventory an information pop up box stating "Vehicle ID[...]|tag number[...] exists" shall display on the main entry screen. The vehicle information shall not be added to the inventory until these fields are unique to the vehicle. The error message shall accurately describe the error, listing the exact field and information in error. The user shall be able to close this box by clicking an [OK] button within the box, pressing an "X" in the upper right hand corner of the box, or by typing the [Alt]+[F4] key sequence. The user may re-enter either parameter to try again. Return to U1.2.1.

Use Case #2.3 Update Vehicle Information

General Description: Update a vehicle master record for a vehicle in the vehicle inventory.

Basic Flow:

U1.3.1 Basic vehicle inquiry screen is displayed with blank fields that allow entry of VIN, license plate number, or make, model, and year. A [Back] button that allows the user to return to the previous screen is also displayed.

U1.3.2 User enters information that identifies one or more vehicles that exist in the fleet. The user then engages the [Submit] button by clicking on it, pressing [Enter] when it is highlighted, or by pressing the key combination [Alt]+S.

U1.3.3 A list of summary information for all vehicles whose information match the entered parameters appears on the screen. This information includes VIN, license plate number, vehicle type ("auto" or "truck") make, model, and year. A [Back] button that allows the user to return to the previous screen is also displayed.

U1.3.4 The user selects a list entry by double clicking on it.

U1.3.5 Detailed information for the vehicle displays on the screen. This information includes all of the information on the summary screen with the addition of: date purchased, purchase price, latest odometer reading, warranty summary, last service date, next service date due, number of axles, freight capacity, current inventory valuation, and freeform comments.

Buttons for viewing vehicle usage history from trip logs (Use Case XX), and service histories (Use Case XX), shall be available from the detail screen.

U1.3.6Once the user enters detailed information for the vehicle, the user engages the [Submit] button by clicking on it, pressing [Enter] when it is highlighted, or by pressing the key combination [Alt]+S. This action causes reasonableness checks to be applied to appropriate fields as described in U1.2.4. If any of the reasonableness checks fails, a list of all failed checks shall display in a pop up box he user shall be able to close this box by clicking an [OK] button within the box, pressing an "X" in the upper right hand corner of the box, or by typing the [Alt]+[F4] key sequence.

U1.3.7 User clicks "[OK]," to update the record and return to the vehicle summary list (U1.3.3), whereupon another selection may be made, or the [Back] button pressed.

U1.3.8 When the user presses the [Back] button, presses the [Backspace] key, or clicks on the back arrow button on the browser, the screen returns to the basic vehicle inquiry screen (U1.3.1). Note: The information entered on basic vehicle information entry screen shall "persist" from the original entry. To clear this information, the user may press [F5].

Alternative Flow:

U1.3.1.aThe user presses the [Back] button, presses the [Backspace] key, or clicks on the back arrow button on the browser. This action returns the user to the inventory maintenance menu screen.

U1.3.2.a If no vehicles in the inventory match the parameters entered, an information box stating "No matching vehicles found," shall display on the basic inquiry screen. The user shall be able to close this box by clicking an [OK] button within the box, pressing an "X" in the upper right hand corner of the box, or by typing the [Alt]+[F4] key sequence. The user may re-enter any or all parameters to try again.

U1.3.2.b If the VIN and tag numbers entered conflict with each other, an information box stating "This license plate number not registered to this vehicle ID number," shall display on the basic inquiry screen. The user shall be able to close this box by clicking an [OK] button within the box, pressing an "X" in the upper right hand corner of the box, or by typing the [Alt]+[F4] key sequence. The user may re-enter either parameter to try again. Return to U1.3.2.

U1.3.2.c If parameters other than the VIN and tag numbers entered conflict the VIN or tag number entered, and the VIN or tag number are found on file an information (warning) box stating "Note: make|model|year entered do not match VIN|tag" shall display on the basic inquiry screen. The selection of make|model|year and VIN|tag shall be appropriate to the information that has been entered by the user. The user shall be able to close this box by clicking an [OK] button within the box, pressing an "X" in the upper right hand corner of the box, or by typing the [Alt]+[F4] key sequence.

U1.3.3.a If the number of vehicle records retrieved exceeds 25, the vehicle summary records shall be displayed in groups of 25 per screen, with each screen being navigable through hyperlinked numbers and [Next] and [Prev] buttons. The last screen may contain fewer than 25 summary records, and will not display a [Next] button. The first screen will not display a [Prev] button. If the number of records retrieved exceeds 100, a message shall display at the top of each summary screen stating "Maximum number of records exceeded."