Você está na página 1de 5

Software Requirements Specification

Document
1. Introduction
The following subsections provide an overview of this entire document.

1.1 Purpose
The purpose of this document is to inform the readers and students of the class of
the significant details and background of our project. This project is basic
mathematical functionalities like addition,subtraction,multiplication and
division,trignometric functions etc..
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 of calculator.
The basic graphing will allow the user to input a series of functions to graph and
compare.

1.2 Scope
This document specifies the functional requirements for a multi-function calculator program.
The program is designed to act like a handheld calculator with the usual standard functions
(add, subtract, multiply, divide).In addition we have implemented trignometric functions like
sin,cos,tan etc. . The program is designed to be as easy to use as a regular calculator.

1.3 References
List of documents referenced:
Android developer manual
Android quick start guide 4.4
Java tutorials manual from oracle's

1.4 Overview
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, appendices, or index if looking for something in specific.
Otherwise, reading this document from start to finish will start with a vague description
and get more specific and detailed as changing sections and reading further.
1.5 Abbreviations:
SQRT: To calculate square root.
MEM+: To clear current data.
RECALL: To recalls last record.

2. The Overall Description


The calculator is a project that is meant to harness the power of the calculations and
change its functionality so that it can be used as a basic requirement of hard mathematical
implementation . The calculators functionality will feature basic algebraic calculations,
simple arithmetic and graphic capabilities. Input will in done through an intuitive virtual
keyboard for most of the input.

2.1 Product Perspective


All modifications done to the android application in this project will be android
version,software and device driver based. The system will be entirely self contained, and
everything that is needed for the calculator to run will be built into the application itself.

2.2 Product Functions


1) Arithmatic 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 and square root. All calculations deemed scientific will be allowed.

2.3 User Characteristics


Users of this device will usually be students from the middle school level to the
undergraduate college. The user will have to to know basic arithmetic (or at least how
arithmetic works) to make functional use of the calculator.

2.4 General Constraints


The main constraints in this project will be the android version of the mobile phone(e.g.
below 2.4 android version).

The application provides for:


1. android version 3.0 or more
2. 4.0 or more display for output
3. 23 buttons and 1 input editor

2.5 Assumptions and Dependencies


Because everything will be coded from scratch. The only dependency that the machine
will encounter are the hardware constrains that the calulator application Advance has.

3. Specific Requirements
3.1 External Interfaces
This section will contain all the inputs into and outputs from the software system.
3.1.1 User Interfaces

3.1.2 Hardware Interfaces


All hardware interfaces will be done through the calculator application keypad and
touchpad drivers.
3.1.3 Software Interfaces
Arithmetic: the system will use the built in ALU to compute all the arithmetic that
will be done for the calculator.

Trigonometric: Trigonometric calculations also done like sin,cos,tan,cot. Square


root functionality also done successfully

3.1.4 Communications Interfaces


Serial Port: The only communication device that is available to the calculator is serial
port that can be used for an additional keypad.

3.2 Functional Requirements


The system shall verify that the algorithm input into the system is valid before processing.
If the input sequence is valid, the algorithm processor will produce a response that will be
output to the screen. If the input sequence is invalid, an error message will be displayed
,application is terminated and the user will be prompted to the home screen .Figure 1 is a
data flow diagram which identifies the major functions required of the calculator program
Figure 1: Data Flow diagram for the calculator program

3.3 Performance Requirements


The software will be designed to support a single user inputting a mathematical algorithm
into system and will return a result of numerical value. 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.

3.4 Design Constraints


All data processed and returned for display by the user will be of 32-bit floating point
precision. The output of this value may not be truncated per user request.
Data input will be limited to manipulation of the calculator application button set.

3.5 Software System Attributes


The input system will allow for inputting numbers, operands, special symbols. The output
will be a single numerical value in the case of a standard algorithm.
3.5.1 Availability
All cached data will be rebuilt during every startup. There is no recovery of user data if it
is lost. Default values of system data will be assigned when necessary.
3.5.2 Security
There will be no built-in security.
3.5.3 Maintainability
The user will be able to reset all options and all stored user variables to default settings.
3.5.4 Portability
The algorithm processor will be implemented in standard android processor(dalvik virtual
machine). Each of the implementations will be coded in either modified java with a android
specific API. Implementing these internal subsystems using another language is very
possible without the loss of data integrity or accuracy. Porting to a lower precision
processor may require special numerical calculations to meet specific guidelines.

Você também pode gostar