Professional Documents
Culture Documents
Project Report
Project Report
Department of Computer Science & Mathematics AIM & ACT Banasthali University
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.
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.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
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.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.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.
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
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.
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.
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.
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.
MAIN
ELLIPSE
HYPERBOLA
PARABOLA
CIRCLE
TRIGNOMETRIC GRAPH
EXIT
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
USER
Selection
Graph Drawing
3.2)
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.
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
Exact location of centre and radius is calculated w.r.t to origin and scale
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
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.
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
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)
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
If min<max
No
Output is displayed
Yes
Value of selected trigonometric function is calculated for min value
Output View
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