Sie sind auf Seite 1von 37

PROJECT REPORT ON MATHEMATICAL GRAPHS

Department of Computer Science & Mathematics AIM & ACT Banasthali University

Guided by: Mr. Sanjay Sharma

Submitted By: Priyanka Gupta (5892) Swati Gupta (5911) Varsha Yadav(5917) Vijaya Lakshmi (5918)

CERTIFICATION
This is to certify that the project entitled MATHEMATICAL GRAPHS has been carried out jointly by Ms.Priyanka Gupta, Ms.Swati Gupta, Ms.Varsha Yadav, Ms.Vijaya Lakshmi at Banasthali University under my supervision. The word put in by them is original and outcome of their own efforts.

Project Guide Mr.Sanjay Sharma

ACKNOWLEDGEMENT
The completion of our project is owed to the great and indispensable help received from different people. We express our profound gratitude to our esteemed professor Mr. Sanjay Sharma, AIM & ACT, Banasthali Vidhyapith, whose inspiration, suggestion and invaluable guidance enable us to develop the software. We extend our special thanks to our project coordinators, Mr. Pradeep Sharma and Mr. Ajit Jain, for their constant guidance during development of software and for their cooperation throughout the project work.

Yours sincerely, Priyanka Gupta, Swati Gupta, Varsha Yadav, Vijaya Lakshmi

Table of Contents
1. Introduction 1.1 Purpose 1.2 Scope 2. System Requirement specification 2.1 Overview 2.2 Definitions 2.3 General Description 2.3.1 Product Perspective 2.3.1.1 Interfaces 2.3.1.2 Hardware Interface 2.3.1.3 Software Interface 2.3.1.4 Memory Constraints 2.3.1.5 Site adaptation requirements 2.4 Product Function 2.5 User Characteristics 2.6 Specific Requirements 2.6.1 Functional Requirements 2.6.2 Performance Requirements 2.6.3 Design Constraints 2.7 Software System Attributes 3. System Design specification 3.1 System Architectural Design 3.1.1Structural Chart

3.1.2 Data Flow Diagram 3.2 Detailed Description of Components 3.3 User Interface Design 3.4 Testing Strategy 4. Read Me 5. Conclusion 6. References

1.Introduction
1.1) Purpose The purpose of the project is to automate the manual drawing of various Mathematical graphs.

1.2 )Scope Mathematical Graphs is a project that enables the end user i.e. student to draw different mathematical shapes like sine graph, cosine graph, Tan graph, circle, parabola, ellipse, and hyperbola.

Independent built modules together form software, which is able to draw various types of mathematical graph.

2.System Requirement specification


2.1) Overview This document gives all description of the project: Product perspective, hardware and software requirements, product function, memory constraints within which the system is developed. The functional requirements, performance requirements and non-functional requirements (quality attributes) set for the building up of the Mathematical Graphs are also described.

2.2) Definitions Ellipse-A curved line forming a closed loop, where the sum of the distances from two points (foci) to every point on the line is constant.

Hyperbola-It is the set of all points (x, y) in the plane the difference of whose distances from two fixed points is some constant. The two fixed points are called the foci. Parabola-is the set of all points (x, y) that are the same distance from a fixed line (called the directrix) and a fixed point (focus) not on the directrix.

2.3) General Description Manually plotting of graphs is a delayed process and human efforts are needed for it. Chances of errors are much higher in manual drawing. Accuracy is also not achieved at the par. This project is aimed to build such an application, which will be helpful for drawing various Mathematical Graphs so as to reduce human effort and paper work, thus reducing the time and provides accuracy and reliability.

The major characteristics of this project are: 1) To develop independent modules for each type of graph. 2) As soon as the user selects his/her choice from menu and enters required values, graph will be plotted. 3) Output graph must be reliable and accurate.

2.3.1) Product Perspective: Mathematical graphics is software, which will generate colorful and accurate mathematical graphs according to user specifications and requirements. Product is entirely self-contained and portable.

2.3.1.1) Interfaces: Users will interact with system via GUI. User is interacting with the software via menu like interface. There are 2 modes- Input mode and Output mode. In the input mode user is allowed to enter the requirements of desired graph. After inputting the required values, switching to output mode takes place where graph is actually drawn.

Graphing Mode There is 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, they can switch to an output mode, where the graph will actually be drawn.

2.3.1.2) Hardware requirements: The application is able to interact with compatible type of hardware. A PC with Pentium IV Processor

2.3.1.3) Software requirements:

Front End: Turbo C++ Back End: Not required Operating System: Windows XP/Vista From developers point of view Turbo C++ compiler is Required.

2.3.1.4) Memory constraints: 512 MB RAM Hard disk - 1 GB

2.3.1.5) Site Adaptation Requirements: No site adaptation is necessary in this project. The software is portable and 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.4) Product function: The product will generate various colorful and accurate mathematical graphs (Sine, Cosine, Tangent, Circle, Parabola, Ellipse, Hyperbola) according to users demand and requirements.

2.5) User characteristics: User should have basic knowledge about English language, computer and about Mathematics graphs.

2.6) SPECIFIC REQUIREMENTS

2.6.1) Functional requirements: The system should verify that the algorithm input into the system is valid before processing. If it is valid, it will produce a response that will be output to the screen else no graph will be displayed.

Formulas for input to output conversion

1. General equation for circle is (x-a)2+(y-b)2=r2

2. General equation of Parabola (x-b)2=4a(y-c) 3. General equation of Ellipse ((x-c)2/a2)+((y-d)2/b2)=1 4. General equation of Hyperbola ((x-c)2/a2)-((y-d)2/b2)=1

Because of menu driven (switch case) program main menu function will be used to select the required option to draw graph.

Initializing graphics function will be used to start graphics system by loading a graphics driver from disk and to reset all graphics settings, current position, color, and viewpoint.

Sin graph cos graph tan graph Circle Ellipse Parabola Hyperbola Exit

output

Lines function will be used to draw line or boxes.

Parabola function will be used to draw parabola according to equation of parabola.

Circle function will be used to draw circle according to equation of circle.

Ellipse function will be used to draw ellipse according to equation of ellipse.

Hyperbola function will be used to draw hyperbola according to equation of hyperbola. Trigonometric graph will be used to draw trigonometric graph using function to calculate sine, cosine, and tan according to choice of user.

2.6.2) Performance Requirements:

The software will be designed to support single user inputing numerical values into system and will return a result of display graph. All user variables saved in the system will be stored as 32-bit floating-point values. 98% of all algorithms input by the user into the system will be processed within one second.

2.6.3) Design Constraints:

1) Designing will be done following IEEE format. 2) More than one graph cannot be drawn simultaneously. 3) To exit, QUIT has to be selected.

2.7) Software System Attributes:

Reliability: System will be thoroughly tested at the time of delivery to eliminate possible chances of errors.

Maintainability: Simple and clear documentation will be done so that the project is easily understood and further extended.

Portability: C++ is used as programming language so product is highly portable i.e. we can transfer the software from one system to another system very easily.

3. System Design specification

3.1 )SYSTEM ARCHITECTURE & DESIGN

3.1.1) STRUCTURE CHART

MAIN

ELLIPSE

HYPERBOLA

PARABOLA

CIRCLE

TRIGNOMETRIC GRAPH

EXIT

3.1.2) DATA FLOW DIAGRAMS

DFD is a graphical representation of a system that shows data flows to, from and within the system. These are used to depict specific data flows from both physical & logical view point. The DFD's are divided into different levels starting from 0th level until we get the final description of system.

Selection of Graphs USER Enter Required Parameters Graph Displayed Quit MATHEMATICAL GRAPHS

Exit From System

ZERO - LEVEL DFD OF MATHEMATICAL GRAPHS

USER

Select The Graph

Selection

Coordinates are entered

Graph Drawing

FIRST - LEVEL DFD OF MATHEMATICAL GRAPHS

3.2)

DETAILED DESCRIPTION OF COMPONENTS

Circle module Description of Component: This module will help user to draw circle of required dimensions. Component Interface Description: Input Centre and radius will be entered by user. Output Circle of given dimension will be displayed on screen.

Component Processing Detail:

Input data will be processed according to the algorithm described. The processing algorithm is based on the equation of circle is:

If Circle

No

Go to selected module

Yes
centre & radius are entered

X and Y axis are drawn and scaling is done

Exact location of centre and radius is calculated w.r.t to origin and scale

Inbuilt function for drawing Circle is called

Output Circle is displayed

Flow chart for Circle Module

Parabola module Description of Component: This module will help user to draw parabola. Component Interface Description: Input Vertex and its distance from focus will be entered by user. Output Parabola of given dimension will be displayed on screen.

Component Processing Detail: Input data will be processed according to the algorithm described. The processing algorithm is based on the equation of parabola is:

If parabola

No

Go to selected module

Yes
Select a second degree variable

vertex & its distance from focus are entered

X and Y axis are drawn and scaling is done

Exact location of vertex is calculated w.r.t to origin and scale

Using the general equation of Parabola, graph is plotted

Output Parabola is displayed

Flow chart for Parabola Module

Ellipse module Description of Component: This module will help user to draw Ellipse. Component Interface Description: Input Coordinates of centre and length of major axis and minor axis of ellipse will be entered.

Output Ellipse of given dimension will be displayed on screen.

Component Processing Detail: Input data will be processed according to the algorithm described. The processing algorithm is based on the equation of ellipse is:

If ellipse

No

Go to selected module

Yes
centre & major and minor axis are entered

X and Y axis are drawn and scaling is done

Exact location of centre is calculated w.r.t to origin and scale

Inbuilt function for drawing Ellipse is called

Output Ellipse is displayed

Flow chart for Ellipse Module

Hyperbola module Description of Component: This module will help user to draw different shapes of hyperbola. Component Interface Description: Input Length of transverse axis and conjugate axis and coordinates of centre of hyperbola will be entered by user as requirement. Output Hyperbola of given dimension will be displayed on screen.

Component Processing Detail: Input data will be processed according to the algorithm described. The processing algorithm is based on the equation parabola is: of

If Hyperbola

No

Go to selected module

Yes
Select the positive variable(x or y)

Enter the constant terms of the equation

X and Y axis are drawn and scaling is done

Calculations are done w.r.t to origin and scale

Using the general equation of Hyperbola, graph is plotted

Output Hyperbola is displayed

Flow chart for Hyperbola Module

Trigonometric module Description of Component: This module will help user to draw different shapes of trigonometric graph such as Sine, Cosine, and Tangent.

Component Interface Description: Input Maximum and minimum value of angle in degree (for starting and ending of graph) will be entered by user as requirement. Output Trigonometric graph of given dimension will be displayed on screen.

Component Processing Detail: Input data will be processed according to the algorithm described. The processing algorithm is based on the equation of corresponding trigonometric function.

If trigonometric

No

Go to selected module

Yes
Enter max and min degree

X and Y axis are drawn and scaling is done

If min<max

No

Output is displayed

Yes
Value of selected trigonometric function is calculated for min value

Min value is incremented by .01 after drawing the corresponding point

Flow chart for Trigonometric Module

3.3) USER INTERFACE DESIGN

Users ViewInput View

Input screen for main menu

Input screen for sin graph

Input screen for tan graph

Input screen for ellipse

Output View

Output screen for sine graph

Output screen for tan graph

Output screen for ellipse graph

3.4) TESTING

Classes of Tests

Testing is the process of making sure that the program performs the intended tasks.

Unit Testing: Each module or function of the system is tested individually. Integration Testing: In this, many units tested modules are combined into sub systems, which are then tested. System Testing: Entire system software is tested. It is a testing of the system against its initial objectives. Acceptance Testing: It is performed with realistic data to demonstrate that the software is working satisfactorily.

4.

Read Me
To run the software the user will need to install turbo c++ compiler on his computer. User has to first compile the program once and then run the executable file.

5.

Conclusion

Project has been successfully completed and software has been developed to automate the manual drawing of various mathematical graphs.

6.

References

Website: http://www.tpub.com/math2 Software Engineering by Roger S. Pressman System Analysis and Design by Elias M. Awad IEEE Format of SRS and SDS

Das könnte Ihnen auch gefallen