Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Table of Contents
Introduction .................................................................................................................................... 1
Phase 1 Deliverable ..................................................................................................................... .2
Phase 2 Deliverable..7
Phase 3 Deliverable...14
Testing and Deployment...23
Application Code..24
User Guide...54
Introduction
The Financial-Smart Calculator application is intended to improve student accessibility within
their Business-Core Finance courses provided by the Naveen Jindal School of Management
(JSOM) at the University of Texas at Dallas (UTD). The university currently requires Business
students to purchase a financial calculator which gives complexities for students who are
financially restrained at the beginning of the semester.
There are a few applications that are available both for android and iOS platforms that works as a
financial calculator. However, the majority of these are paid applications and do not include
some additional functions that we intend to add. For this project, the goals and objectives are to
provide an efficient, accessible, fast, and free financial calculator application for all these various
users. Also another objective is to provide a step by step solution to problems entered while also
providing correct answers efficiently. Finally, our last objective is to satisfy our user
expectations by following the System Development Lifecycle methodology to design our
application after documenting system requirements.
The expected value realized by this system proposal will be greater use of educational resources
by students. No longer will students be discouraged to go out of their way to locate needed
resources as our main objective will be the accessibility of the application. We hope that it helps
the students to improve their grades through this new application system. This is a great
opportunity for UT-Dallas to grow and distinguish themselves from other schools by decreasing
student cost which is vital for incoming students in the process of transitioning into the school.
Phase 1 Deliverable
Business Goals and Objectives
Today, at least 50% of the United States carries a smartphone and/or a tablet.
For this project, the goals and objectives are meant to provide an efficient,
accessible, fast, and free financial calculator application for all these various
users.
Provide an IT service where users are able to share any useful comments to
improve the application.
Implement all knowledge acquired on mobile web applications class for the
correct design and creation of the smart financial calculator.
Additional Goals
-
SCOPE
Scope Definition
The program will provide a system that allows users to easily calculate financial
equations, while also providing step-by-step solutions for users to learn the
processes behind the problems being solved.
Implementation of Interface
The project will utilize HTML5 and CSS for website framework and JavaScript as well
as open Source web app interfaces such as JQuery and Kendo.
Project Duration
The project is estimated to last 3.5 months from January to April 2016 with:
-
Desired Improvements
Updates with more formulas, updates for stability and user performance.
Projected Budget
The project is developed by 6 volunteer developers, and thus will not have any
monetary cost.
ASSUMPTIONS
Project Assumptions
CONSTRAINTS
Project Constraints
Unlike risks, critical project barriers are insurmountable issues that can be
destructive to a projects initiative. In this project, the following are possible
critical barriers:
Communications Plan
Disseminating knowledge about the project is essential to the projects success.
Project participants desire knowledge of what the status of the project is and how
they are affected. Furthermore, they are anxious to participate. The more that
people are educated about the progress of the project and how it will help them
in the future, the more they are likely to participate and benefit.
This plan provides a framework for informing, involving, and obtaining buy-in
from all participants throughout the duration of the project.
Project Sponsor
Project Manager
Team Members
Communications Methodology Team will utilize three directions for effective
communication:
Top-Down All participants in this project will trust their leadership for support and
guidance within this effort. The team leader of the project will speak with a unified,
enthusiastic voice about the project and what it holds for everyone involved.
Not only will the executives need to speak directly to all levels of the organization, they
will also need to listen directly to all levels of the organization, as well.
Bottom-Up To ensure the buy-in and confidence of the personnel involved in bringing
the proposed changes to reality, our team believes it is important to communicate the
way in which the solutions were created.
Middle-Out Full support at all levels of the group, where the changes will have to be
implemented, is important to sustainable improvement. There will be an effort to find and
communicate the specific benefits of the changes.
Daily Emails and Group Texts Emails and/or text messages will be sent
on a daily basis as needed.
Phase 2 Deliverable
Requirements
Today, at least 50% of the United States carries a smartphone and/or a tablet. For this project, the
goals and objectives are meant to provide an efficient, accessible, fast, and free financial
calculator application for all these various users.
User Stories:
1. As a JSOM student, I want to be able to access a cost-free financial calculator, so that I
can arrive to my Finance class prepared.
2. As a Mobile App Developer, I want to build a system using resources provided, so that I
can help save time for our users.
3. As a new JSOM student, I want to be able to calculate my financial problems while also
having step by step explanations on the first day of school.
4. As a JSOM Finance faculty member, I want to be able to begin my assigned classes for
the semester in a timely manner with students having the needed resources.
Functional Requirements:
The system should be able to calculate consistently for the user within 10 seconds.
The system must be able to update to detected position of user and dead ends. If the
system encounters a dead end, the system recalculates a new route to the specified end
destination.
The system must be able to generate a step by step instruction to complex problems
The user must be able to activate/deactivate calculation commands anytime in the system
The user must be able to open and start the system for application validation
Non-Functional Requirements:
Performance
The mobile interface of the system must be compatible with Android and IOS
The system should be able to perform to reflect average calculation speed and obstacles
in the environment
Reliability
Usability
The features of the system should operate uniformly for all users
Possible Risks
Risk and cost to maintain user data
Losing or repeating information in the application and database.
Risk of unsustainable user growth, not enough interest to use the app.
Difficulty in designing the database, trouble normalization database.
Miscommunication between team members
Loss of data, due to system failures
Problems with coding and implementing the application into the Red Hat cloud or other
required software that group members arent quite experienced with.
System Architecture
The web application architecture for this project encompasses the three-layer architecture. These
are the presentation layer, the business layer and the data storage layer.
The presentation layer will have user interface components, as well as user interface process
components. The business layer popularly known as the middle layer is mainly the layer for
services interface, business workflows and the components utilized for this workflow. The final
layer is the Data storage, however between the business layer and Data storage is the essential
Data access layer. This is a significant sublayer or interface to address, access, provisioning and
security.
The presentation layer or user interface layer will be hosted in a web browser. The functionality
and process involved in this layer include, user input, and system output. JavaScript will be
employed to verify that all form fields are filled in as required within the browser. The services
interface within the middle layer serves as recipient of communicated data to the web server.
These are expected to handle all the http / html requests as well as all the static components
involved in the application. We intend to employ dynamic components and thus the webserver
should be able to process these.
Within the middle layer, we will employ PHP to develop the business logic as well as any
application logic via the application server. These functionalities will include transforming input
data, massaging the data for specified output etc.
8
The Data Access layer is powered by the MySQL, myPhpadmin applications to interact between
the two upper layers.
The Data storage will be designed to store, index and manage the physical storage in a manner
that makes its quick to access and manipulate. These servers are mostly application servers and
thus not physical servers, except for the data store tier.
The system will consist of the following major sections:
1) HTML5 and JavaScript web application
2) Server-side application
10
Documentation
Each team member will provide detailed information which includes:
1. Source code comments: Detailed yet simple comments inline application code to identify
functions.
2. Technical documentation: Detailed information regarding functionality, execution and
progress of application
1. Functional testing
a. The smart financial calculator follows the established process.
2. Performance testing
a. Right calculations.
b. Correct implementation of financial formulas.
3. Usability testing
a. Provides the user with easy to use features.
4. Security testing
a. The application is appropriately created ensuring its safety and privacy to avoid external
users to make changes to the design of the app and its contents.
5. Quality checks
a. Establish weekly quality checks to make sure everything keeps running correctly.
b. Check user comments and offer solutions to their concerns.
c. Fix any common problem users have been having during the use of the smart financial
calculator.
11
Project Breakdown
#
Stages/Tasks
Stage 1
1.1
1.2
Stage 2
2.1
2.2
2.3
2.4
2.4.1
2.4.1.1
2.4.1.2
2.4.1.3
2.4.1.4
2.4.2
2.4.2.1
2.4.2.2
2.4.3
2.4.3.1
2.4.3.2
2.4.4
2.5
2.5.1
2.5.2
2.6
2.6.1
2.6.2
2.7
2.7.1
2.7.2
Stage 3
3.1
Stage 4
4.1
Efforts, man-hours
6
6
12
6
18
6
12
6
6
12
8
6
10
8
6
8
8
10
8
12
12
6
12
Deliverables
30 days
12
Stage 2: Implementation
Tasks
Deliverables
30 days
162
Deliverables
15 days
12
Stage 4: Deployment
Tasks
Application deployment;
Deliverables
15 days
13
Phase 3 Deliverable
Design Goals
Create an easy to use interface for the user to input the necessary attributes to
assist financial calculations.
Calculate proper financial equations using algorithms best suited for the unique
type of financial needs of the user.
Allow user to enter appropriate numbers into the calculator and choose what type
equation to use. Output the necessary data depending on what numbers and
equation the end-user chose.
Create an enhanced relationship diagram to analyze the necessary entities with
the adequate attributes to use and store in a database
Create a sequence diagram that will show the actions of each entity
Develop a diagram or prototype to show how the application interface will look
like.
Diagrams below!
14
15
Class Diagram
16
Activity Diagram
17
Sequence Diagram
18
19
Detailed Design
We plan to use a 5 step design for our mobile application that allows the user to:
Input the data
Display the Output for the User
Process the data by placing it into our formula to calculate the financial problem
Allows the user to change financial data to affect the output
20
Prototypes:
21
Data Model
Our Entity Relation Diagram model displays the relationship between the different databases
and storage methods of our application
Financial Database
User
PK
User_Input
Financial Calculation
Display
Result
Selected_Equation
User
user_Input (Primary Key)
Selected_Equation
Financial Calculation
Present Value
Future Value
Interest
Periods
Payment etc.
Output
Display Result
22
Assignment 4 Report
Group 2
Team Members
Feature List
Run App
Manage Accounts
% Completed
Laptop:
Jia Wang
Kevin Nhan
Senanga Perera
Mir Ali
Marian Bugarin
Al Ameerah Khan
Displayed
-Manage User
Accounts
-Major Financial
Calculation Function
Created and
Linked
- Sign In/User
Registration
Created
-Functional
100%
Assignment 5 Report
Group 2
Team Members
Sign Up
Change PW
Delete Account
% Completed
Laptop:
Jia Wang
Kevin Nhan
Senanga Perera
Mir Ali
Marian Bugarin
Al Ameerah Khan
-Functional
-Functional
-Functional
100%
23
Application Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" >
<title> Group 2 </title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!--[if lt IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->
<meta name="viewport" content="width=device-width, initial-scale=1, maximumscale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile1.3.1.min.css">
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile1.3.1.min.js"></script>
</head>
<!---------------START------------------>
<body>
<div style = "text-align: center">
<!-------------HOME PAGE---------------->
<div data-role="page" data-theme="b" id="home">
<div data-role="header">
<h1>Semester Project</h1>
</div>
<div data-role="main" class="ui-content">
<h1>ITSS4312: GROUP 2</h1>
<h2>Spring 2016</h2>
<h2>Smart Financial Calculator</h2>
<h3>Hi we are group 2!</h3>
<img src="http://www.usnews.com/img/college-photo_2374._445x280-zmm.JPG"
border="0" alt="Null">
</div>
<div data-role="footer" data-position="fixed" data-tap-toggle="false">
24
<div data-role="navbar">
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#team">Team</a></li>
<li><a href="#projects">Project</a></li>
</ul>
</div><!-- /navbar -->
</div>
</div>
<!----------------TEAM PAGE----------------->
<div data-role="page" data-theme="b" id="team" >
<div data-role="header">
<h1>The Team</h1>
</div>
<div data-role="main" class="ui-content">
<ul data-role="listview">
<li><a href="#teamMembers">Team Members</a></li>
<li><a href="#teamLeader">Team Leader</a></li>
</ul>
</div>
<div data-role="footer" data-position="fixed" data-tap-toggle="false">
<div data-role="navbar">
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#team">Team</a></li>
<li><a href="#projects">Project</a></li>
</ul>
</div><!-- /navbar -->
</div>
</div>
<!----------------PROJECT PAGE----------------->
<div data-role="page" data-theme="b" id="projects">
<div data-role="header">
<h1>The Project</h1>
</div>
<div data-role="main" class="ui-content">
<h2>Smart Financial Calculator Project</h2>
<p>Free and easy to use Financial Calculator Mobile Application </p>
25
</div>
<form method="post" action= "signup.php">
<div data-role="fieldcontain">
<label for="email">Email:</label>
<input type="email" name="email" id="email">
<label for="password">Password: </label>
<input type="password" name="password" id="password">
<label for="Repassword">Retype Password: </label>
<input type="password" name="Repassword" id="Repassword">
</div>
<div style="text-align: center;">
<input type="submit" data-inline="true" value="Submit">
</div>
</form>
</div>
<!------------------New User------------------->
<div data-role="page" data-theme="b" id="teamLeader">
<div data-role="header" style="background: #0099ff !important;">
<h1>Team Leader</h1>
</div>
<div data-role="main" class="ui-content">
<ul data-role="listview">
<li data-icon="false" style="text-align:center;" >
<h2>Team Leader: Al Ameerah Khan</h2>
<p>Major: ITSS</p>
<p>Responsibility: Project Management</p>
</li>
</ul>
</div>
<div data-role="footer" data-position="fixed" data-tap-toggle="false">
<div data-role="navbar">
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#team">Team</a></li>
<li><a href="#projects">Project</a></li>
</ul>
</div>
</div>
</div>
27
<!--------------------TEAM MEMBERS---------->
<div data-role="page" data-theme="b" id="teamMembers">
<div data-role="header" style="background: #0099ff !important">
<h1>Team Members</h1>
</div>
<div data-role="main" class="ui-content">
<ul data-role="listview" >
<li data-icon="false" style="text-align:center;">
<h2>Mir Ali</h2>
<p>Major: ITSS</p>
<p>Contact: mirali@hotmail.com</p>
<p>Responsibility: project assistant</p>
</li>
<li data-icon="false" style="text-align:center;">
<h2>Jia Wang</h2>
<p>Major: ITSS</p>
<p>Contact: jia@utdallas.edu</p>
<p>Responsibility: project assistant</p>
</li>
<li data-icon="false" style="text-align:center;">
<h2>Senanga Perera</h2>
<p>Major: ITSS</p>
<p>Contact: senanga@utdallas.edu</p>
<p>Responsibility: project assistant</p>
</li>
<li data-icon="false" style="text-align:center;">
<h2>Kevin Nhan</h2>
<p>Major: ITSS</p>
<p>Contact: Kevin@utdallas.edu</p>
<p>Responsibility: project assistant</p>
</li>
<li data-icon="false" style="text-align:center;">
<h2>Marian Bugarin</h2>
<p>Major: ITSS</p>
<p>Contact: Marian@utdallas.edu</p>
<p>Responsibility: project assistant</p>
</li>
</ul>
</div>
<div data-role="footer" data-position="fixed" data-tap-toggle="false">
<div data-role="navbar">
<ul>
28
<li><a href="#home">Home</a></li>
<li><a href="#team">Team</a></li>
<li><a href="#projects">Project</a></li>
</ul>
</div><!-- /navbar -->
</div>
</div>
</div>
</body>
<!---------------END------------------>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" >
<title> Group 2 </title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!--[if lt IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->
<meta name="viewport" content="width=device-width, initial-scale=1, maximumscale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile1.3.1.min.css">
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile1.3.1.min.js"></script>
</head>
<!---------------START------------------>
<body>
<div style = "text-align: center;">
<!-------------HOME PAGE---------------->
<div data-role="page" data-theme="b" id="apphome">
<div data-role="header">
<h1>App Home</h1>
29
<ul>
<li><a href="#apphome">Home</a></li>
<li><a href="#features">Features</a></li> <li><a
href="#feature0">Calculator</a></li>
</ul>
</div><!-- /navbar -->
</div>
</div>
<div data-role="page" data-theme="b" id="manageAccount">
<div data-role="header" >
<h1>Manage Account</h1>
<a href="gr2_index.php" data-icon="home" data-theme="a">Sign out</a>
</div>
<div data-role="main" class="ui-content">
<ul data-role="listview">
<li data-icon="false" style="text-align:center;" >
<h2><a href="#changePass">Change Password</a></h2>
</li>
<li data-icon="false" style="text-align:center;" >
<h2><a href="#delete">Delete Account</a></h2>
</li>
</ul>
</div>
<div data-role="footer" data-position="fixed" data-tap-toggle="false">
<div data-role="navbar">
<ul>
<li><a href="#apphome">Home</a></li>
<li><a href="#features">Features</a></li> <li><a
href="#feature0">Calculator</a></li>
</ul>
</div><!-- /navbar -->
</div>
</div>
<div data-role="page" data-theme="b" id="changePass">
<div data-role="header">
<h1>Change Password</h1>
<a href="gr2_index.php" data-icon="home" data-theme="a">Sign out</a>
</div>
<form method="post" action="processChangePassword.php">
<div data-role="fieldcontain">
<label for="email">Email:</label>
31
<h1>Profit Margin</h1>
</div>
<div>
<h2>Profit = Revenue - Expenses</h2>
<form method="post" action= "feature1.php">
<div data-role="fieldcontain">
<label for="revenue">Revenue: </label>
<input type="number" step="any" name="revenue" min="0">
<br>
<label for="expenses">Expenses: </label>
<input type="number" step="any" name="expenses" min="0">
</div>
<div style="text-align: center;">
<input type="submit" data-inline="true" value="Calculate">
</div>
</form>
</div>
<div data-role="footer" data-position="fixed" data-tap-toggle="false">
<div data-role="navbar">
<ul>
<li><a href="#apphome">Home</a></li>
<li><a href="#features">Features</a></li> <li><a
href="#feature0">Calculator</a></li>
</ul>
</div><!-- /navbar -->
</div>
</div>
<div data-role="page" data-theme="b" id="feature2">
<div data-role="header" >
<h1>Simple Interest</h1>
</div>
<div>
<h2>Simple Interest = Principal x Interest Rate x Time</h2>
<form method="post" action= "feature2.php">
<div data-role="fieldcontain">
<label for="principal">Principal(P): </label>
<input type="number" step="any" name="principal" min="0">
<br>
<label for="interest">Interest Rate per year(r): </label>
<input type="number" step="any" name="interest" min="0" max="1">
<br>
<label for="time">Time borrowed in years(n): </label>
<input type="number" step="any" name="time" min="0">
</div>
34
</ul>
</div><!-- /navbar -->
</div>
</div>
<div data-role="page" data-theme="b" id="feature4">
<div data-role="header" >
<h1>Future Value</h1>
</div>
<div>
<h1>FV = PV ( 1 + r ) <sup>t</sup></h1>
<form method="post" action= "feature4.php">
<div data-role="fieldcontain">
<label for="pv">Present Value(PV): </label>
<input type="number" step="any" name="pv" min="0">
<br>
<label for="interest">Interest Rate per year(r): </label>
<input type="number" step="any" name="interest" min="0" max="1">
<br>
<label for="time">Time(t): </label>
<input type="number" step="any" name="time" min="0">
</div>
<div style="text-align: center;">
<input type="submit" data-inline="true" value="Calculate">
</div>
</form>
</div>
<div data-role="footer" data-position="fixed" data-tap-toggle="false">
<div data-role="navbar">
<ul>
<li><a href="#apphome">Home</a></li>
<li><a href="#features">Features</a></li> <li><a
href="#feature0">Calculator</a></li>
</ul>
</div><!-- /navbar -->
</div>
</div>
<div data-role="page" data-theme="b" id="feature5">
<div data-role="header" >
<h1>Operating Cash Flow</h1>
</div>
<div>
<h1>OCF = EBIT + depreciation - taxes </h1>
36
38
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" >
<title> Change Password </title>
</head>
<body>
<div data-role="header">
<h1>Change Password</h1>
</div>
<?php
require_once('configPHP.php');
39
$email = $_POST["email"];
$aCurPassword = $_POST["curpassword"];
$aNewPassword = $_POST["newpassword"];
$aNewRePassword = $_POST["newRepassword"];
$conn = new PDO($database, $db_username, $db_password);
try {
$st = $conn->prepare("select * from users where email = :email and password =
:password;");
$st->bindValue(":email", $email, PDO::PARAM_STR);
$st->bindValue(":password", $aCurPassword, PDO::PARAM_STR);
$st->execute();
$rows = $st->fetch();
if($rows && $aNewPassword == $aNewRePassword)
{
try{
$st = $conn->prepare( "UPDATE users SET password = :password WHERE
email = :email" );
$st->bindValue( ":email", $email, PDO::PARAM_STR );
$st->bindValue( ":password", $aNewPassword, PDO::PARAM_STR );
$isOK = $st->execute();
if($isOK){
print("Your password has been successfully changed.<br/>\n");
Echo "<a href=application.php>Redirect to App here</a>";
}
else {
print("Your email or password is incorrect or new password does not
match retype new password.<br/>\n");
Echo "<a href=application.php#changePass>Redirect to App here</a>";
}
}
catch(PDOException $e) {
echo $e->getMessage();
}
}
else
{
40
$rows = $st->fetch();
if($rows && !$email == "" && $password == $rePassword)
{
try{
$st = $conn->prepare( "DELETE FROM users WHERE email = :email" );
$st->bindValue( ":email", $email, PDO::PARAM_STR );
$isOK = $st->execute();
if ($isOK){
print("Your account has been deleted.<br/>\n");
print("Thank you for using our service.<br/>\n");
Echo "<a href=gr2_index.php>To Home Page</a>";
}
else {
print("Your email or password is incorrect or password does not
match.<br/>\n");
Echo "<a href=gr2_index.php>Redirect to App here</a>";
}
}
catch(PDOException $e) {
echo $e->getMessage();
}
}
else
{
$logged_in=false;
print("Your email or password is incorrect.<br/>\n");
Echo "<a href=application.php#delete>Please try again</a>";
}
}
// database-related code
catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
?>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" >
42
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Answer</title>
</head>
<body>
<div data-role="header">
<h1>Answer</h1>
</div>
<div>
<h2>The answer is:
<?php
$first = $_POST['first'];
$second= $_POST['second'];
if($_POST['group1'] == 'add') {
echo $first + $second;
}
else if($_POST['group1'] == 'subtract') {
echo $first - $second;
}
else if($_POST['group1'] == 'times') {
echo $first * $second;
}
else if($_POST['group1'] == 'divide') {
echo $first / $second;
}
?>
</h2>
<br><a href="application.php#feature0">New Calculation</a></li>
</div>
<div data-role="footer" data-position="fixed" data-tap-toggle="false">
<div data-role="navbar">
<ul>
<li><a href="#features">Back to Features</a></li>
</ul>
</div><!-- /navbar -->
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" >
44
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" >
<title> Feature 2 </title>
</head>
<body>
<div data-role="header">
<h1>Solution</h1>
</div>
<h1>Simple Interest Rate Solution:</h1>
<hr style="color:#c00;background-color:#c00;height:4px;border:none;" />
<div>
<h2>Principal x Interest Rate x Time = </h2>
<?php
$principal = $_POST["principal"];
$interest1 = $_POST["interest"];
$interest = number_format($interest1,4);
$time = $_POST["time"];
echo "$principal x $interest x $time = <br><br>";
echo '<font size="10">'.($principal*$interest*$time).'</font>';
?>
</div>
<hr style="color:#c00;background-color:#c00;height:4px;border:none;" />
<ul data-role="listview" >
<li data-icon="false" style="text-align:center;">
<p>A <b>principal</b> is the amount borrowed or the amount still owed on a
loan, separate from interest.</p>
<p> More from <a
href="http://www.investopedia.com/terms/p/principal.asp">Investopedia</a></p>
</li>
<li data-icon="false" style="text-align:center;">
<p><b>Expense</b> is the outflow of money to another person or group to pay
for an item or service,
46
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" >
<title> Feature 3 </title>
</head>
<body>
<div data-role="header">
<h1>Solution</h1>
</div>
<h1>Amortization Solution</h1>
<hr style="color:#c00;background-color:#c00;height:4px;border:none;" />
<div>
<img src="http://emi-calc.com/images/emi-formula.png" style='width:30%;'
border="0" alt="Null">
<br>
<br>
<?php
$principal = $_POST["principal"];
$interest = $_POST["interest"];
$time = $_POST["time"];
47
</body>
</html>
<!DOCTYPE html>
<html lang="en">
48
<head>
<meta charset="UTF-8" >
<title> Feature 4 </title>
</head>
<body>
<div data-role="header">
<h1>Solution</h1>
</div>
<h1>Future Value Solution:</h1>
<hr style="color:#c00;background-color:#c00;height:4px;border:none;" />
<div>
<h2>FV = PV ( 1 + r ) <sup>t</sup></h2>
<?php
$pv = $_POST["pv"];
$interest = $_POST["interest"];
$time = $_POST["time"];
echo "$pv x ( 1 + $interest ) <sup>$time</sup> = <br><br>";
$a = 1 + $time;
$solution = pow($pv*$a,$time);
echo '<font size="10">'.number_format($solution,2).'</font>';
?>
</div>
<hr style="color:#c00;background-color:#c00;height:4px;border:none;" />
<ul data-role="listview" >
<li data-icon="false" style="text-align:center;">
<p><b>Future Value</b> is the value of an asset or cash at a specified date in
the future that is equivalent in value to a specified sum today.</p>
<p> More from <a
href="http://www.investopedia.com/terms/f/futurevalue.asp">Investopedia</a></p
>
</li>
<li data-icon="false" style="text-align:center;">
<p><b>Present Value</b> is the current worth of a future sum of money or
stream of cash flows given a specified rate of return.</p>
<p> More from <a
href="http://www.investopedia.com/terms/p/presentvalue.asp">Investopedia</a><
/p>
</li>
49
</ul>
<div data-role="footer" data-position="fixed" data-tap-toggle="false">
<div data-role="navbar">
<ul>
<li><a href="#features">Back to Features</a></li>
</ul>
</div><!-- /navbar -->
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" >
<title> Feature 5 </title>
</head>
<body>
<div data-role="header">
<h1>Solution</h1>
</div>
<h1>Operating Cash Flow Solution:</h1>
<hr style="color:#c00;background-color:#c00;height:4px;border:none;" />
<div>
<h2>OCF = EBIT + Depreciation - Taxes</h2>
<?php
$revenue = $_POST["revenue"];
$expenses = $_POST["expenses"];
$depre = $_POST["depreciation"];
$taxes = $_POST["taxes"];
echo "Find EBIT or earnings before taxes: Revenue - Operating Expenses <br>
EBIT = ";
$a = number_format($revenue-$expenses,2);
echo "$revenue - $expenses = ";
echo "$a<br>Add depreciation and subtract taxes to EBIT<br>";
$b = $a + $depre - $taxes;
echo "$b + ($depre - $taxes)<br><br>";
50
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" >
51
</body>
</html>
<?php
$db_username = 'DBAdmin';
$db_password = 'dbpass';
$database = 'mysql:host=localhost;dbname=itss4312proj;'
?>
<?php
echo phpinfo();
?>
/**
* Created by PhpStorm.
* User: Dev
* Date: 3/9/2016
* Time: 4:09 PM
*/
53
User Guide
Access:
The user will need to access the mobile web application through the iOS Google Play
Store. Once the user accesses the app, the user will be able to input financial variables.
Execute
-The user selects Execute option.
Answers
-The user gets the correct answer according to the plugged in values.
Check twice
-The developer suggests the user to calculate the same calculation more
than one time to confirm the correct answer.
Different values
-If one of the types of possible calculations appears to give wrong values or
different values every time same known values are plugged in, the developer
suggests to be contacted to fix the problem as soon as possible.
54