Software Requirements Specification for Rough Relational Database Version 1.0 approved Prepared by Tony Riggio Team Four 11 April 2008 Copyright © 2002 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document. Software Requirements Specification for Rough Relational Database Page ii Table of Contents Table of Contents .......................................................................................................................... ii Revision History ............................................................................................................................ ii 1. Introduction ..............................................................................................................................1 1.1 Purpose ............................................................................................................................................ 1 1.2 Project Scope ................................................................................................................................... 1 1.3 References........................................................................................................................................ 1 2. Overall Description ..................................................................................................................1 2.1 2.2 2.3 2.4 Product Features .............................................................................................................................. 1 Operating Environment.................................................................................................................... 1 User Documentation ........................................................................................................................ 1 Assumptions and Dependencies ...................................................................................................... 2 3. System Features........................................................................................................................2 3.1 3.2 3.3 3.4 3.5 3.6 Create New Dataset ......................................................................................................................... 2 Create Domains................................................................................................................................ 2 Assign Indiscernibility Relationships .............................................................................................. 2 Create Rough Predicates .................................................................................................................. 2 Execute Rough Queries ................................................................................................................... 3 Sample Application ......................................................................................................................... 3 Appendix A: Sample Database .....................................................................................................4 Appendix B: Client Agreement Form ..........................................................................................5 Revision History Name Date Reason For Changes Version Tony Riggio 20080411 Initial 1.0 1Software Requirements Specification for Rough Relational Database Page 1 1. Introduction 1.1 Purpose The purpose of this document is to specify the requirements for the Rough Relational Database project. The intent is to ensure that the client and developers both have a clear understanding of the actual software that is being developed. 1.2 Project Scope The Rough Relational Database project incorporates the use of rough sets in a standard Microsoft SQL relational database. The system will allow a user to define new datasets, identify domains, assign indiscernibility relationships, and create rough predicates to enable the user to have the power to perform rough queries on the database. 1.3 References This project is an implementation of the RSQL introduced in the paper “Rough Querying of Crisp Data in Relational Databases” written by Theresa Beaubouef and Frederick E. Petry. 2. Overall Description 2.1 Product Features The main feature of the Rough Relational Database is the ability to perform rough queries on a standard relational database. This feature is supported by giving the user the capability to create relational data tables, assign rough predicates and execute the rough queries. 2.2 Operating Environment The Rough Relational Database will operate using the Microsoft .Net 3.5 framework. The database will be a Microsoft SQL server 2005 relational database. The user interface will be developed using Microsoft Visual Studios 2008 and the C# programming language. 2.3 User Documentation A user friendly manual will be delivered with the final software package. The manual will provide the user with the necessary steps to take to install and begin using the final product. 2Software Requirements Specification for Rough Relational Database Page 2 2.4 Assumptions and Dependencies The assumption is being made that the clients’ computer is capable of running software in the Microsoft .Net framework. It is also assumed the user has some prior knowledge of relational databases and rough sets. 3. System Features 3.1 Create New Dataset 3.1.1 Description Allows the user to create a new ADO.Net dataset with tables and relational data and provides the ability to add, modify and delete select rows. 3.1.2 Stimulus/Response Sequences 1. Ask user for dataset name. 2. Ask user for number of tables. 3. Ask user for column names and data types. 3.2 Create Domains 3.2.1 Description Allows the user to specify a domain for columns that have the possibility of storing indiscernible data. Domains will be stored as a separate table in the current dataset. 3.2.2 Stimulus/Response Sequences 1. Ask user for domain name. 3.3 Assign Indiscernibility Relationships 3.3.1 Description Gives the user the ability to assign indiscernibility relationships to rows in the specific domain table. The user will select a current data row in the domain table and mark it as indiscernible to the current data. 3.3.2 Stimulus/Response Sequences 1. Ask user to select a domain table. 2. Ask user to select a specific row from that table. 3. User can then assign the current relationship. 3Software Requirements Specification for Rough Relational Database Page 3 3.4 Create Rough Predicates 3.4.1 Description Allows the user to create rough predicates and specify the conditions for the lower approximation and for the boundary region. 3.4.2 Stimulus/Response Sequences 1. Ask user to specify a name for the rough predicate. 2. Ask users to select data from the dataset that satisfy the conditions for the lower approximation and for the boundary region of the rough predicate. 3.5 Execute Rough Queries 3.5.1 Description Allows the user to select a predefined rough predicate and execute it as a query against the currently selected dataset. 3.5.2 Stimulus/Response Sequences 1. Ask user to select rough predicate from list. 2. Execute Query. 3.6 Sample Application 3.6.1 Description As a means to test our logic our group will provide a sample application with predefined data, domains, relationships, and rough predicates. We have decided to use a fantasy football relational database as our sample application. Rough predicates such as “good” player or “fast” stadium will be provided. A database diagram for our sample application is provided in appendix A. 4Software Requirements Specification for Rough Relational Database Appendix A: Sample Database Diagram Page 4 5Software Requirements Specification for Rough Relational Database Page 5 Appendix B: Client Agreement Form I agree that the software requirements specified in this document meet all current needs. I also understand that all future revisions and additions of requirements will be agreed upon with the development team and documented as a change in this SRS. Print_______________________ Sign_______________________ Date_______________________