Major Project Report On Expense
Major Project Report On Expense
1.1 INTRODUCTION
1.2 AIM
Daily Expense Tracker (DET) aims to help everyone who are planning to know
their expenses and save from it. DET is an android app 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 pie chart
of expense. Also, DET app is capable of clustering. Personal and administration
clustering is possible by the use of Apriori algorithm. Although this app is focused
on new job holders, interns and teenagers, everyone who wants to track their
expense can use this app.
In existing, we need to maintain the Excel sheets, CSV etc. files for the user daily
and monthly expenses. In existing, there is no as such complete solution to keep a
track of its daily expenditure easily. To do so a person as to keep a log in a diary or
in a computer, also all the calculations needs to be done by the user which may
sometimes results in errors leading to losses.
1.4 PROPOSED SYSTEM
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 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, disposability, sustainability, affordability
and others. These parameters are required to be considered at the early stages of
design if desired operational behaviours 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.
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
inorder 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.
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.
1.7 ORGANISATION OF THE REPORT
1.7.1 INTRODUCTION
This section includes the overall view of the project i.e. the basic problem
definition and the general overview of the problem which describes the problem in
layman terms. It also specifies the software used and the proposed solution
strategy.
This section includes the Software and hardware requirements for the smooth
running of the application.
This section consists of the Software Development Life Cycle model. It also
contains technical diagrams like the Data Flow Diagram and the Entity
Relationship diagram.
This section describes the different technologies used for the entire development
process of the Front-end as well as the Back-end development of the application.
This section has screenshots of all the implementation i.e. user interface and their
description.
This section has screenshots of all the implementation i.e. user interface and their
description.
CHAPTER 2 : SOFTWARE REQUIREMENTS SPECIFICATION
Number Description
1 PC with 250 GB or more Hard disk.
2 PC with 2 GB RAM.
3 PC with Pentium 1 and Above.
2.2 Software Requirements
The waterfall model was selected as the SDLC model due to the following reasons:
date
notes
image
expense
amount
id
User_name
USER add
ssds
password
Currency
add
s
Category
C_name
C_id
3.5 Sequence Diagram
ADMIN
Add money
Track daily
USER Add Category expense
Confirm
CHAPTER 4 : IMPLEMENTATION DETAILS
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 use them to interpret the content of the page.
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 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.
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.
4.2.1 JAVA
Java is a popular programming language, created in 1995.
It is used for:
Java Syntax
In the previous chapter, we created a Java file called Main.java, and
we used the following code to print "Hello World" to the screen:
Main.java
public class Main {
public static void main(String[] args) {
System.out.println("Hello World");
Example explained
Every line of code that runs in Java must be inside a class. In our
example, we named the class Main. A class should always start with
an uppercase first letter.
Note: Java is case-sensitive: "MyClass" and "myclass" has different
meaning.
The name of the java file must match the class name. When saving
the file, save it using the class name and add ".java" to the end of the
filename. To run the example above on your computer, make sure that
Java is properly installed: Go to the Get Started Chapter for how to
install Java. The output should be:
Hello World
System.out.println()
Inside the main() method, we can use the println() method to print a
line of text to the screen:
public static void main(String[] args) {
System.out.println("Hello World");
}
Look at the following illustration to see the difference between class and
objects:
class
Fruit
objects
Apple
Banana
Mango
Another example:
class
Car
objects
Volvo
Audi
Toyota
When the individual objects are created, they inherit all the variables and
methods from the class.
You will learn much more about classes and objects in the next chapter.
RDBMS TERMINOLOGY
Before we proceed to explain MySQL database system, let's revise few definitions
related to database.
The term implementation has different meanings ranging from the conversation of
a basic application to a complete replacement of a computer system. The
procedures however, are virtually the same. Implementation includes all those
activities that take place to convert from old system to new. The new system may
be totally new replacing an existing manual or automated system or it may be
major modification to an existing system. The method of implementation and time
scale to be adopted is found out initially. Proper implementation is essential to
provide a reliable system to meet organization requirement.
5.1.1 Introduction
5.1.2 Benifits
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.
5.2.1 Purpose
In the big-bang approach, most of the developed modules are coupled together to
form a complete software system or major part of the system and then used for
integration testing. This method is very effective for saving time in the integration
testing process. However, if the test cases and their results are not recorded
properly, the entire integration process will be more complicated and may prevent
the testing team from achieving the goal of integration testing.A type of big-bang
integration testing is called "usage model testing" which can be used in both
software and hardware integration testing. The basis behind this type of integration
testing is to run user-like workloads in integrated user-like environments. In doing
the testing in this manner, the environment is proofed, while the individual
components are proofed indirectly through their use. Usage Model testing takes an
optimistic approach to testing, because it expects to have few problems with the
individual components. The strategy relies heavily on the component developers to
do the isolated unit testing for their product. The goal of the strategy is to avoid
redoing the testing done by the developers, and instead flesh-out problems caused
by the interaction of the components in the environment. For integration testing,
Usage Model testing can be more efficient and provides better test coverage than
traditional focused functional integration testing. To be more efficient and
accurate, care must be used in defining the user-like workloads for creating
realistic scenarios in exercising the environment. This gives confidence that the
integrated environment will work as expected for the target customers.
Software Validation: The process of evaluating software during or at the end of the
development process to determine whether it satisfies specified requirements.
In other words, software verification is ensuring that the product has been built
according to the requirements and design specifications, while software validation
ensures that the product meets the user's needs, and that the specifications were
correct in the first place. Software verification ensures that "you built it right".
Software validation ensures that "you built the right thing". Software validation
confirms that the product, as provided, will fulfill its intended use.
A test case is a tool used in the process. Test cases may be prepared for software
verification and software validation to determine if the product was built according
to the requirements of the user. Other methods, such as reviews, may be used early
in the life cycle to provide for software validation.
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.
5.5.1 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 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.
5.5.2 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:
5.5.3 Advantages
White-box testing is one of the two biggest testing methodologies used today. It
has several major advantages:
5.5.5 Disadvantages
Although white-box testing has great advantages, it is not perfect and contains
some disadvantages:
White-box testing brings complexity to testing because the tester must have
knowledge of the program, including being a programmer. White-box
testing requires a programmer with a high level of knowledge due to the
complexity of the level of testing that needs to be done.
On some occasions, it is not realistic to be able to test every single existing
condition of the application and some conditions will be untested.
The tests focus on the software as it exists, and missing functionality may
not be discovered.
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 o ur file.
CHAPTER 8 : BIBLIOGRAPHY
https://www.tutorialspoint.com/index.htm
https://www.javatpoint.com
https://www.w3schools.com
https://html.com