You are on page 1of 19

1.

INTRODUCTION
1.1 PURPOSE The purpose of this document is to provide the software requirement specification report for the graph plotter software. This document will provide the complete description about the features of the software, the interfaces of the system , what the graph plotter software will do , the constraints under which it must operate and how the software will react to different inputs. This document is intended for mathematicians, nave users, business men, analysts and anyone who intends to learn about graphs . SCOPE This system will be a windows application written in visual c# . This system will be designed to minimize the effort of mathematicians , nave users, business men ,analysts and anyone who intends to learn about graphs. For example :i) In determining whether to use a graph or chart, consider the old adage, a picture is worth a thousand words. The point here is that the picture should save a thousand words. That is, the graph or chart should supplement the text or that defeats its purpose. Likewise, the graph or chart must be relevant and support the text, rather than detract from it. Finally, if the business plan is being presented to one or few investors, the amount of graphs and charts should reflect the wants, needs and sophistication of those few readers. For instance, if the plan is being presented only to strategic investors who understand the market, more graphs may be appropriate to convey information for which these investors already have background knowledge. ii) Essential for school projects. Teachers usually have to go through dozens of reports each semester. After a while, they all look similar to them. When students use graphs, they can help capture the teachers attention by differentiating themselves
1|Page

1.2

iii)

from other classmates. It is more visually appealing to show a colorful graph then to hand in a project with hundreds of lines of raw data. In addition, when a student uses graphs, they are showing initiative by going beyond what is asked of them by displaying their research in a well-explained graph. Mathematicians can easily access any value of function by simply plotting the graph on software .Graph plotter is a powerful tool to find asymptotes of functions , break points , extreme points and calculate limit , define integral and derivative of function.

1.3 DEFINITION, ACRONYMS AND ABBERVIATIONS RAM - Random access memory C#c sharp

MS Microsoft ABACUS - It is the name of the graph plotter software. ZEDGRAPH - It is the name of the graphics library exported to draw various graphs. 1.4 REFERENCES 1.4.1 WEBSITES (a) www.zedgraph.com (b) www.wikipedia.com (c) www.asp.net (d) www.codeproject.com (e) www.mathwork.com 1.4.2 BOOKS (a) Windows Forms Programming in C# (b) C# Programming for Beginners (c) Playing with graphs : Chris Sells : Mahesh Chand : Arihant Publication
2|Page

1.5 OVERVIEW For the rest of the document , we first of all have defined the overall software .Then, we have given the external interface requirements, followed by a brief description of the products components and features. In the last section, we have provided the non-functional requirements of the product .

2 THE OVERALL DESCRIPTION 2.1 PRODUCT PERSPECTIVE ABBACUS is a standalone system. It aims to replace the existing graph plotter softwares by providing an enhancement over their existing features. Thus, ABBACUS is a self-contained graph plotter that have many different features that other graph plotters available in the market do not have. 2.1.1. SYSTEM INTERFACE The system interface provides the basic functions to start and stop the application, and to get information on the number of processes and the own process identifier. It also provides a function to poll the system layer for asynchronous events. This function is architecture dependent, and only be called when ZEDGRAPH is defined .

Fig.1 g.u.i. of the application


3|Page

2.1.2 INTERFACES Graphing Mode : The graphing mode of the plotter actually comes in two parts. An input mode and an output mode. Both interfaces will cover the entire screen. In the input mode, the user is allowed to enter the function that he/she will want to graph. After the user inputs the functions that are needed ,the plotter will display on the screen

Fig.2 input screen

Fig.3 output screen


4|Page

2.1.3 USER INTERFACE Basically there will be two user interfaces provided by the software. Namely first one will be the screen containing a pane providing area for the user to input his plotting coordinates as well as various customizations to make his graph more specific. Secondly there will a drop down menu containing the list of all the functions that the software can plot .

2.1.4 SOFTWARE INTERFACE Software will depend on the graphic features provided by the operating system and the language visual c# .

2.1.5 COMMUNICATION INTERFACES The current versions have no communication interface for the software because this is just a windows application. If anyone wants to make it communicable then he/she can integrate with TCP / IP protocol to their web applications so that it would work online.

2.1.6 MEMORY CONSTRAINTS Hardware Memory Hard disk: 10 GB (minimum) RAM: 2 GB

5|Page

2.1.7 OPERATIONS Trigonometric graph operations

Fig.4 trigonometric graph

Bar graph operations

Fig.5 Bar graph


6|Page

Horizontal bar graph operations

Fig.6 horizontal bar graph

Texture Fill graphs

Fig.7 texture fill graph

7|Page

Pie chart graphs

Fig.8 pie chart graph

2.1.8 SITE ADAPTATION REQUIREMENTS No site adaptation is necessary in with this project. Because the ABACUS graph plotter is portable and is self-contained. The entire system is transported to wherever it is needed. No external dependencies are in place and operation of the system will never change due to location.

2.2 PRODUCT FUNCTION The main function of ABACUS to allow its users to plot graphs of different kinds . These graphs could be of mathematical functions and business graphs. It also allows the users to plot pie chart graphs and bar graphs.
8|Page

Having being said that this software is easy to use and is very efficient .User can save lot of time using this. Naive users can attain a lot of knowledge about mathematical functions and can access the values in graph easily.

2.3 USER CLASSES AND CHARACTERISTICS The major user classes that are expected to use this product are as follows Mathematicians The mathematicians are major users of this software as this will help them to save lots of their time. They will be able to plot almost every mathematics graph trigonometric , algebraic .It will also help in finding the Extreme points , break points of the functions , continuity of the function.

Fig.9 uses for mathematician

9|Page

Business men Most business men use graphs to show how their bottom line is actually going, how good production control is , how much scrap is being made, and how their actual verses planned numbers are for the quarter or year.

Fig.10 uses for business men Teachers Essential for school projects. Teachers usually have to go through dozens of reports each semester. After a while, they all look similar to them. When students use graphs, they can help capture the teachers attention by differentiating themselves from other classmates. It is more visually appealing to show a colorful graph then to hand in a project with hundreds of lines of raw data. In addition, when a student uses graphs, they are showing initiative by going beyond what is asked of them by displaying their research in a well-explained graph.

Fig.11 uses for teachers


10 | P a g e

2.4 CONSTRAINTS The following are some constraints of our project:i) Due to the lack of time we are unable to implement 3 Dimensional functions of the graphs. ii) All the coding will be done in visual c# programming language iii) User should have a reasonable knowledge of graphs to access all the best features of the software. 2.5 ASSUMPTION DEPENDENCIES Due unavailability of graphics library in c # ( c sharp) we have to rely on open source graphics library called zed graph graphic library . So firstly we need to download it from internet and integrate it with our project in visual studio to implement various graphics functionalities. 2.6 APPORTIONING OF REQUIREMENTS SOFTWARE REQUIREMENTS: Operating System: Windows XP or above Programming Language: Visual c# Frame Work: Visual studio 2010

HARDWARE REQUIREMENTS: Processor: CORE 2 DUO / DUAL CORE (or above ) Clock Speed: 2.16 GHZ Hard disk: 10 GB (minimum) RAM: 2 GB

11 | P a g e

3. SPECIFIC REQUIREMENTS
3.1 EXTERNAL INTERFACES

This section will contain all the inputs into and outputs from the software: External Interface Requirements 3.1.1 User Interfaces * Keyboard * Mouse and * Display device. 3.1.2 Hardware Interfaces * Memory: 4GB, expandable * Processor: Intel Chipset (CORE 2DUO AND ABOVE) * Hard Drive Capacity: 80GB, expandable * Operating System: Window XP, Window Vista or Window 7

3.1.3 Software Interfaces Database * MySQL Server version 5 or above. Programming Languages * Visual c # (c sharp)

12 | P a g e

3.2 FUNCTIONS

The system shall verify that the algorithm input into the system is valid before processing. If the input sequence is valid, the algorithm processor will produce a response that will be output to the screen. If the input sequence is invalid, an error message will be displayed and the user will be prompted to correct the input.

3. 3 PERFORMANCE REQUIREMENTS

The software will be designed to support a single user inputting a mathematical algorithm into system and will return a result of numerical value. All user variables saved in the system will be stored as 32-bit floating point values. The user will be limited to storing no more than 26 variables at one time.98% of all algorithms input by the user into the system will be processed within one second. 90% of all graphed algorithms will be completed within a 10 second time frame.

3. 4 LOGICAL DATABASE REQUIREMENTS

The software system will hold three logical databases. The algorithm processor will parse the algorithm into a tree structure before processing. After processing the tree, the data inside will not be accessed a second time. A database will be kept to store options about the software. This database will hold integers and floats as well as Boolean data. The information stored will be access at almost every possible interface with the user and by almost every internal system. The software will allow a user to store and recall values. These values will be stored in a database and will be accessed only if the user updates or requests a stored value. The input interface and the algorithm processor will access this database

13 | P a g e

3. 5 DESIGN CONSTRAINTS All the data that we want to plot in the ABACUS graph plotter software needs to be inputted through the spreadsheet or MS excel sheet. Direct input will lead to an error in the software .And the user needs to select the function that he/ she wants to plot.

3.6 SOFTWARE SYSTEM ATTRIBUTES The input system will allow for inputting data from spreadsheet and this data can be an number , angle (theta) in case of trigonometric functions , statistical data (for bar graphs and pie charts). The output will be in the form of graph and this graph will be according to the selected function .

3.7 ORGANIZATION OF SPECIFIC REQUIREMENTS System Mode The system is designed to function on a state to state basis. There are three main states: 1) Standard input 2) Graphing input 3) Menu navigation At the standard input state, a character sequence is entered via keyboard. When the user signals that the input is finished, the system processes the algorithm and outputs a result.

14 | P a g e

During graphing input the user interaction is similar but there is added functionality for manipulating more than one algorithm at a time. Once the user signals done, the algorithms are processes and a graphic is produced. During menu navigation, the user is allowed to change different options pertaining to the system. The input no longer accepts the characters associated with building an algorithm but instead allows the user to travel from menu to menu and set options visually represented by toggles.

3.7

ADDITIONAL COMMENTS None at this time

APPENDICES

APPENDIX 1 APPENDIX 2 APPENDIX 3

: TITLE PAGE : TABLE OF CONTENT S : LIST OF FIGURES

15 | P a g e

APPENDIX 1 TITLE PAGE

SOFTWARE REQUIREMENT SPECIFICATION

PROJECT TITLE TEAM TITLE PROJECT GUIDE

::-

ABACUS GRAPH PLOTTER THE GENERATORS

:- MRS. NEETU SHARMA

TEAM MEMBERS

:GAGANDEEP SINGH (C09317) OM JI PANDEY (C09327)

16 | P a g e

APPENDIX 2 TABLE OF CONTENET 1. INTRODUCTION


1.1. PURPOSE 1.2. SCOPE 1.3. DEFINITION ,ACRONYMS AND ABBERVIATIONS 1.4. REFERENCES 1.5. OVERVIEW

2. THE OVERALL DESCRIPTION


2.1. PRODUCT PERSPECTIVE
2.1.1. 2.1.2. 2.1.3. 2.1.4. 2.1.5. 2.1.6. 2.1.7. 2.1.8 SYSTEM INTERFACES INTERFACES HARDWARE INTERFACES SOFTWARE INTERFACES COMMUNICATION INTERFACES MEMORY CONSTRAINT OPERATIONS SITE ADAPTATION REQUIREMENTS

2.2. PRODUCT FUNCTIONS 2.3. USER CHARECTERISTICS 2.4. CONSTRAINTS 2.5. ASSUMPTIONS FOR DEPENDENCIES 2.6. APPORTIONING OF REQUIREMENTS

3. SPECIFIC REQUIREMENTS
3.1. EXTERNAL INTERFACES 3.2. FUNCTIONS 3.3. PERFORMANCE REQUIREMENTS 3.4. LOGICAL DATABASE REQUIREMENTS 3.5. DESIGN CONSTRAINTS 3.6. SOFTWARE SYSTEM ATTRIBUTES
17 | P a g e

3.7. ORGANIZATION OF SPECIFIC REQUIREMENTS

3.8. ADDITIONAL COMMENTS

18 | P a g e

APPENDIX 3 LIST OF FIGURES

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

G.U.I. of the application Input screen Output screen Trigonometric graph Bar graph Horizontal bar graph Texture fill graph Pie chart graph Uses for mathematician Uses for business men Uses for teachers

19 | P a g e

You might also like