IEEE Software Requirements Specification Template

0 downloads 0 Views 727KB Size Report
The purpose of this report is that it provides technical documentation regarding a game named. Simple Sudoku. Simple Sudoku is a simple game written using ...
Technical Report For

Simple Sudoku Prepared by Venkata Krishna Mahesh Kumar Kondraju

University of South Australia

Table of Contents 1. Introduction ........................................................................................................................ 3 1.1 1.2 1.3 1.4 1.5

Purpose ................................................................................................................................... 3 Document Conventions ............................................................................................................ 3 Intended Audience and Reading Suggestions............................................................................. 3 Report Scope ........................................................................................................................... 3 References ............................................................................................................................... 2

2. Overall Description ............................................................................................................. 3 2.1 2.2 2.3 2.4 2.5 2.6 2.7

Software Perspective ............................................................................................................... 3 Software Functions .................................................................................................................. 5 User Classes and Characteristics .............................................................................................. 6 Operating Environment ............................................................................................................ 6 Design and Implementation Constraints .................................................................................... 6 User Documentation ................................................................................................................ 6 Assumptions and Dependencies ................................................................................................ 7

3. External Interface Features ................................................................................................ 7 3.1 3.2 3.3 3.4

User Interfaces ........................................................................................................................ 7 Hardware Interfaces............................................................................................................... 10 Software Interfaces ................................................................................................................ 10 Communications Interfaces .................................................................................................... 10

4. System Features ................................................................................................................ 10 4.1 Create New………………………………………………………………………………….10 4.2 Multi Cell……………………………………………………………………………………11 4.3 Filtering of candidates………………………………………………………………... 11 4.4 Multi language GUI…………………………………………………………………....11 4.5 Hint ……………………………………………………………………………………12 4.6 Clear filters……………………………………………………………………………..12 4.7 Exclude candidates……………………………………………………………………..12 5. OtherNonfunctionalFeatures……………………………………………………………....13 5.1 5.2 5.3 5.4 5.5

Performance…………………………………………………………………………………13 Safety………………………………………………………………………………………...13 Security………………………………………………………………………………………13 Software Quality Attributes…………………………………………………………………13 Business Rules……………………………………………………………………………….13

6.OtherFeatures……………………………………………………………………………… 14 Appendix A: Glossary…………………………………………………………………………. 14 AppendixB:Analysis Models…………………………………………………………………...14

Introduction 1.1 Purpose The purpose of this report is that it provides technical documentation regarding a game named Simple Sudoku. Simple Sudoku is a simple game written using JavaScript. This technical report identifies all features and lists out the functionalities and working environment in which the application (game) can be executed. This report lists out the overall description of the game with essential features and drawbacks in the application.

1.2 Document Conventions Words in bold italics are the technical terms used in this report, which are illustrated in the Glossary (Appendix A) for general public.

1.3 Intended Audience and Reading Suggestions Audience who are familiar with java such as Developers, testers can understand this report in much better way as this being a technical report. For Public Audiences or General Public in mind there is a Glossary at the end of the report which defines the technical terms used in the report for a better understanding of the report. The rest of the report is formatted in such a way, which starts with the documentation of SRS (software requirement specifications) and then with the application interfaces & features of the application. Suggested reading of this technical report is to start with the introduction such that general audiences can understand the report by following the instructions specified here. SRS documentation & Software perspective are explained starting from section 2.0 which describes the overall description of the software and then section 3.0 with Application Interfaces and finally systems features 4.0. But for general public readers its better they skip 2.2 which more states the information regarding the components in the software and how they work, these components are explained by implementing an USE CASE UML diagram.

1.4 Report Scope Purpose: 

To provide information on the various levels of functionality of the Simple Sudoku application.



Graphical representation of the major components of the application.



External interface features use on the application.

Benefits: 

Helps in understanding the application (game).



Noticing key intricacies in the game.

Goals:  Helps as a guide or a cheat code by knowing the operating commands and strategy planning in completing the cells without any invalid moves. The Simple Sudoku software is a freeware application, so this technical report doesn’t relate to any corporate goals or business strategies.

1.5 References 1

SETUP.EXE ( Application Installer)

http://www.angusj.com/sudoku/sudoku_setup.exe 2

J2SE Runtime Environment

http://www.java.com/en/download/index.jsp 3

Rational Rose software for Use case UML diagrams

http://www-01.ibm.com/software/awdtools/developer/rose/enterprise/index.html

2. Overall Description 2.1 Software Perspective Simple Sudoku is a powerful Java SE application developed using java programming. This application uses couple of algorithms Depth-first algorithm & Dancing Links algorithm to find the first non empty cells and then fill in all blank cells in the rows and columns of the matrix of order 3x3, which contains digits only from 1 to 9. Solve all naked singles by excluding or making the singles present in each cell and repeat steps until the puzzle is solved and also keeping in mind that same digit or value should not exist in a row or column. Below figure 2.1 shows the main components and GUI (graphical user interface) of the application Simple Sudoku. Figure 2.1 Main Menu Sub Menu Color markers Menu

Filter Menu Blank cells

Difficulty level

Main Menu: File, Edit, View, Options, Help are the five Main menu options. Color markers: Color Markers are used to color the square cells in the matrices. Filter Menu: This menu is used to apply the filter on desired digits from 1 to 9. Sub Menu: Consists of shortcut key buttons such as Create new, open, save as, copy, paste, hints to solve the puzzle, undo and redo.

Below figure 2.1.2 shows the solved puzzle of the Simple Sudoku Figure 2.1.2

2.2 Software Functions There are 13 main sections or components in this application Below figure 2.2 shows the user interaction with the main components of the application using an Use Case UML diagram. Figure 2.2

Candidates

Create New Design Easy Multi Cell Standard

Load

Application User

Hard

Extreme Save Exit Restart

1

Application user: User has these options to use.

2

Create new: Starting a new game with user options.

3

Design: User designed puzzle.

4

Redesign: Redesigning an existing puzzle according to one’s desire.

5

Standard: Starting a standard game.

Expert

6

Hard, Expert, Extreme, Standard and Easy: Different Levels of the game and heart of the application which interacts with all other components to indicate the level of competency.

7

Restart: Restarting the game.

8

Multi Cell: This feature is used in excluding the digits.

9

Exit: exiting the game in between solving the puzzle and also exiting the application when not solving any puzzle.

Important components of software functions will be discussed in section 4.

2.3 User Classes and Characteristics Children: Children under age of 10 need parental guidance on playing the game and help them in improving critical thinking. Mature audiences: Mature audiences or general public aged 15 or above can play this game and doesn’t require any parental guidance.

2.4 Operating Environment Minimum system requirements to run the application Operating System:

Windows 98, Windows XP, Windows Vista

Incompatible Operating System: Mac OS X 10.5 Leopard Computer Processor:

800 MHz Pentium III or higher

Memory (RAM):

128 MB or higher

Memory (Hard Disk):

3 MB minimum

Optional Software requirements: Java Runtime Environment 6 Other requirements:

Mouse or Track Pad or Touchpad

2.5 Design and Implementation Constraints 

Graphical user interface GUI has many languages such as English, Chinese, Russian, Deutsch, Greek etc. GUI is presented in 19 available languages.

2.6 User Documentation 

User gets help via online visiting Simple Sudoku website.



User can access five different levels of game are available with this software application.



User can resize the playing application window (Puzzle screen) according to his screen resolution.



User can change Colors using color preferences.

2.7 Assumptions and Dependencies 

Simple Sudoku application is a freeware, so it doesn’t have any external dependency factors.



There are no assumptions in solving a puzzle, more than assumptions its logical thinking.

3. External Interface Features 3.1 User Interfaces Graphical user interface GUI of Simple Sudoku is described with the help of the below figure 3.1 Figure 3.1

Main menu consists of: 

File menu: It is used to start a new game or to load and save a game session and also has an option save the image or a screenshot of the application window. And an exit button to close the application.



Edit: Edit has copy, paste commands and exclude candidates command.



View : View menu has hints command to solve the next step, filter candidates command, color marker & Remove marker commands and solve all Naked singles command as shown in the figure 3.1.2



Options: It has puzzle size, color preferences, timer, List of Languages to select and show candidates command.



Help: It has contents and about where about shows the current version of the software, copyrights of the software, which also has a link to the website and a link to check for an updated version of the software or application. Figure 3.1.2

Sub menu consists of:

Sub menu section consists of: 

Create new: It is used to start a new game.



Open: Used to open a saved game or a different difficulty level game (can be hard, extreme, easy, and standard).



Save as: used to save a game rather than abruptly exiting session.



Copy: Used to copy the puzzle to the clipboard.



Paste: Used to paste the copied puzzle from the clipboard.



Undo: To restore to a previous state.



Redo: committing the desired change.



Hint: Hints are used to solve the puzzle by displaying the naked single.

Below Figure 3.1.3 shows the Sub menu section Figure 3.1.3 Create

new

Hint

Open

Redo

Save as

Undo Copy

Paste

Below figure 3.1.4 shows the Color Marker menu Figure 3.1.4

Color Marker menu: 

It has different color markers to mark the cells. Blue marker, Pink marker, Green marker, Amber marker are few markers present in simple Sudoku along with a Remove all marker button as shown in the figure 3.1.4.

Below figure 3.1.5 shows the Filter menu Figure 3.1.5

Filter menu: 

Filter on digits are applied with the help of this menu, which has filter on 1’s, filter on 2’s and so on till filter on 9’s as shown in the figure 3.1.5. By using these filter on digits, particular digit with filter are marked in the puzzle.



It also has a filter on pairs which filters closely packed digits.



Clear filter which is used to clear the marked filter.

3.2 Hardware Interfaces 

The main hardware requirements for playing Simple Sudoku are Mouse or a Track pad.



Other requirements such as processor, memory are all ready mentioned under Operating Environment section.

3.3 Software Interfaces 

Optional Java runtime environment is required for the smooth process of playing the game or executing the application.



Windows Operating System is one of the important software interfaces as it is the only Operating System where simple Sudoku can be played or supported, Simple Sudoku has compatibility issues with other software Operating systems.

3.4 Communications Interfaces 

Simple Sudoku doesn’t have communication interfaces, communication interfaces resembles software such as Google talk or Yahoo messenger which are used to communicate with the help of internet.

4. System Features Important outlined features of Simple Sudoku which are discussed under Software Functions section 2.2 are explained here in detail:

4.1 Create New 4.1. 1 Description and Priority: This feature Create New starts a new game from the listed levels Easy, Hard, Expert, and Extreme.

Rating: 9 (High priority, very important to start a new game) Risk: 1 (low priority) 4.1.2

Stimulus/Response Sequences:

Click on the file menu and navigate to Create New and select the level to start the game.

4.2 Multi Cell: 4.2. 1 Description and Priority: Multi cell selection helps in excluding the candidates Rating: 7 (High priority, specifies a choice to exclude the cells) Risk: 3 (Be careful in excluding the cells) 4.2.2

Stimulus/Response Sequences:

On the Edit menu navigate to exclude candidates which helps in excluding multi cells.

4.3 Filtering of candidates: 4.3. 1 Description and Priority: Filtering of candidates used to filter specific digits for example 1’s or 2’s or 7’s.With the help of filtering blank cells are filled. Rating: 5 (low priority, if you want hints to filter then use it) Risk: 3 (might unknowingly filter the candidates to fill the blank cells) 4.3.2

Stimulus/Response Sequences:

Under view menu navigate to filter candidates to filter the candidates.

4.4 Multi language GUI: 4.4. 1 Description and Priority: The Graphical user interface GUI has an availability of Multi languages such English, Chinese, Russian, and Greek. Rating: 9 (high priority, Game can be played globally) Risk: 1 (low priority)

4.4.2

Stimulus/Response Sequence

Under options menu navigate to languages to set the language for the application.

4.5 Hint: 4.5.1

Description and Priority:

Hint is used to solve the naked single, which shows the blank cell which is color marked. Rating: 9 (High priority, helps at the time of difficulty) Risk: 1 (low priority) 4.5.2

Stimulus/Response Sequence

Under View in the main menu navigate to Hint to find the naked single.

4.6 Clear filter: 4.6.1

Description and Priority:

This feature is used to clear the marked filter on the singles. Rating: 5 (helps in clearing the filter) Risk: 1 (low priority) 4.6.2

Stimulus/Response Sequence

Located in the View menu navigate to Clear Filter to clear the marked filter Singles.

4.7 Exclude Candidates: 4.7.1

Description and Priority:

Used to exclude the candidates such that you make a right move to fill the blank cell. Rating: 5 (helps in excluding the digits successfully, in order to make a candidate in the blank cell) Risk: 5 (results in an invalid move be careful, as invalid moves are counted) 4.7.2

Stimulus/Response Sequence

Located under Edit in the main menu and navigate to exclude candidates which further helps in excluding the particular digits starting from 1 to 9.

5. Other Nonfunctional Features 5.1 Performance The performance of the application is measured while it is played which means it evaluated on real time performance. When the application is executed it takes hardly 1 to 2 seconds to launch the application. After executing, application works in real mode at a frequency of 60 Hz with a resolution of 1920 x1440. But the game can’t be played in full screen mode.

5.2 Safety Simple Sudoku application doesn’t have any safety concerns.

5.3 Security Simple Sudoku doesn’t access internet so there are no security concerns.

5.4 Software Quality Attributes 

Simple Sudoku application is compatible with windows only.



It has compatibility issues with Mac operating systems.



With windows operating systems Simple Sudoku offers good user interaction with decent guiding options such as hints, excluding candidates, naked single selection and also with many user interface languages.

5.5 Business Rules There are no business rules regarding this application.

6. Other Features All system features and functionality of the application are discussed prior in the Software Functions section 2.2 and in detail in System Features section 4.

Appendix A: Glossary 

Java Se: Java standard edition is an enterprise software used by developers to develop java applications.



Depth first algorithm: This algorithm is used to find the blank cells in the matrices.



Use case diagrams: Use case diagrams are one of the UML diagrams used to represent software architecture. A use case diagram identifies the functionality provided by the system (Use cases), the users who interact with the system (actors) and the association between the users and the functionality.



Software requirement specification (SRS): Software requirement specification is a documentation which has the desired requirements used in development stages in designing an application.



Graphical User interfaces (GUI): Graphical user interface is a representation of the application. GUI displays the options to use and interacts with user in a much better appealing way.



Unified modeling Language (UML): It is Standardized modeling language used to develop software applications.



Dancing Links algorithm: It is an algorithm used to find the finite deterministic value or a digit in the blank cells. It is a modified algorithm of Depth First.



Java script: It is scripting language used at client-side.



(Actor)



(Use Case) : An Use case is a functionality provided by the system.

 

: An actor in an UML is a user which interacts with the system.

C a (Association): An association is used to link the actors with the use cases. n di Clipboard: A temporary cache memory used by the computer to store or copy the data. d at es

Appendix B: Analysis Models 

An Analysis model such as an Use case UML diagram has been included in the Software Functions under section 2.2 for analysis of the application Simple Sudoku.