Professional Documents
Culture Documents
SUBMITTED BY
Miss. SHRADDHA SUNIL BAGAWE
[Seat No. ]
DATE OF SUBMISSION
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.
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)
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.
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
If helps me to study about for my app development, how it works behind the
screen, what app is its actual meaning etc.
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.
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.
If user wants to add some extra part then we can easily update our system as per
requirements.
1.7. REQUIREMENTS:-
Software Requirements
Hardware Requirements
Platform
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.
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.
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.
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.
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.
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.
Data Gathering
Study of Existing System
Analyzing problem
Studying various documents
Feasibility study for further improvement
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.
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:-
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.
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.
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.
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.
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.
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 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:
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.
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:
Select Formula
Select Calculator
Implementation of derivatives
Calculate Integration
NAME :-Registration
SUMMARY :-It is a onetime registration process only for security purpose and
to maintain record of 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
POST CONDITION :- After displaying formulae, controlled is on that page only and it
is in waiting mode for next operation.
3. 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.
POST CONDITION – After select operation and tacking input system process it and
gives output on screen, then waiting for next operation.
4. MATRIX CALCULATION
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.
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 :
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:
POST CONDITION – after displaying output, it is go into waiting state for next
operation selection.
5.6.3. Sequence diagram:
Notation:
An instantaneous
communication between
objects that conveys
Synchronous message
information, with the
expectation that an action
will be initiated as a result.
1 : Install Application()
System File
Student
1 : SelectApp()
6 : List Submenus()
7 : Select submenus()
10 : Display on screen()
4 : Varify values()
5 : Select operation()
1 : Select Module(Calculator)()
8 : Varify Values()
9 : Send input values to file()
Log/Matrices/Derivatives/Integration
5.6.4. Activity diagram:
Notation:
Back
Calculator Retrieve formulas Back
Back
Select Operation
Retrive information
unsucessful
Back
Display on screen
Sucessful
Display o/p
Notation:
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()
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
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.
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:
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:-
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).
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.
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.
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.
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.
-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.
-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.
-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.
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.
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.
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.
Software project ai bi
Organic 3.2 1.05
Semi-detached 3.0 1.12
Embedded 2.8 1.20