3 Advanced Mobile Store Documentation
3 Advanced Mobile Store Documentation
1. Introduction:
A Smart Mobile Store that allows users to check for various mobile phones available
at the online store and purchase online. The project consists of list of mobile phones products
displayed in various models and designs. The user may browse through these products as per
categories. If the user likes a product he may add it to his shopping cart. Once user wishes to
checkout user must register on the site first. User can then login using same id password next
time. Now customer may pay through a credit card or cash on delivery. Once the user makes
a successful transaction he gets a copy of the shopping receipt on his email id. Here we
use .Net framework to make the entire frontend. The middle tier or code behind model is
designed in C# and SQL serves as a backend to store mobile phone lists and inventory data.
Thus, the Smart Mobile Store project brings an entire Mobilestore online and makes it easy
for both buyer and seller to make mobile deals.
2.System Analysis:
2.1 EXISTING SYSTEM
Problem with current scenario
In existing system, shopping can done in a manual way, the customer has to go for
shopping, and then he is having the possibility to choose the products whatever
customer wants.
Mobiles in the store are normally arranged by their types and price.
Customers chooses from the collection of Mobiles, where the items are labeled by
their price and occasionally, the discounts offered on the particular item. Sales staff
are always there in case the customers want some assistance.
The customer takes the items he choose by their requirements or interests and takes
the items to the billing section.
The bill is collected in the form of cash or credit card and a memo is prepared for the
sold items, which contains the information about the product such as price and
quantity.
It is a time consuming process.
Thus, the system has to be automated.
In Existing System, the Customer is completely depending on the manual process for
buying the Mobile phone.
Manual process is a time consuming factor and when customer approaches for a
manual shopping directly, actually he/she does not have an idea about things like,
price range, items, etc.,
The time which has been spent by the customer in manual shopping can equates to
multiple number of shopping. As customer can sit at home and browse in a fraction of
seconds.
The system is limited to a particular area as the store generally caters the need of
people living in a particular territory.
Customers have to take pain to go to the shop in case of heat, cold, rain etc.
No common platform and easy facility normally available where many dealers can
interact with one as many stores have products of just one particular company or
dealer.-
Thus, we need to change to a system like “Online Shopping “.
CUSTOMER REGISTRATION:
Customers are required to register on the website before they can do the shopping. The
website also provides several features for the non-registered user. Here they can choose their
id and all the details regarding them are collected and a mail is sent to the email address for
confirmation.
SHOPPING CART:
Shopping cart module tries to simulate the working of a store where user can view each
mobile phone brand, design, size and price of the product available. The items they like can
be added to the logical cart and can be removed if not required later. Billing and other
payment related matters are handled here.
ADMINISTRATION:
This is the part of the website where the administrators can add delete or update the product
information. Administrators are also responsible for adding and deleting the customers from
the website. In addition, newsletter and promotions are also handled by the site administrator
via e-mail.
SEARCH:
This facility is provided to both registered and unregistered user. User can search for
the availability and type of products available on the website.
ADD TO CART:
Users can add Mobile products to cart.
CREDIT CARD PAYMENT:
After total bill is calculated user can pay via credit card online.
EMAILING:
1. Admin login
2. User login
3. Product suggestions
4. Bill calculation
5. Credit card payment
6. Email notification
7. Report generation
Description:
1. Admin login:
- The system is under admin's supervision where he can add or modify and update
products information.
2. User login:
- User has to first create an account to log into the system. User can access all the
products and shop from this registered account.
3. Product suggestions:
- System automatically remembers and tracks the choice of products that the users
are looking for just by checking their navigation on the website. Also the system
suggests users for various other products of their choice accordingly.
4. Bill calculation:
- As the user is done with product selection, a bill is generated stating the total cost
incurred of the products.
5. Credit card payment:
- The software has online payment facility where they can make payment via credit
card.
6. Email notification:
- The products thus bought and the respective bill receipt is emailed to the user.
7. Report generation:
- System then generates an overall report of the visitors that visited and shopped for
products.
SPIRAL MODEL was defined by Barry Boehm in his 1988 article, “A spiral Model
of Software Development and Enhancement. This model was not the first model to discuss
iterative development, but it was the first model to explain why the iteration models.
As originally envisioned, the iterations were typically 6 months to 2 years long. Each
phase starts with a design goal and ends with a client reviewing the progress thus far.
Analysis and engineering efforts are applied at each phase of the project, with an eye toward
the end goal of the project.
The new system requirements are defined in as much details as possible. This
usually involves interviewing a number of users representing all the external or
internal users and other aspects of the existing system.
A first prototype of the new system is constructed from the preliminary design.
This is usually a scaled-down system, and represents an approximation of the
characteristics of the final product.
1. Evaluating the first prototype in terms of its strengths, weakness, and risks.
2. Defining the requirements of the second prototype.
3. Planning an designing the second prototype.
4. Constructing and testing the second prototype.
At the customer option, the entire project can be aborted if the risk is deemed too
great. Risk factors might involved development cost overruns, operating-cost
miscalculation, or any other factor that could, in the customer’s judgment, result in a
less-than-satisfactory final product.
The existing prototype is evaluated in the same manner as was the previous
prototype, and if necessary, another prototype is developed from it according to the
fourfold procedure outlined above.
The preceding steps are iterated until the customer is satisfied that the refined
prototype represents the final product desired.
ADVANTAGES
Estimates(i.e. budget, schedule etc .) become more relistic as work progresses, because
important issues discoved earlier.
It is more able to cope with the changes that are software development generally entails.
Software engineers can get their hands in and start woring on the core of a project earlier.
4.System Design:
VIEW PRODUCTS
CUSTOMER
MAKE PAYMENT
WAREHOUSE
EMPLOYEE
Click on LOG IN
button
If member
NO
Sign up for new
registration
Enter
username
Enter password
Password
validation
NO Please enter correct
password
YES
Click ok
ACTOR: CUSTOMER
USECASE: LOGIN
Click on LOG IN
button
click on Sign
up link
Fill registration
form
Enter Verification
Code
Is Verification
Code Valid?
NO Reenter Verification
Code
YES
Submit Form
Is given Mail
ID correct?
NO
Please enter
correct mail Id
YES
Confirm
Registration
USECASE: REGISTER
ACTOR: CUSTOMER
Click on login
button
Enter username
&passwoprd
Click on OK
button
View list of
products
Search products by
products range
Select the
products
Place order
ACTOR: CUSTOMER
ACTOR: CUSTOMER
ACTOR: CUSTOMER
Click on LOG IN
button
Enter
username
Enter password
Password
validation ?
NO Please enter correct
password
YES
Click on OK
button
Opens the
home page
Click on
required link
LOG OUT
USECASE: LOGOUT
Click on LOGIN
button
Enter
username
Enter password
Password
validation ?
NO Please enter correct
password
Yes
Click on OK
button
Logout
5. TECHNOLOGY DESCRIPTION
HTML
HTML, an initialize of Hypertext Markup Language, is the predominant markup language for
web pages. It provides a means to describe the structure of text-based information in a document —
by denoting certain text as headings, paragraphs, lists, and so on — and to supplement that text with
interactive forms, embedded images, and other objects. HTML is written in the form of labels (known
as tags), surrounded by angle brackets. HTML can also describe, to some degree, the appearance and
semantics of a document, and can include embedded scripting language code which can affect the
behavior of web browsers and other HTML processors.
HTML is also often used to refer to content of the MIME type text/html or even more broadly
as a generic term for HTML whether in its XML-descended form (such as XHTML 1.0 and later) or
its form descended directly from SGML Hyper Text Markup Language
Hypertext Markup Language (HTML), the languages of the World Wide Web (WWW), allows users
to produces Web pages that include text, graphics and pointer to other Web pages (Hyperlinks).
HTML is not a programming language but it is an application of ISO Standard 8879, SGML
(Standard Generalized Markup Language), but specialized to hypertext and adapted to the Web. The
idea behind Hypertext is that instead of reading text in rigid linear structure, we can easily jump from
one point to another point. We can navigate through the information based on our interest and
preference. A markup language is simply a series of elements, each delimited with special characters
that define how text or other items enclosed within the elements should be displayed. Hyperlinks are
underlined or emphasized works that load to other documents or some portions of the same document.
HTML can be used to display any type of document on the host computer, which can be
geographically at a different location. It is a versatile language and can be used on any platform or
desktop.
HTML provides tags (special codes) to make the document look attractive. HTML tags are
not case-sensitive. Using graphics, fonts, different sizes, color, etc., can enhance the presentation of
the document. Anything that is not a tag is part of the document itself.
Attributes
The attributes of an element are name-value pairs, separated by "=", and written
within the start label of an element, after the element's name. The value should be enclosed in
single or double quotes, although values consisting of certain characters can be left unquoted
in HTML (but not XHTML).Leaving attribute values unquoted is considered unsafe.
Most elements take any of several common attributes: id, class, style and title. Most
also take language-related attributes: lang and dir.
The id attribute provides a document-wide unique identifier for an element. This can
be used by stylesheets to provide presentational properties, by browsers to focus attention on
the specific element or by scripts to alter the contents or presentation of an element. The class
attribute provides a way of classifying similar elements for presentation purposes. For
example, an HTML document (or a set of documents) may use the designation
class="notation" to indicate that all elements with this class value are all subordinate to the
main text of the document (or documents). Such notation classes of elements might be
gathered together and presented as footnotes on a page, rather than appearing in the place
where they appear in the source HTML.
The preceding displays as HTML (pointing the cursor at the abbreviation should
display the title text in most browsers).
Advantages
A HTML document is small and hence easy to send over the net. It is small because it
does not include formatted information.
HTML is platform independent.
HTML tags are not case-sensitive.
JavaScript
Even though JavaScript supports both client and server Web programming, we prefer
JavaScript at Client side programming since most of the browsers supports it. JavaScript is
almost as easy to learn as HTML, and JavaScript statements can be included in HTML
documents by enclosing the statements between a pair of scripting tags
<SCRIPTS>..</SCRIPT>.
JavaScript statements
</SCRIPT>
Advantages
The PHP Hypertext Preprocessor (PHP) is a programming language that allows web
developers to create dynamic content that interacts with databases. PHP is basically used for
developing web based software applications. PHP is an interpreted language, i.e. there is no
need for compilation.PHP is a server side scripting language.PHP is faster than other
scripting language e.g. asp and jsp.
PHP started out as a small open source project that evolved as more and more people
found out how useful it was. RasmusLerdorf unleashed the first version of PHP way back in
1994.
PHP supports a large number of major protocols such as POP3, IMAP, and LDAP.
PHP4 added support for Java and distributed object architectures (COM and
CORBA), making n-tier development a possibility for the first time.
PHP can handle forms, i.e. gather data from files, save data to a file, through email
you can send data, return data to the user.
You add, delete, modify elements within your database through PHP.
Using PHP, you can restrict users to access some pages of your website.
Characteristics of PHP
Five important characteristics make PHP's practical nature possible −
Simplicity
Efficiency
Security
Flexibility
Familiarity
As mentioned earlier, PHP is embedded in HTML. That means that in amongst your normal
HTML (or XHTML if you're cutting-edge) you'll have PHP statements like this −
<html>
<head>
<title>Hello World</title>
</head>
<body>
</body>
</html>
Hello, World!
If you examine the HTML output of the above example, you'll notice that the PHP code is
not present in the file sent from the server to your Web browser. All of the PHP present in
the Web page is processed and stripped from the page; the only thing returned to the client
from the Web server is pure HTML output.
All PHP code must be included inside one of the three special markup tags ate are
recognised by the PHP Parser.
A most common tag is the <?php...?> and we will also use the same tag in our tutorial.
From the next chapter we will start with PHP Environment Setup on your machine and then
we will dig out almost all concepts related to PHP to make you comfortable with the PHP
language.
Database:
Originally found only in large companies with the computer hardware needed to
support large data sets, DBMSs have more recently emerged as a fairly standard part of any
company back office.
Description
A DBMS is a complex set of software programs that controls the organization, storage,
management, and retrieval of data in a database. A DBMS includes:
A modeling language to define the schema of each database hosted in the DBMS,
according to the DBMS data model.
The four most common types of organizations are the hierarchical, network, relational
and object models. Inverted lists and other methods are also used. A given database
management system may provide one or more of the four models. The optimal
structure depends on the natural organization of the application's data, and on the
application's requirements (which include transaction rate (speed), reliability,
maintainability, scalability, and cost).
The dominant model in use today is the ad hoc one embedded in SQL, despite the
objections of purists who believe this model is a corruption of the relational model,
since it violates several of its fundamental principles for the sake of practicality and
performance. Many DBMSs also support the Open Database Connectivity API that
supports a standard way for programmers to access the DBMS.
Data structures (fields, records, files and objects) optimized to deal with very large
amounts of data stored on a permanent data storage device (which implies relatively
slow access compared to volatile main memory).
A database query language and report writer to allow users to interactively interrogate
the database, analyze its data and update it according to the users privileges on data.
It also controls the security of the database.
Data security prevents unauthorized users from viewing or updating the database.
Using passwords, users are allowed access to the entire database or subsets of it called
subschemas. For example, an employee database can contain all the data about an
individual employee, but one group of users may be authorized to view only payroll
data, while others are allowed access to only work history and medical data.
If the DBMS provides a way to interactively enter and update the database, as well as
interrogate it, this capability allows for managing personal databases. However, it
may not leave an audit trail of actions or provide the kinds of controls necessary in a
multi-user organization. These controls are only available when a set of application
programs are customized for each data entry and updating function.
A transaction mechanism, that ideally would guarantee the ACID properties, in order
to ensure data integrity, despite concurrent user accesses (concurrency control), and
faults (fault tolerance).
It also maintains the integrity of the data in the database.
The DBMS can maintain the integrity of the database by not allowing more than one
user to update the same record at the same time. The DBMS can help prevent
duplicate records via unique index constraints; for example, no two customers with
the same customer numbers (key fields) can be entered into the database. See ACID
properties for more information (Redundancy avoidance).
The DBMS accepts requests for data from the application program and instructs the
operating system to transfer the appropriate data.
When a DBMS is used, information systems can be changed much more easily as the
organization's information requirements change. New categories of data can be added to the
database without disruption to the existing system.
Organizations may use one kind of DBMS for daily transaction processing and then
move the detail onto another computer that uses another DBMS better suited for random
inquiries and analysis. Overall systems design decisions are performed by data administrators
and systems analysts. Detailed database design is performed by database administrators.
Database servers are specially designed computers that hold the actual databases and
run only the DBMS and related software. Database servers are usually multiprocessor
computers, with RAID disk arrays used for stable storage. Connected to one or more servers
via a high-speed channel, hardware database accelerators are also used in large volume
transaction processing environments.
DBMSs are found at the heart of most database applications. Sometimes DBMSs are built
around a private multitasking kernel with built-in networking support although nowadays
these functions are left to the operating system.
SQL
Data definition: Defining tables and structures in the database (DDL used to create, alter and
drop schema objects such as tables and indexes).
Data manipulation: Used to manipulate the data within those schema objects (DML
Inserting, Updating, Deleting the data, and Querying the Database).
A schema is a collection of database objects that can include: tables, views, indexes
and sequences
List of SQL statements that can be issued against an Oracle database schema are:
6.Coding
<?php
$con = mysqli_connect("localhost","root","","advmobile");
if($con->connect_error)
die("Connection error");
else
$username = $_POST["username"];
$password = $_POST["password"];
$count=0;
$res=mysqli_query($con,$sql);
while($row=$res->fetch_assoc())
$count=$row["cnt"];
?>
<div class="col-md-6">
<div class="contact_form-container">
<h2>User Login</h2>
<br>
<form action="userlogin.php" method='post'>
<div>
<label><strong>User Name</strong></label>
<input type="text" placeholder="User Name" name="username"
id="username" autofocus>
</div>
<div>
<label><strong>Password</strong></label>
<input type="password" placeholder="Password" name='password'
id='password'>
</div>
</div>
?>
<td style="padding:20px">
<?php
}
else
{
include 'admin.php';
}
?>
7. TESTING
Software Testing is the process used to help identify the correctness, completeness,
security, and quality of developed computer software. Testing is a process of technical
investigation, performed on behalf of stakeholders, that is intended to reveal quality-related
information about the product with respect to the context in which it is intended to operate.
This includes, but is not limited to, the process of executing a program or application with the
intent of finding errors. Quality is not an absolute; it is value to some person. With that in
mind, testing can never completely establish the correctness of arbitrary computer software;
testing furnishes a criticism or comparison that compares the state and behavior of the
product against a specification. An important point is that software testing should be
distinguished from the separate discipline of Software Quality Assurance (SQA), which
encompasses all business process areas, not just testing.
There are many approaches to software testing, but effective testing of complex
products is essentially a process of investigation, not merely a matter of creating and
following routine procedure. One definition of testing is "the process of questioning a product
in order to evaluate it", where the "questions" are operations the tester attempts to execute
with the product, and the product answers with its behavior in reaction to the probing of the
tester[citation needed]. Although most of the intellectual processes of testing are nearly
identical to that of review or inspection, the word testing is connoted to mean the dynamic
analysis of the product—putting the product through its paces. Some of the common quality
attributes include capability, reliability, efficiency, portability, maintainability, compatibility
and usability. A good test is sometimes described as one which reveals an error; however,
more recent thinking suggests that a good test is one which reveals information of interest to
someone who matters within the project community.
Testing Concepts
Testing
Testing Methodologies
Black box Testing:
White box Testing.
Gray Box Testing.
Levels of Testing
Unit Testing.
Module Testing.
Integration Testing.
System Testing.
User Acceptance Testing.
Types Of Testing
Smoke Testing.
Sanitary Testing.
Regression Testing.
Re-Testing.
Static Testing.
Dynamic Testing.
Alpha-Testing.
Beta-Testing.
Monkey Testing.
Compatibility Testing.
Installation Testing.
Adhoc Testing.
Ext….
STLC
o Test Planning.
o Test Development.
o Test Execution.
o Result Analysis.
o Bug-Tracing.
o Reporting.
Microsoft Windows – Standards
Manual Testing
Automation Testing (Tools)
o Win Runner.
o Test Director.
Testing:
The process of executing a system with the intent of finding an error. Testing is defined as the
process in which defects are identified, isolated, subjected for rectification and ensured that
product is defect free in order to produce the quality product and hence customer satisfaction.
Quality is defined as justification of the requirements
Defect is nothing but deviation from the requirements
Defect is nothing but bug.
Testing --- The presence of bugs
Testing can demonstrate the presence of bugs, but not their absence
Debugging and Testing are not the same thing!
Testing is a systematic attempt to break a program or the AUT
Debugging is the art or method of uncovering why the script /program did not execute
properly.
Testing Methodologies:
Black box Testing: is the testing process in which tester can perform testing on an
application without having any internal structural knowledge of application.
Usually Test Engineers are involved in the black box testing.
White box Testing: is the testing process in which tester can perform testing on an
application with having internal structural knowledge.
Usually The Developers are involved in white box testing.
Gray Box Testing: is the process in which the combination of black box and white box
tonics’ are used.
Test Planning:
1. Test Plan is defined as a strategic document which describes the procedure how to perform
various testing on the total application in the most efficient way.
2. This document involves the scope of testing,
3. Objective of testing,
4. Areas that need to be tested,
5. Areas that should not be tested,
Test Development:
Test case Development (check list)
Test Procedure preparation. (Description of the Test cases).
Implementation of test cases.Observing the result.
Result Analysis:
Expected value: is nothing but expected behavior Of application.
Actual value: is nothing but actual behavior of application
Bug Tracing: Collect all the failed cases, prepare documents.
Reporting: Prepare document (status of the application)
Types Of Testing:
Smoke Testing: is the process of initial testing in which tester looks for the availability of all
the functionality of the application in order to perform detailed testing on them. (Main check
is for available forms)
Sanity Testing: is a type of testing that is conducted on an application initially to check for
the proper behavior of an application that is to check all the functionality are available before
the detailed testing is conducted by on them.
Regression Testing: is one of the best and important testing. Regression testing is the
process in which the functionality, which is already tested before, is once again tested
whenever some new change is added in order to check whether the existing functionality
remains same.
Re-Testing: is the process in which testing is performed on some functionality which is
already tested before to make sure that the defects are reproducible and to rule out the
environments issues if at all any defects are there.
Static Testing: is the testing, which is performed on an application when it is not been
executed.ex: GUI, Document Testing
Dynamic Testing: is the testing which is performed on an application when it is being
executed.ex: Functional testing.
Alpha Testing: it is a type of user acceptance testing, which is conducted on an application
when it is just before released to the customer.
Monkey Testing: is the process in which abnormal operations, beyond capacity operations
are done on the application to check the stability of it in spite of the users abnormal behavior.
Compatibility testing: it is the testing process in which usually the products are tested on the
environments with different combinations of databases (application servers, browsers…etc)
In order to check how far the product is compatible with all these environments platform
combination.
Installation Testing: it is the process of testing in which the tester try to install or try to
deploy the module into the corresponding environment by following the guidelines produced
in the deployment document and check whether the installation is successful or not.
AdhocTesting:Adhoc Testing is the process of testing in which unlike the formal testing
where in test case document is used, without that test case document testing can be done of
an application, to cover that testing of the future which are not covered in that test case
document. Also it is intended to perform GUI testing which may involve the cosmotic issues.
8. Output Screens
9. Conclusion
The project “Advanced Mobile Store” is something like the original grocery shop
shopping cart that is used by the customer in selecting certain products. Finally after selection
the customer confirms orders for all the purchasing items and submits his/her account details
with tax information at the checkout counter.
Shopping cart is used around the world in e-commerce to manage business through
online. There are different kinds of software available that are useful for all in making
purchase online. Through this software, one can choose the purchasing item and the software
calculates the net amount for the order including packaging, moving and also taxes if
applicable.
The software collects the credit card information of the customer and it provides a
secure gateway for all kinds of transaction online. The shopping cart software provides a
reliable platform for keeping all sensitive information. For this kind of online business, the
special software must be installed on the server which host the site, or on a secure server
which receives all sensitive data.
Shopping cart software is its security as better security can attract customer by
protecting their personal information. Security features include encrypting information and
using a reputable processing service for credit cards.
10. Bibliography
Reference text books
https://www.tutorialspoint.com/php/php_introduction.htm
http://php.net/manual/en/intro-whatis.php
Algorithm and applications in java 3rd edition by SatrajSahni (Tata McGraw Hill).
Classical Data Structures by Samantha (Pearson education).
Software Engineering practice and principles 6th edition by Roger Pressmen (Tata McGraw
Hill).
Internet & World Wide Web How to program 3rd edition by Deitel&Deitel and Goldberg
(Pearson education).
Web enabled commercial application development using Java 2.0 by Ivan Bayross (Prentice
Hall of India).
Data base System Concepts 4th edition by Silbershatz, Korth, and Sudharshan(Tata McGraw
Hill).
Fundamentals of Data base systems 4th edition by RamezElmasri and
ShamkantB.Navathe(Pearson education).
For PHP
• https://www.w3schools.com/php/default.asp
• https://www.sitepoint.com/php/
• https://www.php.net/
For MySQL
• https://www.mysql.com/
• http://www.mysqltutorial.org
For XAMPP
• https://www.apachefriends.org/download.html