You are on page 1of 14

Table of Contents

1. INTRODUCTION
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. OVERALL DESCRIPTION
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. PRODUCT OR SYSTEM FEATURES


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 program. 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 over 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 continue” 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

You might also like