CPSC 4392 Capstone Project Spring 2011 Software Requirements Specification EZ Inventory Management System (EZIMS) Sean Cox 501-249-1250 srcox@ualr.edu Advisor: Dr. Chia-Chu Chiang Department of Computer Science University of Arkansas at Little Rock Little Rock, Arkansas 72204-1099, USA 501-569-8142 cxchiang@ualr.edu EZ Inventory Management System 1. Introduction 1.1 Purpose 1.2 Scope 1.3 Definitions, acronyms, and abbreviations 1.4 References 1.5 Overview 2. Overall description 2.1 Product perspective 2.2 Product functions 2.3 User characteristics 2.4 Constraints 2.5 Assumptions and dependencies 3. Specific Requirements 3.1 Functional Requirement 3.2 External Interface Requirement 3.3 Performance Requirements 3.4 Design Constraints 3.5 Software System Attributes 1. Introduction 1.1 Purpose The purpose of this document is to provide the specifications for the software which is to be developed. The purpose of the EZ Inventory Management Systems (EZIMS), is to provide the customer with an effective way to manage their current inventory and provide a history of previous inventory. 1.2 Scope The software product to be produced is called EZ Inventory Management System (EZIMS). This program is to be a standalone executable which provides an interface to an inventory database. The program is easy to use, so that users can easily add and remove inventory as necessary. 1.3 Definitions, Acronyms and Abbreiviations DBMS – Database Management System GUI – Graphical User Interface IEEE – Institute of Electrical and Electronics Engineers OS – Operating System SRS – Software Requirements Specification SQL – Server Query Language 1.4 References IEEE Recommended Practice for SRS, IEEE Std 1016-1998, IEEE Computer Society, 1998. Database Systems: Models, Languages, Design and Application Programming, Elmasri R., 2011. 1.5 Overview The remainder of this document will discuss the requirements of the project. It will discuss the overall description of the product, to include its perspective and functions. It will also discuss the specific requirements such as functional requirements, performance requirements, and design constraints. 2. General Description 2.1 Product Perspective The software requires a connection to a database server containing the inventory database. The program will be executed as a standalone application on a single machine. The application may be executed on multiple machines simultaneously. The user will interact with the program via a GUI. The user will use both the mouse and keyboard for input and all information will be outputted to the monitor. 2.2 Product Functions 2.21 Add Function This function will be used to add new merchandize to the database. 2.22 Delete Function This function will be used to delete merchandize from the database. This may be necessary if a user accidentally inputs the wrong information. If the wrong information is entered then the user can go back and delete the item. There must be methods set in place to verify that the user wants to delete a specific item, thus reducing the possibility of deleting an incorrect item from the database. 2.23 Sell Function This function will remove an item from the active inventory by marking it as sold. 2.24 Sales Function This function will be used to generate statistics about sales of merchandize. The function will be able to calculate the sales within a given time period. The function will determine the number of sales and the total amount. 2.25 Connect Function Connects to the database server. 2.26 Disconnect Function Disconnects from the database server. 2.27 Setup Function Used to set-up the program. Allows server information to be entered and additional options. 2.3 User Characteristics The user should have knowledge of how to operate in a Windows environment. They must be able to execute the program and then maneuver around the program. The user may have to know how to connect to the network in order to allow the program to connect to the database server. The user will not have to understand databases nor SQL. 2.4 General Constraints The program is designed to be executed on a PC running a Windows OS. The GUI will be implemented using Windows Forms. 2.5 Assumptions and Dependencies The program will be executed on a Windows OS platform. Connection to the server will be available for all times at which the program is to be used. 3. Specific Requirements 3.1 Functional Requirements 3.1.1 Database Server Functions 3.1.1.1 – Connect_Db – Connects to the database server. a. Receives server information from Server_Info. b. Connects to database server. c. Display success/error message. 3.1.1.2 – Server_Info – Gets information about the server. a. Opens file setup.info. b. Reads in server information. 3.1.1.3 – Server_Auth – Performs server authentication. a. Retrieves username and password from user. b. Supplies login information to server. 3.1.1.4 – Disconnect_Db – Disconnects from the database server. 3.1.2 Inventory Functions 3.1.2.1 - Add_Item – adds new merchandize to the database. a. Retrieve new information from user input. b. Adds new item to database. c. Displays success/error message. 3.1.2.2 – Del_Item – deletes an item from the database. a. Retrieve information from user input. b. Confirm item to be deleted. c. Delete item from database. d. Display success/error message. 3.1.2.3 – Sell_Item – removes item from active inventory. a. Retrieve information from user input. b. Mark item as sold. 3.1.2.4 – Search_Item – searches for items in the database. a. Retrieve criteria from user input. b. Search database for specific criteria. c. Display items which matched criteria. 3.1.3 Statistics/Setup Functions 3.1.3.1 – Sales_Stat – Calculates number items sold within a given time period. a. Retrieve information from user about time period. b. Display statistics based on criteria. 3.1.3.2 – Setup – Used to setup the program. a. Gather server info from user. b. Output to file setup.info. 3.1.3.3 – Check_Setup – Ran at beginning of execution to determine if setup has already been performed. a. Check to see if file setup.info exists. b. If file exists then display main menu. c. If file does not exist then display setup screen. 3.2 External Interface Requirements 3.2.1 File System Images of merchandize will be stored under the images directory. The file setup.info will be used to store setup information about the program and database server. 3.2.2 User Interface The user will utilize the GUI to input required information. The user will be able to click on-screen buttons to maneuver around the program. The user will also be able to click on fields to enter text into the fields. The user will be able to use the tab key to move between fields. 3.3 Performance Requirements The program should run at such a speed that the user can move at his/her own pace, without noticing interruption due to processing. 3.4 Design Constraints The program is designed for and will only operate under the Windows OS. 3.5 Attributes 3.5.1 Reliability The software should not have any reliability issues. The software will be thoroughly tested and any issues resolved. 3.52 Availability The software will execute as a standalone system so as long as the machine is running, the program will be available. The key to maintaining availability will be by ensuring a connection to the database server is available. Failure to connect to the database will make data unavailable. 3.53 Security This software is intended to communicate over an internal network, therefore security is of little concern. The user will have to enter the username and password so the program can connect to the database server. The username and password will not be stored because encryption of such information is outside the scope of the project. 3.54 Maintainability The software will be composed of various modules decreasing the complexity of expansion. 3.55 Portability As states previously, this software will only run under the Windows OS. The setup file, setup.info, can be copied to multiple machines so that each program does not have to be setup separately.