Skip to content

Requirements Document

Nazareno Aguirre edited this page Sep 5, 2013 · 2 revisions

Table of Contents

Eiffel Sudoku Software Requirements Specifications

Introduction

Purpose

This document represents the Software Requirements Specification (SRS) for the Sudoku Game. Its purpose is to describe the scope, both the functional and non-functional software requirements, as well as the design constraints of the whole application.

It is designed and written for the stake holders of this project, including potential users, managers and developers involved in the project.

Scope

The motivation for this project is the development of a Sudoku computer game, using design by contract. The Sudoku Game project consists of various components: MODEL, CONTROLLER, GUI.

References

[1] Eiffel software: http://www.eiffel.com/ [2] GNU General Public License: http://www.gnu.org/licenses/ [3] IEEE Recommended Practice for Software Requirements Specifications.

Definitions, Acronyms and Abbreviations

Term --- Definitions Cell: ... Board: ...

Overview

The structure and format of this document was chosen according to the IEEE Std 830-1998 standard. Sample documents from previous editions of the DOSE course were also taken into account.

The remainder of this document is organized as follows. Section 2 defines the general product functions, intended application constraints to be respected and the assumptions made in order to define requirements. In short, it digs further into the product specification, delineating the perspective of this product, its functions and other general information. Section 3 lists the specific functional and nonfunctional requirements in detail.

Overall Description

This section present an overall description of the Sudoku application.

Product Perspective

The product to be developed is an application composed of XXX parts: . The application is a computer based version of the Sudoku game.

Product Functions

This section presents a general overview of all the functions that this application shall provide. A more detailed explanation of particular functionalities can be found in XXX.

User Characteristics

Constraints

The language for implementation must be in Eiffel.

The operating system where the component is will work in Linux.

Assumptions and dependencies

Assumptions regarding a running game are:

Specific Requirements

Property Description Requirement ID Defines a unique symbolic name for the requirement. It also reflects which functional group it belongs to.

Title A descriptive title for the requirement. Description A description of the requirement. Priority Defines the order in which requirements should be implemented. Priorities are designated (highest to lowest) 1, 2 and 3 … Requirements of priority 1 are mandatory for the First Implementation; requirements of priority 2 are mandatory for the Final Implementation. A priority greater or equal than 3 represents optional features. Risk Species the risk of not implementing the requirement. It shows how critical is the requirement to the system as a whole. The following risk levels are denied over the impact of not being implemented correctly. Critical (C): It will break the main functionality of the system. The system cannot be used if this requirements is not implemented. High (H): It will impact the main functionality of the system. Some function of the system could be inaccessible, but the system can be generally used. Medium (M): It will impact some system features, but not the main functionality. The system can still be used with some limitation. Low (L): The system can be used without limitation, but with some workarounds.

References Lists the IDs of requirements that are also relevant in this context.

Functionality

Game State

New Game

Usability

Reliability

In this subsection we will discuss all the reliability needs of Sudoku.

Performance

We discuss in this session the minimal performance requirements of the system.

Maintainability

Design Constraints

Programming Language Constraint

Online User Documentation and Help System Requirements

Purchased Components

Interfaces

User Interfaces

Hardware Interfaces

No particular hardware interface is required.

Software Interfaces

Communications Interfaces

Licensing Requirements

The system shall be developed under The GNU General Public License [6] (GPL). All the produced documents shall follow the same licence.

Legal, Copyright, and Other Notices

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses></http://www.gnu.org/licenses>.

Applicable Standards

This documents follows the guidelines provided by “IEEE Recommended Practice for Software Requirements Specifications" from the Institute of Electrical and Electronics Engineers (IEEE), published on October 20th, 1998 and reaffirmed on December 9th, 2009.