Scientific Calculator Requirements Specification
Requirements on Scientific Calculator
Contents
1
2
3
4
5
5.1
5.1.1
5.1.2
5.1.3
5.1.4
5.1.5
5.2
Introduction.....................................................................................................................2
Glossary of Terms...........................................................................................................3
User Classes and Characteristics....................................................................................5
Assumptions and Dependencies.....................................................................................5
Specific Requirements....................................................................................................6
Functional requirements.................................................................................................6
General Application requirements..................................................................................6
Basic Calculator Operations.........................................................................................17
Trigonometric Functions...............................................................................................29
Binary Functions...........................................................................................................44
Number Conversions....................................................................................................51
Non Functional.............................................................................................................59
Scientific Calculator Requirements Specification
1 Introduction
This document contains the requirements proposal for a Scientific Calculator for our
customer. The requirements listed are written for the perspective of potential users and
are based on the interview process and use-cases created. This is not a technical
document and should be accessible to all potential users of the system.
The requirements are spit into different sections for ease of use, and easy search. Lists
of the individual sections are given in the Overview section of this document.
The purpose of this user-requirements document is to give an outline of how the
proposed system will work as concerned specific processes that users would previously
have done manually.
Each individual requirements briefly describes how the system should operate (upon
completion) in performing certain tasks. Each individual requirement contains a unique
requirement number, and groups of numbers are used to clearly identify different
groups of activities. The title of each requirement clearly identifies the process.
The rationale describes the reason for including such a requirement if necessary. There
is also a dependency, which relates each requirement to another, or group of others, if
it is deemed they are related or dependent upon each other.
A glossary of terms is given to clearly describe the meaning of certain terms as
concerned this particular project. Although many of these descriptions may seem
obvious, the purpose is to clarify an agreed meaning for certain terms to avoid any
misunderstanding or potential confusion between the parties involved.
Scientific Calculator Requirements Specification
2 Glossary of Terms
Operator
The person that uses the application
Customer
The person that requested the application
Developer
Some one from the development team
Addition
Subtraction
Division
Multiplication
Evaluate equation
Sine
Returns the trigonometric sine of an angle
Cos
Returns the trigonometric cosine of an angle
Tan
Returns the trigonometric tangent of an angle
ASine
Returns the trigonometric arc sine of an angle
ACos
Returns the trigonometric arc cosine of an angle
ATan
Returns the trigonometric arc tangent of an angle
HSine
Returns the trigonometric hyperbolic sine of an angle
HCos
Returns the trigonometric hyperbolic cosine of an angle
HTan
Returns the trigonometric hyperbolic tangent of an angle
InvSine
Returns the inverse sine of an angle
InvCos
Returns the inverse cosine of an angle
InvTan
Returns the inverse tangent of an angle
InvHSine
Returns the inverse hyperbolic sine of an angle
InvHCos
Returns the inverse hyperbolic cosine of an angle
InvHTan
Returns the inverse hyperbolic tangent of an angle
Pi
returns the double value of Pie
represents Percentage
Scientific Calculator Requirements Specification
Sqrt
square root
Nth Root
Nth Root
represents power
Deg
represents degree
Rad
represents radians
Grad
Grad or 1/400 of a circumference of a circle
Hex
Hexadecimal
Oct
Octal
Bin
Binary
Dec
Decimal
Log
Logarithm to the base 10
Ln
Logarithm to the base n
Exp
returns Eulers number e raised to a power of value
AND
Binary AND Operation
OR
Binary OR Operation
XAND
Binary exclusive AND Operation
XOR
Exclusive OR operation
NAND
Binary NOT AND Operation
NOR
Binary NOT OR Operation
Number
This shall be a number or the result of an equation
N!
Factorial N
Equation
A combination of numbers and operators
Scientific Calculator Requirements Specification
3 User Classes and Characteristics
The following classes of user will be defined:
Operator
This is someone that uses the application. They have knowledge of the
calculations they need calculate. They understand the requirements of
the applications in relation to write the equations.
Developer
A developer understands how the application works in relation to code
and mathematical formulas.
4 Assumptions and Dependencies
Assumption 1. The hardware that will be used to run the application will be able to
perform all the required calculations.
Assumption 2. The hardware will have enough memory to run the program.
Assumption 3. There is no GUI required for this application.
Assumption 4. The user knows how to use the mathematical formulas provided
Scientific Calculator Requirements Specification
5 Specific Requirements
5.1 Functional requirements
5.1.1
General Application requirements
Requirement No:
1000
Description:
The application has to run from the command line.
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1001
Description:
The application has to accept formulas from the command line
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Requirement No:
Scientific Calculator Requirements Specification
1002
Description:
The application has to accept plain text files from the command line
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Requirement No:
Scientific Calculator Requirements Specification
1003
Description:
Help can be accessed from the command line
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Requirement No:
1004
Scientific Calculator Requirements Specification
Description:
The application has to accept decimal numbers
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Requirement No:
1005
Scientific Calculator Requirements Specification
Description:
The application has to accept hexadecimal numbers
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Requirement No:
1006
Description:
Scientific Calculator Requirements Specification
The application has to accept Octal numbers
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Requirement No:
1007
Description:
Scientific Calculator Requirements Specification
The application has to accept Binary numbers
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Requirement No:
1008
Description:
Scientific Calculator Requirements Specification
Any number inside () brackets shall be calculated separately
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Requirement No:
1009
Description:
If there is multiple () in the equation the inner most () will be completed first
Scientific Calculator Requirements Specification
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Requirement No:
1010
Description:
Scientific Calculator Requirements Specification
In the event of an equation where there is addition, subtraction, multiplication or division the
multiplication and division will be performed first and then the addition or subtraction.
Rationale:
There are different results if it is not known which takes precedence
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
5.1.2 Basic Calculator Operations
Requirement No:
1201
Description:
Scientific Calculator Requirements Specification
Addition shall be performed on each number either side of the + symbol
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Requirement No:
1202
Description:
Scientific Calculator Requirements Specification
Subtraction shall be performed on each number either side of the - symbol
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Requirement No:
1203
Description:
Multiplication shall be performed on each number either side of the * symbol
Scientific Calculator Requirements Specification
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Requirement No:
1204
Description:
Division shall be performed on each number either side of the / symbol
Rationale:
Scientific Calculator Requirements Specification
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Requirement No:
1205
Description:
Percentage shall be performed on each number either side of the % symbol
Rationale:
Scientific Calculator Requirements Specification
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Requirement No:
1206
Description:
Square root shall be performed on the number beside the sqrt sign
Rationale:
Scientific Calculator Requirements Specification
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Requirement No:
1207
Description:
PI will be available for calculations.
Rationale:
Source:
Scientific Calculator Requirements Specification
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Requirement No:
1208
Description:
Evaluation on the power of two numbers will be possible
Rationale:
Source:
Scientific Calculator Requirements Specification
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Requirement No:
1209
Description:
Evaluation log to the base 10 will be possible
Rationale:
Source:
Customer
Scientific Calculator Requirements Specification
Dependencies:
Conflicts:
Other references:
History of changes:
Requirement No:
1210
Description:
Evaluation log to the base n will be possible
Rationale:
Source:
Customer
Scientific Calculator Requirements Specification
Dependencies:
Conflicts:
Other references:
History of changes:
Requirement No:
1211
Description:
Evaluation of factorial n will be possible
Rationale:
Source:
Customer
Dependencies:
Scientific Calculator Requirements Specification
Conflicts:
Other references:
History of changes:
Requirement No:
1212
Description:
Evaluation of nth root
Rationale:
Source:
Customer
Dependencies:
Scientific Calculator Requirements Specification
Conflicts:
Other references:
History of changes:
5.1.3 Trigonometric Functions
Requirement No:
1300
Description:
Trigonometric Sine will have to be performed
Rationale:
Source:
Customer
Dependencies:
Scientific Calculator Requirements Specification
Conflicts:
Other references:
History of changes:
Requirement No:
1301
Description:
Trigonometric Cosine will have to be performed
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Scientific Calculator Requirements Specification
Other references:
History of changes:
Requirement No:
1302
Description:
Trigonometric Tangent will have to be performed
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Scientific Calculator Requirements Specification
Other references:
History of changes:
Requirement No:
1303
Description:
Trigonometric Arc Sine will have to be performed
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Scientific Calculator Requirements Specification
Other references:
History of changes:
Requirement No:
1304
Description:
Trigonometric Arc Cosine will have to be performed
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
Scientific Calculator Requirements Specification
History of changes:
Requirement No:
1305
Description:
Trigonometric Arc Tangent will have to be performed
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
Scientific Calculator Requirements Specification
History of changes:
Requirement No:
1306
Description:
Trigonometric Hyperbolic Sine will have to be performed
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
Scientific Calculator Requirements Specification
History of changes:
Requirement No:
1307
Description:
Trigonometric Hyperbolic Cosine will have to be performed
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1308
Description:
Trigonometric Hyperbolic Tangent will have to be performed
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1309
Description:
Trigonometric Inverse Sine will have to be performed
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1310
Description:
Trigonometric Inverse Cosine will have to be performed
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1311
Description:
Trigonometric Inverse Tangent will have to be performed
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1312
Description:
Trigonometric Inverse Hyperbolic Sine will have to be performed
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1313
Description:
Trigonometric Inverse Hyperbolic Cosine will have to be performed
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1314
Description:
Trigonometric Inverse Hyperbolic Tangent will have to be performed
Rationale:
Source:
Customer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
5.1.4 Binary Functions
Requirement No:
1400
Description:
Binary numbers will have the MSB on the left and the LSB on the Right
Rationale:
Source:
Developer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1401
Description:
Binary AND operations can be performed
Rationale:
Source:
Developer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1402
Description:
Binary OR operations can be performed
Rationale:
Source:
Developer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1403
Description:
Binary NAND operations can be performed
Rationale:
Source:
Developer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1404
Description:
Binary NOR operations can be performed
Rationale:
Source:
Developer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1405
Description:
Binary XAND operations can be performed
Rationale:
Source:
Developer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1406
Description:
Binary XOR operations can be performed
Rationale:
Source:
Developer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
5.1.5 Number Conversions
Requirement No:
1500
Description:
Conversion from number to hexadecimal
Rationale:
Source:
Developer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1501
Description:
Conversion from number to Octal
Rationale:
Source:
Developer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1502
Description:
Conversion from number to Binary
Rationale:
Source:
Developer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1503
Description:
Conversion from number to decimal
Rationale:
Source:
Developer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1504
Description:
Calculations can be done in degrees
Rationale:
Source:
Developer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1505
Description:
Calculations can be done in radians
Rationale:
Source:
Developer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1506
Description:
Calculations can be done in grad
Rationale:
Source:
Developer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
1507
Description:
Exp equations can be evaluated
Rationale:
Source:
Developer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
5.2 Non Functional
Requirement No:
5000
Description:
Evaluation will not take longer than 200mSec
Rationale:
Source:
Developer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
5001
Description:
The machine that runs the application will have the ability to run a java application.
Rationale:
Source:
Developer
Dependencies:
Conflicts:
Other references:
History of changes:
Scientific Calculator Requirements Specification
Requirement No:
5002
Description:
If the program cannot compute the equation then an error should be reported
Rationale:
Source:
Developer
Dependencies:
Conflicts:
Other references:
History of changes: