Software Requirement Engineering Group Project
Software Requirement Engineering Group Project
1
7.1 Introduction ........................................................................................................................... 21
7.2 SECURITY IN SOFTWARE......................................................................................................... 21
7.2.1 CLIENT SIDE VALIDATION................................................................................................. 22
7.2.2 SERVER SIDE VALIDATION................................................................................................ 22
8. CONCLUSION ............................................................................................................................... 23
8.1 BENEFITS: .............................................................................................................................. 24
8.2 LIMITATIONS OF EXISTING SYSTEM : ...................................................................................... 25
9. References .................................................................................................................................. 26
ABSTRACT
The Online Shopping System Software requirements Specification (SRS) report outlines the
essential specifications and requirements needed to develop a dependable and user friendly
online shopping platform. In the current digital era, e-commerce has become an essential
part of the retail environment. This SRS document offers the framework for creating an
efficient and user-friendly online purchasing experience for both administrators and
customers. This project's main goal is to design, develop, and implement an online shopping
system that satisfies the diverse demands of modern consumers. This system will offer a wide
range of products, user-friendly interfaces, secure payment options, and efficient order
management for clients. It will also give administrators access to comprehensive inventory
and sales administration tools.
This is a project with the objective to develop a basic website where a consumer is provided
with a shopping cart application and also to know about the technologies used to develop
such an application. This document will discuss each of the underlying
1. INTRODUCTION
1.1 introduction to online shopping systems
2
E-commerce is fast gaining ground as an accepted and used business paradigm. More and
more business houses are implementing web sites providing functionality for performing
commercial transactions over the web. It is reasonable to say that the process of shopping on
the web is becoming commonplace.
The objective of this project is to develop a general purpose e-commerce store where any
products can be bought from the comfort of home through the Internet. However, for
implementation purposes, this paper will deal with an online Shopping Cart.
The Shopping Cart is a virtual store on the Internet where customers can browse the catalog
and select products of interest. The selected items may be collected in a shopping cart. At
checkout time, the items in the shopping cart will be presented as an order. At that time,
more information will be needed to complete the transaction. Usually, the customer will be
asked to fill or select a billing address, a shipping address, a shipping option, and payment
information such as credit card number. An e- mail notification is sent to the customer as
soon as the order is placed.
The Shopping Cart is expanded permanently through new products and services in order to
offer a product portfolio corresponding to the market. Private customer and business
customers can order the selected products of the Shopping Cart service online quickly and
comfortably.
Target groups of customer of the Shopping Cart are. The customers can have a payment
option through credit card only. In order to use the load writing procedure, the customer
registers itself and receives a login for its purchases name. It is an Internet application.
Electronic Commerce (e-commerce) applications support the interaction between different
parties participating in a commerce transaction via the network as well as the management
of the data involved in the process.
The Shopping Cart needs to sell different types of products to customer living in any part of
the world. The website will show all products in categorized manner. Customer can browse
3
any product for its price and other details and can order the product. Orders needs to
accompany with shipping & billing details. Customer has to pay order amount online through
credit cards. Products can be managed by operators from admin panel. Operator can be
created by admin. Admin can keep track of orders through admin panel. The main purpose of
the system is to enable customers to browse and order from any part of the world and hence
increasing business scope.
The development of the new system contains the following activities, which try to automate
the entire process keeping in view of the database integration approach.
4
2. SYSTEM ANALYSIS
2.1 INTRODUCTION
After analysing the requirements of the task to be performed, the next step is to analyse the
problem and understand its context. The first activity in the phase is studying the existing
system and other is to understand the requirements and domain of the new system. Both the
activities are equally important, but the first activity serves as a basis of giving the functional
specifications and then successful design of the proposed system. Understanding the
properties and requirements of a new system is more difficult and requires creative thinking
and understanding of existing running system is also difficult, improper understanding of
present system can lead diversion from solution.
The model that is basically being followed is the WATER FALL MODEL, which states that the
phases are organized in a linear order. First of all the feasibility study is done. Once that part
is over the requirement analysis and project planning begins. If system exists one and
modification and addition of new module is needed, analysis of present system can be used
as basic model.
The design starts after the requirement analysis is complete and the coding begins after the
design is complete. Once the programming is completed, the testing is done. In this model
the sequence of activities performed in a software development project are: -
Requirement Analysis
Project Planning
System design
5
Detail design
Coding
Unit testing
System integration & testing
WATER FALL MODEL was being chosen because all requirements were known beforehand
and the objective of our software development is the computerization/automation of an
already existing manual working system.
GUI’S
In the flexibility of the uses the interface has been developed a graphics concept in mind,
associated through a browser interface. The GUI’S at the top level have been categorized as
6
1. Registration Module
2. Products Browse Module
3. Products Search Module
4. Shopping cart Module
5. Shipping & Billing Module
6. Payment Module
7. Admin User Management Module
8. Admin Catalog Management Module
9. Admin Order Management Module
1) Customer
2) Product
3) Website Administrator
4) Operator
5) Order
Customer: The target user of the system. A Customer is responsible for registering them to
the site, browsing site, placing orders and making payments.
Product: Product is the entity, a customer looking for. A Product will be sold to the customer.
Website Administrator: An entity responsible for managing users, roles and roles privileges.
Operator: Operator is a person (entity) responsible for managing products and orders.
Order: Order is an entity which describes the business transaction.
Provide an environment for upgradation of application for newer versions that are
available in the same domain as web service target.
7
Visual Studio .Net 2005 Enterprise Edition
Internet Information Server 5.0 (IIS)
Visual Studio .Net Framework (Minimal for Deployment)
SQL Server
8
2.6 INPUT AND OUTPUT
The main inputs, outputs and major functions of the system are as follows
INPUTS:
OUTPUTS:
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
Economical Feasibility
9
3.1. Technical Feasibility
The technical issue usually raised during the feasibility stage of the investigation includes the
following:
10
Proposed projects are beneficial only if they can be turned out into information system. That
will meet the organization’s 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: -
A system can be developed technically and that will be used if installed must still be a good
investment for the organization. In the economical 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 normal
expenditure and economical features for certain.
11
4. SOFTWARE REQUIREMENT SPECIFICATION
4.1 INTRODUCTION
Purpose: The main purpose for preparing this document is to give a general insight into the
analysis and requirements of the existing system or situation and for determining the
operating characteristics of the system.
Scope: This Document plays a vital role in the development life cycle (SDLC) and it describes
the complete requirement of the system. It is meant for use by the developers and will be the
basic during testing phase. Any changes made to the requirements in the future will have to
go through formal change approval process.
DEVELOPERS RESPONSIBILITIES OVERVIEW:
The developer is responsible for:
Developing the system, which meets the SRS and solving all the requirements of the
system?
Demonstrating the system and installing the system at client's location after the
acceptance testing is successful.
Submitting the required user manual describing the system interfaces to work on it
and also the documents of the system.
Conducting any user training that might be needed for using the system.
Maintaining the system for a period of one year after installation.
User Registration and Authentication: Users should be able to create accounts, log in, and log
out securely.
Product Catalog: The system should display a list of products with details such as name,
description, price, and images.
Search and Filtering: Users should be able to search for products and filter results based on
categories, price range, ratings, etc.
12
Shopping Cart: Users should be able to add, update, and remove products from their
shopping cart.
Checkout Process: The system should support a seamless checkout process, including order
review, payment processing, and order confirmation.
Payment Gateway Integration: The system should integrate with multiple payment gateways
to process payments securely.
Order Management: Users should be able to view their order history, track orders, and
receive notifications about order status.
User Profile Management: Users should be able to update their personal information, such as
address and payment details.
Product Reviews and Ratings: Users should be able to leave reviews and ratings for products
they have purchased.
Admin Panel: Administrators should have access to a dashboard to manage products, orders,
users, and view analytic
1. Performance: The system should handle a large number of users and transactions
simultaneously without significant delays. This includes fast page load times, quick search
results, and efficient checkout processes.
2. Scalability: The platform should be able to scale up or down based on the number of users
and transactions. This ensures that the system can handle peak shopping periods, such as
Black Friday or holiday sales, without crashing.
13
3. Security: Protecting user data is paramount. The platform should implement strong
encryption, secure payment gateways, and regular security audits to prevent data breaches
and fraud.
4. Usability: The user interface should be intuitive and easy to navigate. This includes clear
product categories, a simple checkout process, and accessible customer support.
5. Reliability: The system should be available and operational 24/7. This includes having
backup systems and disaster recovery plans in place to minimize downtime.
6. Maintainability: The platform should be easy to update and maintain. This includes
modular code, comprehensive documentation, and automated testing to ensure that new
features or fixes do not disrupt the system.
7. Compliance: The platform should comply with relevant laws and regulations, such as data
protection laws standards .
8. Compatibility: The system should work seamlessly across different devices and browsers.
This ensures that users have a consistent experience whether they are shopping on a
desktop, tablet, or smartphone.
These non-functional requirements ensure that the online shopping platform is efficient,
secure, and user-friendly, ultimately leading to a better shopping experience for customers.
5. SYSTEM DESIGN
5.1 INTRODUCTION
Software design sits at the technical kernel of the software engineering process and is
applied regardless of the development paradigm and area of application. 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
14
system requirement have been specified and analysed, 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 is the place where quality
is fostered in software development. 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 be difficult to test, one whose quality cannot be
assessed until the last stage.
During design, progressive refinement of data structure, program structure, and procedural
details are developed reviewed and documented. System design can be viewed from either
technical or project management perspective. From the technical point of view, design is
comprised of four activities – architectural design, data structure design, interface design and
procedural design.
15
|
|
| ----------- ----------- --------- ViaEmail ViaEmail ViaEmail ----------- ----------
- ---------
|
|
| Invoice to Seller Charge Customer Invoice Amount (in
case of 3rd party seller as Ebay)
2. Backend Server
The backend server handles the business logic and processes user requests. It includes:
Application Server: Manages user sessions, processes orders, and handles business
logic.
Database Server: Stores user information, product details, order history, and
transaction records.
Web Server: Serves web pages to users and handles HTTP requests.
3. Database
16
A robust database is essential for storing and managing data. Common databases used
include MySQL, PostgreSQL, and MongoDB. Key data stored includes:
4. Payment Gateway
The payment gateway handles secure payment processing. It integrates with various
payment methods such as credit/debit cards, digital wallets, and bank transfers. Popular
payment gateways include PayPal, Stripe, and Square.
5. Security
Implementing strong security measures is crucial to protect user data and prevent fraud. This
includes:
SSL Encryption: Ensures secure data transmission between users and the server.
Secure Authentication: Uses techniques like two-factor authentication (2FA) to
verify user identities.
Regular Security Audits: Identifies and fixes vulnerabilities in the system.
Compliance: Adheres to data protection regulations like GDPR and PCI DSS.
6. Scalability
The system should be designed to handle increasing traffic and transactions, especially during
peak shopping periods. This involves:
Scalable Infrastructure: Using cloud services like AWS or Azure to scale resources up
or down as needed.
Load Balancing: Distributes incoming traffic across multiple servers to ensure no single
server is overwhelmed.
Caching Mechanisms: Stores frequently accessed data in memory to reduce load on
the database.
7. APIs
17
Application Programming Interfaces (APIs) enable communication between different
components of the system and with third-party services. For example:
Shipping Providers: Integrates with shipping services to calculate shipping costs and
track orders.
Payment Gateways: Connects with payment processors to handle transactions.
External Databases: Accesses additional product information or reviews from
external sources.
By integrating these components, an online shopping system can provide a seamless, secure,
and scalable platform for users to browse and purchase products.
6. INTRODUCTION TO TESTING
Software testing is a critical element of software quality assurance and represents the
ultimate review of specification, design and coding. In fact, testing is the one step in the
software engineering process that could be viewed as destructive rather than constructive.
18
A strategy for software testing integrates software test case design methods into a well-
planned series of steps that result in the successful construction of software. Testing is the
set of activities that can be planned in advance and conducted systematically. The underlying
motivation of program testing is to affirm software quality with methods that can
economically and effectively apply to both strategic to both large and small-scale systems.
The software engineering process can be viewed as a spiral. Initially system engineering
defines the role of software and leads to software requirement analysis where the
information domain, functions, behavior, performance, constraints and validation criteria for
software are established. Moving inward along the spiral, we come to design and finally to
coding. To develop computer software we spiral in along streamlines that decrease the level
of abstraction on each turn.
A strategy for software testing may also be viewed in the context of the spiral. Unit testing
begins at the vertex of the spiral and concentrates on each unit of the software as
implemented in source code. Testing progress by moving outward along the spiral to
integration testing, where the focus is on the design and the construction of the software
architecture. Talking another turn on outward on the spiral we encounter validation testing
where requirements established as part of software requirements analysis are validated
against the software that has been constructed. Finally we arrive at system testing, where the
software and other system elements are tested as a whole.
19
at their boundaries and within their operational bounds • All internal data structures have
been exercised to assure their validity.
To follow the concept of white box testing we have tested each form .we have created
independently to verify that Data flow is correct, All conditions are exercised to check their
validity, All loops are executed on their boundaries.
All the loops were tested at their limits, just above them and just below them.
All the loops were skipped at least once.
For nested loops test the inner most loop first and then work outwards.
For concatenated loops the values of dependent loops were set with the help
of connected loop.
Unstructured loops were resolved into nested loops or concatenated loops
and tested as above.
20
Each unit has been separately tested by the development team itself and all the input have
been validated.
7. SYSTEM SECURITY
7.1 Introduction
The protection of computer based resources that includes hardware, software, data,
procedures and people against unauthorized use or natural Disaster is known as System
Security.
System Security can be divided into four related issues:
Security
Integrity
Privacy
Confidentiality
SYSTEM SECURITY refers to the technical innovations and procedures applied to the hardware
and operation systems to protect against deliberate or accidental damage from a defined
threat.
DATA SECURITY is the protection of data from loss, disclosure, modification and destruction.
SYSTEM INTEGRITY refers to the power functioning of hardware and programs,
appropriate physical security and safety against external threats such as eavesdropping and
wiretapping.
PRIVACY defines the rights of the user or organizations to determine what information they
are willing to share with or accept from others and how the organization can be protected
against unwelcome, unfair or excessive dissemination of information about it.
CONFIDENTIALITY is a special status given to sensitive information in a database to minimize
the possible invasion of privacy. It is an attribute of information that characterizes its need
for protection.
21
only valid operations are performed on the system. The system employees two types of
checks and controls:
VBScript in used to ensure those required fields are filled with suitable data only.
Maximum lengths of the fields of the forms are appropriately defined.
Forms cannot be submitted without filling up the mandatory data so that manual
mistakes of submitting empty fields that are mandatory can be sorted out at the
client side to save the server time and load.
Tab-indexes are set according to the need and taking into account the ease of user
while working with the system.
Server side constraint has been imposed to check for the validity of primary key
and foreign key. A primary key value cannot be duplicated. Any attempt to
duplicate the primary value results into a message intimating the user about those
values through the forms using foreign key can be updated only of the existing
foreign key values.
User is intimating through appropriate messages about the successful operations
or exceptions occurring at server side
Various Access Control Mechanisms have been built so that one user may not
agitate upon another. Access permissions to various types of users are controlled
according to the organizational structure. Only permitted users can log on to the
system and can have access according to their category. User- name, passwords
and permissions are controlled o the server side
22
Using server side validation, constraints on several restricted operations are
imposed.
8. CONCLUSION
The Internet has become a major resource in modern business, thus electronic shopping has
gained significance not only from the entrepreneur’s but also from the customer’s point of
view. For the entrepreneur, electronic shopping generates new business opportunities and
for the customer, it makes comparative shopping possible. As per a survey, most consumers
of online stores are impulsive and usually make a decision to stay on a site within the first few
seconds. “Website design is like a shop interior. If the shop looks poor or like hundreds of
other shops the customer is most likely to skip to the other site. Hence we have designed the
project to provide the user with easy navigation, retrieval of data and necessary feedback as
much as possible.
In this project, the user is provided with an e-commerce web site that can be used to buy
Products online. To implement this as a web application we used ASP.NET as the Technology.
ASP.NET has several advantages such as enhanced performance, scalability, built- in security
and simplicity. To build any web application using ASP.NET we need a programming language
such as C#, VB.NET, J# and so on. C# was the language used to build this application. For the
client browser to connect to the ASP.NET engine we used Microsoft’s Internet Information
Services (IIS) as the Web Server. ASP.NET uses ADO.NET to interact with the database as it
provides in-memory caching that eliminates the need to contact the database server
frequently and it can easily deploy and maintain an ASP.NET application. SQL Server was used
as back-end database since it is one of the most popular open source databases, and it
provides fast data access, easy installation and simplicity.
A good shopping cart design must be accompanied with user-friendly shopping cart
application logic. It should be convenient for the customer to view the contents of their cart
and to be able to remove or add items to their cart. The shopping cart application described
23
in this project provides a number of features that are designed to make the customer more
comfortable.
This project helps in understanding the creation of an interactive web page and the
technologies used to implement it. The design of the project which includes Data Model and
Process Model illustrates how the database is built with different tables, how the data is
accessed and processed from the tables. The building of the project has given me a precise
knowledge about how ASP.NET is used to develop a website, how it connects to the
database to access the data and how the data and web pages are modified to provide the
user with a shopping cart application.
It has been a great pleasure for me to work on this exciting and challenging project. This
project proved good for me as it provided practical knowledge of not only programming in
ASP.NET and C#.NET web based application and no some extent Windows Application and
SQL Server, but also about all handling procedure related with “PROJECT NAME”. It also
provides knowledge about the latest technology used in developing web enabled application
and client server technology that will be great demand in future. This will provide better
opportunities and guidance in future in developing projects independently.
8.1 BENEFITS:
The project is identified by the advantages of the system offered to the user. The advantages
of this project are as follows:
24
Sometimes the user finds in the later stages of using project that he needs to
update some of the information that he entered earlier. There are options for him
by which he can update the records. Moreover there is restriction for his that he
cannot change the primary data field. This keeps the validity of the data to longer
extent
User is provided the option of monitoring the records he entered earlier. He can
see the desired records with the variety of options provided by him.
From every part of the project the user is provided with the links through framing
so that he can go from one option of the project to other as per the requirement.
This is bound to be simple and very friendly as per the user is concerned. That is,
we can sat that the project is user friendly which is one of the primary concerns of
any good project.
Data storage and retrieval will become faster and easier to maintain because data
is stored in a systematic manner and in a single database.
Decision making process would be greatly enhanced because of faster processing
of information since data collection from information available on computer takes
much less time then manual system.
Allocating of sample results becomes much faster because at a time the user can
see the records of last years.
Easier and faster data transfer through latest technology associated with the
computer and communication.
Through these features it will increase the efficiency, accuracy and transparency,
25
9. References
Mohapatra, H., & Rath, A. K. (2020). Fundamentals of software engineering: designed to
provide an insight into the software engineering concepts. BPB Publications.
Search Engine:
www.qooqle.com
Online Tools:
https://app.smartdraw.com/editor
https://online.visual-paradiqm.com
https://creately.com
26