You are on page 1of 81

MATHKING

(THE MATHEMATICAL APP)

SUBMITTED BY
Miss. SHRADDHA SUNIL BAGAWE
[Seat No. ]

DATE OF SUBMISSION

Under the guidance of Prof. PurnimaBhangale


Submitted in partial fulfilment of the requirements for qualifying
B.Sc.I.T. (Semester VI) Examination

THE KELKAR EDUCATION TRUST’S


V.G. VAZE COLLEGE OF ARTS, COMMERCE AND SCIENCE
Mithagar Road, Mulund (East), Mumbai – 400 081
The Kelkar Education Trust’s
V.G. VAZE COLLEGE OF ARTS COMMERCE AND SCIENCE
Mithghar Road Mulund (E), Mumbai -400 081.

CERTIFICATE

This is to certify that the Project done at INFOTECH LAB II by MISS. SHARADDHA
SUNIL BAGAWE.(Seat No. )and in partial fulfillment for B.Sc. Degree Examination has been found
satisfactory. This report had not been submitted for any other examination and does not form part of
any other course undergone by the candidate.

Project Guide H.O.D. External


ACKNOWLEDGEMENT

The presented project, as a part of the curriculum was a first of its kind experience for
me. I had looked upon this project not merely as an syllabus to be completed but as an aim to
know, study, develop and experience the commercial software technologies.
I am glad to say that, I have satisfactorily reached my aims and intentions, to make this project a
success.
I would like to thank and appreciate the support of few, who served a helping hand
physically, mentally and intellectually in the course of this project.
Foremost regards to my guide Prof. RakheeRane, as well as Pournima who were the guiding
lights throughout the project work.
I would thank our H.O.D, Prof K.G. Bhole, who made available the facilities required
for the project work.
I also wish to mention the unsaid support of my parents who, as always helped me in
every possible way to make this work of mine, a success.
The contribution made by my friends and mates, directly or indirectly was indispensable, and
will always be remembered.
This opportunity has given me a valuable experience about software development.
CHAPTER 1: SYNOPSIS
1.1. TOPIC :-
MATHKING (MATHEMATICAL APP DEVELOPMENT)

1.2. STATEMENT ABOUT THE PROBLEM:-


This app provides solutions of Mathematical problem based on complex equations
like matrices problems, Trigonometric equations log with any base differentiation
integration etc. It provides direct final solution of any equate to big. If anyone want to see
step wise solution then also he or she get it. This is the dynamic part of app.

In static part of app we also provide all the formulas related to trigonometric,
Matrix, differentiation, integration, etc.

It is very helpful for 11th& 12th students, or a engineering students who have
calculation part of mathematics.

1.3. WHY THIS TOPIC IS CHOSEN:-


When we try to solve any matrix, derivative integration, etc, related Problem
which is in small scale is easy to solve. But if these problems have in longer scale, if we
use big numbers in equation then calculate answer manually becomes difficult without
calculator.

Even if we solved it, we are not confident on our answer. Hence in that condition
we required accurate answer or right answer to cross check with our answer. If both
solutions get match then we said that we got correct answer.

This app provides us final answers to cross check with our solution. If we find any
difficulty to solve equations or any problem then also, app provide us complete step wise
execution to understand how to solve it.

Hence the main reason behind to choose the topic is making calculations easy for
11 , 12th students. As well as the mathematics is very interesting topic and it’s my
th

favorite subject. Hence I choose this topic for my project.

If helps me to study about for my app development, how it works behind the
screen, what app is its actual meaning etc.

This project also gives the knowledge of project development.


1.4. OBJECTIVE AND SCOPE:-
It provides graphical user interface (GUI) to see

It is mainly helpful for students of 11th& 12th. Because they have lots of calculation part
of matrix, log, integrity, derivatives.etc.

Engineering students also get help from this app to solve difficult problems etc.

1.5. PROPOSED ARCHITECTURE:-


It follows stand alone architecture.

The programmer has full control (within the capabilities of the operating system
& with support of a board selection of user interface framework) over the user interface.

The business logic & data may reside on same machine or a remote server.

If one are move server are involved in the solution, many different remote
communication protocol can be selected from. There is no requirement to use HTTP over
TCP/IP.

1.6. METHODOLOGY:-
I use incremental development model for this app development.

In Incremental model the software specification design and implementation are


broken down into q series of increments that are each developed in turn. In incremental
model, customers identify, in outline the service to be provided by the system.

In this project I develop each section of formula as module, such as for


logarithmic problems one module, for matrix operation another module is there and so on
likewise step by step when each module is developed then attached with main system.

If user wants to add some extra part then we can easily update our system as per
requirements.
1.7. REQUIREMENTS:-
Software Requirements

 Android Studio and SDK


 Java development kit (JDk-8.1)

Hardware Requirements

 2 GB RAM minimum (Random Access Memory)


 400 MB hard disk space.

Platform

 Android Platform such as Android V-0.4


 Windows 7 to develop android app

1.8. TESTING TECHNOLOGY:-


We are using black box testing for system testing. We are only entering input
values and get the output from it. Then cross check actual value and expected output.

1.9. CONTRIBUTION:-
From starting of this project & as specify in the synopsis, the main aim of this
project is to help the students in the Mathematical problems.

To cross check or to solve the difficult operations of calculation part, this app is
helpful to them.
CHAPTER 2:THERIOTICAL BACKGROUND
2.1. INTRODUCTION OF PROJECT:-
An application which will let you improve your math skills with getting all the
important things required to improve in this subject in one application. The application
will also include some important calculators for easing the grip over one of the most
important subject that is Mathematics.

2.2. CURRENT SYSTEM:


2.2.1. Weakness of the existing system:
The previous applications for standard math’s are as not as friendly as expected.
The applications have a log calculator but all important bases are not available, if it all
bases included then the application just has a log and no antilog so the students have to
switch between applications to get answers for log as well as anti-log. We even we can’t
solving matrices problems, derivatives and integration on calculator.

If the application is having the calculators it doesn’t have all the important
formulas so the same problem is to be faced by the students as it will time consuming for
the students and also will result in frustration.

2.2.2. Internet restriction:


All other application needs internet connection to show the information to show
the information or data of any topic.

2.2.3. No combined application:


All these applications are individual applications, they does not provide all
features in one application.
2.3. PROPOSED SYSTEM:
2.3.1. Features of Proposed System
 The application will provide all calculators and formulas together extracted from
various books along with their diagrams so that the students to understand.
 The log and antilog calculator will include all the important bases as well both
will be combined into a single application so that the student or the user is not
forced to switch between applications.
 It also included matrix calculator for multiplication, subtraction and
multiplication.
 Trigonometry calculator for any angle.
 Integration and derivatives for simple equations.
 The application includes all the formulas as well which are required for the
students.
 This app can be used in all latest and old models of smart phones based on
android platform (from Android 4.0 onwards).
 This application would be available free of costs.
CHAPTER 3:OBJECTIVE AND SCOPE
3.1. OBJECTIVE:
 Main objective of this system is only help to students.
 They can carry it in mobile and used it any time whenever required without internet.
 It helps in solving tricky equations like Integration and Derivatives.
 This also helps in solving matrix operations which contains lots of calculation part.

3.2. SCOPE:
 Whatever the calculation which we can’t solve in simple calculator that calculation can
be solving in this app.
 It also provides all mathematical formulas for reference.
 It provides GUI (Graphical User Interface), hence students can easily interact with it even
if it doesn’t have its knowledge.
 We can add many more calculators or extends its scope.
 It is easy to handle, can be use it very easily.
CHAPTER 4: PROBLEM DEFINATION
4.1. PROBLEM DEFINITION:
Identification of the problem is one of the obvious tasks to be performed before
developing a project. A clear understanding of the problem will help build a better system
and reduce the risk of project failure.

THIS PHASE CONSISTS OF TWO MAIN TASKS:

 The first is to review the needs that originally initiated the project.
 The second is to identify at an abstract level the expected capabilities of the new
system.

It helps in understanding the system properly so that all the problems are
identified correctly. It also involves considering all the alternatives that exist to achieve
the objectives with respect to modifying the system, even all the various ways to
implement the alternatives.

After we thoroughly understood the existing system, it was concluded that all of
the work was done manually. All kinds of calculations and planning were done using the
human brain instead of taking advantage of the modern Information Technology.

THE FOLLOWING LIMITATIONS WERE FOUND OUT IN THE EXISTING


SYSTEM:

 To calculate the antilog, to solve matrix operation we have to do many more


calculations then answer is get.
 To solve integration or derivatives it requires lots of calculations and paper work.
 It also tedious job to remembering all formulas.
 Even if all calculation done, then also result is wrong sometimes.

4.2. THE PROPOSED SYSTEM WILL OVERCOME ALL


PROBLEMS MENTIONED ABOVE:
 It provides step wise solution for problem to students.
 It is used to calculate log, antilog.
 Used to solve Matrix operations, Integration, Derivatives also.
 It also provides all formulas related to algebra as well as geometry and others.
 Hence the problem to remembering formulas is also solved by this app.
CHAPTER5: SYSTEM ANALYSIS AND DESIGN
5.1. INTRODUCTION:
In System Analysis and Design phase, the whole software development process,
the overall software structure and its outlay are defined. Analysis and Design are very
important in the whole development cycle process. Any fault in the design phase could be
very expensive to solve in the software development process. In this phase, the logical
product of the system is developed. The software development process, the software's
overall structure and its nuances are defined.

This step refers to the gathering of system requirements, with the goal of
determining how these requirements will be accommodated in the system. Extensive
communication between the customer and the developer is essential. The developer has
to develop the system to meet the client‘s needs. But the developer usually does not fully
understand the client‘s problem domain, and the client often does not understand the
issues involved in the software systems. This causes communication gap, which can be
bridged by gathering information from the client and also making him understand what
the system will do.

Our first task was to study the existing system, analyze it and find its limitations.

5.2. RISK ANALYSIS:-


It is mostly done at the start of the project. Before collecting all the information
we must check any risk that may occur during the process. These risks may occur at any
point during the persons and if proper measures aren’t taken it affects the project in
different ways.

There are 3 types of risks:-

 Business
 Project
 Product
5.3. PROPOSED SYSTEM STUDY:
It is always necessary to study and recognize the problem of the existing system,
which will help in finding out the requirements for the new system. A thorough study of
the proposed system involves finding different alternatives for a better solution.

This step basically deals with the following different operations:

 Data Gathering
 Study of Existing System
 Analyzing problem
 Studying various documents
 Feasibility study for further improvement

5.3.1. Tools and techniques used for information gathering interviews:


INTERVIEWS:

I prepare some questionnaires so as to study the actual problems being faced by


the students in the current method of functioning. It is a kind of informal
interview with the owner of the company.

THERE WERE SOME OF THE QUESTIONS I ASKED:-

 What problem you faced whenever solving mathematical problems?


 Which difficulty you faced to remembering the formulas?
 How much time you required to solve problems?
 What you expected from this app?

INTERNET RESEARCH:

The Internet is an indispensable tool for getting most of the doubts cleared, if in
case not done so by above methods. Almost any kind of information is available
through the Internet at a click of the mouse. The resources which I referred
through internet are mentioned in the references section of this Document.
5.4. USER REQUIREMENTS:-
5.4.1. Functional requirement:-
 Functional Requirement specifies that what system should do.
 There is only one user who uses these app or application.

User:
 User is any Student.
 Student selects operation from calculator and enters values in it to get or to
solve the equations.
 If students want any formulas related to matrix, logarithm, derivatives etc.
, then they get from static part i.e. formulae section of this app.

5.4.2. Non-Functional Requirements:-


 These talk about how student should work.
 It is directly concern with the service provided.

NON-FUNCTIONAL REQUIREMENT ONE AS FOLLOWS:

 Performance:-
 It is used html files for display formulas.
 It is gives the correct solutions for complicated sums.
 The formulas and solutions of problems are helpful to the students to
understand how to solve the equations.

 Portability:-

It is portable on any android mobile phones.

 Safety:-
 It is safe to use.
 It doesn’t affect your mobile phones by any other virus, worm etc.

 Usability:-
 Anyone can use this app easily because it is like a calculator and its working
is as same as simple calculator.
 It is easy to handle.
5.5. FEASIBILITY STUDY:-
It is aim to objectively and rationally uncovers the strengths and weakness of the
existing business or proposed venture, opportunities and threats as presented by the
environment, the resources required to carry through and ultimately the prospects for
success.

THE DIFFERENT TYPES OF FEASIBILITY ARE AS FOLLOWS:-

 Economic feasibility
 Operational feasibility
 Technical feasibility
 Scheduled and resource feasibility

 Economic feasibility:-

For eventually effectiveness of a new system, the procedure is to determine the benefits
and saving that are expected from a candidate system and compare them with costs.

 Total estimate cost of the project


 Existing investment by the promoter in any other business.
 Projected cash flow and profitability

There are less economic issues. It is developed by the student for study purpose and
whether by the requirements required for development is less costly.

Hence the system is economically feasible.

 Operational feasibility:-

Operational feasibility is a measure of how well a proposed system solves the problems
and takes advantages of the problems and takes advantages of the opportunities identified
during scope definition and how it is satisfies the requirements identified in the requirement
analysis phase of the system development. The new system has completely user friendly
interface.

Any student can use/handle easily even if it has less knowledge about this app. It is like
our general calculators.
 Technical feasibility:-

Technological feasibility is carried out to determine whether the company has the
capability, in terms of s/w, h/w and personnel to handle the completion of the project.

The required hardware i.e. android mobile is generally used by everyone. Need to
download the app with certain settings. Then student can easily handle it using single touch
like other apps.

 Scheduled and Resource feasibility:-

The schedule of the project is actually the periodic progress of the project. This is
carefully monitored. In the resource feasibility, the primary resources are the team members
and their designation i.e. analyst, technician and user. Their skills are to be continuously
updated and reserved.

 Schedule feasibility:-

Typically this means estimating how long the system will take to develop and if it
can be completed in a given time period using same methods payback period.

Schedule feasibility is a measure of how reasonable the project timetable is.

The project is feasible as 3-4 months are required to develop which is appropriate
for this project.

 Resource feasibility:-

This study determines whether the company has sufficient amount of resources
available that the project development requires. The resources may involve skilled lab,
computing feasibilities, knowledge about the tools etc.

THIS EVOLVES THE FOLLOWING THINGS:-

 How much time is available to build the new system?


 When it can be built?
 Whether it interfaces with normal business operations, type and amount of resources
required?
 Dependencies?

This project is feasible. Because of studying point of view whatever the app
development procedure I used is sufficient, resources are available with me, but the
problem may occur in some module.
5.6. DIAGRAMS:-
5.6.1. Data flow diagram:

Data Flow Diagram (DFD):

A data flow diagram (DFD) is a graphical representation of the "flow" of data


through an information system. It differs from the flowchart as it shows the data flow
instead of the control flow of the program. A data flow diagram can also be used for the
visualization of data processing (structured design). Data flow diagrams were invented by
Larry Constantine, the original developer of structured design, based on Martin and
Estrin's "data flow graph" model of computation.

A DFD shows what kinds of data will be input to and output from the system,
where the data will come from and go to, and where the data will be stored. It does not
show information about the timing of processes, or information about whether processes
will operate in sequence or in parallel

Notation:
Name Symbol Description
A process transforms
incoming data flow into
Process
outgoing data flow.

Data stores are repositories of


Data store notation data in the system.

Data flows are pipelines


through which packets of
information flow. Label the
Dataflow notation
arrows with the name of the
data that moves through it.

External entities are objects


outside the system, with which
External entity notation External Entity the system communicates.

Fig. 5.6.1. DFD Notation


Context level diagram:

Fig. 5.6.2. ‘0’ Level DFD

Fig. 5.6.3. ‘1st’ Level DFD


Fig. 5.6.4. ‘2nd’ Level DFD
Fig. 5.5 ‘2nd’ Level DFD For Static Part
5.6.2. Use case :

A use case is a list of steps, typically defining interactions between a role (known
in UML as an "actor") and a system, to achieve a goal. The actor can be a human or an
external system.

Notation:

Name Symbol Description


actor is represents a user or
another system that will
Actor interact with the system you
are modeling

A use case is an external view


of the system that represents
some action the user might
Use case USE CASE
perform in order to complete a
task.

Direct association used to link


Direct Association
actor and use cases.

Fig 5.6.6. Use case Notations


System
Register Student

Select Formula

Select Calculator

Perform Log calculation


Student

Perform Trignometric calculation

Perform Matrix operaction

Implementation of derivatives

Calculate Integration

Fig. 5.6.7. Use case Diagram for Mathking System.


Use cases description for system:-
1. REGISTRATION:

NAME :-Registration

SUMMARY :-It is a onetime registration process only for security purpose and
to maintain record of user.

ACTOR : - student or any user

PRECONDITION : - before registration we have to install this app and it asks for
registration.

DESCRIPTION :-For registration user requires only name, mobile number, and
email id.
When user clicks on registration button it directly goes into
database and then move on another page.

POST CONDITION :-After that whenever we open this app again then it directly starts
with splash screen.

2. STATIC PART

NAME :- selection of formulae.

SUMMARY :- this app provide the information of particular formulae, after


select type from list.

ACTOR :- Student or any user.

PRECONDITION :- App is in idle state and waiting for selection operation.

DESCRIPTION :-App starts in waiting state in which it is waiting for select


operation. When user selects the app it displays the screen of main
module, from this user select formulae module. When user selects
to retrieve formulae, system processes request and retrieve
formulae of that particular type in front of student on screen.

POST CONDITION :- After displaying formulae, controlled is on that page only and it
is in waiting mode for next operation.
3. LOG CALCULATION.

NAME – log calculation

SUMMARY – When system displays main module user will then select module
for dynamic part i.e. calculator which provides sub type i.e. log
calculator, for calculate log and antilog.

ACTOR – Student or any other user.

PRECONDITION – before selection of log calculator system is in idle state for


accepting input or selection.

DESCRIPTION – log calculator is accepting input values and provides the


operation such as log calculation and antilog calculation with the
base 2, e and 10.

POST CONDITION – After select operation and tacking input system process it and
gives output on screen, then waiting for next operation.

4. MATRIX CALCULATION

NAME – matrix calculation

SUMMARY – used to do matrix operations such as addition, subtraction,


multiplication, etc.

ACTOR – student or any other user.

PRECONDITION – System is in idle state and waiting to choose an operation.

DESCRIPTION – once user select matrix operation it displays the list at operation
from them user will select one of them. Then system asks for input
values, then these provided by user.

POST CONDITION – when user select the operation and gives input values, system
processes the values and generate appropriate output value and
displays on screen. After displaying it is go into waiting state for
next operation.
5. TRIGONOMETRY CALCULATION.

NAME – Trigonometry calculation

SUMMARY – Used to do trigonometry calculation such as to find sin, cos, tan,


cot, cosec, sec.

ACTOR – student or any other user.

PRECONDITION – System is in waiting state of selection of trigonometry operation.

DESCRIPTION – Once user select matrix operation it displays the list of operation
and user will select one of them. After selecting operation system
asks for input values, then these provides by user. System then
generates the output by processing input values and sends it on
display screen.

POST CONDITION – after displaying output, it is go into waiting state for next
operation selection.

6. DERIVATIVE :

NAME – Calculate derivatives

SUMMARY – Used to solve derivatives equation.

ACTOR – student or any other user.

PRECONDITION – System is in waiting state of selection of operation and entering


input values.

DESCRIPTION – Once user select derivative operation from the list of operation
and user will select one of them. After selecting operation system
asks for input values, then these provides by user by selecting input
values. System then generates the output by processing input
values and sends it on display screen.

POST CONDITION – after displaying output, it is go into waiting state for next
operation selection.
7. IMPLEMENTATION OF INTEGRATION:

NAME –Implementation of integration

SUMMARY – Used to tricky formulas of integration as well as to find output of


it in step wise manner.

ACTOR – student or any other user.

PRECONDITION – System is in waiting state of selection of integration operation.

DESCRIPTION – Once user select integration operation it displays the list of


operation and user will select one of them. After selecting
operation system asks for input values, then these provides by user.
System then generates the output by processing input values and
sends it on display screen.

POST CONDITION – after displaying output, it is go into waiting state for next
operation selection.
5.6.3. Sequence diagram:

A sequence diagram in a Unified Modeling Language (UML) is a kind of


interaction diagram that shows how processes operate with one another and in what
order. A sequence diagram shows object interactions arranged in time sequence. It
depicts the objects and classes involved in the scenario and the sequence of messages
exchanged between the objects needed to carry out the functionality of the scenario.
Sequence diagrams typically are associated with use case realizations in the Logical
View of the system under development.

Notation:

Name Symbol Description

An instantaneous
communication between
objects that conveys
Synchronous message
information, with the
expectation that an action
will be initiated as a result.

The period during which an


Activation object is performing an
action

An object that is created,


performs actions, and/or is
Object instance
destroyed during the
lifeline.

Fig. 5.6.8. Sequence diagram Notation


1. Registration

Student System Database

1 : Install Application()

2 : Display screen for registration()


3 : Enter Values in input field()

4 : Varify input values()


5 : Store into database()

6 : Display Next screen()

Fig. 5.6.9. Sequence diagram for Registration


2. Retrieving formula

System File
Student

1 : SelectApp()

2 : Display related page()


3 : Select Module(Formula)()

4 : Display list of menus()


5 : Select menu from list()

6 : List Submenus()
7 : Select submenus()

8 : Search it from files()

9 : Retrive and send to system()

10 : Display on screen()

Fig. 5.6.10. Sequence Diagram for Retrieve Formulae


3. Trigo

Student System File

1 : Select calculator type(Trigo)()

2 : Display screen for enter input()


3 : Enter input values()

4 : Varify values()
5 : Select operation()

6 : Send input to files()

7 : Generate o/p and send to system()

8 : Display o/p on screen()

Fig. 5.6.11. Sequence Diagram for Trigonometry


4. Logarithm/Matrices/Derivatives/Integration:

Student System File

1 : Select Module(Calculator)()

2 : List different menu()


3 : Select Menu(Log/Matrices/Derivatives/Integration)()

4 : List Different submenu()


5 : Select Submenu from list()

6 : Display Screen for Ente Input()


7 : Enter Input values And select operation()

8 : Varify Values()
9 : Send input values to file()

10 : Process Ipunt and send output()

11 : Display output on screen()

Fig. 5.6.12. Sequence diagram for

Log/Matrices/Derivatives/Integration
5.6.4. Activity diagram:

Activity diagrams are graphical representations of workflows of stepwise activities and


actions with support for choice, iteration and concurrency.

Notation:

Name Symbol Description

This shows the starting point


Initiate state
or first activity of the flow.

It represents the activity


Rounded rectangle

A logic where a decision is


Diamond To be made is depicted by a
Diamond

A transition link represents


Free form transition link
Control flow between nodes

The end of the activity


Final state Diagram, also called as a
Final activity.

Fig. 5.6.13. Activity diagram Notation


Registeration

Selection of main module

Back
Calculator Retrieve formulas Back

Selection of Sub Module


Selection of sub module

Back

Select Operation
Retrive information

Enter Input values Back

unsucessful
Back
Display on screen
Sucessful

Calculate and generate o/p

Display o/p

Fig. 5.6.14. Activity Diagram for System


5.6.5. Class Diagram:
A class diagram is a type of static structure diagram that describes the structure of a
system by showing the system's classes, their attributes, operations (or methods), and the
relationships among the classes.

Notation:

Name Symbol Description

Class includes class name in


Class name
1st row, attribute values in 2nd
Class Attribute name
row, operation/method name
Operation/method
in 3rd column.

It is used to connect two


Direct association
classes.

Fig. 5.6.15. notations for Class diagram


log
Registration antiLog
+e1: EditText
+r1: RadioButton +e1: EdtiText
+name: String
+r2: RadioButton +r1: RadioButton
+mobile: String
Layout3 +r3: RadioButton +r2: RadioButton
+email: String
Layout2 +t1: Edittext +r3: RadioButton
+lookupUser() +Calculate: ImageButton +e1: EditText
+SplashImg +Formula: ImageButton +onCreate()
+btnClick()
+onClick() +onCreate()
+isValidEmail() +onCreate() +onCreate()
+isValidMobile() +onClick()
+onClick()

LogCalc
CalcList +log: Button TrigoCalc
+antiLog: Button
+LogCalc: GridView +rb1: RadioButton
+trigo: GridView +onCreate() +rb2: RadioButton
+matrix: GridView +onClick() +rb3: RadioButton
+derivate: GridView +rb4: RadioButton
Derivate +integration: GridView +rb5: RadioButton
+derivate: List +onCreate() +RdoGrp: RadioGroup
+onItemClick() Matrix +btn: Button
+onCreate() +e1: EditText
+onListItemClick() +matrix: List +e2: EditText
Derivate2 +num: String
+onCreate() +e1: EditText
+e1: EditText +onListItemClick()
+btn1: Button Integration +onCreate()
Derivate1
+btn2: Button +onClick()
+btn3: Button +e1: EditText +integrate: List
+btn4: Button +btn1: Button +onCreate() MatOp2 MatOp1
+btn5: Button +btn2: Button +onListItemClick()
+btn6: Button +btn3: Button +e1: EditText +e1: EditText
+btn7: Button +btn4: Button +b1: Button +b1: Button
+btn8: Button +btn5: Button +b2: Button +b2: Button
+btn9: Button +btn6: Button Integrate1 +b3: Button
Integrate2 +b3: Button
+btn10: Button +btn7: Button +tv1: TextView +tv1: TexteView
+btn11: Button +btn8: Button +e1: EditText +e1: EditText +tv2: TextView +tv2: TextView
+btn12: Button +btn9: Button +btn: Button +btn: Button
+t1: TextView +btn10: Button +tv1: TextView +onCreate() +onCreate()
+tv1: TextView
+t2: TextView +btn11: Button +onClick() +onClick()
+t3: TextView +btn12: Button +onCreate() +onCreate()
+t1: TextView +onClick() +onClick()
+onCreate() +t2: TextView
+onClick() +t3: TextView
+onCreate()
+onClick()

Derivative
+ListView1: List
+onCreate() analgeo
+onListItemClick()
+ListView2: List
equations +onCreate()
FormulaList +onListItemClick()
+ListView3: List
+Derivative: GridView
+analgeo: GridView +onCreate() geometry SubMenu
+equation: GridView +onListItemClick()
+ListView4: List +webview: WebView
+geometry: GridView
+algebra: GridView +onCreate()
algebra +onCreate()
+integration: GridView
+onListItemClick()
+statistics: GridView +ListView5: List
+trigo: GridView
+matrix: GridView +onCreate() integration
+unitConversion: GridView +onListItemClick()
+ListView6: List
+onCreate()
statistics +onCreate()
+onItemClick()
+onListItemClick()
+ListView7: List
+onCreate() trigo
+onListItemClick()
+ListView8: List
matrix +onCreate()
+onListItemClick()
+ListView9: List
+onCreate() unitConversion
+onListItemClick()
+ListView10: List
+onCreate()
+onListItemClick()

Fig. 5.6.16 Class Diagram For Mathking Application


CHAPTER 6: SYSTEM PLANING
6.1. PROJECT PLAN:-

Task Number Task Name Duration Dependencies Start Date Finish Date
T1 Project Defination 2 days 3rd Dec 2015 5th Dec 2015
T2 Requirement Gathering 6 days T1(M1) 6th Dec 2015 12th Dec 2015
T3 Requirement Analysis 9 days T2(M2) 13th Dec 2015 22nd Dec 2015
T4 Data Flow Diagram (DFD) 4 days T3(M3) 23rd Dec 2015 27th Dec 2015
T5 Use Case Diagram 4 days T4(M4) 28th Dec 2015 1st Jan 2016
T6 Sequence Diagram 3 days T5(M5) 2nd Jan 2016 5th Jan 2016
T7 Activity Flow Diagram 5 days T3,T4,T5(M6) 6th Jan 2016 11th Jan 2016
T8 Class Diagram 6 days T7(M7) 12th Jan 2016 18th Jan 2016
T9 Test Case Preparation 7 days T4(M8) 19th Jan 2016 26th Jan 2016
T10 Devlopment (Module 1) 3 days T9(M9) 27th Jan 2016 30th Jan 2016
T11 Compound Testing 2 days T10(M10) 11th Feb 2016 13th Feb 2016
T12 Devlopment (Module 2) 10 days T9(M9) 31st Jan 2016 10th Feb 2016
T13 Compound Testing 2 days T12(M11) 11th Feb 2016 13th feb 2016
T14 Integration Testing (For Module 1 & 2) 3 days 14th Feb 2016 17th Feb 2016
T15 Development(Module 3) 3 days T14(M12) 18th Feb 2016 21st Feb 2016
T16 Compound Testing 1 days T15(M13) 22nd Feb 2016 23rd Feb 2016
T17 Development (Module 4) 2 days T14(M14) 24th Feb 2016 26th feb 2016
T18 Compound Testing 1 days T17(M15) 27th Feb 2016 28th Feb 2016
T19 Development(Module 5) 3 days T14(M16) 29th Feb 2016 3rd March 2016
T20 Compound Testing 1 days T19(M17) 4th March 2016 5th March 2016
T21 Development(Module 6) 3 days T14(M18) 6th March 2016 8th March 2016
T22 Compound Testing 2 days T21(M19) 9th March 2016 11th March 2016
T23 Development (Module 7) 4 days T14(M20) 12th March 201615th March 2016
T24 Compound Testing 2 days T23(M21) 16th March 201618th March 2016
T25 Integration Testing (For Module 1,2,3,4,5,6 & 7) 2 days 19th March 201621st March2016
T26 Systen Testing 2 days T25(M22) 22nd March 201624th March 2016
T27 Acceptance Testing 2 days T26(M23) 26th March 201627th March 2016
T28 Implementation 3 days T27(M24) 28th March 201631st March 2016

Fig. 6.1.1. Task Table


6.2. GANTT CHART:
3-Dec-15 23-Dec-15 12-Jan-16 1-Feb-16 21-Feb-16 12-Mar-16
T1
T2
T3
UML Diagrams
T4
T5
T6
T7
T8
T9
Module 1
T10
T11
Module 2
T12
T13
T14
Module 3 Start Date
T15 Duration
T16
Module 4
T17
T18
Module 5
T19
T20
Module 6
T21
T22
Module 7
T23
T24
T25
Testing
T26
T27
T28

Fig. 6.1.2. Gantt chart


CHAPTER 7:SYSTEM IMPLEMENTATION
7.1. INCREMENTAL MODEL:
It is the method of software development where the model is designed,
implemented & tested incrementally until the product is finished.

It involves both of development & maintenance.

In this we can say product is finished when it satisfies or meets all its requirements.

All the series of releases is referred as ‘increments’ with each contains more
functionality.

7.2. WHY THIS MODEL IS SELECTED?


As all the requirements for my project are well defined & well understood and
also I thought that in future new requirements may arise from the user & this as all is
supported by the incremental model, I have selected it.

IT IS DIVIDED IN FOLLOWING STAGES:

 Analysis –
 Decision over changes to be implemented in the next stage is taken here.
 Only small portions are implemented at a time.
 Design –

It includes:

 What the interface will look like.


 How the data will be validated.
 Coding –

Compiling the code to make sure that the code is correct.

 Testing –
 It involves running the program by using test data if it is requested.
 If error occurs then the program is debugged & either code or design is altered /
changed.
ADVANTAGES & DISADVANTAGES OF INCREMENTAL MODEL:

Advantages:-

 Generates working software quickly and early during software life cycle.
 More flexible-less costly to change scope & requirements.
 Easy to test & debug during smaller iteration.
 Easy to handle risk as they are identified during iteration.

Disadvantages:-

 Needs good planning & design.


 Needs clear & complete definition of system.
 New requirements might needs new equipment & also will increase budget.
CHAPTER 8:TESTING
8.1. TESTING:
Software testing is a process which is used to measure the quality of software
developed. It is also a process of uncovering errors in a program and makes it a feasible
task. It is useful process of executing program with the intent of finding bugs.

In order to prove that a piece of software works, the software must be tested to
determine if the requirements of the application are met. There are several different types
of tests used throughout the development process. The two main types of testing are
white box and black box testing.

White box test cases are used to test specific paths through the code. At decision
points you can test the boundaries of the decision (boundary testing) and the partitions of
the decision (partition testing).

8.2. TYPES OF TESTING:


 White box testing:
In white-box testing an internal perspective of the system, as well as programming
skills, are used to design test cases. The tester chooses inputs to exercise paths through
the code and determine the appropriate outputs.

 Black box testing:


Black box testing have little or no regard to the internal logical structure of the
system, it only examines the fundamental aspect of the system. It makes sure that input is
properly accepted and output is correctly produced.

 Function testing:
Functional tests involve exercising the code with nominal input values which gives
the expected results and boundary values are known.

 Performance testing:
Performance tests are designed to verify response time. If the wrong data is entered
then the system does not allow it and calculations are not performed.
 Integration Testing:
Integration testing is critical to ensure the functional correctness of the integrated
system.

Integration testing can be divided into two categories. Integration testing is often the
most time consuming and expensive part of testing.

 Unit testing:
The first test in the development process is the unit test. The source code is normally
divided into modules, which in turn are divided into smaller units called units. These
units have specific behavior. The test done on these units of code is called unit test. Unit
test depends upon the language on which the project is developed. Unit tests ensure that
each unique path of the project performs accurately to the documented specifications and
contains clearly defined inputs and expected results.

 System testing:
Several modules constitute a project. If the project is long-term project, several
developers write the modules. Once all the modules are integrated, several errors may
arise. The testing done at this stage is called system test. System testing ensures that the
entire integrated software system meets requirements. It tests a configuration to ensure
known and predictable results. System testing is based on process descriptions and flows,
emphasizing pre-driven process links and integration points.
8.3. TESTING METHODOLOGY:
There are two basic approaches to testing: black-box and white-box. In black-box
testing the structure of the program is not considered. Test cases are decided solely on the
basis of the requirements or specifications of the program or module, and the internals of
the module or the program are not considered for selection of test cases. White-box
testing, on the other hand is concerned with testing the implementation of the program.
The intent is not to exercise all the different input or output conditions (although that may
be a by-product) but to exercise the different programming structures and data structures
used in the program.

‘Black box testing approach is used to test this website.’

In this testing, the structure of the program is not considered. Test cases are
decided solely on the basis of the requirements of specifications of the program or
module, and the intervals of the module or program are not considered for the selection of
test cases.

In black box testing, the tester only knows the inputs that can be given to the
system and what output the system should give. In other words, the basis for declining
test cases in functional testing is the requirements or specifications of the system or
module. This form of testing is also called functional or behavioral testing.

THERE ARE VARIOUS LEVELS OF TESTING WHICH ARE AS FOLLOWS:

 Unit testing: Unit testing is essentially for the verification of the code produced
during the code phase.
 System testing: The entire software is tested.
 Acceptance testing: The external behavior of the system is focused.
8.3. TEST CASES:
Sr. no. Name Input Expected output Actual output Remark
1 Registration page Valid data Go to requested Go to requested Pass
page and popup page and popup
the successful the successful
message message
2 Registration page Invalid output Remain on same Remain on same Pass
page and focus go page and focus go
on invalid input on invalid input
3 Registration Page No Input Focus go on that Focus go on that Pass
input field and input field and
show error show error
message message
4 Formula Page Select module List different List different Pass
formulas of that formulas of that
particular type particular type
5 Retrieve Formulae Select menu Display all Display all Pass
from list formulas related to formulas related
this to this
6 Log calculator Valid input Gives proper Gives proper Pass
output as per the output as per the
input values input values
7 Log calculator Invalid Focus go on input Focus go on input Pass
input/no input field and popup field and popup
message to enter message to enter
valid input valid input
8 Matrix calculator Valid input Process input and Process input and Pass
generate output generate output
9 Matrix calculation Invalid input/ Focus go on input Focus go on input Pass
no input field and displays field and displays
message to enter message to enter
valid input valid input
10 Trigonometry Valid input Process input Process input Pass
calculation values and gives values and gives
result for sin, cos, result for sin, cos,
tan, etc. tan, etc.
11 Trigonometry Invalid input Focus go on input Focus go on input Pass
calculation field and asks for field and asks for
new input vales new input vales

12 Derivative Valid input Process input and Process input and Pass
calculation generate output generate output
13 Derivative Invalid input Focus go on input Focus go on input Pass
calculation field and asks for field and asks for
new input vales new input vales
14 Integration Valid input Process input and Process input and Pass
implementation generate output generate output
15 Integration Invalid input Focus go on input Focus go on input Pass
implementation field and asks for field and asks for
new input vales new input vales
CHAPTER 9: SYSTEM MAINTENANCE AND
EVOLUTION
9.1. SYSTEM MAINTENANCE AND EVALUATION:
Software maintenance is defined in the IEEE Standard for Software Maintenance,
IEEE 1219 [IEEE 1219], as the modification of a software product after delivery to
correct faults, to improve performance or other attributes, or to adapt the product to a
modified environment.

Software maintenance is a very broad activity that includes error corrections,


enhancements of capabilities, deletion of obsolete capabilities, and optimization. Because
change is inevitable, mechanism must be developed for evaluation, controlling and
making modifications. So any work done to change the software after it is in operation is
considered to be maintenance work. The purpose is to preserve the value of software over
the time. The value can be enhanced by expanding the customer base, meeting additional
requirements, becoming easier to use, more efficient and employing newer technology.
Maintenance may span for 20 years, whereas development may be 1-2 years.
Maintenance is not a part of software development, but is an extremely important activity
in the life of a software product. Maintenance includes all the activities after installation
of the software that is performed to keep the system operational and updated.

Most of the maintenance effort is used for non-corrective actions like


functionality enhancements or inclusion of newer technologies.

THE MAINTENANCE ACTIVITIES CAN BE CATEGORIZED INTO FOUR


CLASSES:

 Adaptive – dealing with changes and adapting in the software environment.


 Perfective – accommodating with new or changed user requirements which
concern functional enhancements to the software.
 Corrective – dealing with errors found and fixing it.
 Preventive – concerns activities aiming on increasing software maintainability
and prevent problems in the future.

It may happen that the software may fail after development. A software product
wears out due to age. In software, bugs or errors may get introduced during the design
and development process which may go undetected during the Testing phase. In such
cases, software may fail after operating correctly for some time. Such errors need to be
removed.
So as not to encounter such problems in the future it is necessary to visit the
organization frequently to check whether the system is maintained properly and is error
free.

There is less probability of such problems as the system is developed by


considering the requirements and detailed study of the system. If any problem arises the
problem can be reported by the user and by visiting the place and making changes will
keep the software maintained.
CHAPTER 10:TOOLS FOR DEVELOPMENT AND
EVOLUTION
CHAPTER 11:USER MANUAL
-First we have to install app on our mobile.

-After that it will ask for registration.

-For registration we need Name, Mobile number, and Email ID.

-It is a kind of one time registration.

-If somewhere we enter wrong information or if some input text remain blank then it gives Error
message as follows.
-If registration done successfully, then app display its splash screen for some time.

-After this first registration whenever we open this app next time it directly shows this splash
screen.
-This screen provides to button buttons for selecting module as per your need.

-If you want to refer static part then go with formula button or if you want to do calculations go
with calculator button, as you required.
-Now we are in Formula section.

-It displays Grid View with selectable items.

-Whatever formula you want to see related to algebra, geometry, unit conversion, etc. then
choose those module.

-After selecting item from Grid View it gives list for Different types of formulas as follows.
-Choose any of the item from list it displays its related formulas.
-It is a part of calculation/ calculator.

-Like formula section it also provides grid vies, with selectable items.

-It provides log, Trigonometry, Matrices, Derivative, and Integration calculator.

-Choose module as per requirement.

-After selecting calculator type it opens related layout.

-If there is sub type for any module then choose any one of them, that you required..
-When main screen is display to add input values and select operation, then enter right values in
text box.

-If any input is wrong or no input is send then it throws error message and focus goes to that
particular input.

Log calculator
Trigonometry Calculator
Matrix Calculator
CHAPTER 12: COST AND BENEFIT ANALYSIS
12.1. COST ANALYSIS:
The cost of a project is a function of many parameters. Foremost among them is
the size of the project. Other factors that affect the cost are programmer ability,
experience of the developers in the area, complexity of the project, and reliability
requirements. It is also due to the requirements of software, hardware and human
resources.

LOC is beneficial in many ways as follows:

 It is an easy method to measure effort.


 The alternative methods to the counting of LOC are also fighting with problems and
weaknesses.
 In spite of its unreliability for individual programs, it gives reliable average results,
which is crucial especially for huge projects.

12.2. PROJECT COST USING ‘COCOMO’


The Constructive Cost Model (COCOMO) is an algorithmic software cost
estimation model developed by Barry W. Boehm. The model uses a basic regression
formula with parameters that are derived from historical project data and current project
characteristics.

COCOMO was first published in Boehm's 1981 book Software Engineering


Economics as a model for estimating effort, cost, and schedule for software projects. It
drew on a study of 63 projects at TRW Aerospace where Boehm was Director of
Software Research and Technology.

The study examined projects ranging in size from 2,000 to 100,000 lines of code,
and programming languages ranging from assembly to PL/I. These projects were based
on the waterfall model of software development which was the prevalent software
development process in 1981.

COCOMO consists of a hierarchy of three increasingly detailed and accurate


forms. The first level, Basic COCOMO is good for quick, early, rough order of
magnitude estimates of software costs, but its accuracy is limited due to its lack of factors
to account for difference in project attributes (Cost Drivers). Intermediate COCOMO
takes these Cost Drivers into account and

Detailed COCOMO additionally accounts for the influence of individual project phases.
12.2.1. Intermediate COCOMO:
It computes software development effort as function of program size and a
set of "cost drivers" that include subjective assessment of product, hardware,
personnel and project attributes. This extension considers a set of four "cost
drivers" as shown in table.

Cost drivers Rating

Very low Low Nominal High Very high Extra high


Product Attributes
Required 0.75 0.88 1.00 1.15 1.40 -
s/w
reliability
Size of 0 0.94 1.00 1.08 1.16 -
application
database
Product 0.70 0.85 1.00 1.15 1.30 1.65
complexity
Hardware attribute
Execution - - 1.00 1.11 1.30 1.66
time
constrain
Main - - 1.00 1.06 1..21 1.56
storage
constrain
Virtual - 0.87 1.00 1.15 1.30 -
machine
volatility
Computer - 0.87 1.00 1.07 1.15 -
turnaround
time
Personnel attribute
Analyst 1.46 1.19 1.00 0.86 0.71 -
capability
Application 1.29 1.13 1.00 0.91 0.82 -
experience
Programmer 1.42 1.17 1.00 0.86 0.70 -
capability
Virtual 1.21 1.10 1.00 0.90 - -
machine
experience
Language 1.14 1.07 1.00 0.95 - -
experience
Project attribute
Use of 1.24 1.10 1.00 0.91 0.82 -
modern
practices
Use of s/w 1.24 1.10 1.00 0.91 0.83 -
tools
Required 1.23 1.08 1.00 1.04 1.10 -
development
scheduled

Each of the 15 attributes receives a rating on a six-point scale that ranges from
"very low" to "extra high" (in importance or value). An effort multiplier from the table
below applies to the rating. The product of all effort multipliers results in an effort
adjustment factor (EAF). Typical values for EAF range from 0.9 to 1.4.

The Intermediate COCOMO formula now takes the form:

Where E is the effort applied in person-months, KLoC is the estimated number of


thousands of delivered lines of code for the project.

Software project ai bi
 Organic 3.2 1.05
 Semi-detached 3.0 1.12
 Embedded 2.8 1.20

12.2.2. Advantages of intermediate COCOMO:


The Intermediate COCOMO model can be applied to almost entire
software project for easy and rough implementation during early stages. It can
also be applied at the software component level for obtaining more accurate cost
estimation.

12.2.3. Disadvantages of intermediate COCOMO:

Product with many components is difficult to estimate with Intermediate


COCOMO and secondly the effort multipliers are not dependent on phase.
CHAPTER 13: LIMITATIONS

You might also like