Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 52

1

“FINANCE EXPENSE MANAGER”

A Project Report for the Degree of

BACHELOR OF COMPUTER APPLICATIONS

by
Uvais Saifi
(Roll No. 1810201010)

Under the Supervision of

Project Guide Signature Project In-Charge Signature


Mr. Saurabh Kumar Ms. Kalpana Gangwar[Asstt Professor]
IICA Faculty of Computer Applications

Submitted to:
INVERTIS UNIVERSITY
Invertis Village, Bareilly - Lucknow National Highway, NH-24, Bareilly,
Uttar Pradesh - 243123

JUNE - 2021
Department of Computer Applications, Invertis University, Bareilly
2

CERTIFICATE

This is to certify that Uvais Saifi , student of BCA course of Faculty of Computer
Applications, Invertis University, Bareilly, has undergone a mandatory “SIXTH
SEMESTER PROJECT” in our esteemed organization.

During the course of his project development he has completed a project on “FINACE
EXPENCE MANAGER”.

This project is in partial fulfillment for the requirement of Bachelor of Computer


Applications curriculum as per university norms.

I wish him/her all the best in his/her carrier.

Mr. Jitendra Chaudhary Ms. Kalpana Gangwar


Assistant Professor Assistant Professor
HOD Project In Charge

Department of Computer Applications, Invertis University, Bareilly


3

ACKNOWLEGDEMENT

We extend our Thanks of Invertis Institute of Computer Applications, Invertis University,


Bareilly who has given me opportunity.

Today I am feeling a great sense of Excitement on my way to successfully complete my


project on “Finance Expense Manager” under the guidance of “Mr.Saurabh Kumar”.

I am also thankful to Ms. Kalpana Gangwar for their guidelines and valuable efforts in
completion of my project.

I sincerely thank him for responding great confidence and faith in my work and being
with me to encourage and guide me to successful project completion.

I should also like to thank Mr. Jitendra Chaudhary, HOD, Department of Computer
Applications for their support and all our friends and colleagues who have created an
atmosphere to encourage me from time to time making our work easy.

Thank You…..

Student Name: Uvais Saifi

Roll No: 1810201010

Signature:

Department of Computer Applications, Invertis University, Bareilly


4

LIST OF TABLES

1. Customer table Page No

2. Product table Page No

3. Invoice table Page No

4. Department table Page No

5. Table 5 Page No

6. Table 6 Page No

LIST OF FIGURES
Department of Computer Applications, Invertis University, Bareilly
5

1. Waterfall Model 17

2. ER Diagram 18

3. DFD Diagram 18-19

4. Figure_4 name Page No

5. Figure_5 name Page No

6. Figure_6 name Page No

TABLE OF CONTENTS
Department of Computer Applications, Invertis University, Bareilly
6

Content Page No.


Certificate 1
Acknowledgements 2
List of Tables 3
List of Figures 4
List of Abbreviations 5
1. Introduction of project 8-9
2. Problem definition 10-11
3. System Analysis & Feasibility Study 11-13
4. Scope of the Proposed System 14-15
5. System Requirements 16-17
a. Hardware Requirements 16-17
b. Software Requirements [Front End & Back End] 16-17
6. System Logical Design 17-18
a. Data Flow Diagram 18-19
b. Data Dictionary Page No
c. ER Diagram 17-18
7. System Physical Design (Coding) 19-26
8. Input / Output Screen 27-28
9. Testing 29-34
a. Test Cases 31
b. Test techniques Page No.
10. Implementation 35-37
11. Limitations & Future Scope
12. Bibliography 39

CHAPTER 1: INTRODUTION

Department of Computer Applications, Invertis University, Bareilly


7

INTRODUCTION

Finance Expense Manager System is designed to keep a track of


Income-Expense of a Housewife on a day-to-day basis. This System
divides the Income based on daily expenses. If you exceed day’s
expense, system will cut it from your income and will provide new
daily expense allowed amount. If that day’s expense is less, system
will add it in savings. Daily expense tracking System will generate
report at the end of month to show Income-Expense Curve. It will
let you add the savings amount, which you had saved for some
particular Festivals or days like Birthday or Anniversary. Daily
Expense Tracker System is a system which will keep a track of
Income-Expense of a House- Wife on a day to day basics, This
System takes Income from House-Wife and divides in daily
expense allowed, If u exceed that days expense it will cut if from
your income and give new daily expense allowed Amt, and if that
days expense is less it will add it in savings. Daily expense tracking
System will generate report at the end of month to show Income-
Expense Curve. It will let you add the savings amt which you had
saved for some particular Festivals or day like Birthday or
Anniversary.

Department of Computer Applications, Invertis University, Bareilly


8

AIM

Finance Expense Manager (FEM) aims to help everyone who are


planning to know their expenses and save from it. FEM is an web
application and it work also in android which users can execute in
their mobile phones and update their daily expenses so that they are
well known to their expenses. Here user can define their own
categories for expense type like food, clothing, rent and bills where
they have to enter the money that has been spent and also can add
some information in additional information to specify the expense.
User can also define expense categories. User will be able to see all
the expense categories. Although this app is focused on new job
holders, interns and teenagers, everyone who wants to track their
expense can use this app

Department of Computer Applications, Invertis University, Bareilly


9

CHAPTER 2:

PROBLEM DEFINITION

When We were creating this project We faces many problems on the server side when we
want to create database on the myphpadmin as a local host we faces lots of issues
regarding the creating and importing the files in our local drive .
As we faces these kind of issue it is common for the organization’s project
One engineer gave an example of a process that takes twice as long on the current server.
When asked if server performance was ever considered as a root cause and investigated
by support,  the engineers presumed it had but no one knew who had raised a ticket.
The project was already beginning to take on a whole new direction.
Once contacted, the support team investigated, found, and removed a rogue process and
the engineering team saw an immediate improvement in performance,  retracting their
request for the new server.
Without this step in the definition process, a needless project could have been completed,
introducing unnecessary costs for the engineering team. The engineering team also
introduced a new process for handling the investigation of anomalies in their production
process.
Once the root causes or problems are identified, a decision needs to be made about which
problems to address first. The decision-making approach may differ from one company
to another for example; simply using your gut, forming a holistic approach, or group
consensus.
When final decisions are made, they should be documented and communicated to the
entire team so everyone is on the same page. This phase will form the Problem
Statement, a clear and short description of the issues that need to be addressed by a
problem-solving team.

Department of Computer Applications, Invertis University, Bareilly


10

CHAPTER 3

SYSTEM ANALYSIS & FEASIBILITY

A feasibility study is a high-level capsule version of the entire System analysis


and Design Process. The study begins by classifying the problem definition.
Feasibility is to determine if it’s worth doing. Once an acceptance problem
definition has been generated, the analyst develops a logical model of the
system. A search for alternatives is analyzed carefully. There are 3 parts in
feasibility study.

1) Operational Feasibility
2) Technical Feasibility

3) Economical Feasibility

OPERATIONAL FEASIBILITY

Operational feasibility is the measure of how well a proposed


system solves the problems, and takes advantage of the
opportunities identified during scope definition and how it satisfies
the requirements identified in the requirements analysis phase of
system development. The operational feasibility assessment focuses
on the degree to which the proposed development projects fits in
with the existing business environment and objectives with regard
to development schedule, delivery date, corporate culture and
existing business processes. To ensure success, desired operational
outcomes must be imparted during design and development. These
include such design-dependent parameters as reliability,
maintainability, supportability, usability, producibility,

Department of Computer Applications, Invertis University, Bareilly


11

disposability, sustainability, affordability and others. These


parameters are required to be considered at the early stages of
design if desired operational behaviors are to be realised. A system
design and development requires appropriate and timely application
of engineering and management efforts to meet the previously
mentioned parameters. A system may serve its intended purpose
most effectively when its technical and operating characteristics are
engineered into the design. Therefore, operational feasibility is a
critical aspect of systems engineering that needs to be an integral
part of the early design phases.

TECHNICAL FEASIBILITY

This involves questions such as whether the technology needed for the system exists, how
difficult it will be to build, and whether the firm has enough experience using that
technology. The assessment is based on outline design of system requirements in terms of
input, processes, output, fields, programs and procedures. This can be qualified in terms
of volume of data, trends, frequency of updating in order to give an introduction to the
technical system. The application is the fact that it has been developed on windows XP
platform and a high configuration of 1GB RAM on Intel Pentium Dual core processor.
This is technically feasible .The technical feasibility assessment is focused on gaining an
understanding of the present technical resources of the organization and their
applicability to the expected needs of the proposed system. It is an evaluation of the
hardware and software and how it meets the need of the proposed system

Department of Computer Applications, Invertis University, Bareilly


12

ECONOMICAL FEASIBILITY

Establishing the cost-effectiveness of the proposed system i.e. if the


benefits do not outweigh the costs then it is not worth going ahead.
In the fast paced world today there is a great need of online social
networking facilities. Thus the benefits of this project in the current
scenario make it economically feasible. The purpose of the
economic feasibility assessment is to determine the positive
economic benefits to the organization that the proposed system will
provide. It includes quantification and identification of all the
benefits expected. This assessment typically involves a cost/benefits
analysis.

Department of Computer Applications, Invertis University, Bareilly


13

CHAPTER 4:

SCOPE OF THE PROPOSED SYSTEM

PROPOSED SYSTEM

To reduce manual calculations, we propose an application which is

developed by Android. This application allows users to maintain a

digital automated diary. Each user will be required to register on the

system at registration time, the user will be provided id, which will

be used to maintain the record of each unique user. Expense Tracker

application which will keep a track of Income-Expense of a user on

a day to day basis. This application takes Income from user and

divides in daily expense allowed. If u exceed that days expense it

will cut if from your income and give new daily expense allowed

amount, and if that days expense is less it will add it in savings.

Expense tracking application will generate report at the end of

month to show Income-Expense via multiple graphs. It will let you

add the savings amount which you had saved for some particular

Festivals or day like Birthday or Anniversary.

Department of Computer Applications, Invertis University, Bareilly


14

SCOPE

Daily Expense Tracker System is designed to keep a track of Income-Expense of a


Housewife on a day-to-day basis. This System divides the Income based on daily
expenses. If you exceed day’s expense, system will cut it from your income and will
provide new daily expense allowed amount. If that day’s expense is less, system will add
it in savings. Daily expense tracking System will generate report at the end of month to
show Income-Expense Curve. It will let you add the savings amount, which you had
saved for some particular Festivals or days like Birthday or Anniversary. Daily Expense
Tracker System is a system which will keep a track of Income-Expense of a House-Wife
on a day to day basics, This System takes Income from House-Wife and divides in daily
expense allowed, If u exceed that days expense it will cut if from your income and give
new daily expense allowed Amt, and if that days expense is less it will add it in savings.
Daily expense tracking System will generate report at the end of month to show Income-
Expense Curve. It will let you add the savings amt which you had saved for some
particular Festivals or day like Birthday or Anniversary.

Department of Computer Applications, Invertis University, Bareilly


15

CHAPTER 5 :

SOFTWARE REQUIREMENTS SPECIFICATION

SOFTWARE REQUIREMENT:

NUMBER DESCRIPTION TYPE

1. Operating System Windows 7/ Windows 10/

2. LANGUAGE HTML/CSS/PHP

3. DATA BASE My.SQL

4. IDE VISUAL CODE

5. BROWSER GOOGLE CHROME/FIREFOX

HARDWARE REQUIREMENT:

NUMBER DESCRIPTION

1. PC WITH 250 GB OR MORE HARD DISK.

2. PC WITH 2 GB RAM.

3. PC WITH PENTIUM 1 AND ABOVE

Department of Computer Applications, Invertis University, Bareilly


16

CHAPTER 6:

SYSTEM LOGICAL DESIGN

WATERFALL MODEL:

 Requirements were very well documented, clear and fixed.


 Technology was adequately understood.
 Simple and easy to understand and use
 There were no ambiguous requirements.
 Easy to manage due to the rigidity of the model. Each phase
has specific deliverables and a review process.
 Clearly defined stages

 Well understood milestones. Easy to arrange tasks.

Department of Computer Applications, Invertis University, Bareilly


17

ER DIAGRAM

Department of Computer Applications, Invertis University, Bareilly


18

DFD(Data Flow Diagram)

Department of Computer Applications, Invertis University, Bareilly


19

CHAPTER 7:

System Physical Design (Coding)


<?php

$servername = "localhost";

$username = "root";

$password = "";

$dbname = "test";

// Create connection

$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection

if ($conn->connect_error) {

echo "<h2 style='text-align:center;'>The connection failed. Please provide proper local server details
and keep the files in the HTDOCS of localhost.<br>In case you want to See the design demo, <a
href='demo.html' style='color:green;'>Please Visit Here</a></h2>";

die("Connection failed: " . $conn->connect_error);

$today = date("d/m/Y");

$sql = "SELECT id, amount, comment, day, type FROM expense ORDER BY day DESC, type ASC ";

$result = $conn->query($sql);

$sql0 = "SELECT id, amount, comment, day, type FROM expense WHERE day = '$today' ORDER BY
type ASC ";

$result0 = $conn->query($sql0);

Department of Computer Applications, Invertis University, Bareilly


20

// adding expenses for that current day with all sorted catogeries

$money = array("Grocery" => 0, "Entertainment" => 0, "Vehicle" => 0, "Food" => 0, "Miscellaneous"
=> 0, "total" => 0);

$sql2 = "SELECT amount, type FROM expense WHERE day = '$today'";

$result2 = $conn->query($sql2);

if ($result2->num_rows > 0) {

while ($row = $result2->fetch_assoc()) {

$k = $row["type"];

$money[$k] = $money[$k] + $row["amount"];

$money["total"] = $money["total"] + $row["amount"];

} else {

echo 'fao';

?>

<!doctype html>

<html lang="en">

<head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1">

Department of Computer Applications, Invertis University, Bareilly


21

<link rel="stylesheet" type="text/css"


href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">

<title>Personal FinEx Manager | Syed Areeb Raza</title>

<!-- Styles -->

<style>

html,

body {

background-color: #fafbfc;

color: #636b6f;

font-family: Open Sans, sans-serif;

/*font-family: 'Raleway', sans-serif;*/

font-weight: 300;

height: 100vh;

margin: 0;

overflow: auto;

a{

text-decoration: none;

.content {

margin: 0;

width: 100%;

position: relative;

top: 15vh;

/*border: 2px solid red;*/


Department of Computer Applications, Invertis University, Bareilly
22

/*text-align: center;*/

.title {

font-size: 2em;

.header {

z-index: 1;

background: white;

position: fixed;

top: 0;

left: 0;

width: 100%;

/*font-size: 1.25rem;*/

color: #525c65;

box-shadow: 0 1px 20px 0 rgba(46, 61, 73, .2);

ul {

margin-bottom: 0;

.left {

width: 20%;

Department of Computer Applications, Invertis University, Bareilly


23

float: left;

margin-top: 0;

.right {

float: right;

padding-right: 5vw;

margin-top: 0;

.tabb li {

float: right;

list-style-type: none;

padding: 20px;

.tabb li p {

margin: 0;

padding: 10px;

text-align: center;

cursor: pointer;

padding-right: 5px;

padding-left: 5px;

.btnB {

Department of Computer Applications, Invertis University, Bareilly


24

background: #02ccba;

color: white;

/*width: 7.75rem;*/

box-shadow: 8px 10px 20px 0 rgba(46, 61, 73, .15);

text-transform: capitalize;

border-radius: 5px;

margin: 0;

padding: 10px;

text-align: center;

cursor: pointer;

#btnB {

padding-right: 20px;

padding-left: 20px;

.btnB:hover {

box-shadow: 2px 4px 8px 0 rgba(46, 61, 73, .2);

.total {

width: 100%;

margin: auto;

Department of Computer Applications, Invertis University, Bareilly


25

.six {

width: 100%;

float: left;

padding-top: 5vh;

padding-bottom: 5vh;

background: #fafbfc

.lapi {

display: none;

.mobi {

display: block;

.hamburger {

display: block;

@media(min-width: 62em) {

.lapi {

display: block;

Department of Computer Applications, Invertis University, Bareilly


26

.mobi {

display: none;

.six {

width: 50%;

float: left;

padding-top: 5vh;

padding-bottom: 5vh;

background: #fafbfc

#piechart {

box-shadow: 5px 5px 25px 0 rgba(46, 61, 73, .2);

background: white;

margin: 3vh;

padding: 40px;

text-align: center;

padding-top: 0;

border-radius: .375rem;

#piechart:hover {

cursor: pointer;

box-shadow: 2px 4px 8px 0 rgba(46, 61, 73, .2);

Department of Computer Applications, Invertis University, Bareilly


27

.boxx {

color: black;

margin: 3vh;

padding: 40px;

background: white;

box-shadow: 5px 5px 25px 0 rgba(46, 61, 73, .2);

border-radius: .375rem;

text-align: center;

.boxx:hover {

cursor: pointer;

box-shadow: 2px 4px 8px 0 rgba(46, 61, 73, .2);

input {

margin-bottom: 20px;

padding: 8px;

border: 1px solid #ccc;

border-radius: 2px;

font-size: .9em;

Department of Computer Applications, Invertis University, Bareilly


28

select {

margin-bottom: 20px;

padding: 8px;

border: 1px solid #ccc;

border-radius: 2px;

font-size: .9em;

</style>

</head>

<body>

<div class="header">

<ul class="left tabb">

<li style="float: left;padding-left: 0;">

<b style="margin: 0;

padding: 10px;

text-align: center;

cursor: pointer;

padding-right: 5px;

padding-left: 5px;" class="lapi"> <a href="index.php" style="text-decoration: none;color: #525c65">

FinEx Manager

</a></b>

<b class="mobi" style="

margin: 0;

padding: 10px;

Department of Computer Applications, Invertis University, Bareilly


29

text-align: center;

cursor: pointer;

padding-right: 5px;

padding-left: -15px;"><a href="/" style="text-decoration: none;

color: #525c65;">Manager</a></b>

</li>

</ul>

<ul class="right tabb">

<li>

<a href="report.php" style="text-decoration: none;color: #525c65">

<p class="btnB" id="btnB">My Reports</p>

</a>

</li>

<li>

<a href="yearReport.php" style="text-decoration: none;color: #525c65">

<p class="btnB" id="btnB">Year Report</p>

</a>

</li>

</ul>

</div>

<div class="content">

<div class="total">

Department of Computer Applications, Invertis University, Bareilly


30

<div class="six">

<div class="boxx">

<div style="width: 100%;margin: auto;">

<div>

<div class="">

<div class="box-header" style=" background-color: #02b3e4;

margin-top: 0;

border-radius: 5px 5px 0 0;">

<h2 style="text-transform: uppercase;

color: white;

font-weight: 400;

letter-spacing: 1px;

font-size: 1.4em;

line-height: 2.8em;

">Add new Expenses</h2>

</div>

<p style="text-align: left;">Keep up to dated with your expenses by adding each in


its respective catogaries and get weekly and monthly reports about your expenses.</p>

<form id="form-work" class="" name="form-work" action="success.php"


method="POST" style="text-align: left;">

<label for="catogery" style="padding-right: 20px;">Select Expense


Catogery</label>

Department of Computer Applications, Invertis University, Bareilly


31

<select type="text" id="catogery" name="type" required="true">

<option value="">SELECT</option>

<option value="Grocery">Grocery</option>

<option value="Entertainment">Entertainment,</option>

<option value="Vehicle">Vehicle</option>

<option value="Food">Food</option>

<option value="Miscellaneous">miscellaneous</option>

</select>

<br />

<label for="expense" style="padding-right: 20px;">Add your Expenses</label>

<input type="number" id="expense" name="expense" required


placeholder="How many did you spent">

<br />

<label for="comment" style="padding-right: 20px;">Comment about


expense</label>

<input type="text" id="comment" name="comment" required placeholder="just


to remember">

<br />

<button type="submit" class="btn btnB" style="padding-right: 20px;

padding-left: 20px; box-shadow: 8px 10px 20px 0 rgba(46, 61, 73, .15);border: none;background-
color: #02b3e4;font-size: 105%;">Update</button>

<br />

</form>

</div>

</div>

</div>

Department of Computer Applications, Invertis University, Bareilly


32

</div>

</div>

<div class="six">

<div id="piechart"></div>

</div>

</div>

<!-- Of that day -->

<div class="container">

<div class="row">

<div class="col-xs-12">

<div class="table-responsive">

<table class="table table-bordered table-hover">

<h2 class="text-center">Your total Expenses for Today </h2>

<thead>

<tr>

<th style="background-color: #02b3e4;color: white;border-color: white


">Amount</th>

<th style="background-color: #02b3e4;color: white;border-color: white


">Category</th>

<th style="background-color: #02b3e4;color: white;border-color: white


">Comments</th>

<!-- <th style="background-color: #02b3e4;color: white;border-color: white


">Date</th> -->

Department of Computer Applications, Invertis University, Bareilly


33

</tr>

</thead>

<tbody>

<?php

if ($result0->num_rows > 0) {

while ($row = $result0->fetch_assoc()) {

echo "<tr><td>" . $row["amount"] .

"</td><td>"

. $row["type"] . "</td><td>"

. $row["comment"] . "</td>";

?>

</tbody>

</table>

</div>

<!--end of .table-->

</div>

</div>

</div>

<div class="container">

<div class="row">

Department of Computer Applications, Invertis University, Bareilly


34

<div class="col-xs-12">

<div class="table-responsive">

<table class="table table-bordered table-hover">

<h2 class="text-center">Your total Expenses</h2>

<thead>

<tr>

<th style="background-color: #02b3e4;color: white;border-color: white


">Amount</th>

<th style="background-color: #02b3e4;color: white;border-color: white


">Category</th>

<th style="background-color: #02b3e4;color: white;border-color: white


">Comments</th>

<th style="background-color: #02b3e4;color: white;border-color: white


">Date</th>

</tr>

</thead>

<tbody>

<?php

if ($result->num_rows > 0) {

while ($row = $result->fetch_assoc()) {

echo "<tr><td>" . $row["amount"] .

"</td><td>"

. $row["type"] . "</td><td>"

. $row["comment"] . "</td><td>"

. $row["day"] . "</td></tr>";

?>

Department of Computer Applications, Invertis University, Bareilly


35

</tbody>

<tfoot>

<tr>

<td colspan="5" class="text-center"> Developed BY Syed Areeb Raza and


Team</td>

</tr>

</tfoot>

</table>

</div>

<!--end of .table-->

</div>

</div>

</div>

</div>

Department of Computer Applications, Invertis University, Bareilly


36

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

<script type="text/javascript">

// Load google charts

google.charts.load('current', {

'packages': ['corechart']

});

google.charts.setOnLoadCallback(drawChart);

// Draw the chart and set the chart values

function drawChart() {

var data = google.visualization.arrayToDataTable([

['Expenses', 'Rs per Day'],

['Grocery,', <?php echo $money['Grocery'] ?>],

['Entertainment,', <?php echo $money['Entertainment'] ?>],

['Vehicle,', <?php echo $money['Vehicle'] ?>],

['Food,', <?php echo $money['Food'] ?>],

['Miscellaneous', <?php echo $money['Miscellaneous'] ?>]

]);

// Optional; add a title and set the width and height of the chart

var options = {

'title': 'Today\'s Expenses by Category, Total Rs:<?php echo $money['total'] ?> ',

'width': 550,

'height': 400

};

Department of Computer Applications, Invertis University, Bareilly


37

// Display the chart inside the <div> element with id="piechart"

var chart = new google.visualization.PieChart(document.getElementById('piechart'));

chart.draw(data, options);

</script>

</body>

</html>

Department of Computer Applications, Invertis University, Bareilly


38

CHAPTER 8:

INPUT / OUTPUT SCREEN

OUTPUNT SCREEN-1

OUTPUT SCREEN-2

Department of Computer Applications, Invertis University, Bareilly


39

OUTPUT SCREEN-3

Department of Computer Applications, Invertis University, Bareilly


40

OUTPUT SCREEN-4

OUTPUT SCREEN-5

Department of Computer Applications, Invertis University, Bareilly


41

OUTPUT SCREEN-6

Department of Computer Applications, Invertis University, Bareilly


42

CHAPTER 9 :TESTING

UNIT TESTING

In computer programming, unit testing is a software testing method


by which individual units of source code, sets of one or more
computer program modules together with associated control data,
usage procedures, and operating procedures, are tested to determine
whether they are fit for use. Intuitively, one can view a unit as the
smallest testable part of an application. In procedural programming,
a unit could be an entire module, but it is more commonly an
individual function or procedure. In object-oriented programming, a
unit is often an entire interface, such as a class, but could be an
individual method. Unit tests are short code fragments created by
programmers or occasionally by white box testers during the
development process. It forms the basis for component testing.
Ideally, each test case is independent from the others. Substitutes
such as method stubs, mock objects, fakes, and test harnesses can
be used to assist testing a module in isolation. Unit tests are
typically written and run by software developers to ensure that code
meets its design and behaves as intended.

Benefits

The goal of unit testing is to isolate each part of the program


and show that the individual parts are correct. A unit test
provides a strict, written contract that the piece of code must
satisfy. As a result, it affords several benefits.

Department of Computer Applications, Invertis University, Bareilly


43

1) Find problems early : Unit testing finds problems early in the


development cycle. In test-driven development (TDD), which is
frequently used in both extreme programming and scrum, unit tests are
created before the code itself is written. When the tests pass, that code is
considered complete. The same unit tests are run against that function
frequently as the larger code base is developed either as the code is
changed or via an automated process with the build. If the unit tests fail,
it is considered to be a bug either in the changed code or the tests
themselves. The unit tests then allow the location of the fault or failure to
be easily traced. Since the unit tests alert the development team of the
problem before handing the code off to testers or clients, it is still early in
the development process.

2) Facilitates Change: Unit testing allows the programmer to refactor


code or upgrade system libraries at a later date, and make sure the module
still works correctly (e.g., in regression testing). The procedure is to write
test cases for all functions and methods so that whenever a change causes
a fault, it can be quickly identified. Unit tests detect changes which may
break a design contract
3) Simplifies Integration : Unit testing may reduce uncertainty in the
units themselves and can be used in a bottom-up testing style approach.
By testing the parts of a program first and then testing the sum of its
parts, integration testing becomes much easier.
4) Simplifies Integration : Unit testing may reduce uncertainty in the
units themselves and can be used in a bottom-up testing style approach.
By testing the parts of a program first and then testing the sum of its
parts, integration testing becomes much easier.

Department of Computer Applications, Invertis University, Bareilly


44

TEST CASES

Test cases are built around specifications and requirements, i.e.,


what the application is supposed to do. Test cases are generally
derived from external descriptions of the software, including
specifications, requirements and design parameters. Although
the tests used are primarily functional in nature, non-functional
tests may also be used. The test designer selects both valid and
invalid inputs and determines the correct output, often with the help
of an oracle or a previous result that is known to be good, without
any knowledge of the test object's internal structure.

Black-Box Testing:
Black-box testing is a method of software testing that examines the
functionality of an application without peering into its internal
structures or workings. This method of test can be applied virtually
to every level of software testing: unit, integration, system and
acceptance. It typically comprises most if not all higher level
testing, but can also dominate unit testing as well.
Test Procedures:
Specific knowledge of the application's code/internal structure and
programming knowledge in general is not required. The tester is
aware of what the software is supposed to do but is not aware of
how it does it. For instance, the tester is aware that a particular
input returns a certain, invariable output but is not aware of how the
software produces the output in the first place.

Department of Computer Applications, Invertis University, Bareilly


45

White-Box Testing:

White-box testing (also known as clear box testing, glass box


testing, transparent box testing, and structural testing) is a
method of testing software that tests internal structures or workings
of an application, as opposed to its functionality (i.e. black-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. This is analogous to testing
nodes in a circuit, e.g. in-circuit testing (ICT). White-box testing
can be applied at the unit, integration and system levels of the
software testing process. Although traditional testers tended to think
of white-box testing as being done at the unit level, it is used for
integration and system testing more frequently today. It can test
paths within a unit, paths between units during integration, and
between subsystems during a system–level test. Though this
method of test design can uncover many errors or problems, it has
the potential to miss unimplemented parts of the specification or
missing requirements.
Levels:

1 ) Unit testing : White-box testing is done during unit testing to


ensure that the code is working as intended, before any
integration happens with previously tested code. White-box
testing during unit testing catches any defects early on and aids in
any defects that happen later on after the code is integrated with
the rest of the application and therefore prevents any type of

Department of Computer Applications, Invertis University, Bareilly


46

errors later on.


2 Integration testing : White-box testing at this level are written
to test the interactions of each interface with each other. The Unit
level testing made sure that each code was tested and working
accordingly in an isolated environment and integration examines
the correctness of the behaviour in an open environment through
the use of white-box testing for any interactions of interfaces that
are known to the programmer.
3 Regression testing : White-box testing during regression testing
is the use of recycled white-box test cases at the unit and
integration testing levels.

Procedures:
White-box testing's basic procedures involves the tester having a
deep level of understanding of the source code being tested. The
programmer must have a deep understanding of the application to
know what kinds of test cases to create so that every visible path is
exercised for testing. Once the source code is understood then the
source code can be analyzed for test cases to be created. These are
the three basic steps that white-box testing takes in order to create
test cases:

Input involves different types of requirements, functional


specifications, detailed designing of documents, proper source
code, security specifications. This is the preparation stage of
white- box testing to layout all of the basic information.

Department of Computer Applications, Invertis University, Bareilly


47

 Processing involves performing risk analysis to guide whole testing process,


proper test plan, execute test cases and communicate results. This is the
phase of building test cases to make sure

Output involves preparing final report that encompasses all of


the above preparations and results.

Department of Computer Applications, Invertis University, Bareilly


48

CHAPTER 10:

IMPLEMENTATION

In this Section we will do Analysis of Technologies to use for implementing


the project

HTML

Hypertext Markup Language (HTML) is the standard markup


language for documents designed to be displayed in a web browser.
It can be assisted by technologies such as Cascading Style Sheets
(CSS) and scripting languages such as JavaScript. Web browsers
receive HTML documents from a web server or from local storage
and render the documents into multimedia web pages. HTML
describes the structure of a web page semantically and originally
included cues for the appearance of the document.

HTML elements are the building blocks of HTML pages. With


HTML constructs, images and other objects such as interactive
forms may be embedded into the rendered page. HTML provides a
means to create structured documents by denoting structural
semantics for text such as headings, paragraphs, lists, links, quotes
and other items. HTML elements are delineated by tags, written
using angle brackets. Tags such as <img /> and <input /> directly
introduce content into the page. Other tags such as <p> surround
and provide information about document text and may include other
tags as sub-elements. Browsers do not display the HTML tags, but

Department of Computer Applications, Invertis University, Bareilly


49

use them to interpret the content of the page.

HTML can embed programs written in a scripting language such as


JavaScript, which affects the behavior and content of web pages.
Inclusion of CSS defines the look and layout of content. The World
Wide Web Consortium (W3C), former maintainer of the HTML
and current maintainer of the CSS standards, has encouraged the
use of CSS over explicit presentational HTML since 1997.

JavaScript

Initially only implemented client-side in web browsers, JavaScript


engines are now embedded in many other types of host software,
including server-side in web servers and databases, and in non- web
programs such as word processors and PDF software, and in
runtime environments that make JavaScript available for writing
mobile and desktop applications, including desktop widgets.

The terms Vanilla JavaScript and Vanilla JS refer to JavaScript not


extended by any frameworks or additional libraries. Scripts written
in Vanilla JS are plain JavaScript code.Google's Chrome
extensions, Opera's extensions, Apple's Safari 5 extensions, Apple's
Dashboard Widgets, Microsoft's Gadgets, Yahoo! Widgets, Google
Desktop Gadgets, and Serence Klipfolio are implemented using
JavaScript.

Css

Department of Computer Applications, Invertis University, Bareilly


50

Cascading Style Sheets (CSS) is a style sheet language used for


describing the presentation of a document written in a markup
language like HTML.CSS is a cornerstone technology of the World
Wide Web, alongside HTML and JavaScript.CSS is designed to
enable the separation of presentation and content, including layout,
colors, and fonts.This separation can improve content accessibility,
provide more flexibility and control in the specification of
presentation characteristics, enable multiple web pages to share
formatting by specifying the relevant CSS in a separate .css file,
and reduce complexity and repetition in the structural content.

CSS information can be provided from various sources. These


sources can be the web browser, the user and the author. The
information from the author can be further classified into inline,
media type, importance, selector specificity, rule order, inheritance
and property definition. CSS style information can be in a separate
document or it can be embedded into an HTML document.
Multiple style sheets can be imported. Different styles can be
applied depending on the output device being used; for example,
the screen version can be quite different from the printed version,
so that authors can tailor the presentation appropriately for each
medium.The style sheet with the highest priority controls the
content display. Declarations not set in the highest priority source
are passed on to a source of lower priority, such as the user agent
style. The process is called cascading.

One of the goals of CSS is to allow users greater control over

Department of Computer Applications, Invertis University, Bareilly


51

presentation. Someone who finds red italic headings difficult to


read may apply a different style sheet. Depending on the browser
and the web site, a user may choose from various style sheets
provided by the designers, or may remove all added styles and view
the site using the browser's default styling, or may override just the
red italic heading style without altering other attributes.

CHAPTER 11:

CONCLUSION

After making this application we assure that this application will help its users to
manage the cost of their daily expenditure. It will guide them and aware them
about there daily expenses. It will prove to be helpful for the people who are
frustrated with their daily budget management, irritated because of amount of
expenses and wishes to manage money and to preserve the record of their daily
cost which may be useful to change their way of spending money. In short, this
application will help its users to overcome the wastage of money

BIBLIOGRAPHY

 https://www.tutorialspoint.com/index.htm

 https://www.javatpoint.com

 https://www.w3schools.com

 https://html.com

Department of Computer Applications, Invertis University, Bareilly


52

Department of Computer Applications, Invertis University, Bareilly

You might also like