Download as pdf or txt
Download as pdf or txt
You are on page 1of 79

CS6004ES

Application Development
London Metropolitan University
Faculty of Engineering
Group Coursework – 2 (2023/24)

Name: Akshan Rafeek


Register Number: E168880
CS6004ES Application Development
Group Member : Uditha Wijayawardana

1
CS6004ES –Application Development Group Coursework - 2
(2023/24)
This assessment is a group coursework and should be done in a team of a maximum of 2 students.
It requires developing and documenting a Web Application using ASP.NET MVC with
C# Programing Language in Visual Studio 2017. Application development mythology will be
Object Oriented Design and cording practices. You should comply following when cording
1. Use encapsulation techniques
2. Use Abstraction
3. Use Inheritance
4. Achieve high cohesion and loose coupling
(Marks will only be awarded if above criteria are complied)
Your software artefact must be submitted as a Visual Studio project with Visual Studio Solution.
It will be marked using Visual Studio 2017 or higher. The coursework carries 30% of the
module mark.
Submission Deadlines: 10/03/2024
In-class demo: 17/03/2024
Groups not meeting the deadline must submit their work to the Undergraduate Registry with a
completed mitigating circumstances form.

2
Case study

e-book pvt. Ltd is a leading used books selling company in Srilanka.

Over the last three years it has emerged as a prestigious and the foremost
network of bookshops in Sri Lanka

with rapid development and expansion of its business activities both in


terms of quality and quantity.

It presents a vast collection of Sri Lankan and foreign used books covering
an array of multiple disciplines

to meet the diverse needs of their wide readership that ranges from little
kids to higher academics.

In order to expand their business activities, they plan to develop an online


web application with

following functionalities.

3
Customer

==========================================

->New Customer must register their details.

->Only logged in customers can order books.

->Only logged in customers can manage their orders (view/delete)

->Any users can search for books details.

->Only logged in customers can provide feedback about books.

Admin

============

->Register/Login

->Manage Books Details

->Manage Customers

->Manage Orders

->Generate Reports

->Admin Dashboard
4
Deliverables

1. Use case diagram


2. Class diagrams
3. ER diagrams
4. ASP C# code base
5. Database scripts
6. Comprehensive Application Installation Guide
7. Application Configuration and Run Manual

5
Acknowledgment

I would like to express my deepest appreciation to all those who provided me the possibility to
complete this project.
A special gratitude I give to our Guide lecturer Mr. Medagoda who continuously guided us during
the whole course of this project.
Furthermore, I would like to thanks to the coordinator of our badge Mr. Lasitha Ranawaka and
other lecturers who helped us in many ways to hold on our subjects matters.
And finally, I sincerely acknowledge and thank my family members and my fellow badge mates
who gave moral and support for this project.
Thank You.
udithawijayawardana@gmail.com

6
Table of Contents
Abstract. ........................................................................................................................................ 13

1.1. Introduction. ....................................................................................................................... 15

1.1.1. Literature Review. ...................................................................................................... 15

1.1.2 Aim of the project. ........................................................................................................... 15

1.1.3 Objective of the project.................................................................................................... 16

1.1.4 Scope of the Project. ........................................................................................................ 16

2.1 Requirement Analysis. ............................................................................................................ 17

2.1.1. Analysis of Requirements for Online Web Application of E-book Pvt. Ltd. ................. 17

2.2. Interface Requirements. ........................................................................................................ 21

2.3. Administrators of the system. ............................................................................................ 21

2.4. Users of the system. ........................................................................................................... 21

2.5. Hardware Interfaces. .......................................................................................................... 22

2.6. Interfaces in Software. ....................................................................................................... 22

2.7. External Interface Requirements........................................................................................ 22

2.7.1. Hardware Interface ..................................................................................................... 22

2.7.2. Software Interface....................................................................................................... 22

2.7.3. Client – side Software................................................................................................. 22

2.8. Non-functional Requirements. ........................................................................................... 23

2.9. Design Constraints. ............................................................................................................ 23

2.9.1. Attributes .................................................................................................................... 23

2.9.2. Reliability ................................................................................................................... 23

2.9.3. Maintainability............................................................................................................ 23

7
2.9.4. Security ....................................................................................................................... 23

2.10. Technologies .................................................................................................................. 24

2.10.1. Software .................................................................................................................. 24

3.1. Management Process ......................................................................................................... 25

3.1.1. Customer/User ............................................................................................................ 25

3.1.1. Admin ......................................................................................................................... 26

4.1. Diagrams. .............................................................................................................................. 27

4.1.1. User case Diagram ......................................................................................................... 27

4.1.2. ER Diagram. ................................................................................................................... 28

4.1.3. Gantt Chart. .................................................................................................................... 30

4.2. Implementation methodology of book selling management system...................................... 30

4.2.1. C# .Net. ........................................................................................................................... 30

4.2.2. C# Language. .................................................................................................................. 30

4.2.3. Net Framework platform architecture. ............................................................................ 31

4.2.4. SQL server. ..................................................................................................................... 32

4.2.5. ASP.NET MVC. ............................................................................................................. 32

4.2.6. Model View Controller (MVC). ..................................................................................... 33

4.2.7. Implementation of security mechanisms of Online book selling management system. . 35

4.3. Interfaces of the E – Book Management System. ................................................................. 36

4.3.1. Home Page. ..................................................................................................................... 36

4.3.2. Index page. ..................................................................................................................... 41

4.3.3. Admin ............................................................................................................................ 48

4.3.4. E-book Management System Customer Report ............................................................. 50

8
4.4. Coding Implementation of E-Book Management System ..................................................... 55

4.4.1. Add Category .................................................................................................................. 56

4.4.2. Customer Index ............................................................................................................... 56

4.4.3 Edit Customer .................................................................................................................. 57

4.4.4 Dashboard ........................................................................................................................ 58

4.4.5. Profile.............................................................................................................................. 59

4.4.6. User Layout .................................................................................................................... 60

4.4.7. Order’s Report ................................................................................................................ 60

4.4.8. User Report ..................................................................................................................... 61

4.4.9. Product Report ................................................................................................................ 61

4.5. Database ................................................................................................................................. 62

4.5.1 Admin Database ............................................................................................................... 62

4.5.2 Invoice Database .............................................................................................................. 62

4.5.3 Authors and Categories Database .................................................................................... 63

4.5.4 Books Database ................................................................................................................ 63

5.1. Feasibility Study. ............................................................................................................... 64

5.1.1. Technical Feasibility................................................................................................... 65

5.1.2. Operational Feasibility ............................................................................................... 65

5.1.3. Economic Feasibility .................................................................................................. 65

5.1.4. Schedule Feasibility.................................................................................................... 66

6.1. Testing................................................................................................................................... 67

6.1.1. Testing Strategy and Sequence. ..................................................................................... 67

6.2. Test Cases .............................................................................................................................. 70

9
6.2.1. User ................................................................................................................................ 70

6.2.1.1. Registration .............................................................................................................. 70

6.2.1.2. Login ................................................................................................................... 71

6.2.1.3. Add to cart................................................................................................................ 72

6.2.1.3. Edit cart ............................................................................................................... 72

6.2.2. Admin ............................................................................................................................. 73

6.2.2.1.Create and Delete a Book from Category ................................................................. 73

6.2.2.2. Create and Delete a Category .............................................................................. 74

6.2.2.3. Manage Members..................................................................................................... 75

6.2.1.4. Manage Orders ......................................................................................................... 76

7.1. Conclusion. ........................................................................................................................ 77

References ..................................................................................................................................... 78

Figure 1 use case diagram. (Author developed) ........................................................................... 27


Figure 2 ER Diagram (Author developed).................................................................................... 28
Figure 3E-Book Management system (Author Developed) ......................................................... 36
Figure 4 E-Book Management system (Author Developed) ........................................................ 36
Figure 5 Booking page (Author Developed) ................................................................................ 37
Figure 6 About Us page (Author Developed) ............................................................................... 37
Figure 7 Key Features - e-book system (Author Developed) ....................................................... 38
Figure 8 Book Types (Author Developed) ................................................................................... 38
Figure 9 Most popular Book (Author Developed) ........................................................................ 39
Figure 10 Read Books (Author Developed) ................................................................................ 39
Figure 11 Contact page (Author Developed) ................................................................................ 40
Figure 12 Footer Of E-book (Author Developed) ........................................................................ 40

10
Figure 13 Index page (Author developed) .................................................................................... 41
Figure 14 Books (Author developed) ........................................................................................... 41
Figure 15 Search bar (Author Developed) .................................................................................... 42
Figure 16 Purchasing Page (Author Developed) .......................................................................... 42
Figure 17 Shopping cart (Author Developed0 .............................................................................. 43
Figure 18 Publishers Books (Author Developed) ......................................................................... 44
Figure 19 Publishers Books (Author Developed) ......................................................................... 44
Figure 20 Publishers Books (Author Developed) ......................................................................... 44
Figure 21 Publishers Book (Author Developed) .......................................................................... 45
Figure 22 Book Adding Page (Author Developed) ...................................................................... 45
Figure 23 Registration Page (Author Developed) ........................................................................ 46
Figure 24 Error Notification (Author Developed) ........................................................................ 46
Figure 25 Logging page (Author Developed). .............................................................................. 46
Figure 26 Customer Dashboard (Author Developed) ................................................................... 46
Figure 27 Customer profile (Author Developed).......................................................................... 47
Figure 28 Customer Invoice (Author Developed). ....................................................................... 47
Figure 29 Admin Login (Author developed) ................................................................................ 48
Figure 30 Admin Profile (Author Developed) ............................................................................. 48
Figure 31 Edit Customer (Author Developed).............................................................................. 49
Figure 32 Manage Category (Author Developed) ....................................................................... 49
Figure 33 Managing Slideshow (Author Developed) ................................................................... 49
Figure 34 E-book management system customer report (Author Developed) ............................. 50
Figure 35 E-book management system Books details (Author developed) .................................. 50
Figure 36 Invoice List (Author developed) ................................................................................. 52
Figure 37 E-book management system Books Report (Author developed) ................................ 52
Figure 38 Customer List (Author developed) .............................................................................. 54
Figure 39 Online Invoice (Author developed) ............................................................................. 54
Figure 40 Visual Studio ASP.Net MVC Framework (Author Developed) .................................. 55

11
Figure 41 Add Category (Author Developed) .............................................................................. 56
Figure 42 Customer Index (Author Developed) .......................................................................... 56
Figure 43 Edit Customer (Author Developed)............................................................................. 57
Figure 44Dashboard (Author developed) ..................................................................................... 58
Figure 45 Login Index (Author developed) .................................................................................. 58
Figure 46 Profile (Author Developed) .......................................................................................... 59
Figure 47 User Layout (Author Developed) ................................................................................. 60
Figure 48 Order's Report (Author Developed) ............................................................................. 60
Figure 49 User report (Author Developed ................................................................................... 61
Figure 50Product Report (Author developed) .............................................................................. 61
Figure 51 Figure 48 Admin Database (Author developed) .......................................................... 62
Figure 52 Invoice Database (Author Developed) ......................................................................... 62
Figure 53 Authors and categories Database (Author Developed) ................................................ 63
Figure 54 Books Database (Author Developed) ........................................................................... 63

Table 1 Gran chart (Author Developed). ...................................................................................... 29


Table 2 Registration test cases (author developed)....................................................................... 70
Table 3 Login Test cases (author developed) ............................................................................... 71
Table 4 Add to cart Test cases (author developed) ....................................................................... 72
Table 5 Edit cart Test cases (author developed) ........................................................................... 72
Table 6 Create and Delete a Book from Category Test cases (author developed) ....................... 73
Table 7 Create and Delete a Category Test cases (author developed) .......................................... 74
Table 8 Manage Members Test cases (author developed) ............................................................ 75
Table 9 Manage Orders Test cases (author developed) ................................................................ 76

12
Abstract.
In Sri Lanka, E-book (PVT)Ltd is one of the top sellers of used books. In the last three years, it
has become Sri Lanka's most prominent and esteemed network of bookstores. With its business
activities developing and growing quickly in terms of both number and quality. To fulfil the varied
demands of their huge readership, which spans from young children to higher academics, it offers
a vast assortment of used books from both Sri Lanka and beyond in a variety of fields. They intend
to create an updated online web application in order to grow their commercial operations. Online
bookstores are virtual locations on the internet where customers can peruse the selection of books
and make desired selections. A specialized e-book management system that efficiently and
dependably searches through numerous book databases does not yet exist. Librarians are still
unable to settle on a single process for effectively and efficiently maintaining their collection of
books, even after experimenting with a range of technology and approaches. Consequently, several
approaches are employed, such as making title searches possible by uploading the book collection
to serials solutions, which arrange the books by subject and alphabetically.

It will take several months for the applicant to receive the books if the entire "book issuance"
process is completed by hand. It's becoming more and more important to have an automated system
in place to satisfy demand because the number of clients buying books is rising annually. This
system uses a range of database and programming techniques as a result, in addition to the labor-
intensive nature of the procedure. The system has also undergone extensive validation in order to
meet its requirements. The project therefore aims to store book-related data and refresh the book
list for every location that makes use of this system, record all consumer-purchased book-related
data, and offer a registration option so that new users may be added to the program. The automated
system will be capable of the following features. In order to access the system, a new customer
must first register their details. Customers can order books after logging into the system.
Customers can only order books if they are logged in. They are able to control their orders too.
Customers with log-in access can see or remove their orders. Users can look for details on books.
Additionally, users can offer comments regarding the system. However, access to that service is
restricted to users who are logged in. In the system, those are the customer turds. Then, by

13
registering, they can log in to the system if we search for admin crud. Admins can also handle
orders, customers, and book details. Furthermore, they are able to produce reports regarding the
system's outputs.

Numerous books are available for the consumer to select, and they are subsequently put to their
cart. The items in your shopping basket will appear as an order when you check out. To finish the
transaction at that point, more information will be needed. The customer will typically be asked to
provide basic information or select a shipping option, billing and delivery addresses, payment
methods (such as Cash on Delivery (COD) or online payment), and other options.

14
1.1. Introduction.
1.1.1. Literature Review.
One of Sri Lanka's top companies for selling old books is E-book (PVT)Ltd. They are selling used
books to customers by hand. They intend to create an online web application in order to grow their
commercial operations. Their primary uses are for admin login. The system's administrator has the
most power. Customers can purchase books more easily online than they can offline with this
website. After enrolling, they can access the system. Using a web browser, customers may look
up books by author or title, add them to their shopping carts, and pay for them using a variety of
options. With his account details, the user may log in, and new users can easily register for an
account. Details like their name, contact number, email address, and mailing address should be
included. Furthermore, the user has the ability to provide input on the system. The books are
divided into numerous categories based on a wide range of subjects.

1.1.2 Aim of the project.


The primary objective of the project is to create an online bookstore where customers can look up
and purchase books according to their subject, author, and title. The selected books are shown on
the system, and clients can order them online using the preferred payment option. The admin will
have more privileges over an ordinary user.

There are numerous sources of inspiration behind this effort.

1. To obtain positive.NET experience prior to engaging in full-time activities.

2. Interest in creating a user-friendly website that can facilitate numerous database-driven online
transactions.

3. To broaden one's knowledge base in areas such as HTML, CSS, SQL, and.NET.

15
1.1.3 Objective of the project.
1. Automating the current framework

2. Accelerate the processes

3. Improved client services

4. The administrative dashboard

5. Easily keeping an eye on every record

6. Notification by email

7. Simplify data retrieval and cut down on the amount of time spent on manual data searches.

8. The administrator can handle orders, clients, and book details.

9. Users can offer comments regarding the system.

1.1.4 Scope of the Project.


The project's primary objectives and deliverables would be to:

Comprehend and draft comprehensive requirements and specifications

2. Create comprehensive and high-level system design specifications. 3. Create a test plan and test
cases.

4. Create the cording and system.

5. Conduct system, integration, and unit testing.

6. Showcase a bug-free program that has been modified appropriately, if necessary.

16
2.1 Requirement Analysis.
The process of identifying user expectations for an application that has to be developed or adjusted
is called requirements analysis. It includes every task carried out in order to determine the needs
of various stakeholders. Thus, requirements analysis refers to the process of examining, recording,
verifying, and overseeing software or system requirements. High-quality requirements are
specified to ease system design and are actionable, quantifiable, testable, traceable, and helpful in
identifying business opportunities. (Awati, n.d.)

2.1.1. Analysis of Requirements for Online Web Application of E-book


Pvt. Ltd.

Necessary Functionalities

- Customer Features
1. Registration: - New users must be able to register by entering the required information,
such as their name, email address, password, and address. The entered data must be
verified by the system to ensure accuracy and completeness.
2. Login: – Users who have registered must be able to access their account with their
email address and password. The consumer credentials must be authenticated by the
system.
3. Book Search: - Using keywords, categories, or filters, any user, signed in or not,
should be able to search for book details. The system needs to show book details (title,
author, price, availability, etc.) together with search results.
4. Order Books: - Only clients who are signed in ought to be able to place book orders.
Customers must be able to add books to their shopping carts and check out using the
system. Order confirmation and payment processing must be handled by the system.
5. Control Purchases: - Customers who are logged in need to be able to see their order
history. It should be possible for customers to remove orders that are pending or
unshipped.

17
6. Give Feedback: - Customers who are logged in ought to be able to leave reviews or
feedback on books they have bought. Customers should be able to view and manage
their feedback on the system.

- Admin functionalities
1. Registration/Login: - Administrators need to be able to create an account and use secure
credentials to access the admin panel. The system needs to verify the admin credentials.
2. Manage Books Details: - The inventory should allow administrators to add, edit, and
remove book details. The system needs to verify that the book data is accurate and
comprehensive.
3. Manage Customers: - Administrators ought to have access to client accounts and be able
to examine consumer information. Administrators ought to be able to remove or deactivate
user accounts at any time.
4. Manage Orders: - All customer orders should be viewable, editable, and manageable by
administrators. Order tracking and status updating functions should be provided by the
system.
5. Generate Reports: - Administrators should be able to create a variety of reports, including
ones on sales, customer behavior, inventory levels, and more. The system ought to enable
report exporting and filtering.
6. Admin Dashboard: - Key metrics (total sales, active customers, pending orders, etc.) should
be shown on a dashboard that administrators may see. Drill-down capabilities and a
summary view should be available on the dashboard.

18
- Non-Functional Requirements
1. Performance: - Responding to requests in less than two seconds, the system should be able
to accommodate up to 10,000 concurrent users.
2. Scalability: - The program needs to be scalable in order to handle increases in the number
of users and volume of data in the future.
3. Security: - All private information, including passwords and credit card details, needs to
be encrypted. The system should transfer data across secure protocols (HTTPS). Put role-
based access control (RBAC) into practice to limit access to administrative functions.
4. Usability: - Both customers and administrators should find it simple and intuitive to utilize
the user interface. Offer extensive resources for support and assistance.
5. Reliability: - 99.9% system uptime is ideal, with little downtime required for maintenance.
Put data recovery and backup procedures in place.
6. Compatibility: - The program ought to work with the majority of web browsers, including
Chrome, Firefox, Safari, and Edge. The system needs to work well and be reachable from
a variety of platforms, including PCs, tablets, and smartphones.
7. Maintainability: - The codebase ought to adhere to best practices for readability and
maintainability and be thoroughly documented. Give precise instructions for maintaining
and updating the system.
8. Compliance: - The application needs to abide by all applicable data protection laws (CCPA,
GDPR, etc.). Verify that accessibility guidelines, such as WCAG 2.1, are followed.

19
- System Deliverables.
1. A graphic depiction of how a user interacts with the system is called a use case diagram.
2. Class Diagrams: - Detailed diagrams that show how the classes are related to one another
and the system as a whole.
3. ER Diagrams: -Schematics that illustrate the links between entities in the database.
4. ASP C# Code Base: -The application's whole source code written in C# and ASP.NET.
5. SQL scripts for building and populating the database schema are called Database Scripts.
6. Detailed Installation Guide for Applications: -Detailed instructions for installing the
program.
7. program Configuration and Run Manual: - Contains setup instructions for the environment
and troubleshooting advice for configuring and executing the program.

E-book Pvt. Ltd.'s online web application should be developed using this thorough analysis as a
guide to make sure all functional and non-functional needs are satisfied.

20
2.2. Interface Requirements.
User Interfaces.

1. The system administrator is the bookstore's management. The other users are as follows.
2. Bookstore cashiers receive the same treatment as normal patrons.

2.3. Administrators of the system.


1. The administrator can access the system by entering their user name and password.
2. The administrator can perform any transaction and update every component of the
database, including adding, modifying, and deleting records or adding, editing, and
deleting new users.

2.4. Users of the system.


1. People who operate the cash register and deal with consumers are known as system users.
2. Before clicking the "Login" button, users must enter their password and user name. The
system will prompt the user to enter the correct username and password until he does so if
he makes a mistake.
3. A user must first choose the menu icon from the main menu in order to initiate a transaction.
4. After that, the transaction window will show up.
5. The user needs to input the Book No. and hit the enter key.
6. The user then has to select the kind and amount of the transaction. Next, click the update
button.
7. After that, the system will automatically update the database according to the kind of
transaction.

21
2.5. Hardware Interfaces.
1. The Book Shop System comes with the following hardware.
2. The main computer and the other computers in the bookstore.

2.6. Interfaces in Software.


The system will interact with the system database in order to record all transaction data.

2.7. External Interface Requirements.


2.7.1. Hardware Interface
1. Server-side Hardware
2. Hardware Recommended by the all the software needed
3. Communication hardware to server client request.
4. Client-side Hardware
5. Hardware that is recommended by the client's operating system and browser.
6. To communicate with the server, you'll need communication hardware.

2.7.2. Software Interface


1. Server-side software
2. Web-Server software
3. Server-side scripting tools (Support .net is mandatory)
4. Database tools (SQL Database is mandatory)
5. Compatible operating system.

2.7.3. Client – side Software


1. Web browser supporting Dot net.

22
2.8. Non-functional Requirements.
1. The system ought to be capable of supporting several users.
2. Enter your username and, if required, your password to log in.
3. Need to be user-friendly and have clear error warnings displayed.

2.9. Design Constraints.


1. The entire system uses menu-driven interfaces. The menu items will be selected using the
mouse and keyboard keys.
2. Following each input, the results are presented, and confirmation notifications on the
actions completed, accepted input, and incorrect circumstances are sent.
3. Error warnings will appear on the screen when input problems are found.

2.9.1. Attributes
Qualities of the products.

2.9.2. Reliability
At the time of delivery, the system is rigorously tested to ensure that computational errors are
minimized.

2.9.3. Maintainability
To facilitate the Bookshop administrators' administration of the system, the user guide and system
manual are supplied at the time of delivery. Because each module is made separately, it is simple
to modify in the case that a request changes.

2.9.4. Security
The Users and Items tables contain data that can only be altered by administrators. No one can
access the system without a username and password. Regular users of the system cannot access
the Administrators login. Following any delete action, a confirmation window opens to request
confirmation.

23
2.10. Technologies
1. The sections list all the technologies for the web-based system.
2. This project is a web-based application that is developed in ASP.net C# having as
backend.
3. Database design (MySQL)
4. Frontend design ASP C#
5. Coding (.net C#)

2.10.1. Software
Client Side:
Web Browser, Chrome

Operating System which supports aforementioned

24
3.1. Management Process
3.1.1. Customer/User
- Registration:

User need to register first with their basic registration details and nee to create a valid login id and
password.

- Login:

Using valid login credentials, user need to login into the system in order to access the system.

- View Books:

Once user is logged into the, he/she may view all the added books with their details.

- Buy Books:

User can surf various book of their choice and buy them.

- Add Books:

System allows user to sell their books online buy added the book name and its details.

- Upload Books:

User need to upload a book if he/she wants to sell a book.

- My Orders:

All the purchase history of user will be displayed with details.

- View Buyer:

If any buyer is interested in buying a book or anyone buys a book from the user then buyer’s details
will be displayed.

25
3.1.1. Admin
- Login:

Using valid login credentials, admin need to login into the system in order to access the system.

- View Books:

Admin can view all the added books online with their details.

- View Transaction:

System allows admin to view all the transaction details of buying and selling a book.

- View User:

All the registered user details will be displayed to the admin.

26
4.1. Diagrams.
4.1.1. User case Diagram

Figure 1 use case diagram. (Author developed)

27
4.1.2. ER Diagram.

Figure 2 ER Diagram (Author developed).

28
Table 1 Gran chart (Author Developed).

2024 Week 01 Week 02 Week 03 Week 04

System Design 2024 April 28

Writing
requirement
document

Coding

Requirement
analysis

Testing the
system

Implementing
the system

Creating test
document

Writing user
document

Writing technical
document

Preparing the
final report

2024 MAY
25
finalizing

29
4.1.3. Gantt Chart.

4.2. Implementation methodology of book selling management


system.
4.2.1. C# .Net.
The modern, object-oriented programming language C# is type-safe. Developers may design a
wide variety of reliable and safe.NET apps with C#. Programmers familiar with C, C++, Java, and
JavaScript will find C# to be a natural fit, as it belongs to the C family of languages. This tour
gives an overview of the main features of C# 8 and earlier.

4.2.2. C# Language.
Programming in C# is done via components and objects. C# is an ideal language for developing
and utilizing software components because it has language elements that directly support these
ideas. Since its inception, C# has expanded its feature set to accommodate new workloads and
developing methods for program design. C# is fundamentally an object-oriented language. You
explain types and how they behave.

The best programming language to use with the.NET Framework and APIs is C#. This is not the
place for Java. However, automated memory management is not included in C++, an earlier
language. Similar to C++, but more productive due to automatic memory management and the
removal of pointers, is C#. For business-oriented, form-intensive database applications, C++ might
still be the best choice in some situations, but not always. You'll probably be working in a
Windows-centric environment with a Windows Server and Active Directory if you write
applications for business networks. The easiest solution to integrate and implement in this scenario
is one that is written in C# and utilizes the.NET Framework.

30
4.2.3. Net Framework platform architecture.
The common language runtime (CLR), .NET, a collection of class libraries, and a virtual execution
system are the foundation for C# programs. Microsoft's implementation of the common language
infrastructure (CLI), an international standard, is called the CLR. Languages and libraries can be
used together smoothly in execution and development environments thanks to the CLI.

Compiling C# source code results in an intermediate language (IL) that complies with the CLI
specification. Resources like bitmaps and strings, as well as the IL code, are kept in an assembly
that usually ends in.dll. A manifest is a set of data that describes the types, versions, and cultures
of an assembly.

The assembly is loaded into the CLR during the execution of the C# program. To translate the IL
code into native machine instructions, the CLR uses Just-In-Time (JIT) compilation. Additional
services for resource management, exception handling, and automatic garbage collection are
offered by the CLR. Sometimes, code that is run by the CLR is called "managed code."
"Unmanaged code," which is platform-specific, is compiled into native machine language.
(geeksforgeeks.com, 2024)

An essential component of.NET is language interoperability. The Common Type Specification


(CTS) is followed by the IL code that the C# compiler generates. Code generated from the.NET
versions of F#, Visual Basic, and C++ can communicate with code generated from C# in an IL.
More than 20 more languages are CTS-compliant. It is possible for a single assembly to contain
several modules written in various.NET languages. As though they were written in the same
language, the kinds are able to refer to one another.

Apart from the runtime services, .NET comes with a large number of libraries. Numerous
workloads are supported by these libraries. They are arranged into namespaces that offer several
practical functionalities. The libraries cover everything from web application frameworks to
Windows Forms features, from text manipulation to XML parsing and file input and output.
The.NET class library is heavily utilized by the average C# application to perform routine
"plumbing" tasks.

31
4.2.4. SQL server.
Microsoft offers a database server called SQL Server.

One piece of software that is used to store and retrieve data that is requested by other programs is
the Microsoft relational database management system. These programs could be used on a separate
computer or the same one. To get more specific, you need to know what SQL is in order to
comprehend what a SQL Server is. A relational database management system's data is handled by
SQL, a special-purpose computer language. According to the client-server concept, a database
server is a computer program that offers database services to other programs or computers. Thus,
a database server that uses the Structured Query Language (SQL) is called a SQL server. (Stedman,
n.d.)

4.2.5. ASP.NET MVC.


Microsoft's ASP.NET MVC (Model-View-Controller) web application framework is an
alternative to ASP.NET Web Forms for building online applications. It follows the MVC design
pattern. The framework is composed of three primary parts: the Model, which is a representation
of the application's data and business logic, communicates with the database, and applies validation
logic and business rules; the View, which is a representation of the user interface and shows data
from the model; the Controller, which manages user input and interactions, processes requests,
collaborates with the model to carry out actions, and returns the relevant view. One of the many
advantages of ASP.NET MVC is separation of concerns, which improves code organization and
readability by dividing the program into three interrelated components for simpler management
and maintenance. It makes unit testing easier by keeping business logic and user interface separate,
enabling controllers to be tested separately from views and models. Complete control over the
generated HTML and URL structure is offered by the framework, which is advantageous for search
engine optimization (SEO) and for building aesthetically pleasing URLs. Razor, which provides a
clear syntax for embedding server-side code within HTML, is one of the view engines it supports.
It also facilitates integration with other technologies and frameworks. With support for action
filters, custom model binders, dependency injection, and easy integration with third-party libraries
32
and tools, ASP.NET MVC is a highly adaptable framework. It encourages convention-based
development, which lessens the requirement for complex configuration, and makes development
easier by adhering to standard procedures and naming conventions. Incoming requests are mapped
by the framework to the proper controller actions via a routing system that is defined in the
`RouteConfig` file. This file lists URL patterns along with the related controller actions. The
routing system receives a request, determines the suitable controller and action method, processes
the request, communicates with the model if required, and chooses which view to render. Views
generate dynamic content by using various helper methods and HTML helpers. The selected view
is generated and returned to the client as an HTML response. In conclusion, ASP.NET MVC,
which makes use of the MVC design pattern, offers a solid framework for creating scalable,
maintainable, and testable online applications. (javatpoint.com, n.d.)

4.2.6. Model View Controller (MVC).


Software engineers utilise the Model-View-Controller (MVC) design pattern to divide an
application into three interrelated components, each in charge of handling a particular function.
This division facilitates code organisation, increases testability and maintainability, and helps
manage the complexity of huge programmes. The three components are as follows: the Controller,
which functions as a go-between for the Model and the View, handles user input, processes it
(often involving the Model), and chooses which View to render. Examples of Controller functions
include classes or methods that handle incoming web requests, process form data, and select the
view for display. The Model, on the other hand, manages the data, logic, and rules of the
application; it interacts with the database, performs data retrieval, updates, and business logic
processing (examples include database records, data validation logic, and business rules); the
View, which represents the user interface (UI) and presentation layer, displays data from the model
to the user and sends user commands to the controller (examples include HTML, CSS, and
occasionally JavaScript files); and the Controller act as a middleman between the Model and the

33
View. The advantages of Model-View-Controller (MVC) include: reusability, which encourages
the reuse of components where the same model can be used with different views and controllers
can handle different types of views and input mechanisms; testability, which facilitates unit testing
by allowing each component to be tested in isolation; modularity, which allows each component
to be developed, tested, and debugged independently; and unit testing, which is made easier by
dividing the application into three distinct components. In order for MVC to function, the user
must interact with the UI (View) by clicking buttons or entering data into forms. The Controller
then receives this input from the View, processes it (by executing methods in the Model, validating
data, etc.), and updates the Model as needed. After that, the Model updates, deletes, or does other
required data actions and notifies the View of any modifications. After requesting the most recent
data from the Model, the View gives the user feedback by updating the user interface. To illustrate,
consider a basic web application that manages books: the Controller handles user actions like
adding new books, updates the Model with new data, and chooses the appropriate View to display
the updated book list. The Model represents the book data, such as title, author, and publication
date, and contains logic for retrieving and storing book data in a database. The View offers the
interface for displaying book details, allowing users to add, edit, or delete books. In conclusion,
web application developers have embraced the MVC design pattern because it is an effective
method of dividing up code into manageable chunks that facilitate modular development.
(.geeksforgeeks.com, 2024)

34
4.2.7. Implementation of security mechanisms of Online book selling
management system.
1. Avoid hard-coding passwords or login credentials.

2. Verify that the only person who can use a user account is the one who is linked to it. This will
make it easier to find possible vulnerabilities or security incidents.

3. Correctly respond to errors related to authentication.

4. Establish a strong password policy.

5. Make certain that the server, not the client, handles all authentication checks.

6. Before doing any sensitive activity (such as changing a user's password, email address, payment
details, etc.), get the user's password.

7. Get a safe password reset mechanism in place.

Put technology safeguards in place to prevent brute force. As an illustration:

1. Set a cap on the quantity of erroneous login attempts and lengthen the interval between each
attempt.

2. After multiple failed login attempts, implement a temporary IP block and/or show a CAPTCHA.

3. To be sure that a human and not a bot is completing the authentication process, use multi-factor
authentication, ideally through authentication apps like Google Authenticator.

35
4.3. Interfaces of the E – Book Management System.
4.3.1. Home Page.

Figure 3E-Book Management system (Author Developed)

Figure 4 E-Book Management system (Author Developed)

36
Figure 5 Booking page (Author Developed)

Figure 6 About Us page (Author Developed)

37
Figure 7 Key Features - e-book system (Author Developed)

Figure 8 Book Types (Author Developed)

38
Figure 9 Most popular Book (Author Developed)

Figure 10 Read Books (Author Developed)

39
Figure 11 Contact page (Author Developed)

Figure 12 Footer Of E-book (Author Developed)

40
4.3.2. Index page.

Figure 13 Index page (Author developed)

Figure 14 Books (Author developed)

41
Figure 15 Search bar (Author Developed)

Figure 16 Purchasing Page (Author Developed)

42
Figure 17 Shopping cart (Author Developed0

43
Figure 19 Publishers Books (Author Developed)

Figure
Figure 18
20 Publishers
Publishers Books
Books (Author
(Author Developed)
Developed)

44
Figure 21 Publishers Book (Author Developed)

Figure 22 Book Adding Page (Author Developed)

45
Figure 25
23 Logging pagePage
Registration (Author Developed).
(Author Developed)

Figure
Figure2624Customer
Error Notification
Dashboard(Author
(AuthorDeveloped)
Developed)

46
Figure 27 Customer profile (Author Developed)

Figure 28 Customer Invoice (Author Developed).

47
Admin

Figure 29 Admin Login (Author developed)

Figure 30 Admin Profile (Author Developed)

48
Figure 31 Edit Customer (Author Developed)
Figure 33 Managing Slideshow (Author Developed)

Figure 32 Manage Category (Author Developed)

49
4.3.4. E-book Management System Customer Report

Figure 34 E-book management system customer report (Author Developed)

Figure 35 E-book management system Books details (Author developed)

50
51
Figure 37 E-book management system Books Report (Author developed)

Figure 36 Invoice List (Author developed)

52
53
Figure 39 Online Invoice (Author developed)

Figure 38 Customer List (Author developed)

54
4.4. Coding Implementation of E-Book Management System

Figure 40 Visual Studio ASP.Net MVC Framework (Author Developed)

55
4.4.1. Add Category

Figure 41 Add Category (Author Developed)

4.4.2. Customer Index

Figure 42 Customer Index (Author Developed)

56
4.4.3 Edit Customer

Figure 43 Edit Customer (Author Developed)

57
4.4.4 Dashboard

Figure 44Dashboard (Author developed)

4.4.5 Login Index

Figure 45 Login Index (Author developed)

58
4.4.5. Profile

Figure 46 Profile (Author Developed)

59
4.4.6. User Layout

Figure 47 User Layout (Author Developed)

4.4.7. Order’s Report

Figure 48 Order's Report (Author Developed)

60
4.4.8. User Report

Figure 49 User report (Author Developed

4.4.9. Product Report

Figure 50Product Report (Author developed)

61
4.5. Database
4.5.1 Admin Database

Figure 51 Figure 48 Admin Database (Author developed)

4.5.2 Invoice Database

Figure 52 Invoice Database (Author Developed)

62
4.5.3 Authors and Categories Database

Figure 53 Authors and categories Database (Author Developed)

4.5.4 Books Database

Figure 54 Books Database (Author Developed)

63
5.1. Feasibility Study.
A feasibility study in software engineering is an examination of the viability and likelihood of
success of a suggested software project. It attempts to fairly and logically identify the advantages
and disadvantages of the current company or planned endeavor, the environmental opportunities
and risks, the resources needed to see it through, and, in the end, the likelihood of success. In order
to help stakeholders decide whether the project is sustainable and worthwhile, this research is an
essential part of the software development process. Key components of a feasibility study include
technical feasibility, which assesses whether the organization has the technical resources and
expertise to complete the project, considering technology requirements, software and hardware
needs, and potential technical challenges; economic feasibility, which determines the cost-
effectiveness of the project through budget estimates, cost-benefit analysis, ROI, financial
projections, and funding sources; legal feasibility, which examines if the project complies with
legal and regulatory requirements, such as licensing, intellectual property rights, and data
protection regulations; operational feasibility, which evaluates how well the proposed software fits
within the organization’s operational capabilities, considering organizational structure, staffing
requirements, and impact on existing operations; schedule feasibility, which analyzes the time
frame for project completion and whether it can be achieved within the desired period, considering
project timelines, critical milestones, and potential scheduling conflicts; and market feasibility,
which investigates the demand for the proposed software project, considering market analysis,
target audience, competitive landscape, market trends, and potential barriers to entry. A feasibility
study identifies potential risks and challenges early in the planning process. It also helps with
resource allocation, planning, and allocation of resources effectively. Project viability assesses the
project's overall viability so that investors do not waste their money on unfeasible projects.
Strategic planning helps develop a plan for implementation, monitoring, and completion. Finally,
improved project design offers insights into potential improvements to increase the project's
chances of success. In order to conduct a feasibility study, a preliminary analysis is conducted to
ascertain whether the study is warranted. The scope of the project is defined to outline its

64
objectives, research is conducted to gather data on various factors, the data is analyzed to assess
feasibility, a detailed report with recommendations and conclusions is prepared, and stakeholders
review the report in order to make decisions. To put it briefly, a software engineering feasibility
study is an extensive assessment of a suggested software project to ascertain its viability from a
number of angles, making sure that before allocating resources, stakeholders are fully aware of the
possible advantages, risks, and difficulties. (projectmanager.com, n.d.)

5.1.1. Technical Feasibility


For the design and development of the system, several software products have been
accommodated.

Database design – MySQL

Interface design – MVC framework

Coding – C#

This software’s have the enough efficiency in producing the system. Therefore, the project is
technically feasibility.

5.1.2. Operational Feasibility


Customers and administrators will feel better about the automated book selling system than they
did when it was manual. By minimizing the number of manual recordings, users will receive a
faster service. Employees will also feel more at ease as their workload is reduced. Large databases
are simple to manage. It will be avoided that records be lost.

Considering all these factors we can conclude that all the users and end users will be satisfied by
the system.

5.1.3. Economic Feasibility


The expenses assigned for the software to be developed by the customer are estimated to be
sufficient based on the resources available and the project scheduling procedure. As a result, the
economic factor has been deemed feasible.

65
5.1.4. Schedule Feasibility
The project's duration has been correctly planned, and it is the same as the customer's
expectation. As a result, the product can be delivered to the customer within the promised time
frame, ensuring customer satisfaction. As a result, the project is schedule-able.

66
6.1. Testing
6.1.1. Testing Strategy and Sequence.
Blackbox Testing

Blackbox testing, sometimes referred to as behavioral testing, is a type of software testing in which
the tester evaluates the functionality of a program without being aware of the internal workings or
implementation specifics of the program. With this method, the output is validated against the
expected results based on the inputs and functional requirements that have been provided. To make
sure the program operates as intended, Blackbox testing is done from the viewpoint of the end
user. Important traits include the tester's ignorance of the internal implementation, the testing
process's user-oriented approach, and its emphasis on inputs and outputs. Functional testing
(confirming that software operates in accordance with requirements), non-functional testing
(assessing performance, usability, and reliability), regression testing (making sure new changes
don't affect existing functionalities), and acceptance testing (figuring out if software meets
acceptance criteria) are some examples of Blackbox testing types. Blackbox testing has the
advantage of being objective, efficient in identifying anomalies, easy to create test cases for, and
adaptable to different phases of development. Blackbox testing includes the following steps:
requirement analysis, test design, test execution, test planning, test closure, and defect reporting.
To sum up, Blackbox testing is crucial to software engineering since it focuses on external behavior
to make sure the program satisfies functional requirements and user expectations.
(geeksforgeeks.com, 2024)

White box testing.

White box testing, sometimes referred to as glass box, clear box, or structural testing, is a technique
for software testing that looks at an application's core operations. Its foundation is the examination
of implementation specifics, code structure, and underlying logic. White box testing is concerned
with examining code branching, loops, conditions, and paths of execution. This is in contrast to
black box testing, which is focused on validating the software's functioning without access to its
internal code. To create tests that guarantee comprehensive coverage of the code, this approach

67
necessitates an understanding of the logic, implementation specifics, and internal code structure.
White box testing lowers the cost of correcting flaws and issues in the code by assisting in their
early discovery throughout the development process. It also aids in raising the calibre of the code
by pointing out places that may be refactored or optimized for increased effectiveness and speed.
White box testing is a process that includes code analysis, test planning, test case design, test
execution, code review, and regression testing to make sure that modifications to the code don't
cause new problems. In general, white box testing is essential for enhancing the overall quality
and dependability of software by making sure it operates as intended under various circumstances.
(checkpoint.com, n.d.)

White box testing involves the testing of the software code for the following:

1. Internal security holes

2. Broken or poorly structured paths in the coding processes

3. The flow of specific inputs through the code

4. Expected output

5. The functionality of conditional loops

6. Testing of each statement, object, and function on an individual basis

Manual Testing.

Manual testing is the process of manually looking for errors in software. To ensure proper
behavior, the tester must utilize most of the application's functionalities in the role of an end user.
The tester typically follows a written test plan that leads them through a number of important test
cases in order to ensure complete testing.

68
Unit Testing

Unit testing is a software development methodology that involves analyzing individual and
autonomously the smallest testable components of a program, called units, to ensure appropriate
operation. While it may be done manually as well, automated unit testing is more common.

Integration testing

This is a kind of testing designed to examine how various components are combined, how they
interact, how subsystems come together to form a single system, and whether the code complies
with the specifications. (Collaborative, 2020)

For instance, we see login and sign-up functions in an e-commerce platform as distinct entities.
We check the connection between these two functions if we examine the user's ability to log in or
sign up after adding products to their basket and wanting to advance to the checkout.

The team employs previously tested individual component tests for integration testing. These units
are grouped into sets by a QA team, which then verifies them in line with the test strategy.

Integration testing is done using the black box method. With this approach, a testing team uses the
user interface to interact with an application and its units; they can click on buttons and links,
scroll, swipe, and perform other actions. They are not required to know how to code or to be aware
of the component backends.

System Testing

System testing is a kind of software testing that is carried out on a whole integrated system to
assess how well the system complies with the relevant specifications. (Doijode and An, 2019)

Components that pass integration testing are used as input in system testing. Finding any
irregularities between the integrated parts is the aim of integration testing. The outcome of system
testing is the observed behavior of a component or a system when it is tested. System testing finds
flaws in both the integrated parts and the entire system.

69
System testing is carried out on the complete system, either in compliance with functional
requirement specifications, system requirement requirements, or both. System testing looks at the
behavior and design of the system along with the expectations of the user. It is done in order to
test the system beyond what is specified in the software requirements specification (SRS).

In order to objectively assess the system's quality, a testing team that is separate from the
development team conducts system testing. Both functional and non-functional testing are
included.

6.2. Test Cases


6.2.1. User
6.2.1.1. Registration

Table 2 Registration test cases (author developed)

ID Test Case User Input Pass Criteria

01 User Registration User enters different Display message that


password in password password and
confirm field confirm password
fields don’t match

User Registration User forget to enter a Display message the


particular required field value in field is
02
required

70
User Registration User enters all the details User account created
successfully
03

6.2.1.2. Login
Table 3 Login Test cases (author developed)

ID Test Case User Input Pass Criteria

01 User Login User enters a wrong Display message


username login or password is
incorrect

User Login User enters a wrong Display message


password login or password is
02
incorrect

User Login User enters correct User logs in


username and password successfully
03

71
6.2.1.3. Add to cart
Table 4 Add to cart Test cases (author developed)

ID Test Cases User input Pass Criteria

User selects a book and Book is added to the


clicks add to cart button cart
01 Add to cart

Add to cart Guest selects a book and User should create an


clicks add to cart button account
02

6.2.1.3. Edit cart


Table 5 Edit cart Test cases (author developed)

ID Test Case User Input Pass Criteria

Quantity and total cost


of cart should be
01 Edit Cart User changes the quantity
updated

02 Edit Cart User deletes a book from Books and total cost
cart of cart should be
updated

72
03 Edit Cart User selects new book to Books and total cost
cart of cart should be
updated

6.2.2. Admin
6.2.2.1.Create and Delete a Book from Category
Table 6 Create and Delete a Book from Category Test cases (author developed)

ID Test Cases User input Pass Criteria

01 Create and Delete a Book Admin adds a new book to Book should be
from Category category updated in categories
list

Create and Delete a Book Admin deletes a book from Book should be
from Category category deleted in categories
02
list

73
6.2.2.2. Create and Delete a Category
Table 7 Create and Delete a Category Test cases (author developed)

ID Test Cases User input Pass Criteria

01 Create and Delete a Admin adds a new Category should be


Category category updated to the system

02 Create and Delete a Admin deletes a category Category should be


Category deleted from the
system

74
6.2.2.3. Manage Members
Table 8 Manage Members Test cases (author developed)

ID Test Cases User input Pass Criteria

01 Manage Members Admin accepts members Member is accepted

02 Manage Members Admin deletes members Member is not


accepted anymore

75
6.2.1.4. Manage Orders
Table 9 Manage Orders Test cases (author developed)

ID Test Cases User input Pass Criteria

01 Manage Orders Admin accepts an order Order is processed

02 Manage Orders Admin deletes an order Order is not


processed

76
7.1. Conclusion.

The goal of e-book (PVT)Ltd's book selling automation system is to replace the laborious and
ineffective process of finding, reserving, and buying high-quality reading materials from the shop.
Currently, customers waste labour and resources by having to go through a drawn-out process to
do the aforementioned tasks. With our automated book shop system, finding, reserving, and buying
books are made easy. User information is verified and authenticated against information stored in
the system database. The time-consuming, ineffectual, and inefficient parts of the current system
that waste a lot of a business's resources—such as electricity, equipment, goods, and services—
will all be addressed by the newly developed procedures.

The suggested strategy will be advantageous to both the store and its patrons in many respects.
The benefits must be assessed and identified since they will directly affect the store's output. In
any kind of product and service delivery store, customer happiness is crucial because a business's
ability to survive depends entirely on its clientele. Therefore, every system ought to contribute to
consumer satisfaction to the degree that it is commercially feasible.

Maintaining current customers, building customer faith in the company through safe transaction
procedures, and encouraging current customers to make further plans to serve a wider spectrum of
customers are all ways to guarantee customer satisfaction.

Technical facilities are growing quickly, thus the suggested strategy will help boost output
significantly.

77
References
.geeksforgeeks.com. (2024, 04 16). Retrieved from .geeksforgeeks:
https://www.geeksforgeeks.org/mvc-framework-introduction/

Awati, R. (n.d.). techtarget. Retrieved from techtarget.com:


https://www.techtarget.com/searchsoftwarequality/definition/requirements-analysis

checkpoint.com. (n.d.). Retrieved from checkpoint: https://www.checkpoint.com/cyber-


hub/cyber-security/what-is-white-box-testing/

geeksforgeeks.com. (2024, 05 20). Retrieved from geeksforgeeks.com:


https://www.geeksforgeeks.org/introduction-to-net-framework/

geeksforgeeks.com. (2024, 05 16). Retrieved from geeksforgeeks:


https://www.geeksforgeeks.org/software-engineering-black-box-testing/

javatpoint.com. (n.d.). Retrieved from javatpoint: https://www.javatpoint.com/asp-net-mvc

projectmanager.com. (n.d.). Retrieved from projectmanager:


https://www.projectmanager.com/training/how-to-conduct-a-feasibility-study

Stedman, C. (n.d.). techtarget.com. Retrieved from techtarget.com:


https://www.techtarget.com/searchdatamanagement/definition/SQL-Server

78
79

You might also like