Table of Contents 1. INTRO NTRODU DUCT CTIO ION N 1.1 Purpose 1.2 Project Scope 1.3 Overview Of The Requirement Specification Document 1.4 Document Conventions 1.5 Intended Audience And Reading Suggestions 1.6 Details Of Requirement Gathering Process 2. OVER OVERAL ALL L DESC DESCRI RIPT PTIO ION N 2.1 Product Perspective 2.2 User Classes & Characteristics 2.3 Operating Environment 2.3.1 Hardware 2.3.2 Software 2.3.3 Network 2.3.4 Communication 2.3.5 External Database & File Interfaces 3. PROD PRODUC UCT T OR SYST SYSTEM EM FEA FEATU TURE RES S 3.1 Use Cases For Scientific Calculator 3.2 Design & Implementation 3.3 Assumptions & Dependencies 3.4 User Characteristics 4.
REQUIREMENT SPECIFICATIONS 4.1 System Interfaces 4.2 External Interfaces Requirements 4.3 User Interfaces 4.4 Hardware Interfaces 4.5 Software interfaces 4.6 Communication Interfaces
5. OTHER REQUIREMENTS 5.1 Maintainability 5.2 Availability 5.3 Scalability 5.4 Installation 6. DOCUMENT APPROVAL APPENDIX A : GLOSSARY APPENDIX B : REFERENCES
1 Introduction 1.1 Purpose
Purpose of this document is to describe requirement specifications for Scientific Calculator and is to inform the readers and students of the class of the significant details and background of our project. This project is simulating the basic algebraic and trigonometric and engineering calculations. The basic algebraic functions will include addition, subtraction, division, and multiplication. The calculator will also be able to compute the power, sine, inverse sine, cosine, inverse cosine, tangent, inverse tangent, exponential, logarithm, natural logarithm, and square root functions. 1.2 Project Scope
The scope of project includes the implementation of the functionality needed for calculating arithmetic and scientific operations, memory operations setting and showing will be developed. The software product also designed to include menus for selecting which scientific functions to compute, an options menu for changing the options on the implemented machine. The software products will be interactive with the client, in which they allow him/her to choose all of the options from the first display screen.
1.3 Overview of the Requirement Specification Document This document specifies the functional requirements for a scientific calculator p rogram. This program is designed to act like a “handheld calculator” with the usual standard functions (add, subtract, multiply, divide, exponentiation and memory). Also the calculator will have the capability of performing functions in binary (base 2), octal (base 8) and hexadecimal (base 16), in addition to the usual decimal (base 10). This document will be used by the team as a base document for entire Project Development Life Cycle (PDLC). The rest of this document will give further details on the overall product description, including the hardware, software, and communications interfaces, product functions, user characteristics, and any assumptions that will be made. The document will also include the specific requirements needed. These will include the functions, performance, design, and software attributes. This document is organized in a logical manner and is easy to follow. Readers should refer to the table of contents if looking for something in specific.
1.4 Document Conventions For this SRS PDLC standards will be used. As of yet there are no special sections which needs to be specifically pointed out.
1.5 Intended Audience and Reading Suggestions Basically this project is developed for the purpose of enhancing students programming skills and familiarization with PDLC (Project Development Life Cycle) process. Project can be used as reference for future college projects. This document is intended for any user wishing to understand the underlying concepts in the software developed for Scientific Calculator. Readers will most likely include computer engineering students as well as any interested VB software developers 1. 6 Details of requirements gathering process
Requirements are gathered using the following standard. 1) Study of existing open source projects ove r Internet 2) Discussion among the group and with guide 3) Some requirements are gathered through various sources from Internet and open source projects available and books from library.
2. Overall Description 2.1 Product Perspective
Proposed Scientific Calculator shall be implemented in Visual Basic. The design mimics the calculator present in Microsoft windows operating systems with small modifications. The features provided by the calculator include all features typical of a calculator. It can be used in place of the calculator program which is included with the operating system. There are two views of a calculator. Basic view provides the standard functions of a calculator, and the scientific view allows access to the advanced features. Input is provided through GUI buttons or the keyboard. Number formats supported include Hex, dec, oct and binary. Hex, Oct and bin numbers can be of size QWord, DWord, Word, or Byte (see glossary for explanation). Arithmetic operations are supported. A set of trigonometric operations is provided in addition to algebraic functions. A memory is provided to hold single number between calculations. Enter numbers either by clicking on the buttons or using the keyboard. To use the arithmetic functions, click their buttons. If the function is unary (only one operand) the display is updated to the result. If the function is binary (two operands) enter the second number and click = or another arithmetic key. An optional menu bar (or command bar) can be used to give access to additional functions. All the menu bar functions can be obtained in other ways.
2.2 User classes and characteristics Scientific Calculator shall be implemented in Visual Basic. The design mimics the calculator present in Microsoft windows operating systems with small modifications. The features provided by the calculator include all features typical of a calculator. Below figure shows user classes diagram.
2.3 Operating Environment The program shall be written in standard Visual Basic and compiled using VB 6.0. The program shall use VB library functions. Developed calculator shall be usable on any system that runs on windows and shall not require any particular hardware or software. 2.3.1 Hardware
The following Hardware configuration at least: A PC with Pentium IV Processor 128 MB RAM & ABOVE 40 GB HDD & ABOVE A 640x480 screen resolution with a minimum of 256 colors. 2.3.2 Software
Programming Language: VB Platform: VB 6.0 Operating System: Windows
2.3.3 Network
N/A 2.3.4 Communication
N/A
2.3.5 External Data Bases and File Interfaces
There are no existing external data bases or files that will be needed by this program
3 Product or System Features 3.1 Use cases for scientific calculator
1) Arithmetic calculations: As a calculator, it seems obvious that this machine will be able to perform basic arithmetic calculations. Addition, subtraction, multiplication etc. will be done with this machine. 2) Higher level (scientific) calculations: The user will be able to use this calculator to do sine, cosine, tan and log as well as their inverse operations. All calculations deemed “scientific” will be allowed. 3) Memory operations: This function will provide the “standard calculator” single memory operations, including: MC Memory Clear. Memory store, memory clear, operations where the memory unit is one of the operands and the result is stored back into memory. 4) Output: This function will display the results of a calculation or memory. Results should be displayed under the following conditions: 1. Whenever the equals sign (=) is input. 2. Optionally, whenever the ENTER key is pressed.
3.2 Design and Implementation
The calculator has the following keys: 0……9, ., +, -, *, /, ±, =, C, CE and 1-operand keys: 1/x, x2, sqrt. In any situation the calculator has to produce a correct result defined by the well known Arithmetic rules. If the calculation is impossible the calculator has to display information helping the user to resolve the erroneous situation, like: • On encountering a division by 0 the display should read "Cannot divide by 0" and typing the key “C” should reset the calculator. • On calculating the square root value of a negative operand the display should read "Wrong operand". • On erroneous operand or operation keys the display should read “Reset (C) to con tinue” o Below user interface samples are taken as reference to design and implement the proposed scientific calculator.
Fig: View of standard calculator
Fig: View of standard calculator with menu bar
Fig: View of Scientific calculator
Fig: View of scientific calculator with menu bar
3.3 Assumptions and Dependencies
The project is intended for development of programming and PDLC software engineering aspects. Not intended for commercial or business perspective. Calculator mimics the version available in windows operating systems. As the project is for development and enhancement of programming skills for college graduates, we designed and planned to implement few of the scientific features available in windows operating system. 3.4 User Characteristics
Users of this device will usually be students from the middle school level to the undergraduate college. The user will have to know basic arithmetic (or at least how arithmetic works) to make functional use of the calculator.
4 Requirements Specifications 4.1 System Interfaces
1) Arithmetic: the system will use the built in ALU to compute all the arithmetic that will be done for the calculator. 2) Upper level Calculations: The programmers of the machine will write in functions that the machine will be able to call to produce upper level calculations. 4.2 External Interfaces Requirements
N/A 4.3 User Interfaces
User interface for the scientific calculator is developed using VB 6.0. The various buttons involved are described below:
ALL CLEAR – Clears the calculator, and resets any functions. The contents of the memory are not affected by AC.
CLEAR ENTRY – Erases the last number or operation entered.
PLUS – This button performs addition.
MINUS – This button performs subtraction.
DIVIDE – This button performs division.
MULTIPLY – This button performs multiplication.
EQUALS – Displays the result of an arithmetic operation. It can be used during a calculation to ensure that an intermediate result has been evaluated. Unless the “=” button is pressed, it is possible that an operation is incomplete, pressing “=” ensures that no arithmetic operations are pending.
DECIMAL POINT – Use the point button to enter the decimal part of a number. The decimal point is disabled in non-decimal number systems.
EXPONENT – This button is used to enter the number in exponential form.
MEMORY INPUT – Press the min button to enter the currently displayed number into the memory. If you first press shift before min you can select one of the ten memories(0-9).
MEMORY RECALL – Use this button to put the contents of the memory onto the display. The default memory is number zero. To disply other memories, first press the shift button nad then the MR button and select the required memory.
Pi KEY - This button ( shifted Exp button) displays the value of pi.
PERCENTAGE - This button displays the result of an arithmetic operation as percentage. Example: calculate five sixteenth as a percentage. 5 / 16 shift % Result: 31.25%
NUMBER BUTTONS – Number buttons are used in all modes. In hexadecimal mode they are augmented by the letters A to F. In octal mode the 8 and 9 buttons are disabled. In the binary mode only the 0 and 1 are enabled.
SHIFT – Use to access additional functions. The functions available depend on the calculator mode, and are indicated by changes to the legends on the calculator buttons.
RECIPROCAL – This button is used to computes the reciprocal of the number.
SQUARE ROOT – Computes the square of the number currently displayed.
LOGARITHM TO BASE 10 – Computes the logarithm to base 10 of the number currently displayed.
NATURAL LOGARITHM – Computes the natural logarithm of the currently displayed number.
SINE – Computes the sine of an angle.
COSINE – Computes the cosine of an angle.
TANGENT - Computes the tangent of an angle.
4.4 Hardware Interfaces
N/A 4.5 Software Interfaces
N/A 4.6 Communications Interfaces
N/A
5. Other Requirements 5.1 Maintainability
The design will be updated based on any changes, which are done during coding stage to maintain proper trace ability. 5.2 Availability
Once initialized, it is available till the operating system is shut down. 5.3 Scalability
N/A 5.4 Installation
Users need to start executing file.
6. DOCUMENT APPROVAL This software requirement specification is approved by Mr. R GOPALKRISHNA , the Project Guide of this project.
Appendix A: Glossary
Appendix B: References 1. Software Engineering, 3rd Edition, New Age International Publishers by K K agarval, Yogesh singhWagner 2. Various open source materials from Internet