Académique Documents
Professionnel Documents
Culture Documents
To write
2. System Analysis
System analysis is the process of gathering and interpreting facts, diagnosing problems and
using the information to recommend improvements on the existing system. System analysis is
a problem solving activity that requires intensive communication between the system users
and system developers.
System analysis or study is an important phase of any system development process. The
system is viewed as a whole, the inputs are identified and the system is subjected to close
study to identify the problem areas. The solutions are given as a proposal. The proposal is
reviewed on user request and suitable changes are made. This loop ends as soon as the user is
satisfied with the proposal.
2.5. Scope
This document details out all the information required in the Software Development Life
Cycle (SDLC) to develop an Online Shopping System. It is meant for use by the developers
and will be the basis during testing phase. Any changes made to the requirements in the
future will have to go through formal change approval process.
Operational feasibility criteria measure if it feasible to support the backend and supply
chain operations of the project. Even operationally, the project is feasible given that
the only extra requirement for this project compared to the traditional online shopping
websites is the availability of product experts.
3. Requirement Analysis
The requirements analysis and gathering processes are critical for the success of any software
engineering project. Requirements analysis in software engineering is a process that
determines the tasks that are required to determine the needs and conditions to design a new
product or to make modifications in any existing product/application. This process considers
all the stakeholders conflicting requirements, and analyzes the documentation and validation
of the system. The requirements should be actionable, measurable, testable, and related to the
defined needs of the system design. From the software-engineering perspective, requirements
analysis is a three-step process.
A. Requirements Elicitation:
Elicitation of requirements, also known as requirements gathering, includes the task
of identifying various requirement types from stakeholders or from project
documentation.
B. Requirements Analysis:
Analysis of requirements determines if the gathered requirements are clear, complete,
and consistent. The analysis also handles any ambiguous requirements that do not
clearly state what needs to be implemented, which could create a loss of resources and
time if identified later in the development or testing phase.
Requirement analysis requires identifying the stakeholders and taking their needs into
account to help them understand the implications of designing the new system, along
with what modules are worth implementing and which ones are more cost efficient,
and then to create a software-requirement specification document. To clearly elicit the
stakeholders requirements, different processes, such as developing a scenario or user
stories, and identifying the use case which is being used for the project, can be
utilized. Stakeholder analysis says that, to clearly gather the requirements of the
project, analysts first need to identify the stakeholders. Stakeholders are people or
organizations that have a valid interest or use in the system.
Once the stakeholders are successfully identified, interviews are conducted through
different processes; the needs and requirements of the system are identified, and a
requirements specification document is prepared. The document is then discussed
with the major stakeholders to identify any ambiguity with the requirements and
understanding of the system.
C. Requirements Documentation:
This step involves documenting the requirements in various forms, including
summary lists, natural language documents, visual documents, use cases, user stories,
or process specifications. A requirement specification document is categorized in
different ways according to the stakeholders need, helping to create a clear contract
between development and business. The following sections include the different 9
categories of requirements specification document that are essential for designing this
application: the functional requirements, constraints, system requirements, etc.
3.2.2. Administrator
As an administrator, I should be able to add/remove/update details of products, add
categories, subcategories
As an administrator, I should be able to enable successful payment during checkout
process, generate invoice
As an administrator, I should be able to ensure delivery of the ordered product to the
address mentioned by the customer by passing the information to the supply chain
team.
As an administrator, I should be able to direct product queries of customers to
relevant product experts.
EFFICIENCY REQUIREMENT
When an online shopping cart android application implemented customer can
purchase product in an efficient manner.
RELIABILITY REQUIREMENT
The system should provide a reliable environment to both customers and owner. All
orders should be reaching at the admin without any errors.
USABILITY REQUIREMENT
The android application is designed for user friendly environment and ease of use.
IMPLEMENTATION REQUIREMENT
Implementation of the system using CSS and HTML in front end with JSP as back
end and it will be used for database connectivity. And the database part is developed
in MySQL. Responsive web designing is used for making the website compatible for
any type of screen.
DELIVERY REQUIREMENT
The whole system is expected to be delivered in four months of time with a weekly
evaluation by the project guide.
All these interfaces are described, in detail, in the Interface Requirement section.
4. System Design
Architectural Design
Refer Design & Implementation of Ecommerce site for online shopping
To Do
Source Or Destination
Data Flow
Process
Storage
Administrator
Manage Products,
Categories & Users
3. Add/Edit Product
1.1 Obtain
Administrator
Category details
2.2 Generate a
unique Brand_id
2.4 Generate a
unique Brand_id
3.1 Obtain
Administrator
Product
details
3.2 Generate a
unique Product
id
3.2 Select a
Category to add
Product
3.3 obtain
Product details
3.4 Generate a
unique Product
id
3.1 Get a
Administrator Product to edit
3.2 Obtain
details to edit
1. List
User Product Data Store
Products
2. Buy
Product
Visitor
Product Data
Store
Elements Representation
Customer Address
MobNo.
Name
Password
Email
Customer
Give
buys s
Order
Order Id
Has
Category
Has Product
P_Name price
Cat_Feature Discount
P_image
Cat_Description P_Name
P_id
4.4 User Case Diagrams
Register & Login
Browse Categories
Add/Delete Category
Add/Delete Brand
Add/Delete Product
Generate Bill
Manage Payment
Product
Experts
4.5. Tools/Platforms and Languages Used
JAVA DEVELOPMENT KIT
Java Development Kit is used for producing Java programs. The JDK is
developed by Sun Microsystemss Java Soft division. The most recent versions
include the JavaBeans component architecture and support for JDBC.
WEB SERVER
The Sun Java System Application Server Platform Edition 8 is a J2EE 1.4
platform compatible server for the development and deployment of J2EE
applications and Java Web Services .The runtime portion of a J2EE product. A
J2EE server provides EJB and Web containers.
ENTERPRISE JAVABEANS (EJB) CONTAINER
1) Manages the execution of enterprise beans for J2EE applications. Enterprise.
2) Beans and their container run on the J2EE server.
WEB CONTAINER
It manages the execution of JSP page and servlet components for J2EE
applications. Web components and their container run on the J2EE server.
SOFTWARE SPECIFICATIONS
1. OPERATING SYSTEM Windows 2000, NT, XP prof., Vista, Windows 7
2. ENVIRONMENT Java
3. FRONT-END Java HTML-Web Browser (Internet Explorer, Google
chrome etc.)
4. TECHNOLOGY JSP, Servlets
5. BACK-END MySQL
HARDWARE SPECIFICATIONS
CLIENT SERVER
DEVELOPMENT LANGUAGES
JAVA
Java language was developed by Sun Microsystems in 1991. Java is a platform
independent object oriented programming language. When you are writing programs,
you always consider where this program is finally going to be executed. For instance,
if the program is going to be executed on windows platform, you use the Microsoft
Foundation Classes or if it is a Mac machine, then you use the Mac OS Toolbox.
Also, while finally implementing the programs you insure that along with the source
code the compiler has also been sent as every machine uses some or other kind of
processor, and it becomes necessary to compile your program according to the
destination machines processor. It would be virtually impossible to implement the
applications on the internet, if we imagine the same scenario there because you dont
know where your program is finally going to be downloaded and run. In order to
counteract this problem java has an inbuilt mechanism called JVM (Java Virtual
Machine) which makes your application compatible to the clients machine and your
program can run on any machine on the internet.
Java apart from being object oriented, and providing various features for the internet
programming has many more features which makes it distinctively an appealing
language. Some of these features are:
Architecture Neutral
Robust
Reliable, Safe and Secure
Distributed
HTML
Short for Hyper Text Markup Language, the authoring language used to create
documents on the World Wide Web. HTML defines the structure and layout of a Web
document by using a variety of tags and attributes. HTML is used to define the content
and sketch of the page. Its tags is used inside the codes of Java server pages(JSP)
directly in this project.HTML is a client-side technology, it means an HTML document
is processed entirely by the client or browser. Using HTML tag we can pass the
parameters or query-string variables directly from one page of jsp to another page.
Actually HTML is not a programming language, but it is used in jsp for all the above
reasons.
A JSP page contains standard markup language elements, such as html tags, just like a
regular web page. However, a JSP page also contains special JSP elements that allow the
server to insert dynamic content in the page. JSP elements are widely used for variety of
purposes, such as retrieving information from a database or registering user preferences.
When a user ask for a JSP page, the server executes the JSP elements merges the results
with the static parts of the page, and sends the dynamically composed page back to the
browser.
The JDBC interface is a pure java API used to execute SQL statements. The JDBC
provides a set of classes and interfaces that can be used by developers to write database
applications. Basic JDBC interaction, in its simplest form, can be broken down into four
steps:
6. Testing
Software testing is a critical element of software quality assurance and represents the review
of specification, design and code generation. The increasing visibility of software as a system
element and the attendant costs associated with a software failure are motivating forces for
well-planned thorough testing.
Once source code has been generated, software must be tested to uncover as many errors as
possible before delivery to customer. The goal is to design a series of test cases that have a
high likelihood of finding errors but how? Thats where software testing techniques enter the
pictures.
Software testing involves executing an implementation of the software with test data and
examining the outputs of the software and its operational behavior to check that it is
performing as required. Testing is a dynamic technique of verification and validation because
it works with an executable representation of the system.
6.3.3. Validation
At the culmination of the integration testing, Software is completely assembled as a
package. Interfacing errors have been uncovered and corrected and a final series of
software test begin in validation testing. Validation testing can be defined in many
ways, but a simple definition is that the validation succeeds when the software
functions in a manner that is expected by the customer. After validation test has been
conducted, one of the three possible conditions exists.
c) Proposed system under consideration has been tested by using validation test and
found to be working satisfactory.
6.3.4. Output Testing
After performing the validation testing, the next step is output testing of the proposed
system, since no system could be useful if it does not produce the required output in a
specific format. The output format on the screen is found to be correct. The format
was designed in the system design time according to the user needs. For the hard copy
also; the output comes as per the specified requirements by the user. Hence output
testing did not result in any correction for the system.
This section lists the test-cases that were used to test the online shopping-cart application:
9. Bibliography