online shopping portal documentation
Post on 30-Oct-2015
1.401 Views
Preview:
DESCRIPTION
TRANSCRIPT
-
HobbySea.com Page 1
PROJECT REPORT
ON
ONLINE SHOPPING CARTEL
SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIRMENT FOR THE
AWARD OF MASTER OF COMPUTER APPLICATION DEGREE
SUBMITTED BY
MANOJ GIRI
Enrollment No.-06011404410
INTERNAL GUIDE EXTERNAL GUIDE
Mr. Girish Sharma
(Associate Professor)
GURU GOBIND SINGH INDRAPRASTHA UNIVERSITY DELHI
DEPARTMENT OF COMPUTER SCIENCE APPLICATION
BHAI PARMANAND INSTITUTE OF BUSINESS STUDIES
BATCH 2010-2013
-
HobbySea.com Page 2
PROJECT REPORT
ON
JOB PORTAL
SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIRMENT FOR THE
AWARD OF MASTER OF COMPUTER APPLICATION DEGREE
SUBMITTED BY
MANOJ GIRI
Enrollment No.-03811404410
INTERNAL GUIDE EXTERNAL GUIDE
Mr. Girish Sharma
(Assistant Professor)
GURU GOBIND SINGH INDRAPRASTHA UNIVERSITY DELHI
DEPARTMENT OF COMPUTER SCIENCE APPLICATION
BHAI PARMANAND INSTITUTE OF BUSINESS STUDIES
BATCH 2010-2013
-
HobbySea.com Page 3
Certificate by Company/ External Guide
( format will be issued by the company on letter head of the
company)
-
HobbySea.com Page 4
GOVERNMENT OF NCT OF DELHI BHAI PARMANAND INSTITUTE OF BUSINESS STUDIES
OPP. MADHUBAN COLONY, SHAKARPUR EXTN., DELHI- 110092.
Phone: 011-22543891, 22017393 Fax: 011-22016134
Website: www.bpibs.in
CERTIFICATE
This is to certify that this industrial training project report JOB
PORTAL is submitted as a work of Manoj Giri who is undergoing
the 6th Semester (MCA) Industrial training at __________________
He has been giving regular update of training work throughout the
semester and has prepared the training report under assigned
guides guidance.
Dr. Girish Kumar Sharma
Date: Head of Department (MCA)
Bhai Parmanand Institute of Business Studies
-
HobbySea.com Page 5
GOVERNMENT OF NCT OF DELHI
BHAI PARMANAND INSTITUTE OF BUSINESS STUDIES OPP. MADHUBAN COLONY, SHAKARPUR EXTN., DELHI- 110 092.
Phone: 011-22543891, 22017393 Fax: 011-22016134
Website: www.bpibs.in
CERTIFICATE
This is to certify that the dissertation/project report (MCA 302)
entitled JOB PORTAL done by Manoj Giri Roll No. 06011404410
is an authentic work carried out by him at ______________ under
my guidance. The matter embodied in this Project work has not
been submitted earlier for the award of any degree or diploma to
the best of my knowledge and belief.
Date: Internal Guide
Mr. Girish Sharma
Assistant Professor
-
HobbySea.com Page 6
ACKNOWLEDGEMENT
The accomplishment of this project would have not been possible individually without the encouragement, assistance and valuable support from various sources. It is my proud privilege to express my profound gratitude to the entire management of Bhai Parmanand institute of Business Studies and teachers of the institute for providing me with this opportunity to avail the excellent infrastructure. The knowledge and values gained have provided to be of immense help at the very start of my career. Special thanks to Honrable Principal, Mrs. Amita Dev for having provided us an excellent infrastructure at BPIBS. No creative work is possible in isolation. I need guidance, motivation at every step of my progress. I would like to add a few heartfelt words for the people who were the part of this project in numerous ways. I am grateful to Mr. Girish Sharma (project guide) for his guidance, constant encouragement and sincere support for this project work. I extend my heartfelt thanks to for giving me an opportunity to work in such good professional environment and have a good experience. I would like to extend my profound thanks to for providing all the support in the lifetime of the project and their valuable motivation and time to time discussions which kept a constant vigil on the progress of the project.
MANOJ GIRI
-
HobbySea.com Page 7
TABLE OF CONTENTS
Introduction ...8
Profile of the Problem
Objectives of the project
System Analysis....17
Modules of project Administrator
Feasibility Analysis
Methodology
Software Requirements Specification
DFD
Use Case Diagram
Flow chart
System Design..33
Design approach
Sequence Diagram
State chart Diagram
Activity Diagram
Database Tables
Conclusion and Snapshots ...45
Testing.....................................57
8.1 Test Plan
Bibliography..74
Appendix [code]
-
HobbySea.com Page 8
CHAPTER 1
INTRODUCTION
-
HobbySea.com Page 9
Profile of the Problem
HobbySea.com is a web-based application intended to provide automated
solution and services to customer.
The Business Organization has its offices in few states and normally uses
courier facility to deliver the product. If possible home delivery is also
possible.
This Business Organization mainly has two sectors first one is sale which sale
the product to the customer and second is service which is provided to the
customer.
HobbySea.com provides sales and service to customer by interaction with
customer. The success of a company is mainly based on its satisfied customers,
which in turn gives profits.
Retaining existing customers is also an important job of a company.
HobbySea.com concentrates on the retention of customers by collecting all data
from every interaction, every customer makes with a company from 'all' access
points whether they are phone, mail, web or field. The company can them use
this data for specific business purposes viz., marketing, service, support or
sales
HobbySea.com is basically the collection and distribution of "all" data
to "all" areas of business. The data can then help market the company, help up
sell to existing customer, understand customers better so that customers can be
given better service and allows them to interact with the company by whatever
means they wish.
-
HobbySea.com Page 10
What contribution would the Project Make?
The project would help in effective and systematic sales and purchase of
products. This Project will also be able to give the reports concerning user
patterns so that it could be used in future to track potential customers.
Scope of the study
The main Scope of study: -
It should contain all the information of products and their description.
It should contain all the information related to supplementary and
complementary products related to particular product.
It should process and evaluate payments done by the customer.
It should contain information related all the functionalities of a particular
product.
It should maintain proper payment records.
It should have Administrator for scheduling administrative work of site.
-
HobbySea.com Page 11
Objectives of the project
It will enable vendors to setup online shops, customer to browse through
the shop and purchase them online without having to visit the shop
physically.
The administration module will enable a system administrator to approve
and reject requests for new shops and maintain various lists of shop
category.
The main objective of the project is to establish a network among the
people residing in all over the world by which all the information related to
products and any new updates can be easily accessed and shared among the
people.
This system provides admin module to manage different domains details,
consumers to maintain their online shopping and customers/visitors/guest
to check out the details of different products.
Requirements / Functionalities of Online Shopping cartel
Products can only be added through Administrator.
A customer may or may not register with our website.
A customer could navigate between various products and could also look
for their detailed description.
After finalizing, a product could be purchased through various payment
gateways.
Proper shipping address should be clearly mentioned.
-
HobbySea.com Page 12
The administrator should be able to track the customer by his contact
information.
The administrator should authenticate the customer before the delivery of
the product.
ESTABLISH THE NEED OF THE NEW SYSTEM:
Meets Business Requirements:
It contains various modules which help online commerce company to work
efficiently and effectively as well as completely satisfies current and future
needs.
Web Based Solutions:
Since the whole setup in on-line therefore web based solutions could be
integrated as soon as some technological advancement hit the market.
Highly Modular Solutions:
Each product is categorized into specialization means; it is segregated
according to its category.
Easy to Enhance:
As complete system is divided into different module therefore enhancement of
single module or complete system can be easily done in future.
Timely delivery and customer support:
Accurate, up to date and timely available information leads to on time delivery.
-
HobbySea.com Page 13
Advantage(s)
There has long been a need for the consumer to purchase goods without ever
having to leave their home. The industry started with mail order catalogs.
The catalog offered everything from clothing to toys, and even farming
equipment that made it easier for early families to purchase goods without
having to travel to a city possibly hundreds of miles away.
Ever since the invention of the personal computer and the World Wide Web,
consumers have become more and more eager to shop online. Shopping
online can give a great advantage to many people.
You can search for exactly what youre looking for quicker. There are
many online stores who specialize in a certain type of sofa or style that
you may be looking for and a quick Google search will bring you to that
site. If you love knowing the newest styles, or having unique pieces then
online shopping makes it easier to do so.
Instead of driving around wasting gas or spending hours on the bus in
travel time you can visit all the stores that youre interested in at once.
This eliminates time going from store to store to see what is available
and at what price.
Easier to find discounts on the sofa youre looking for by Googling,
going on EBay, Amazon and many other websites out there offering
deals. Online stores usually offer online specials as well and there are
multiple websites dedicated to sharing these deals with you.
-
HobbySea.com Page 14
Software tools / Technology Used
Language (Server Side) : PHP
Front End (Client Side) : Html, CSS, Ajax
Database : MySQL
IDE : WAMP
Operating System : Windows 7
Method of Development : MVC (Model View
Controller)
-
HobbySea.com Page 15
CHAPTER 2
SYSTEM
ANALYSIS
-
HobbySea.com Page 16
Proposed System
The development of this shopping cartel contains the following activities,
which try to automate the entire process keeping in the view of database
integration approach.
This Site can provide the products information along with the product
category.
This website can provide product search facility for the customer.
Administrator can control both products and as well as customer
information.
Administrator could manage the entire site.
Number of Modules
The Job Portal after careful analysis has been identified to be presented with
the following modules:
Administrator
Customer
Administrator
Administrator is the major controlling authority of the shopping portal. He
controls and monitors the entire shopping portal. Admin first logins with his
valid username and password and after that he can access the database and
control the features of the shopping portal. He can add, edit and delete
homepage, contact us and about us. He could add or delete products and
manage database.
-
HobbySea.com Page 17
FEATURES OF ADMINISTRATOR
Login Administrator has to enter his username and password to login. If the
username and password is valid then the administrator is directed to his home
page from where he can control all the features of shopping portal.
Change Password Administrator can change his password from his account
with full authentication.
Manage Home Page Administrator can easily manage home page from his
account.
Manage shopping portal Information Administrator can easily manage
Contact Us and About Us from his account.
Addition/deletion of products Administrator is responsible for adding or
deleting products and their information.
Job Portal Reports Administrator can access the reports related to shopping
portal such as number of hits on shopping Portal, number of total products and
product details.
-
HobbySea.com Page 18
FEASIBILITY REPORT
Preliminary investigation examine project feasibility, the likelihood the system
will be useful to the organization. The main objective of the feasibility study is
to test the Technical, Operational and Economical feasibility for adding new
modules and debugging old running system. All system is feasible if they are
unlimited resources and infinite time. There are aspects in the feasibility study
portion of the preliminary investigation:
Technical Feasibility
Operation Feasibility
Economic Feasibility
Technical Feasibility
The technical issue usually raised during the feasibility stage of the
investigation includes the following:
Does the necessary technology exist to do what is suggested?
Do the proposed equipments have the technical capacity to hold the
data required to use the new system?
Will the proposed system provide adequate response to inquiries,
regardless of the number or location of users?
Can the system be upgraded if developed?
Are there technical guarantees of accuracy, reliability, ease of access
and data security?
Earlier no system existed to cater to the needs of Secure Infrastructure
Implementation System. The current system developed is technically feasible.
It is a web based user interface for audit workflow at NIC-CSD. Thus it
provides an easy access to the users. The databases purpose is to create,
-
HobbySea.com Page 19
establish and maintain a workflow among various entities in order to facilitate
all concerned users in their various capacities or roles. Permission to the users
would be granted based on the roles specified. Therefore, it provides the
technical guarantee of accuracy, reliability and security. The software and hard
requirements for the development of this project are not many and are already
available in-house at NIC or are available as free as open source. The work for
the project is done with the current equipment and existing software
technology. Necessary bandwidth exists for providing a fast feedback to the
users irrespective of the number of users using the system.
Operational Feasibility
Proposed projects are beneficial only if they can be turned out into information
system. That will meet the organizations operating requirements. Operational
feasibility aspects of the project are to be taken as an important part of the
project implementation. Some of the important issues raised are to test the
operational feasibility of a project includes the following: -
Is there sufficient support for the management from the users?
Will the system be used and work properly if it is being developed and
implemented?
Will there be any resistance from the user that will undermine the
possible application benefits?
This system is targeted to be in accordance with the above-mentioned issues.
Beforehand, the management issues and user requirements have been taken
into consideration. So there is no question of resistance from the users that can
undermine the possible application benefits.
The well-planned design would ensure the optimal utilization of the computer
resources and would help in the improvement of performance status.
-
HobbySea.com Page 20
Economic Feasibility
A system can be developed technically and that will be used if installed must
still be a good investment for the organization. In the economic feasibility, the
development cost in creating the system is evaluated against the ultimate
benefit derived from the new systems. Financial benefits must equal or exceed
the costs. The system is economically feasible. It does not require any addition
hardware or software. Since the interface for this system is developed using the
existing resources and technologies available at NIC, There is nominal
expenditure and economic feasibility for certain.
-
HobbySea.com Page 21
Software Requirements Specification
1 Introduction
Viewing available jobs or applying for the job at the agency is currently done
manually where in the job seekers has to go to the agency and check the
available jobs at the agency. Job seekers check the list of jobs available and
apply the job if the job is not available otherwise it is of waste for the job
seeker to come to the agency to come to check for the job if the job seeker
doesnt get the job. Then the agency will show available jobs for the job seeker
for his qualifications and the then updates the jobs database. This takes at least
one to two hours if the job seeker is available at the nearby place otherwise it
may take more time.
1.1 Purpose
The purpose of Software Requirements Specification (SRS) document is to
describe the external behavior of the Online Job Portal System. Requirements
Specification defines and describes the operations, interfaces, performance, and
quality assurance requirements of the Online Job Portal System. The document
also describes the non-functional requirements such as the user interfaces. It
also describes the design constraints that are to be considered when the system
is to be designed, and other factors necessary to provide a complete and
comprehensive description of the requirements for the software. The Software
Requirements Specification (SRS) captures the complete software
requirements for the system, or a portion of the system. Requirements
described in this document are derived from the Vision Document prepared for
the Online Job Portal System.
-
HobbySea.com Page 22
1.2 Scope
The Software Requirements Specification captures all the requirements in a
single document. The Online job Portal System that is to be developed provides
the members with jobs information, online applying for jobs and many other
facilities. The Online Job Portal System is supposed to have the following
features.
Main Page
Search jobs, browse jobs by country, by category or by agency. Latest
jobs listed on the front page.
Job Seeker's Area
Jobs seekers can sign-up and submit their resume or manage their Job
Alerts. Job seekers can manage other things associated with their
account.
Employers Area
Employers can sign-up and browse job seeker's resumes, manage their
advertisements (job postings) or manage their Resume Alerts.
Additionally, job seekers can submit their profile and manage other things
associated with their account.
Administration Panel
The job portal is highly configurable and there are many possibilities for
running the job portal. The features that are described in this document are
used in the future phases of the software development cycle. The features
described here meet the needs of all the users. The success criteria for the
system are based in the level up to which the features described in this
document are implemented in the system.
-
HobbySea.com Page 23
1.3 Overview
The SRS will provide a detailed description of the Online Job Portal System.
This document will provide the outline of the requirements, overview of the
characteristics and constraints of the system.
2 User characteristics
The users of the system are members and the admin who maintain the system.
The members are assumed to have basic knowledge of the computers and
Internet browsing. The admin of the system to have more knowledge of the
internals of the system and is able to rectify the small problems that may arise
due to disk crashes, power failures and other catastrophes to maintain the
system. The proper user interface, users manual, online help and the guide to
install and maintain the system must be sufficient to educate the users on how
to use the system without any problems.
3 Constraints
The information of all the users must be stored in a database that is
accessible by the Job Portal.
The Job Portal is connected to the computer and is running all 24 hours
a day.
The users access the Job Portal from any computer that has Internet
browsing capabilities and an Internet connection.
The users must have their correct usernames and passwords to enter into
the Job Portal.
-
HobbySea.com Page 24
4 Assumptions and dependencies
The users have sufficient knowledge of computers.
The Computer should have Internet connection and Internet server
capabilities.
The users know the English language, as the user interface will be
provided in English
The product can access the members database.
5 System Features / Functionalities
5.1 Functionalities for Administrator
Login Administrator has to enter his username and password to login. If the
username and password is valid then the administrator is directed to his home
page from where he can control all the features of Job Portal.
Change Password Administrator can change his password from his account
with full authentication.
Manage Home Page Ads Administrator can easily manage home page ads
from his account. And these ads are displayed dynamically on the home page
of the Job Portal.
Manage Tip of the Day Administrator can easily manage tip of the day from
his account and after this tip of the day is displayed on the home page.
Manage Job Portal Information Administrator can easily manage Contact
Us and About Us from his account under the Mange Job Portal information
section.
-
HobbySea.com Page 25
Activate/Deactivate Employer Administrator is responsible for activating or
deactivating employer.
Job Portal Reports Administrator can access the reports related to Job Portal
such as number of hits on Job Portal, number of total employer, jobseeker and
jobs.
Manage Database Administrator can manage database for example
administrator can add new industry type from his account without manually
changing database.
6 Usability
The system shall allow the users to access the system from the Internet
using HTML or its derivative technologies. The system uses a web
browser as an interface.
Since all users are familiar with the general usage of browsers, no specific
training is required.
The system is user friendly and self-explanatory.
7 Reliability
The system has to be very reliable due to the importance of data and the
damages incorrect or incomplete data can do.
To achieve this following steps are taken
Client side validation
Server-side validation
User password is md5 encrypted
-
HobbySea.com Page 26
8 Software Requirements
Operating System : Windows-7/2003
User Interface : HTML
Programming Language : PHP 5.5
Web Server : Apache
Database : MySQL
9 Hardware Requirements:
Processor : Intel
Hard Disk : 40GB
RAM : 512MB or more
-
HobbySea.com Page 27
10 Technologies Used:
PHP:
PHP code is interpreted by a web server with a PHP processor module which
generates the resulting web page: PHP commands can be embedded directly
into an HTML source document rather than calling an external file to process
data. It has also evolved to include a command-line interface capability and can
be used in standalone graphical applications.
Whenever request comes for a static html or htm page the web server returns
the page to the client. Here script processing or execution is not done. Such
pages don't have dynamic capability and content is fixed. In Windows server
the web server is IIS and for Linux systems Apache web servers are generally
used. However PHP and Apache run well in Windows platform also. This site
is supporting PHP on a Linux platform. In the same way the server can run
other scripts like ASP, Perl etc.
In case of PHP pages the server does not return the page directly to the client.
The web server runs the PHP engine and the output of the executed script is
posted back to the client machine. Depending on the various input conditions
the page content can be changed. PHP can easily connect to MySQL database
and this combination is very popular in the internet. As per the client side
browser it does not understand PHP or any other language. It can understand
HTML, JavaScript, and CSS etc.
BENEFITS OF PHP
PHP is one of the most popular server side scripting languages running today.
It is used for creating dynamic web-pages that interact with the user offering
customized information. PHP offers many benefits; it is fast, stable, secure,
easy to use and open source (free).
Speed
PHP is considered to be the fastest, as stated previously, when compared with
other programming languages.
-
HobbySea.com Page 28
Normally when try to connect a database and fetch certain data, it usually takes
time to connect the database, execute the statement, and get the data across.
When these operations are performed by PHP it is really faster when compared
with other types of scripting languages. Not only for the speed when
connecting the database but also while using over other important applications.
Because of its high performance of speed, PHP is being used for some of the
Important administrations like the server administration over the web, mail
Functionalities.
Open Source
PHP is open source; open source is one where the user is given a free license to
Remodel or recode PHP, according to their wish. Source code is shipped with
PHP.
Multi-Platform
PHP supports various platforms, which mean PHP can be installed on almost
every operating system, like the window-x, Linux, etc.
Easy Syntax
PHP syntax is quite easy to code, all the syntax are similar to the C language
syntax.
PHP is free software released under the PHP License, which is incompatible
with the GNU General Public License (GPL) due to restrictions on the usage of
the term PHP. PHP can be deployed on most web servers and also as a
standalone shell on almost every operating system and platform, free of charge.
-
HobbySea.com Page 29
MySQL:
MySQL (My S-Q-L, officially, but also called My Sequel") is the world's
most widely used open source relational database management system
(RDBMS) that runs as a server providing multi-user access to a number of
databases
MySQL is a popular choice of database for use in web applications, and is a
central component of the widely used LAMP open source web application
software stack (and other 'AM' stacks). LAMP is an acronym for "Linux,
Apache, MySQL, and Perl/PHP/Python." Free-software-open source projects
that require a full-featured database management system often use MySQL.
MySQL can be used for a variety of applications, but is most commonly found
on Web servers. A website that uses MySQL may include Web pages that
access information from a database. These pages are often referred to as
"dynamic," meaning the content of each page is generated from a database as
the page loads.
Websites that use dynamic Web pages are often referred to as database-driven
Websites. Many database-driven websites that use MySQL also use a Web
scripting language like PHP to access information from the database. MySQL
commands can be incorporated into the PHP code, allowing part or all of a
Web page to be generated from database information. Because both MySQL
and PHP are both open source (meaning they are free to download and use), the
PHP/MySQL combination has become a popular choice for database-driven
websites.
-
HobbySea.com Page 30
Features of MySQL
The following list shows the most important properties of MySQL.
Relational Database System: Like almost all other database systems on the
market, MySQL is a relational database system.
Client/Server Architecture
MySQL is a client/server system. There is a database server (MySQL) and
arbitrarily many clients (application programs), which communicate with the
server; that is, they query data, save changes, etc. The clients can run on the
same computer as the server or on another computer (communication via a
local network or the Internet).
SQL compatibility
MySQL supports as its database language -- as its name
Suggests SQL (Structured Query Language). SQL is a standardized language
for querying and updating data and for the administration of a database. There
are several SQL dialects (about as many as there are database systems).
MySQL adheres to the current SQL standard (at the moment SQL: 2003),
although with significant restrictions and a large number of extensions.
Programming languages: There are quite a number of APIs (application
Programming interfaces) and libraries for the development of MySQL
applications. For client programming you can use, among others, the languages
C, C++, Java, Perl, PHP, and Python.
ODBC
MySQL supports the ODBC interface Connector/ODBC. This allows
MySQL to be addressed by all the usual programming languages that run under
Microsoft Windows (Delphi, Visual Basic, etc.). The ODBC interface can also
be implemented under UNIX, though that is seldom necessary.
-
HobbySea.com Page 31
Platform independence
It is not only client applications that run under a variety of operating systems;
MySQL itself (that is, the server) can be executed under a number of operating
systems. The most important are Apple Macintosh OS X,
Linux, Microsoft Windows, and the countless UNIX variants, such as AIX,
BSDI,
FreeBSD, HP-UX, OpenBSD, Net BSD, SGI Iris, and Sun Solaris.
Speed
MySQL is considered a very fast database program.
Relational Database Management System (RDBMS)
An RDBMS is a database management system where all data visible to the user
is organized strictly as tables of data values. All database operations work on
these tables.
RDBMS has 3 main features, which are as follows:
Data is stored in a number of tables. These tables may or may not have any
Relationships, normally each table in a database have some relationship with
One or more tables. These relationships greatly help in effective organization
of data in a system. Integrity rules on table make data consistent and secure.
Relational Operators are used for manipulating data.
WAMP:
WAMPs are packages of independently created programs installed on
computers that use a Microsoft windows operating system.
WAMP (computing) is an acronym formed from the initials of the operating
system Microsoft Windows and the principal components of the package
Apache, MySQL and one of PHP, Perl or python Apache is a web server.
MySQL is an open-source database. PHP, Perl and Python are scripting
languages that can manipulate information held in a database and generate web
pages dynamically each time content is requested by a browser. Other
-
HobbySea.com Page 32
programs may also be included in a package, such as phpMyAdmin which
provides a graphical user interface for the MySQL database manager.
HTML:
Hypertext Markup Language (HTML) is a language for describing how pages
of text, graphics, and other Information are organized, formatted, and linked
together. It is not really a programming language in the sense of COBOL or
Visual Basic, but it does provide powerful capabilities for text formatting and
output display. The original purpose of HTML was primarily as a tool for
making text documents readily available on the Internet. Basic graphic support
was added, and the things started to take off. Now we have sound, live video,
retail catalogs, and much, much more available to us.
HTML pages are the standard interface to the Internet. This basic language
provides the necessary nuts and bolts for building Web pages.
HTML stands for Hyper Text Markup Language and was developed
specifically for use on the system of links, which can be non-sequential in
order. HTML is not a programming language. It is a marking up language used
for linking one piece of information to another.
Using a markup language means that tags can be added to the words in the
document and web enable them. A tag is a set of descriptive formatting codes
used in HTML document that instructs a web browser how to display text and
graphics on a web page.
-
HobbySea.com Page 33
MVC:
Modelviewcontroller (MVC) is a software architecture pattern which
separates the representation of information from the user's interaction with it.
The model consists of application data, business rules, logic, and functions. A
view can be any output representation of data, such as a chart or a diagram.
Multiple views of the same data are possible, such as a bar chart for
management and a tabular view for accountants. The Controller mediates
input, converting it to commands for the model or view. The central ideas
behind MVC are code reusability and separation of concerns.
-
HobbySea.com Page 34
AJAX:
Ajax (an acronym for Asynchronous JavaScript and XML) is a group of
interrelated web development techniques used on the client-side to create
asynchronous web applications. With Ajax, web applications can send data to,
and retrieve data from, a server asynchronously (in the background) without
interfering with the display and behavior of the existing page. Data can be
retrieved using the XMLHttpRequest object. Despite the name, the use of XML
is not required (JSON is often used instead), and the requests do not need to be
asynchronous.[2]
Ajax is not a single technology, but a group of technologies. HTML and CSS
can be used in combination to mark up and style information. The DOM is
accessed with JavaScript to dynamically display, and allow the user to interact
with, the information presented. JavaScript and the XMLHttpRequest object
provide a method for exchanging data asynchronously between browser and
server to avoid full page reloads.
-
HobbySea.com Page 35
ER Diagram
Products Payment
Price
Settings
Member
authentication
General terms
and conditions
Shipping details Shopping page
Shipping
Home page
Administrator/
Seller
Website General
Settings
Edit File
Online Shopping portal
-
HobbySea.com Page 36
DFD
Zero level:
Order/Enquiry Order acceptance/cancellation Status
Details Add/update catalogue
Customer order/billing Details
HobbySea.com
CUSTOMER
ADMINISTRATOR
Payment
Options
-
HobbySea.com Page 37
ADMINISTRATOR
Admin Admin home Admin Login
Add/Remove
products
Manage
website info.
information
Manage
products
Approve product
shipment
Login
-
HobbySea.com Page 38
USE CASE DIAGRAM ADMINISTRATOR
-
HobbySea.com Page 39
CHAPTER 3
SYSTEM
DESIGN
-
HobbySea.com Page 40
SYSTEM DESIGN APPROACH
System design is a solution, a "how to" approach to the creation of a new
system. Design is the first step in the development phase for any engineered
product or system. The designer's goal is to produce a model or representation
of an entity that will later be built. Beginning, once system requirements have
been specified and analyzed, system design is the first of the three technical
activities - design, code and test that is required to build and verify software.
The importance can be stated with a single word "Quality". Design provides us
with representations of software that can assess for quality. Design is the only
way that we can accurately translate a customer's view into a finished software
product or system. Software design serves as a foundation for all the software-
engineering steps that follow. Without a strong design we risk building an
unstable system -one that will fail when small changes are made; one that will
be difficult to test; one whose quality cannot be assessed until the last stage.
During design, progressive refinements of data structure, program structure,
and procedural details are developed, reviewed and documented.
System Design phase comes after the successful completion of the analysis
phase. The System design stage is the most important stage of the System
Development Life Cycle (SDLC). Two design approaches are most common in
the design methodology.
Top down Approach
Bottom up Approach
There are some objectives that are necessary for successful design and
implementation of the system. The objectives are as follows:
The system should be interactive.
The system should be user friendly.
The system should support data integrity.
-
HobbySea.com Page 41
The system should be menu driven.
The system should provide editing facility for correcting and updating
available data.
The system should be so designed that maximum utilization of the
available computer resources is done.
The system should prompt for any error made by user at the time of data
entry.
The system should be expandable so as to there should be scope for
further work.
The design step produces a data design, an architectural design, an interface
design, and a procedural design.
The data design transforms the information domain model created during the
analysis phase into data structures that will be required to implement the
software. The objects, relationships and detailed data content provide the basis
for the data design activity.
The architectural design defines the relationship among major structural
elements of the program.
The interface design describes how the software communicates within itself,
to the systems that inter-operate with it and with humans who use it. An
interface implies a flow of information.
The procedural design transforms structural elements of the program
architecture into a procedural description of software components. During
design we make decisions that will ultimately affect the success of software
construction. The importance of design can be stated with a single word
"quality".
-
HobbySea.com Page 42
Structural design of shopping portal Request C Request/Reply f for customer/ Administrator
Response Request Response
Basic Outline of the website
DATABASE
CUSTOMER
ADMINISTRATOR
APPLICATION
SERVER
-
HobbySea.com Page 43
State chart Diagram
Admin Login
Unsuccessful Successful
Login details
Validate login
Invalid Logged in
-
HobbySea.com Page 44
Database Tables
admin_pages
Table comments: Admin page table
Column Type Null
id int(10) No
name varchar(50) No
title Text No
content1 Text No
content2 Text No
created _date Date No
Field details :
Name name of the page for example about us , contact us
Title title of the page
Content1 and content2 contain content of the page
Admin_uploads
Table comments : Table to manage admin upload for example homepage ads
Column Type Null Default Comments
fid int(11) No
filename varchar(256) Yes
url varchar(30) Yes NULL ads url
type varchar(20) Yes NULL type of content
Field details :
Filename name of the uploaded file
Url URL linked to the file incase of ads
type contain type of content
-
HobbySea.com Page 45
company_details
Table comments: details of each company
Column Type Null Default Comments
id int(5) No unique id for each company
company_name varchar(50) No name of company
website varchar(50) Yes NULL name of website
industry_type smallint(6) No 5
4-itConsultant,5-software_development,6-networking,7-finance,8-databaseConsultant,9-domainManagement
key_functional_area varchar(150) No comma seperated major functional area of company
status enum('0', '1') No 1 0 is active, 1 is inactive
creation_date Datetime Yes NULL creation time of company
last_update Timestamp No CURRENT_TIMESTAMP
date and time of last updation
city varchar(50) No city of company location
country varchar(30) No country where company is located
employer_details
Table comments: employer profile details
Column Type Null Default Links to Comments
id int(5) No unique id for each employer
user_id int(5) No users -> id foreign key to users table
company_id int(5) No company_details -> id
foreign key to company_details
contact_number varchar(20) No contact number of employer
gender enum('10', '11')
No 10 10-male,11-female
-
HobbySea.com Page 46
inactive_users
Table comments: inactive_users
Column Type Null Links to Comments
id int(5) No unique id for each user
user_id int(5) No users -> id
foreign key to users table
validation_string varchar(40) No validation string to verify email
jobs_applied
Table comments: details of job applied
Column Type Null Default Links to Comments
job_id int(5) No jobs_available -> id
foreign key to jobs_avialable_table
user_id int(5) No users -> id foreign key to users table
date_of_applying timestamp
No CURRENT_TIMESTAMP
date and time of applying job
id int(5) No unique id of each job applied
-
HobbySea.com Page 47
jobs_available
Table comments: details of job available
Column Type Null Links to Comments
id int(5) No unique id for each job
name_of_post varchar(40) No name of opening
experience_required tinyint(4) No required experience for the job
employer_id int(5) No employer_details -> id
foreign key to employer_details
date_of_job_posted Datetime No date on which job is posted
date_of_last_applying Datetime No last applying date
expected_salary int(11) No expected salary for the job
status enum('0', '1') No 0 is active , 1 is inactive
last_updated Timestamp Yes date and time of last updation
job_description varchar(200) No brief decription of job
job_location varchar(20) No location of the available job
job_category varchar(20) No category of the job available
keywords varchar(150) No meta data for this job etnry
jobseeker_educational_details
Table comments: jobseeker educational details
Column Type Null Links to Comments
id int(5) No unique id for edcational details for each jobseeker
personal_id int(5) No
jobseeker_personal_details -> id
foreign key to jobseeker_personal_details
highest_degree varchar(30) No highest degree of jobseeker
graduation_degree varchar(30) No graduation degree of jobseeker
post_graduation_degree varchar(30) Yes post graduation degree of jobseeker
PhD varchar(30) Yes PhD degree if any of jobseeker
other_degree varchar(30) Yes any other degree or certifcation of jobseeker
last_update timestamp Yes date and time of last updation
-
HobbySea.com Page 48
jobseeker_personal_details
Table comments: jobseeker personal details
Column Type Null Links to Comments
id int(5) No unique for each profile
user_id int(5) No users -> id foreign key to users table
firstname varchar(50) No first name of the jobseeker
middlename varchar(50) Yes middle name of the jobseeker
lastname varchar(50) No last name of the jobseeker
gender enum('10', '11')
No 10 is male, 11 is female
date_of_birth Date No date of birth of the jobseeker
permanent_address
varchar(300) No permanent address of the jobseeker
current_address varchar(300) No current address of jobseeker
current_city varchar(50) No current city of user
current_state varchar(50) No current state of jobseeker
country varchar(50) No nationality of job seeker
pincode int(10) No pincode of current_city
contact_number varchar(15) No current contact number of jobseeker
last_update Timestamp Yes date and time of last updation
jobseeker_professional_details
Table comments: jobseeker professional details
Column Type Null Links to Comments
id int(5) No unique id for professional details of each jobseeker
personal_id int(5) No jobseeker_personal_details -> id
foreign key to jobseeker_personal_details table
experience tinyint(4) No experience of jobseeker in years
keyskills varchar(150) No key skills of jobseeker
current_industry
varchar(40) No name of current industry of jobseeker
functional_area varchar(50) No current working area of the jobseeker
last_update Timestamp Yes date and time of last updation
-
HobbySea.com Page 49
jobseeker_resume
Table comments: jobseeker resume
Column Type Null Links to Comments
id int(5) No unique id for each resume
personal_id int(5) No jobseeker_personal_details -> id
foreign key to jobseeker_personal_details
resume mediumblob No resume of jobseeker
resume_header varchar(100) Yes header of the resume
extension Tinytext No extension of resume like .doc or .pdf
last_updated_on Timestamp No last update time and date of resume uploading
master_table
Table comments: table used to search data throughout the database
Column Type Null Default Comments
id int(10) No the unique id
codetype varchar(20) No coloumn name of different tables
codevalue varchar(20) No value of the above coloumn
status enum('0', '1') No 0 0 is active , 1 inactive
-
HobbySea.com Page 50
users
Table comments: login details of jobseeker and employer
Column Type Null Default Comments
id int(5) No unique id for each jobseeker and employer
password varchar(50) No unique password for each user
displayname varchar(50) No display name of the user
email varchar(150) No unique email id of each userid
usertype smallint(6) No 2 1-admin,2-jobseeker,3-employer
creation_date datetime No creation time of user
last_login_time
timestamp Yes CURRENT_TIMESTAMP
last login date and time
status enum('0', '1') No 1 0 is active, 1 is inactive
-
HobbySea.com Page 51
CHAPTER 4
CONCLUSION AND SNAPSHOTS
-
HobbySea.com Page 52
SCREEN SHOTS
Details of all the products with their description
Creation of an Account of a Customer.
-
HobbySea.com Page 53
Webpage Explaining how to order?
Contact us information.
-
HobbySea.com Page 54
Product along with its description.
New Products category.
-
HobbySea.com Page 55
Returning Customer login.
-
HobbySea.com Page 56
Conclusion
Administrator module plays a vital role in shopping portal as it is responsible
for administration and maintenance of whole shopping portal.
Admin can add/delete product and its detail. Admin could also manage site
information like about us and contact us from its account there is no need to
programmatically change content of shopping portal.
-
HobbySea.com Page 57
CHAPTER 5
TESTING
-
HobbySea.com Page 58
TESTING PLAN:
The review of OO analysis and design models is especially useful because the
same semantic constructs appear at the analysis, design and code levels.
Therefore, a problem in the definition of class attributes that is uncovered
during analysis will circumvent side effects that might occur if the problem
were not discovered until design or code.
If the error remains undetected during design and passes into the coding
activity, considerable effort will be expended to generate code that implements
an unnecessary attribute, two unnecessary operations, messages that drive
interblent communication and many other related issues. In addition, testing of
the class will absorb more time than necessary. Once the problem is finally
uncovered, modification of the system must be carried out with the ever-
present potential for side effects that are caused by change.
The objective of system testing is to ensure that all individual programs are
working as expected, that the programs link together to meet the requirements
specified and to ensure that the computer system and the associated clerical and
other procedures work together. Systems are not designed as entire systems not
they are tested as single systems. The analyst must perform both unit and
system testing.
An iterative development process yields increasingly improved versions of a
software system until it is ready for deployment. Each iteration includes a mix
of analysis, design, construction and testing resulting in a demonstrable form of
the software that can be validated and refined.
In unit testing the testing of programs that make the system is done. Unit
testing gives stress on modules independently one another. Module is tested
and necessary modification is made.
-
HobbySea.com Page 59
TESTING STRETEGY
1) SYSTEM TEST
The System tests will focus on the behavior of the system. User
scenarios will be executed against the system as well as screen mapping
and error message testing. Overall, the system tests will test the
integrated system and verify that it meets the requirements defined in the
requirements document
2) PERFORMANCE TEST
Performance test will be conducted to ensure that the systems response
times meet the user expectation and do not exceed the specified
performance criteria. During these tests, response times will be
measured under heavy stress and/or volume.
3) SECURITY TEST
Security tests will determine how secure the system is. The tests will
verify that unauthorized user access to confidential data is prevented.
4) AUTOMATED TEST
A suite of automated tests will be developed to test the basic
functionality of the system and perform regression testing on areas of
the systems that previously had critical/major defects. The tool will also
assist us by executing user scenarios thereby emulating several users.
-
HobbySea.com Page 60
5) STRESS AND VOLUME TEST
We will subject the payroll system to high input conditions and a high
volume of data during the peak times. The System will be stress tested
using twice the number of expected users.
6) RECOVERY TEST
Recovery tests will force the system to fail in a various ways and verify
the recovery is properly performed. It is vitally important that all payroll
data is recovered after a system failure & no corruption of the data
occurred.
7) DOCUMENTATION TEST
Tests will be conducted to check the accuracy of the user
documentation. These tests will ensure that no features are missing, and
the contents can be easily understood.
8) BETA TEST
The Payroll department will beta tests the new payroll system and will
report any defects they find. This will subject the system to tests that
could not be performed in our test environment.
-
HobbySea.com Page 61
9) USER ACCEPTANCE TEST
Once the payroll system is ready for implementation, the Payroll
department will perform User Acceptance Testing. The purpose of these
tests is to confirm that the system is developed according to the
specified user requirements and is ready for operational use.
TESTING METHOD:
BLACK-BOX TESTING
In using this strategy, the tester views the program as a black box,
tester doesnt see the code of the program: Equivalence partitioning,
Boundary value analysis, Error guessing.
WHITE-BOX TESTING
In using this strategy, the tester examines the internal structure of the
program: Statement coverage, Decision coverage, condition coverage,
Decision/Conditional coverage, Multiple condition coverage.
GRAY-BOX TESTING
In using this strategy Black box testing can be combine with knowledge
of database validation, such as SQL for database query and
adding/loading data sets to confirm functions, as well as query the
database to confirm expected result.
-
HobbySea.com Page 62
TESTING PRINCIPLES
All tests should be traceable to customer requirement.
Test should be planned along before testing begins.
The Pareto principle applies to software testing.
Testing should begin in small and progress toward testing in the large
Exhaustive testing is not possible.
To be most effective, testing should be conducted by an independent
third party.
If expected output is match with actual output then it is a successful testing
Input in page of
website
Server act
upon entry Expected output
-
HobbySea.com Page 63
CHAPTER 6
BIBLIOGRAPHY
-
HobbySea.com Page 64
Online Resources
http://www.php.net http://www.w3schools.com/Ajax/ http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers http://www.google.com
Books
PRO PHP AND JQUERY : Jason Lengstorf PHP AND MYSQL : Head first series SOFTWARE ENGINEERING : K.K Aggarwal
-
HobbySea.com Page 65
Appendix [sample source code]
IndexMain.php main controller
-
HobbySea.com Page 66
$fn = SITE_ROOT.'controller/'.$controller . '.php'; #controller path for jobseeker } elseif($_SESSION['USERTYPE_SESSION']=='3') { $fn = SITE_ROOT.'controller/'.$controller . '.php'; #controller path for employer } } /*if(isset($_REQUEST['controller']) && !empty($_REQUEST['controller'])) {echo $fn;die();}*/ if(file_exists($fn)){ require_once($fn); $controllerClass=$controller.'Controller';//echo $controller; if(!method_exists($controllerClass,$function)){ die($function .' function not found'); } $obj=new $controllerClass; $obj-> $function(); }else{ die($controller .' controller not found'); } ?>
-
HobbySea.com Page 67
AdminHome.php - controller
-
HobbySea.com Page 68
if(strlen($newPassword)>PASSWORD_LENGTH) { $temp=$this->loadModel("AdminHome","changePassword",$newPassword); if($temp) { echo PASSWD_CHANGE_MSG ; } else { echo PASSWD_CHANGE_FAILED_MSG ; } } else { echo PASSWORD_SIZE_ERROR ; } } else { echo PASSWORD_MISMATCH_ERROR ; } } else { echo WRONG_PASSWORD_ERROR ; } } }
-
HobbySea.com Page 69
AdminHome.php - model
-
HobbySea.com Page 70
'$password'" ); $result = $db->select($data); if ( $result->rowCount() == 1 ) { return 1; } else { return 0; } } function changePassword($dataFromUser) { $db = $this->dbConnect(); session_start(); $email = $_SESSION['EMAIL_SESSION']; $data = array("password"=>md5($dataFromUser)); $where = array("email = '$email'"); $result = $db->update('users',$data,$where); if ($result) return 1; else return 0; } } ?>
-
HobbySea.com Page 71
AdminHome.php - view
-
HobbySea.com Page 72
id="admin_sidebar_anchor">
top related