Ecommerce Report
Ecommerce Report
The Online Shopping is a web based application intended for online retailers. The main
objective of this application is to make it interactive and its ease of use. It would make
searching, viewing and selection of a product easier. It contains a sophisticated search engine
for user's to search for products specific to their needs. The search engine provides an easy and
convenient way to search for products where an user can Search for a product interactively and
the search engine would refine the products available based on the user’s input. The user can
then view the complete specification of each product. They can also view the product reviews
and also write their own reviews.
Project Contents
1) INTRODUCTION
2) SYSTEM SPECIFICATION
3) OVER VIEW OF THE LANGUAGE USED
4) SYSTEM ANALYSIS
5) SYSTEM DESIGN
6) CODING
7) TESTING
8) SECURITY
9) SCREENS LAYOUT
10) CONCLUSION
11) BIBLIOGRAPHY
Introduction
Nowadays, e-commerce is developing very rapidly, because it has many advantages that
traditional businesses do not have. First of all, e-commerce is not limited by geographical area,
the network can cover the whole world without restriction. Secondly, it is not limited by time and
users can shop at any time of the day. Thirdly, it has no size constraints, and one only needs to
update the server storage when the number of customers or products grows excessively. At the
same time, in the era of big data, it is possible to collect user preferences and needs and advertise
products based on their daily browsing content. This is an advantage that traditional businesses
do not have. The development of today's mobile devices is fast, and the number of smart phone
users has exceeded the number of PC users in just a few years. And the customers who use
mobile have higher shopping frequency because it has even fewer restrictions on user shopping,
they can shop anywhere, anytime. Therefore, the purpose of this thesis is to introduce the
development process of the most popular responsive design shopping websites. It can adapt to
the different screen of devices, and it can satisfy both users of computer and users of mobile
browsing. Based on analyzing of different shopping websites, this thesis has collected the must
have functionalities for an online shopping website.
Computer plays an important role in our daily life. Anything we want we can get only in one
mouse click. Speed, reliability and accuracy of the computer make it a powerful tool for different
purposes. A very important and basic need of today’s modern business world is the quick
availability and processing of information using computer. One can easily get the type of
required information within a fraction of a second. The project that I have taken is also in this
category which is used in our daily life whenever we want to purchase some items we can easily
get them at our home.
E-commerce (electronic commerce) is the buying and selling of goods and services, or the
transmitting of funds or data, over an electronic network, primarily the internet. These business
transactions occur either as business-to-business (B2B), business-to-consumer (B2C), consumer-
to-consumer or consumer-to-business. The terms e-commerce and e-business are often used
interchangeably. The term e-tail is also sometimes used in reference to the transactional
processes for online shopping.
Overview
Developing a GUI based automated system, which will cover all the information Related to the all
products which is used in our daily life. For example – Mobiles Phones, Laptops, Clothes, Books,
Electronic Items and many more. So by this GUI based automated system a user want to purchase
something then it only a mouse click away to purchase these products.
The e-commerce is mainly useful for ho haven’t time to go shopping or for comfortably to the customers.
Those are just entered into this website and bought they want at any time they can visit the web-site.
Customer will choose different items like mobile, laptops, etc. This website is based on this formal. After
chosen items they pay bill thorough pay pal process. Customer will get their items just sitting at home.
Needs of ecommerce
The “Ecommerce” is developed according the current need in different Fields. This is Ecommerce
Website which provides facility for purchasing Mobiles, Laptops, tabs and many more items. So by
using this system users which want to purchase some products will first Register an account on this
portal then Login through their Username and Password, and then Select items which they want to
purchase and add them to cart and finally checkout by giving payment details. So by using this portal
users can easily purchase products from their home.
System Specification
HARDWARE DESCRIPTION
The selection of hardware is very important in the existence and proper working of any
software. When selecting hardware, the size and requirements are also important.
Minimum Requirements:
RAM : 128MB
CD-ROM : Required
RAM : 2GB
SOFTWARE DESCRIPTION
Project will be done in PHP 5 as front end and MY SQL 5 as back end. Visual Studio Code
is software that connects information, people, systems and devices. It spans clients, servers and
developer tools.
Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop and is
available for Windows, macOS and Linux. It comes with built-in support for JavaScript, TypeScript and
Node.js and has a rich ecosystem of extensions for other languages (such as C++, C#, Java, Python, PHP,
Go) and runtimes (such as .NET and Unity).
APACHE
PDO
PHP Data Objects (PDO) as an abstraction layer used for accessing databases, and even speech
synthesis. Some of the language's core functions, such as those dealing with strings and arrays,
are also implemented as extensions. The PHP Extension Community Library (PECL) project is a
repository for extensions to the PHP language.
BENEFITS OF PDO
PDO offers several advantages over previous versions of PDO and over other data
access components. These benefits fall into the following categories:
1. Interoperability
2. Maintainability
3. Programmability
4. Salability
System Analysis
DEFINING A SYSTEM
a. Input Output
Processing
The sequencing of various activities required for developing and maintaining systems in an
ordered form is referred as Systems Life Cycle. It helps in establishing a system project plan as it
gives overall list of process and sub-processes required for developing any system. Here, the
systems life cycle will be discussed with reference to the development of Employee
Management System.
Broadly, following are the different activities to be considered while defining the
systems development cycle for the said project:
Problem Definition
Systems analysis
Study of existing system
Drawbacks of the existing system
Proposed system
Systems Requirement study
Data flow analysis
Feasibility study
Systems design
Input Design (Database & Forms)
Updation
Query /Report Design
Administration
Testing
Implementation
Maintenance
SYSTEM ANALYSIS
System analysis is a logical process; the objective of this phase is not actually to solve the
problem but to determine what must be done to solve the problem. The basic objective of the
analysis stage is to develop the logical model of the system using tools such as the data flow
diagram and elementary data description of the elementary algorithm. The logical model is
Subject to review by both the management and the user who agree that the model does in fact
reflect what should be done to solve the problem.
System analysis is not a precise science. It is in fact more of an art, aided by scientific approach
to find definition and recording data, gathering traditional structures is only one part of the
system analysis, the next step is to examine the data, assess the situation and looking at the
alternatives.
ANALYSIS AND DEVELOPMENT OF THE ACTUAL SOLUTION
PROJECT OVERVIEW
PRODUCT PROSPECTIVE
It will be able to manage information about Employee in more user friendly way.
This system will manage Employees information at various field offices. User ID and
password has been given to all the field offices so that they can enter their employee’s
information into central database. Their access to the central database is restricted to
their information only. Various reports based on the data entered by employees at field
offices are generated at Head Quarter. These reports are helpful in Manpower
management decisions.
USER INTERFACE
No memory constraints are applicable. A normal memory configuration is more than sufficient.
PRODUCT FUNCTION
It is advisable to have weekly data backups. The system administrator will do the data recovery.
Selection of panel is user-initiated operation, while indent handling is client initiated
CONSTRAINTS
GENERAL CONSTRAINTS
1. This system will not take care of any virus problem, which might occur either on
the client or the server system. Avoiding the use of pirated software and
ensuring that floppies and other removable media are scanned for viruses before
use could minimize the possibility of viral infection.
2. Recovery of data after a system crash will be possible only if backups are taken at
regular intervals.
3. Manual interfaces cannot be fully avoided. Documented proofs like dates etc.
will have to be verified by the concerned staff before entering it into the
computerized system
HARDWARE CONSTRAINTS
Constraints of the Internet & Intranet will be applicable to the system. The performance of the
system will be dependent on the network conditions like network congestion, bandwidth etc.
The primary memory (RAM) and the secondary memory (Hard Disk Space) requirement of the
system at the client end will be the same as that required by the web browser and the operating
system. At the server end memory requirements will be that of the server software (Operating
system, Database Software, etc) and the space required to store the data. The space required to
store the data would increase as more and more records are added to the system.
SECURITY CONSTRAINTS
User will be authenticated by the use of username and passwords. This does not Provide
complete security and the system could be hacked into. Use of secure Socket Layer (SSL) is
recommended. Use of SSL prevents any unauthorized access as all communications are
encrypted. Valid Digital Certificates are required for this at the server end and the client web
browser should have support for SSL.
1. It is assumed that the user is familiar with the basic computer fundamentals.
2. Timely backup of data should be taken to avoid data loss in case of system crash.
3. The use of pirated software should be avoided as it may lead to data loss and
system crashes due to viral infections.
4. Floppies and other removable media should be scanned for viruses before use.
5. Proper configuration of the client, database server and network is necessary for
the system to function as intended.
6. It is assumed that the maintenance of the database will be assigned to the
authorized person only.
7. Only authorized persons will be allowed inside the server room.
FEASIBILITY STUDY
Feasibility studies aim to objectively and rationally uncover the strengths and weaknesses of
the existing business or proposed venture, opportunities and threats as presented by the
environment, the resources required to carry through, and ultimately the prospects for success.
In its simplest terms, the two criteria to judge feasibility are cost required and value to be
attained. As such, a well-designed feasibility study should provide a historical background of
the business or project, description of the product or service, accounting statements, details of
the operations and management, marketing research and policies, financial data, legal
requirements and tax obligations. Generally, feasibility studies precede technical development
and project implementation.
The main objective of the feasibility study is to treat the technical, Operational, logical and
economic feasibility of developing the computerized system. All systems are feasible, given
unlimited resources and infinite time. It is both necessary and prudent to evaluate the feasibility
of the project at System study phase itself. The feasibility study to be conduced for this project
Involves.
1. Technical Feasibility
2. Operational Feasibility
3. Economic Feasibility
4. Logical Feasibility
TECHNICAL FEASIBILITY
Technical feasibility includes Risk Resources availability and technologies. The management
provides latest hardware and software facilities for the successful completion of the projects.
With these latest hardware and software support the system will perform extremely well. The
system is available through Internet.
OPERATIONAL FEASIBILITY
In the existing manual system it is very difficult to maintain and update huge amount of
information. The development of the system was started because of the requirement put
forward by the management of the concerned department. This system, will handles the request
in a better way and make the process easier thus, it is sure that the system developed is
operationally feasible.
ECONOMIC FEASIBILITY
In the economic feasibility the development cost of the system is evaluated weighing it against
the ultimate benefit derived from the new system. It is found that the benefit, from the new
system would be more than the cost and time involved in its development.
LEGAL FEASIBILITY
In the legal feasibility it is necessary to check that the software we are going to develop is
legally correct which means that the ideas which we have taken for the proposed system will be
legally implemented or not. So, it is also an important step in feasibility study.
A brief description of the business to assess more possible factor/s which could affect
the study
The part of the business being examined
The human and economic factor
The possible solutions to the problems
At this level, the concern is whether the proposal is both technically and legally
feasible (assuming moderate cost).
INFORMATION GATHERING
First of all, what is information? For this inventory, the term “information” refers
to data, including numerical data, facts or observations about the past or present, or
projections about future possibilities. For example, you may need information from the
most recent federal census in order to plan a marketing campaign. You may want to see
projections concerning how many immigrant children to expect in your school district
in the next five years. We tend to think of information as being readable or otherwise
visible, but every fire expert knows that information also can be invisible, in the form of
odors, pressures, and sounds. Identify your information gathering skills by thinking of
the types of information you need, the places in which you gather it, and the ways in
which you gather it.
We have taken an approach of gathering information with sensitivity and precautions.
The Information system designed for an organization must meet the requirements of the end
users of the organization. To obtain what an enduser expects from the Information System the
designer must gain complete knowledge of the organization’s working. It is important for the
student to know the information gathering techniques so that no information is overlooked and
the nature and functions of an organization are clearly understood. The main purpose of
gathering information is to determine the information requirements of an organization.
Information requirements are often not stated precisely by management. It is the analyst’s
responsibility to prepare a precise Systems Requirements Specifications (SRS), which is easily
understood (SRS) by users, as SRS document is a vital document before starting a project.
A strategy should be evolved by the analyst to gather information. The strategy consists of
identifying information sources, evolving a method of obtaining information from the identified
sources and using an information flow model of organization.
INFORMATION SOURCES
The main sources of information are users of the system, forms and documents used in
the organization, procedure manuals, rule books etc, reports used by the organization and
existing computer programs(If Any).
1. Reports
2. Personal staff
3. System Documentation
4. Trainees
5. Existing System
PROJECT PLANNING
Initially, the project scope is defined and the appropriate methods for completing
the project are determined. Following this step, the durations for the various tasks
necessary to complete the work are listed and grouped into a work breakdown
structure. The logical dependencies between tasks are defined using an activity network
diagram that enables identification of the critical path. Float or slack time in the
schedule can be calculated using project management software.[2] Then the necessary
resources can be estimated and costs for each activity can be allocated to each resource,
giving the total project cost. At this stage, the project plan may be optimized to achieve
the appropriate balance between resource usage and project duration to comply with
the project objectives. Once established and agreed, the plan becomes what is known as
the baseline. Progress will be measured against the baseline throughout the life of the
project. Analyzing progress compared to the baseline is known as earned value
management.
The inputs of the project planning phase include Project Charter and the Concept
Proposal. The outputs of the Project Planning phase include the Project Requirements,
the Project Schedule, and the Project Management Plan.
Supporting plans may include those related to: human resources, communication
methods, and risk management.
Tools popularly used for the scheduling part of a plan include the Gantt chart
and the PERT chart.
Beneficiaries and project management
Planning should never start and end in an office or committee meeting. Project planning
should never be done alone or in isolation from those who have to implement the plans, or who
will benefit from them. In fact, the most successful and sustainable projects make an effort to
involve those who are to benefit—in all stages of project planning and implementation. It is
important to find out what the beneficiaries really think about the problem and about how to
address it.
Project planning is done to increase the likelihood that a project will be implemented efficiently,
effectively and successfully. Project planning covers the first three stages of "the project
management cycle." This cycle, illustrated below, describes the various stages for
conceptualising, planning, implementing and evaluating a project and recognises that even
when a project is finished, it may provide the starting point for a new one.
After selecting one solution to implement, project planners need to clearly establish the scope of
the proposed project. A statement of the project scope should state broadly the general purpose
and goals of the project. This broad statement should be followed by more specific objectives
that will be met. The following excerpted from a 5-year project strategic plan (1998-2002) for
Community Based Disaster Preparedness by the Bangladesh Red Crescent Society, provides an
example of a project scope statement, a project goal statement and specific project objectives.
SRS is obtained after excessive discussions with the user. System requirements specification
specifies what Information requirements will be provided. It does not specify how the system
will be designed. Developing SRS is most important and difficult task of a Systems analyst.
Software requirements are a sub-field of software engineering that deals with the
elicitation, analysis, specification, and validation of requirements for software.
Introduction
o Purpose
o Scope
o Definitions
o System overview
o References
Overall description
o Product perspective
o Product functions
o User characteristics
o Constraints, assumptions and dependencies
Specific requirements
o External interface requirements
o Functional requirements
o Performance requirements
o Design constraints
o Logical database requirement
o Software System attributes
o Other requirements
An SRS is written in precise, clear and plain language so that it can be reviewed by a business
analyst or customer representative with minimal technical expertise. However it also contains
analytical models (use case diagrams, entity relationship diagrams, data dictionary etc.) which
can be used for the detailed design and the development of the software system. SRS is one of
the most critical pieces of software development since it acts as the bridge betweens the
software developers and business analysts. An incomplete or incorrect SRS can have disastrous
effects on a software project.
Software Requirements Specification is usually the first deliverable for any software project. As
they say, first impression is the best impression!, and you should ensure that even the first draft
of an SRS is of high quality.
* A contract between the customer and the software vendor – A good SRS document specifies
all the features required in the final system including technical requirements and interface
requirements. SRS document is used by the customer to determine whether the software vendor
has provided all the features in the delivered software system. To the Software vendor it
provides a solid foundation to fix the scope of the software system.
* Enables costing and pricing of the project – A well defined SRS enables software developers
to accurately estimate the amount of effort required to build the software product. Function
point analysis and SMC are some the techniques adopted for estimating effort.
* Input for detailed design – A good SRS enables experienced developers to convert the
requirements directly to a technical design. For example, a well defined data dictionary can be
easily converted to a database specification.
There is no single precise template for writing good Software Requirement Specifications. The
contents of an SRS document depends on the software product being developed and also on the
expertise of the people doing the requirement elicitation. Different business/technology
domains in a company usually have their own customized version of SRS template. Still a good
Software Requirement Specification (SRS) usually contains project scope section, functional
requirements, requirement analysis models, external interface requirements and non functional
requirements. Each of these are explained below.
One of the most important items in the requirements specification is the precise scope definition
of the project. Accuracy of this is important since SRS is also used for estimation and costing.
This section should include a brief overview of the project and should also indicate the goals of
the project including its benefits. Sometimes it is better to separate the project scope into a
separate document.
If the project is for the development of a product, product vision defines the scope and the
target user base of the product.
Functional Requirements:
Functional requirements specify the business requirements of the project in detail. Usually
business requirements are specified in terms of the actions that user performs on the software
system. This is known as the use case model. But not all requirements need to be specified as
use cases. Functional requirements should contain a combination of use cases and plain textual
description of system features. System features are specified at a higher level and use cases
attempt to translate into user actions.
Again there is no fixed format for use case description, but it usually contains the following
information,
* Use case diagram – For a small systems, a single diagram can be used to depict all the use
cases in the system.
* List of actors and their details – This identifies the various types of users interacting with the
software system.
* Use case description – Purpose of the use case and how and when it is invoked by the user.
This should also include an identifier for easy reference.
* Preconditions – List of system states/conditions that must be true for the successful
execution of the use case. This section is optional and could be easily incorporated into the basic
steps section.
* Basic steps – These indicates the various fine grained steps required for the execution of the
use case.
* Alternate steps – These indicate alternate events of the use case being described.
* Post conditions – Indicates the results of the use case. Please note that this section is optional
and could be incorporated into the basic steps section.
To ensure that all the business requirements are addressed in the final software product, a
traceability matrix document is used. Traceability matrix tracks each requirement through
various phases of software development (detailed design, unit test plans, system testing plans,
user acceptance test plans and code components). This requires that every requirement in the
SRS should be identifiable by a unique number or tag.
For software projects where majority of features are available as user interfaces, it is better to
complement this section with screen prototypes. These user interfaces can change during
detailed design, but having a draft version of user interface in the requirements document helps
a lot in communicating business requirements. However some customers insist on having
finalized user interfaces in the requirements specification document.
Once the overall use cases in the system are identified in requirements elicitation, requirement
analysis models can be developed to drill down to specifics of each requirement. For example, a
use case such as “Add customer” may not specify all the customer details that needs to be
captured by the system. This is usually specified in the data dictionary model and also in the
screen prototype.
Requirement Analysis models act as the bridge between functional requirements and the
detailed design of the software system. For example, Use cases lead to user interface design,
data dictionary and entity relationship diagrams are used for designing database schema and
class diagrams.
Data Dictionary:
In a data dictionary, each attribute of the entity data in system is analyzed in detail including
type of attribute, whether it is optional and a brief description of the attribute. Please see the
sample SRS template section for more details.
In addition to the above models, sometimes it is useful to develop state transition diagrams and
data flow diagrams. To describe a complex process flow or a workflow in the application,
process flow diagrams or flowcharts can be used.
It is very rare that we have a standalone software system. Usually a software system interacts
with a number of external applications for data input and output. For example, an e-business
application usually needs to be integrated to an external payment gateway. All the external
interface requirements are detailed in this section. The important thing to document here are the
entities that are passed across the external interfaces.
Non functional or technical requirements specify how the software system should operate. In
contrast functional requirements specify what a software system should do. Some of the non
functional requirements are derived from the functional requirements. Non functional
requirements captured include performance requirements, application scalability, application
security, maintainability, usability, availability, logging and auditing, data migration
requirements, multi lingual support etc. Please note that only a subset of the list are applicable
for a specific project.
A software development methodology is a framework that is used to structure, plan, and control the
process of developing an information system - this includes the pre-definition of specific deliverables
and artifacts that are created and completed by a project team to develop or maintain an application.
Waterfall Development
Project is divided into sequential phases, with some overlap and splashback acceptable
between phases.
Emphasis is on planning, time schedules, target dates, budgets and implementation of
an entire system at one time.
Tight control is maintained over the life of the project via extensive written
documentation, formal reviews, and approval/signoff by the user and information
technology management occurring at the end of most phases before beginning the next
phase.
Prototyping
Incremental Development
Various methods are acceptable for combining linear and iterative systems
development methodologies, with the primary objective of each being to reduce
inherent project risk by breaking a project into smaller segments and providing more
ease-of-change during the development process.
Spiral Development
Focus is on risk assessment and on minimizing project risk by breaking a project into smaller
segments and providing more ease-of-change during the development process, as well as
providing the opportunity to evaluate risks and weigh consideration of project continuation
throughout the life cycle.
"Each cycle involves a progression through the same sequence of steps, for each part of the
product and for each of its levels of elaboration, from an overall concept-of-operation document
down to the coding of each individual program."
Each trip around the spiral traverses four basic quadrants: (1) determine objectives, alternatives,
and constraints of the iteration; (2) evaluate alternatives; Identify and resolve risks; (3) develop
and verify deliverables from the iteration; and (4) plan the next iteration.
Begin each cycle with an identification of stakeholders and their win conditions, and end each
cycle with review and commitment.
System Design
DEFINITION
The most creative and challenging face of the system development is System Design. It
provides the understanding and procedural details necessary for implementing the system
recommended in the feasibility study. Design goes through the logical and physical stages of
development.
In designing a new system, the system analyst must have a clear understanding of the
objectives, which the design is aiming to fulfill. The first step is to determine how the output is
to be produced and in what format. Second, input data and master files have to be designed to
meet the requirements of the proposed output. The operational phases are handled through
program construction and testing.
Design is the most important part of the development phase for any product or systembecause
design is the place where quality is fostered. Design is the only thing, which accurately
translates a customer’s requirement in to a finished software product or system. The design step
produces a data design, an architectural design, and Interface Design and a
ProceduralDesign.System specialists often refer to this stage as logical description, in contrast to
the process of developing the program software, which is referred to as physical design. The
system designdescribes the data to be input, calculated or stored. Individual data items and
calculationprocedures are written in detail. The procedures tell how to process the data and
produce theoutput.
REQUIREMENT ANALYSIS
Requirement Analysis is the first technical step in the software engineering process. It is at thispoint that
a general statement of software scope is refined into a concrete specification thatbecomes a foundation for all
the software engineering activities that follow.Analysis must focus on the informational,
functional, and behavioral domains of a problem. Tobetter understand what is required, models
are created, the problem is partitioned, andrepresentation that depict the essence of
requirements and later, implementation detail, aredeveloped.
REQUIREMENT DETERMINATION
It should contain all the information about the customer such as name, address,
salary,occupation, date of birth, phone number.
It should maintain product details such as product name, features, price,
modelnumber, colors.
It should maintain salesman data such as salesman name, address, salary,
occupation,date of birth, phone number, date of joining, manager name.
It should also maintain the quota of each salesman.
It should maintain the transaction of products such as sale of the products,
addition of the product in the organization etc.
It should be able to notify that the product stock is about to finish and reorder
isrequired.
It should check the performance of the salesman by comparing it with some
standardsset.
It should feature the security check so that only the authorized person is allowed
tomanipulate database as per the level assigned.
It should be user-friendly software.
FUNCTIONAL REQUIREMENT
Data should be given in a correct form in order to avoid getting erroneous results. The value
of transportation cost and the assignment cost should be known prior to calculate the optimaltransportation
and assignment cost.
In order to prepare the budgets the proper and the correct data is to be
considered.
The end users should input correct figures so that the Ratio Analysis may result
as perexpectations.
Data should be checked for validity
Consistency between the information provided in different forms under a
schemeshould be checked
Messages should be given for improper input data, and invalid data item should beignored.
PERFORMANCE REQUIREMENTS
1. USER FRIENDLINESS:
The system is easy to learn and understand. A naive user can alsouse the system effectively, without any
difficulty.
2. RESPONSE TIME:
Response time of all the operations is kept low. This has been madepossible by careful planning.
3. ERROR HANDLING:
Response to user errors and undesired situations have been takencare of to ensure that system
operates without halting in case of such situation and propererror messages are given to user. Different
validations are on different field so that onlycorrect data will be entering in the database.
4. SAFETY:
5. ROBUSTNESS:
6. SECURITY:
7. ACCURACY:
8. COST ELEMENT:
In the output design, the emphasis is on producing a hard copy of the information
requested or displaying the output on the CRT screen in a predetermined format. Two of the
most output media today are printers and the screen. Most users now access their reports from
a hard copy or screen display. Computer’s output is the most important and direct source of
information to the user, efficient, logical, output design should improve the systems relations
with the user and help in decision-making.
As the outputs are the most important source of information to the user, better design
should improve the system’s relation and also should help in decision-making. The output
device’s capability, print capability, print capability, response time requirements etc should also
be considered form design elaborates the way output is presented and layout available for
capturing information. It’s very helpful to produce the clear, accurate and speedy information
for end users.
In the input design, user-oriented inputs are converted into a computer based system
format. It also includes determining the record media, method of input, speed of capture and
entry on to the screen. Online data entry accepts commands and data through a keyboard. The
major approach to input design is the menu and the prompt design. In each alternative, the
user’s options are predefined. The data flow diagram indicates logical data flow, data stores,
source and destination. Input data are collected and organized into a group of similar data.
Once identified input media are selected for processing.
In this software, importance is given to develop Graphical User Interface (GUI), which is
an important factor in developing efficient and user-friendly software. For inputting user data,
attractive forms are designed. User can also select desired options from the menu, which
provides all possible facilities.
Also the important input format is designed in such a way that accidental errors are
avoided. The user has to input only just the minimum data required, which also helps in
avoiding the errors that the users may make. Accurate designing of the input format is very
important in developing efficient software. The goal or input design is to make entry as easy,
logical and free from errors.
Logical data design is about the logically implied data. Each and every data in the form
can be designed in such a manner to understand the meaning. Logical data designing should
give a clear understanding and idea about the related data used to construct a form.
Data Integrity
A Data Value Rule or Conditional Data Value Rule specifies data domains. The
difference between the two is that the former specifies the domain of allowable values
for a data attribute which applies to all situation while the latter does not apply to all
situations but only when there exceptions or certain conditions that applies.
Data Structure Rule defines that cardinality of data for a data relation in cases
where there are no conditions of exceptions which apply. This rule makes data structure
very easy to understand. A conditional data structure rule is slightly different in that is
governs when conditions or exceptions apply on data cardinality for a data relation.
A Data Derivation Rule specifies the how a data value is derived based on
algorithm, contributors and conditions. It also specifies the conditions on how the data
value could be re-derived.
A Data Retention Rule specifies the length of time of data values which can be
retained in a particular database. It is specifies what can be done with data values when
its use for a database expires A data occurrence retention rule specifies the length of
time the data occurrence is retained and what can be done with data when it is no
longer useful. A data attribute retention rule is similar to a data retention rule but the
data attribute retention rule only applies to specific data values rather than the entire
data occurrence.
These Data Integrity Rules, like any other rules, are totally without meaning
when they are not implemented and enforced.
With strict implementation and enforcement of these Data Integrity Rules, data
error rates could be much lower so less time is spent on trying to troubleshoot and trace
faulty computing results. This translates to savings from manpower expense.
Since there is low error rate, there can only be high quality data that can be had
to provide better support in the statistical analysis, trend and pattern spotting, and
decision making tasks of a company. In today's digital age, information one major key
to success and having the right information means having better edge over the
competitors.
Most narrowly, data with integrity has a complete or whole structure. All
characteristics of the data including business rules, rules for how pieces of data relate,
dates, definitions and lineage must be correct for data to be complete.
Per the discipline of data architecture, when functions are performed on the data
the functions must ensure integrity. Examples of functions are transforming the data,
storing the history, storing the definitions (Metadata) and storing the lineage of the data
as it moves from one place to another. The most important aspect of data integrity per
the data architecture discipline is to expose the data, the functions and the data's
characteristics.
Data that has integrity is identically maintained during any operation (such as
transfer, storage or retrieval). Put simply in business terms, data integrity is the
assurance that data is consistent, certified and can be reconciled.
A Data Flow Diagram (DFD) is a diagram that describes the flow of data and the
processes that change data throughout a system. It’s a structured analysis and design tool that
can be used for flowcharting in place of or in association with information. Oriented and
process oriented system flowcharts. When analysts prepare the Data Flow Diagram, they
specify the user needs at a level of detail that virtually determines the information flow into and
out of the system and the required data resources. This network is constructed by using a set of
symbols that do not imply physical implementations. The Data Flow Diagram reviews the
current physical system, prepares input and output specification, specifies the implementation
plan etc.
Four basic symbols are used to construct data flow diagrams. They are symbols that
represent data source, data flows, and data transformations and data storage. The points at
which data are transformed are represented by enclosed figures, usually circles, which are
called nodes.
- Data Flow
- Process
- Storage
Process should be named and numbered for easy reference. Each name should be
representative of the process.
The destination of flow is from top to bottom and from left to right.
When a process is exploded in to lower level details they are numbered.
The names of data stores, sources and destinations are written in capital letters.
Rules for constructing a Data Flow Diagram
LOGIN
Website
Administrator User
Master Details Food Delivery
Order Details
Administrator
Login
Username Password
Product Details
Product
Add/Edit
Item
Administrator
Deliver Order
Order
Website Profile Get Order
Add/Edit
Banner
Make Order
Order
Get Order
User
Use Case Diagram
Login
Item details
Admin User
Customer order list
Make order
Edit Profile
Change Password
Customer details
ER Diagram-
companyid
company_logo company_name
company_service company_address
company_type company_email
company_website Tbl_companydetails
company_landline
address emailid
name
company_mobile mobileno
area customerid
userid username
landmark Tbl_customerdetails city
Tnl_adminlogin
delhiverytime
customerstatus
password userimage
orderdate delhiverydate
ordertime
itemid itemname
Tbl_itemdetails
itemprice 1
itemimage
category itemstatus
customerid
iteam
M
totalprice
orderid
M
Tbl_orderdetails
price
customerid
quantity
subitemid
TABLE SPECIFICATION
Table Name: tbl_adminlogindetails
Interface design is involved in a wide range of projects from computer systems, to cars,
to commercial planes; all of these projects involve much of the same basic human interactions
yet also require some unique skills and knowledge. As a result, designers tend to specialize in
certain types of projects and have skills centered around their expertise, whether that be software
design, user research, web design, or industrial design.
Processes
There are several phases and processes in the user interface design, some of
which are more demanded upon than others, depending on the project. (Note: for the
remainder of this section, the word system is used to denote any project whether it is a
web site, application, or device.)
Requirements
Suitability for the task: the dialogue is suitable for a task when it supports the user in the
effective and efficient completion of the task.
Self-descriptiveness: the dialogue is self-descriptive when each dialogue step is
immediately comprehensible through feedback from the system or is explained to the
user on request.
Controllability: the dialogue is controllable when the user is able to initiate and control
the direction and pace of the interaction until the point at which the goal has been met.
Conformity with user expectations: the dialogue conforms with user expectations when
it is consistent and corresponds to the user characteristics, such as task knowledge,
education, experience, and to commonly accepted conventions.
Error tolerance: the dialogue is error tolerant if despite evident errors in input, the
intended result may be achieved with either no or minimal action by the user.
Suitability for individualization: the dialogue is capable of individualization when the
interface software can be modified to suit the task needs, individual preferences, and
skills of the user.
Suitability for learning: the dialogue is suitable for learning when it supports and guides
the user in learning to use the system.
The concept of usability is defined in Part 11 of the ISO 9241 standard by
effectiveness, efficiency, and satisfaction of the user. Part 11 gives the following
definition of usability:
Usability is measured by the extent to which the intended goals of use of the overall
system are achieved (effectiveness).
The resources that have to be expended to achieve the intended goals (efficiency).
The extent to which the user finds the overall system acceptable (satisfaction).
The information presentation is described in Part 12 of the ISO 9241 standard for
the organization of information (arrangement, alignment, grouping, labels, location), for
the display of graphical objects, and for the coding of information (abbreviation, color,
size, shape, visual cues) by seven attributes. The "attributes of presented information"
represent the static aspects of the interface and can be generally regarded as the "look"
of the interface. The attributes are detailed in the recommendations given in the
standard. Each of the recommendations supports one or more of the seven attributes.
The seven presentation attributes are:
The user guidance in Part 13 of the ISO 9241 standard describes that the user
guidance information should be readily distinguishable from other displayed
information and should be specific for the current context of use. User guidance can be
given by the following five means:
Prompts indicating explicitly (specific prompts) or implicitly (generic prompts) that the
system is available for input.
Feedback informing about the user’s input timely, perceptible, and non-intrusive.
Status information indicating the continuing state of the application, the system’s
hardware and software components, and the user’s activities.
Error management including error prevention, error correction, user support for error
management, and error messages.
On-line help for system-initiated and user initiated requests with specific information
for the current context of use.
Coding
Coding is the phase of Software Life Cycle that produces the Actual code that will be
deliveredto the customer as the running System. The other phases of the life cycle may also
developcode, such as prototypes, tests, and test drivers, but these are for the use by the
developer.Individual modules developed in this system are also tested before being delivered
to the nextphase.The design must be translated into a machine- readable form. This is what
coding. Coding isbasically translating the design into a machine-readable form. The code
generation stepperforms this task. If design is performed in a detailed manner, code generation
can beaccomplished mechanistically.While converting design into coding, following points are
to be considered:
CODE EFFICIENCY
The next thing, which we have to consider, is the “Code Efficiency”. The code that we write
should be well efficient and error free. Because as much our code is efficient and error free,out
software will be that much effective. The efficiency of the code or program depends on :
Readability:
Coding should be much and more readable as in 4GL such as Coding in php,mysql etc.
Portability:
Coding or program should be written in such a form such that it could be run on differentmachines with little
or no change. Thus, out coding should be as much as portable as it can.
Easy Debugging:
Coding should be such that errors could easily be removed or debugged. That is our
codingshould be as much as error free as possible.
Software could easily be developed. Commands of programming language are similar tonatural
languages (English).
Coding should not be lengthy. It should be short & precise. This factor is most important for
theefficient coding.
Optimization of Code:
Code Optimization is the last & final step in Code generation phase. Code optimization
comesafter the code generation. We have to optimize the code after generating it.Code
optimization also plays a vital role as the efficiency of code plays in the successfuldevelopment of
the system. Code Optimization also effects the efficiency of code. Our codewill be more efficient if it is more
optimized.
To produce faster and more compact, the code generator should include some form of
“CodeOptimization”. This may exploit techniques such as the use of special purpose machine
VALIDATION
Validation refers to the process of using software in a live environment to find errors.Validation
refers to the set of activities that ensure that the software that has been built istraceable to
customer requirements. In validation testing, requirements are established as partof software
requirement analysis are validated against the software that has been constructed.The feedback
from the validation phase generally brings some changes in the software to dealwith errors and failures that
are uncovered. Then a set of user sites is selected for putting the system into use on a live basis.
These beta test sites use the system in day-to-day activities;they process live transactions and
produce normal system output.
Validation Checks maycontinue for several months depending on the requirements of the end-
users for whom theSoftware is developed. During the course of validating the system, failure
may occur and thesoftware will be changed. Continue use may bring more failures and the need for still
morechanges.
In the last stage of software development, software is completely assembled as apackage, some
interfacing errors have been uncovered and corrected, and a final series of software tests –
validation testing or validation checks may begin. Validation succeeds whenthe software
functions in a manner that can be reasonably expected by the customer.
Validation Criteria is the most important and ironically, the most often neglectedsection of
Software requirements Specification.
In computing, the process of checking input data to ensure that it is complete, accurate,
andreasonable. Although it would be impossible to guarantee that only valid data are entered
into a computer, a suitable combination of validation checks should ensure that most errors are
detected.
There is a package in the project, validate_data which contains various functions for
validationon different field. Some function used for validation check in the system are-
boolean isNotAlphabets(String)-
This function checks that given string containalphabets only or not. For example in case of
Salesman name field, it should containalphabets only not numeric or special character.
boolean isNumber(String)-
This function return true if passed string contain numberonly otherwise false. In case of phone no,
mobile number etc validation is done withthis method.
boolean isEmail(String)-
This function checks validity of email entered in email field.
boolean isDate(String)-
This function checks validity of date entered. If date greaterthan current date or format of date
is not correct or date supplied does not exist than itreturns false otherwise true.
ERROR HANDLING
The point of exception handling routines is to ensure that the code can handle
error conditions. In order to establish that exception handling routines are sufficiently
robust, it is necessary to present the code with a wide spectrum of invalid or
unexpected inputs, such as can be created via software fault injection and mutation
testing (which is also sometimes referred to as fuzz testing). One of the most difficult
types of software for which to write exception handling routines is protocol software,
since a robust protocol implementation must be prepared to receive input that does not
comply with the relevant specification(s).
In runtime engine environments such as Java or .NET, there exist tools that
attach to the runtime engine and every time that an exception of interest occurs, they
record debugging information that existed in memory at the time the exception was
thrown (call stack and heap values). These tools are called automated exception
handling or error interception tools and provide 'root-cause' information for exceptions.
By contrast, the arguments are the values actually supplied to the procedure
when it is called. Unlike the parameters, which form an unchanging part of the
procedure's definition, the arguments can, and often do, vary from call to call. Each
time a procedure is called, the part of the procedure call that specifies the arguments is
called the argument list.
VALIDATION CHECKS
The simplest data validation verifies that the characters provided come from a
valid set. For example, telephone numbers should include the digits and possibly the
characters +, -, (, and ) (plus, minus, and brackets). A more sophisticated data validation
routine would check to see the user had entered a valid country code, i.e., that the
number of digits entered matched the convention for the country or area specified.
Incorrect data validation can lead to data corruption or a security vulnerability.
Data validation checks that data are valid, sensible, reasonable, and secure before they
are processed.
Testing
Testing is a process to show the correctness of the program. Testing is needed to show
completeness, to improve the quality of the software and to provide the maintenance aid. Some
testing standards are therefore necessary reduce the testing costs and operation time. Testing
software extends throughout the coding phase and it represents the ultimate review of
configurations, design and coding. Based on the way the software reacts to these testing, we can
decide whether the configuration that has been built is study or not. All components of an
application are tested, as the failure to do so many results in a series of bugs after the software is
put to use.
Software testing can be stated as the process of validating and verifying that a
software program/application/product:
Different software development models will focus the test effort at different
points in the development process. Newer development models, such as Agile, often
employ test driven development and place an increased portion of the testing in the
hands of the developer, before it reaches a formal team of testers. In a more traditional
model, most of the test execution occurs after the requirements have been defined and
the coding process has been completed.
Overview
Testing can never completely identify all the defects within software. [2] Instead, it
furnishes a criticism or comparison that compares the state and behavior of the product
against oracles—principles or mechanisms by which someone might recognize a
problem. These oracles may include (but are not limited to) specifications, contracts,[3]
comparable products, past versions of the same product, inferences about intended or
expected purpose, user or customer expectations, relevant standards, applicable laws,
or other criteria.
Every software product has a target audience. For example, the audience for
video game software is completely different from banking software. Therefore, when an
organization develops or otherwise invests in a software product, it can assess whether
the software product will be acceptable to its end users, its target audience, its
purchasers, and other stakeholders. Software testing is the process of attempting to
make this assessment.
A study conducted by NIST in 2002 reports that software bugs cost the U.S.
economy $59.5 billion annually. More than a third of this cost could be avoided if better
software testing was performed.
Scope
Non-functional testing refers to aspects of the software that may not be related to
a specific function or user action, such as scalability or other performance, behavior
under certain constraints, or security. Non-functional requirements tend to be those that
reflect the quality of the product, particularly in the context of the suitability
perspective of its users.
Defects and failures
Not all software defects are caused by coding errors. One common source of
expensive defects is caused by requirement gaps, e.g., unrecognized requirements that
result in errors of omission by the program designer. [15] A common source of
requirements gaps is non-functional requirements such as testability, scalability,
maintainability, usability, performance, and security.
It is commonly believed that the earlier a defect is found the cheaper it is to fix it.
The following table shows the cost of fixing the defect depending on the stage it was
found. For example, if a problem in the requirements is found only post-release, then it
would cost 10–100 times more to fix than if it had already been found by the
requirements review. Modern continuous deployment practices, and cloud-based
services may cost less for re-deployment and maintenance than in the past.
Compatibility Testing
A very fundamental problem with software testing is that testing under all
combinations of inputs and preconditions (initial state) is not feasible, even with a
simple product.[13][18] This means that the number of defects in a software product can be
very large and defects that occur infrequently are difficult to find in testing. More
significantly, non-functional dimensions of quality (how it is supposed to be versus
what it is supposed to do)—usability, scalability, performance, compatibility, reliability
—can be highly subjective; something that constitutes sufficient value to one person
may be intolerable to another.
Verification: Have we built the software right? (i.e., does it match the specification).
Validation: Have we built the right software? (i.e., is this what the customer wants).
The terms verification and validation are commonly used interchangeably in the
industry; it is also common to see these two terms incorrectly defined. According to the
IEEE Standard Glossary of Software Engineering Terminology:
Validation is the process of evaluating a system or component during or at the end of the
development process to determine whether it satisfies specified requirements.
Validation is confirmation by examination and through provision of objective evidence that the
requirements for a specific intended use or application have been fulfilled.
Although there are close links with SQA, testing departments often exist
independently, and there may be no SQA function in some companies.
Objectives of Testing:
This section introduces the concept of testing and how important is, for the successful
implementation of the project. Different phases of testing are described along with the level of
testing incorporated in this particular project.
Testing is vital to the success of any system. Testing is done at different stages within the phase.
System testing makes a logical assumption that if all phases of the system are correct, the goals
will be achieved successfully. Inadequate testing at all leads to errors that may come up after a
long time when correction would be extremely difficult. Another objective of testing is its utility
as a user-oriented vehicle before implementation. The testing of the system was done on both
artificial and live data.
Typically, the project team includes a mix of testers and developers who work closely together,
with the overall QA processes being monitored by the project managers.
Types of Testing
Black box testing also called behavioral testing, focuses on the functional requirements of
software. This testing approach enables the software engineer to derive the input conditions
that will fully exercise all requirements for a program.
Also known as functional testing, this is a software testing technique whereby the tester does
not know the internal working of the item being tested. Black-box test design treats the system
as a “black-box”, so it does not
explicitly use knowledge of the internal structure. Black-box test design is usually described as
focusing on testing functional requirements. Synonyms for black-box includes: behavioral,
functional, opaque-box and closed-box.
White box test design allows one to peek inside the “box”, and it focuses specifically on using
internal knowledge of the software to guide the selection of test data. Synonyms for white-box
include: structural, glass-box and clear-box.
Testing involves
Unit testing
Integration testing
Acceptance testing
The first level of test is unit testing. The purpose of unit testing is to ensure that each program is
fully tested.
The second step is integration testing. In this individual program units or programs are
integrated and tested as a complete system to ensure that the software requirements are met.
Acceptance Testing involves planning and the execution of various types of tests in
order to demonstrate that the implemented software system satisfies the requirements. Finally
our project meets the requirements after going through all the levels of testing.
Condition Testing
An improvement over White-box testing, the process of condition testing ensures that a
controlling expression has been adequately exercised whist the software is under test by
constructing a constraint set for every expression and then ensuring that every member on the
constraint set is included in the values whish are presented to the expression
Data Life-Cycle Testing
It is based upon the consideration that in the software code, a variable is at some
stage created, and subsequently may have its value changed or used in a controlling
expression several times before being destroyed. If only locally declared Boolean used
in control conditions are considered then an examination of the sources code will
indicate the place in the source code where the variable is created, places where it is
given a value is used as a part of a control expression and the place where it is
destroyed.
This approach to testing requires all possible feasible lifecycles of the variable to be covered
whilst the module is under test.
Unit Testing
The purpose of this phase is to test the individual units of the developing
software component. This phase is recursive and is to be repeated, as many as there are,
levels of testing. In the DGLW project, each individual form has been tested using
techniques of testing namely: Client side testing using JavaScript.
Each individual form has been validated so that user enters only valid data at every time.
Functional Testing:
This is done for each module / sub module of the system. Functional testing serve as a means of
validating whether the functionality of the system Confers the original user requirement i.e.
does the module do what it was supposed to do? Separate schedules were made for functional
testing. It involves preparation of the test data, writing of test cases, testing for conformance to
test cases and preparation of bugs listing for non-conformities.
System Testing:
System testing is done when the entire system has been fully integrated. The purpose of the
system testing is to test how the different modules interact with each other and whether the
entire system provides the functionality that was expected.
a) Program Testing
b) String Testing
c) System Testing
d) System Documentation
e) User Acceptance Testing
Level 1
Level 2
At this level a test data is prepared for testing. Project leaders test the system on this test data
keeping the following points into consideration:
Here the testing is done on the live database. If errors are detected then it is sent back to
LEVEL 1 for modification otherwise it is passed on to LEVEL 3.
This is the level at which the system actually becomes live and implemented for the use of END
USERS.
A forced system failure is induced to test a backup recovery procedure for file integrity.
Inaccurate data are entered to see how the system responds in terms of error detection and
protection. Related to file integrity is a test to demonstrate that data and programs are secure
from unauthorized access.
The usability test verifies the user-friendly nature of the system. This relates to normal
operating and error-handling procedures.
Quality Assurance
Proper documentation is must for mainframe of any software. Apart from In-line
documentation while coding. Help coding, help files corresponding to each program were
prepared so as to tackle the person-dependency of the existing system.
System Implementation
During the implementation stage the system is physically created. Necessary
programs are coded, debugged and documented. A new hardware is selected, ordered
and installed.
System Specification
3. Operating system
Too many packages should not be used, as very few systems may have all those packages
installed due to memory problem. Thus, the compatibility of the system developed will get
reduced.
Hardware Requirements
Intel Pentium processor at 500 MHz or faster, minimum of 364 MB available disk space for
installation (including IBM SDK), minimum of 256 MB memory,512 MB recommended, CD-
ROM drive.
Installation
The Application installation scripts have to be generated from the current server where the
application source code is saved and installed in the main server from where the application is
to be run. This was done using a special code, which generates all SQL-Statements to insert
preliminary data (like menu entries, code in code directories etc) at server and the operational
modules of the application made available to the end users successfully.
Implementation
The system is still under construction few reports are yet to me made after that this system will
be implanted at client side. Users will be given a training to use the package and special
workshops are conducted by the NIC for the purpose. And according to their feedback the
changes are implanted in the software.
White box testing is also called Glassbox testing is a test case design control; structure of the
procedural design to derive test cases using Whitebox testing method, the software engineer
can derive the test cases that guarantee that all independent paths within the module have been
exercised at least once.
Exercise all logic decisions on their true or false sides. Execute all loops at their boundaries and
within their operational bounds. Exercise internal data structure to ensure their validity.
Security
The system security problem can be divided into four related issues: security, integrity,
privacy and confidentiality. They determine the file structure, data structure and access
procedures.
System security refers to the technical innovations and procedures applied to the
hardware and operating systems to protect against deliberate or accidental damage from a
defined threat. In contrast, data security is the protection of data from loss, disclosure,
modifications and destruction.
The term confidentiality is a special status given to sensitive information in a data base
to minimize the possible invasion of privacy. It is an attribute of information that characterizes
its need for protection. System security is the technical means of providing such protection. In
contrast privacy is largely a procedural matter of how information is used.
Security is the degree of protection against danger, damage, loss, and crime.
Security as a form of protection is structures and processes that provide or improve
security as a condition. The Institute for Security and Open Methodologies (ISECOM) in
the OSSTMM 3 defines security as "a form of protection where a separation is created
between the assets and the threat". This includes but is not limited to the elimination of
either the asset or the threat. Security as a national condition was defined in a United
Nations study (1986), so that countries can develop and progress safely.
Different scenarios also give rise to the context in which security is maintained:
With respect to classified matter, the condition that prevents unauthorized persons from
having access to official information that is safeguarded in the interests of national
security.
Measures taken by a military unit, an activity or installation to protect itself against all
acts designed to, or which may, impair its effectiveness.
Security by design
1. Trust all the software to abide by a security policy but the software is not trustworthy
(this is computer insecurity).
2. Trust all the software to abide by a security policy and the software is validated as
trustworthy (by tedious branch and path analysis for example).
3. Trust no software but enforce a security policy with mechanisms that are not
trustworthy (again this is computer insecurity).
4. Trust no software but enforce a security policy with trustworthy hardware mechanisms.
There are various strategies and techniques used to design security systems.
However, there are few, if any, effective strategies to enhance security after design. One
technique enforces the principle of least privilege to great extent, where an entity has
only the privileges that are needed for its function. That way even if an attacker gains
access to one part of the system, fine-grained security ensures that it is just as difficult
for them to access the rest.
The design should use "defense in depth", where more than one subsystem needs
to be violated to compromise the integrity of the system and the information it holds.
Defense in depth works when the breaching of one security measure does not provide a
platform to facilitate subverting another. Also, the cascading principle acknowledges
that several low hurdles does not make a high hurdle. So cascading several weak
mechanisms does not provide the safety of a single stronger mechanism.
In addition, security should not be an all or nothing issue. The designers and
operators of systems should assume that security breaches are inevitable. Full audit
trails should be kept of system activity, so that when a security breach occurs, the
mechanism and extent of the breach can be determined. Storing audit trails remotely,
where they can only be appended to, can keep intruders from covering their tracks.
Finally, full disclosure helps to ensure that when bugs are found the "window of
vulnerability" is kept as short as possible.
Screensort:
Admin
Admin Login:
Dashboard:
Item Details:
Edit Profile:
Changepassword:
User
Index
conclusion
The main advantage of responsive design is the flexibility and usability. It is also easy to learn and
implement. And the Bootstrap framework has provided a lot of functionalities when I was coding the
layout of the website.
The total development process included the layout design, functionality design, database design and
backend programming. All through I had used some shopping website, but the whole concept of e-
commerce was not very familiar for me at the beginning. With the development of the website, I have
more understanding of the concept of e-commerce. As for the back end, I also learned how to design a
different database structure and my PHP overall programming skill has improved a lot.
The development process of the e-commerce website was easy at the beginning, but it became more
and more difficult when I was implementing the Admin system. I spent a lot of time studying PHP and
database. The final implementation was not an easy task for my skill level.
Using responsive design for the frontend is clearly the best way for a modern website. As for the back
end, I think using pure PHP was not the most efficient way to do, but it was a better way for me to learn
coding.