WDD Assignment
WDD Assignment
W. K. C. Madhushanka
1
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Table of Contents
Acknowledgement.....................................................................................................................1
Table of figures..........................................................................................................................5
Task 01.......................................................................................................................................6
Introduction to protocols........................................................................................................6
Communication protocols......................................................................................................6
Definition of a Server...........................................................................................................11
Types of Servers..................................................................................................................12
Server Hardware..................................................................................................................17
Linux Server.........................................................................................................................23
Unix Server..........................................................................................................................25
Windows Server...................................................................................................................27
2
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Mac OS Server.....................................................................................................................28
Web Server...........................................................................................................................29
Importance of DNS..............................................................................................................35
Task 02.....................................................................................................................................42
Front-end..............................................................................................................................42
Back-end..............................................................................................................................43
Presentation Layer...............................................................................................................46
Application Layer................................................................................................................47
3
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Disadvantages of Online Website Creation Tools...............................................................52
Task 03.....................................................................................................................................57
System Purpose....................................................................................................................59
Technologies used................................................................................................................61
Requirements.......................................................................................................................62
ERD......................................................................................................................................66
DFD......................................................................................................................................67
Wireframes...........................................................................................................................69
Code Snippets......................................................................................................................80
Database Tables...................................................................................................................85
Activity 04...............................................................................................................................87
Test Plan...............................................................................................................................87
References................................................................................................................................96
4
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Table of figures
Figure 1 Tower Server.............................................................................................................14
Figure 2 Rack Server...............................................................................................................15
Figure 3 Blade Servers.............................................................................................................15
Figure 4 Micro Servers............................................................................................................16
Figure 5 Mainframes................................................................................................................16
Figure 6 NAS...........................................................................................................................17
Figure 7 ERD for the database.................................................................................................66
Figure 8 DFD for the system...................................................................................................67
Figure 9 User Case Diagram....................................................................................................68
Figure 10 Index........................................................................................................................69
Figure 11 About.......................................................................................................................70
Figure 12 Contact.....................................................................................................................71
Figure 13 Login........................................................................................................................72
Figure 14 Patient......................................................................................................................73
Figure 15 Payment...................................................................................................................74
Figure 16 Interface 01.............................................................................................................75
Figure 17 Interface 02..............................................................................................................76
Figure 18 Contact Us...............................................................................................................76
Figure 19 Admin Dashboard....................................................................................................77
Figure 20 Staff Management...................................................................................................77
Figure 21 Room Management.................................................................................................78
Figure 22 Surgery Management...............................................................................................78
Figure 23 Patient Management................................................................................................79
Figure 24 Payment Management.............................................................................................79
Figure 25 Index.php.................................................................................................................80
Figure 26 About us.php............................................................................................................80
Figure 27 Contact Us.php........................................................................................................81
Figure 28 Login.php.................................................................................................................81
Figure 29 Admin.php...............................................................................................................82
Figure 30 Staff Management.php............................................................................................82
Figure 31 Room Manahement.php..........................................................................................83
Figure 32 Surgery Management.php........................................................................................83
Figure 33 Patient Management.php.........................................................................................84
Figure 34 payment.php............................................................................................................84
Figure 35 Database Structure...................................................................................................85
Figure 36 PHP Code 01...........................................................................................................85
Figure 37 PHP 02.....................................................................................................................86
5
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Task 01
1.1 Explain and differentiate the different web technologies such as communication
protocols, server hardware, operating systems and web server software with regards
to designing, publishing and accessing the Hospital Management System (HMS).
Introduction to protocols
Protocols are sets of rules and standards that define how data is transmitted and received
between devices in a network. They are essential for ensuring that different devices and
systems can communicate with each other efficiently and effectively. Protocols establish a
common language for devices to communicate, allowing them to exchange data in a
consistent and reliable way. There are many different types of protocols, each designed for
specific purposes and applications, such as web browsing, email, file sharing, and video
streaming. Standardized protocols ensure that devices from different manufacturers can
communicate with each other seamlessly, regardless of the underlying technology or
platform. Protocols are the backbone of modern computing and are essential for the smooth
operation of networked systems.
Communication protocols
Communication protocols are the rules and standards that govern the exchange of
information between two or more devices on a network. Communication, on the other hand,
refers to the act of exchanging information between two or more individuals or devices. In
the context of computer networks, communication protocols are essential for enabling
devices to communicate with each other. They define how data is transmitted, received, and
processed, ensuring that information is understood by both the sender and the receiver.
Without communication protocols, devices would not be able to communicate effectively,
leading to errors and inconsistencies in data transmission.
6
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
transmitted and received reliably and efficiently, regardless of the underlying hardware or
software. The use of standardized protocols also enables interoperability between devices
from different manufacturers, which is critical for the smooth operation of modern
networks.
7
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Different types of communication protocols
Hypertext Transfer Protocol (HTTP)
HTTP (Hypertext Transfer Protocol) is a protocol that enables communication between web
servers and clients, such as web browsers. It is the foundation of the World Wide Web and
is used to transmit data over the internet. HTTP is a client-server protocol, which means
that it allows for the exchange of information between two entities: a client and a server.
The client sends a request to the server, and the server responds with the requested
information. This communication is facilitated through the use of messages, which are sent
back and forth between the client and the server (Cloudfare, 2023).
HTTP messages consist of two parts: a header and a body. The header contains information
about the message, such as the type of request or response, while the body contains the
actual data being transmitted. The most common types of HTTP requests are GET, POST,
PUT, and DELETE, which allow clients to retrieve, create, update, or delete data on a
server.
HTTP is a stateless protocol, which means that it does not retain information about previous
requests. This can lead to inefficiencies when multiple requests are made to the same
server, as each request must be processed independently. To address this issue, web
developers use cookies or other mechanisms to maintain state information (Cloudfare,
2023).
HTTP has evolved over time, with the latest version being HTTP/2.0, which offers
improved performance and security features. Additionally, HTTPS (HTTP Secure) is a
variant of HTTP that uses encryption to protect data in transit, making it more secure than
regular HTTP.
In summary, HTTP is a protocol that allows for the exchange of information between web
servers and clients. It is based on messages, which contain headers and bodies, and supports
different types of requests and responses. HTTP is a stateless protocol, but web developers
use cookies or other mechanisms to maintain state information (Cloudfare, 2023).
8
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Transmission Control Protocol (TCP)
TCP (Transmission Control Protocol) is a transport layer protocol that provides reliable,
ordered, and error-checked delivery of data between applications running on different hosts.
TCP is one of the most commonly used protocols on the internet, and is a key component of
many applications, including web browsing, email, file transfer, and streaming media. TCP
uses a connection-oriented approach to data transmission, which means that a connection is
established between the sender and receiver before data is transmitted. This connection is
maintained until all the data has been transmitted and is closed after the transmission is
complete. TCP segments the data into packets, which are then sent over the internet in a
series of packets. Each packet is given a sequence number, and the receiver acknowledges
receipt of each packet. If a packet is lost or damaged in transit, the receiver sends a request
to the sender to retransmit the missing or damaged packet.
TCP also includes flow control and congestion control mechanisms, which help to ensure
that data is transmitted efficiently and without overwhelming the network. Flow control
regulates the rate at which data is transmitted, while congestion control regulates the
amount of data that can be sent over the network at any given time.
UDP is often used in applications that require real-time data transfer, such as online
gaming, streaming video, and VoIP (Voice over Internet Protocol). These applications
require fast data transfer, and they can tolerate some data loss or delay without affecting the
9
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
user experience. One of the benefits of UDP is its simplicity, which makes it easier to
implement in networked systems. It also has a smaller overhead than TCP, which makes it
more efficient for transmitting small packets of data.
In summary, File Transfer Protocol (FTP) is a protocol used for transferring files between
computers over a network. It supports various file types and allows users to perform file
operations on the server. FTP has security vulnerabilities that are addressed by more secure
protocols such as SFTP and FTPS.
SMTP uses a set of commands to transfer email messages between servers. These
commands include:
SMTP also includes a set of error codes and responses to indicate whether an email message
was successfully delivered or encountered an error during transmission. SMTP is often used
in conjunction with other protocols, such as POP3 (Post Office Protocol version 3) and
IMAP (Internet Message Access Protocol), which are used for retrieving email messages
from a server.
Definition of a Server
A server is a computer program or a device that provides services or resources to other
computers, devices, or clients on a network. It typically refers to a computer system that is
dedicated to managing and storing data, managing network connections, or providing
access to software applications or services. A server can provide various types of services,
such as file sharing, web hosting, email hosting, database management, and network
management. Servers can be physical devices or virtual machines running on a host system.
Servers are designed to handle a large number of requests and provide efficient and reliable
performance to clients on the network. They typically have more processing power,
memory, and storage capacity than client computers and are optimized for high availability
and uptime.
11
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
In client-server architectures, client devices such as laptops, desktops, smartphones, or
tablets send requests to the server for data or services, which the server provides in
response. Servers can be managed by system administrators, who are responsible for
ensuring their security, performance, and availability.
Types of Servers
Web Server
A web server's principal function is to store, process, and transmit websites to clients such
as web browsers and search engine crawlers. The Hypertext Transfer Protocol (HTTP) or
its encrypted counterpart, HTTPS, is used for communication between the server (software)
and the clients. HTML documents and the contents included inside them, such as photos,
style sheets, or scripts, are transported in this manner. The Apache HTTP server, Microsoft
Internet Information Services (IIS), and Nginx are all popular web servers (IONOS, 2023).
File Server
File servers manage the central storage of data that is available to a variety of clients over a
network. Companies rely on this file management to allow access to the same file to
numerous workgroups. File servers defend against difficulties caused by different local file
versions by providing automated file versioning and centralized backup of all company
data. Transmission methods such as FTP (File Transfer Protocol), SFTP (Secure File
12
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Transfer Protocol), FTPS (FTP over SSL), or SCP (Secure Copy) are used when accessing
the file server through the internet. SMB (Server Message Block) and NFS (Network File
System) protocols are used in local computer networks (LAN) (IONOS, 2023).
Mail Server
A mail server is made up of various software modules that work together to send, receive,
forward, and recover emails. This is commonly handled by the Simple Mail Transfer
Protocol (SMTP). To access a mail server, users must use an e-mail client to gather
messages from the server and deliver them to their inbox. IMAP (Internet Message Access
Protocol) or POP (Post Office Protocol) are used for this (IONOS, 2023).
Database Server
A database server is a type of server that is dedicated to managing and storing databases. It
is specifically designed to handle the high demands of database applications and provides
access to data for clients and other servers over a network. The database server can be a
physical or virtual machine, and it runs software that enables it to store, manage, and
retrieve data efficiently. This software is known as a database management system
(DBMS), and it provides a variety of functions, including data storage, retrieval, indexing,
querying, and backup and recovery (IONOS, 2023).
DNS Server
A DNS server, or Domain Name System server, is a type of server that translates domain
names into IP addresses. DNS is essentially the phone book of the internet, where domain
names are mapped to their corresponding IP addresses (IONOS, 2023).
13
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
When a user types a domain name into their web browser, the browser sends a request to
the DNS server to look up the IP address associated with that domain name. The DNS
server then returns the IP address to the browser, allowing it to establish a connection to the
server hosting the website or service associated with that domain name. DNS servers can be
configured in a variety of ways, including as authoritative servers, caching servers, and
recursive servers. Authoritative servers are responsible for providing the actual IP addresses
associated with domain names. Caching servers, on the other hand, store frequently
accessed IP addresses to speed up the lookup process. Recursive servers combine the
functions of authoritative and caching servers, providing a full range of DNS services.
DNS servers can be run on a variety of hardware platforms, including dedicated servers,
virtual machines, and cloud-based platforms. Some popular DNS server software options
include BIND, PowerDNS, and Unbound (IONOS, 2023).
DNS servers are a critical component of the internet infrastructure, enabling users to access
websites and services using domain names instead of IP addresses. They are used by
individuals, businesses, and organizations of all sizes and are essential for the proper
functioning of the internet (IONOS, 2023).
14
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Rack Servers
These servers are designed to be mounted in standard 19-inch racks and are commonly used
in data centers. They are designed to be highly scalable and can be configured with a variety
of hardware components, including processors, memory, storage, and networking interfaces
(Types.blog, 2022).
Blade Servers
These servers are designed to be densely packed into a single rack enclosure, providing high
density and scalability. They are typically more expensive than rack servers but provide
higher performance and lower power consumption (Types.blog, 2022).
15
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Micro servers
These servers are designed for low-power, low-cost, and lightweight computing
applications and are commonly used in web hosting, cloud computing, and small business
environments. They typically use low-power processors and have limited expansion
capabilities (Types.blog, 2022).
Mainframes
These servers are designed for high-volume, mission-critical applications and typically
require specialized hardware and software. They are highly scalable and can support
thousands of users and applications simultaneously (Types.blog, 2022).
16
W.K. Chathura Madhushanka Figure 5 Mainframes
Unit 10: WDD ID: PG68678
Network-Attached Storage (NAS) Servers
These servers are designed to provide file-level data storage services to other devices on a
network. They typically use specialized software and hardware components to provide
high-speed file transfers and data access (Types.blog, 2022).
Figure 6 NAS
Server Hardware
CPU
Given its function in running programs and processing data, the CPU is an essential
component to examine. Some servers operate several CPUs, generally one processor per
socket. Others employ a single CPU with many cores to facilitate multiprocessing. Given
these options, purchasers should examine the number of cores available on a processor,
CPU clock speed, available cache, and the number of sockets (Moore, 2020).
Since vendors provide a variety of product alternatives, the IT buyer's task becomes
determining the server hardware configuration that best matches a certain scenario. Cloud
infrastructure operating in a data center, for example, may do a range of general-purpose
computing activities on a 0.5U single-CPU server or a 1U dual-CPU server. The relatively
tiny 1U unit may be a viable choice because it can easily fit 16 cores using standard data
center cooling technologies (Moore, 2020).
17
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Memory
Server RAM is crucial for getting the most out of a system. The more accessible memory a
company has, the better its workloads are likely to perform. Memory speed and quality are
two further aspects that influence performance. Server characteristics that improve
dependability should also be considered by IT purchasers. These include fault-tolerance and
error-correcting coding (Moore, 2020).
Storage
The storage requirements of a server will vary depending on the intended applications and
workloads: a database server will have different requirements than one running a web
application. An IT buyer must investigate server technology to ensure that it satisfies the
organization's storage needs. Most server suppliers support SSDs and conventional hard
drive technologies for flash storage. Buyers should verify with suppliers to validate the
drive types and technologies they support, which may include Serial-Attached SCSI, Serial
Advanced Technology Attachment, and non-volatile memory express (NVMe). The
anticipated server workload will decide which technology is required. For example, a
company working with massive databases and unstructured data would almost always need
local instance drives, such as NVMe PCI Express devices (Moore, 2020).
Reliability
Server hardware is designed to be more reliable than client computer hardware. Servers
often have redundant components, such as power supplies, hard drives, and network
adapters, to ensure that if one component fails, the server can continue to function without
interruption.
Scalability
Server hardware is designed to be scalable, meaning that it can be easily upgraded or
expanded as needed. This allows organizations to increase their capacity as their needs
grow.
18
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Connectivity
Servers typically have multiple network interfaces to provide connectivity to different
networks, as well as more advanced network features, such as load balancing,
virtualization, and clustering.
Memory (RAM)
Random access memory (RAM) is used to temporarily store data and instructions that are
currently in use by the CPU. RAM is faster than storage devices such as hard disk drives
(HDDs) or solid-state drives (SSDs), but its contents are lost when the computer is turned
19
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
off. RAM capacity ranges from a few gigabytes (GB) to several hundred GB, and higher-
capacity RAM is useful for running memory-intensive applications such as video editing or
gaming.
Storage
Client computers typically have one or more internal storage devices for storing the
computer's operating system, software applications, and user data. Traditional hard disk
drives (HDDs) use spinning disks to store data magnetically, while solid-state drives
(SSDs) use flash memory to store data more quickly and reliably. HDDs are still popular
due to their lower cost per GB, while SSDs offer faster read and write speeds and are less
prone to physical damage.
Display
A monitor or display is used to display visual information on the computer, including text,
images, and video. Monitors come in a range of sizes and resolutions, with popular options
including 1080p and 4K displays. In addition to traditional monitors, touchscreens are also
available, which can provide a more interactive user experience for certain applications.
Input Devices
Input devices are used to enter data into the computer and include the keyboard and mouse.
A keyboard provides a set of keys for entering text and commands, while a mouse allows
for navigation and selection on the screen. Other input devices include touchpads,
trackballs, and stylus pens, which are commonly used with touchscreen displays.
Graphics card
A dedicated graphics card is used to improve the performance of graphics-intensive
applications, such as gaming or video editing. Graphics cards are responsible for rendering
images and video on the computer's display and can range in performance from entry-level
models to high-end gaming or professional-grade cards.
20
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Audio
Client computers have audio output devices, such as speakers or headphones, and an audio
input device, such as a microphone. High-quality audio is important for multimedia
applications such as gaming, streaming video or music, or voice communication.
Reliability
Server hardware is designed for high reliability and is expected to run continuously for long
periods of time without failure. This is achieved through the use of redundant power
supplies, fans, and other components, as well as failover mechanisms that ensure that if one
component fails, another one takes over automatically. Client computer hardware is
designed for individual use and is typically not as reliable as server hardware.
Scalability
Server hardware is designed to be easily scalable, meaning that additional hardware can be
added to increase its capacity or performance. This is achieved through modular designs
that allow additional components to be added, such as additional processors or memory
modules. In contrast, client computer hardware is typically not designed for easy scalability
and is often limited in its upgrade options.
Management
Server hardware is designed to be managed remotely, meaning that system administrators
can monitor and control the server from a central location. This is achieved through built-in
21
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
management interfaces such as IPMI (Intelligent Platform Management Interface) and
remote console access. Client computer hardware, on the other hand, is typically not
designed for remote management and is usually managed by the individual user.
Power consumption
Server hardware is designed to be energy-efficient and often includes features such as
power management and low-power modes. This is because servers are typically run
continuously and consume a significant amount of power. Client computer hardware, on the
other hand, is designed for individual use and is often not optimized for energy efficiency.
Form factor
Server hardware is typically designed to be rack-mounted, meaning that multiple servers
can be stacked in a single cabinet. This allows for efficient use of space and easy
management of multiple servers. Client computer hardware, on the other hand, is typically
designed to be desktop or laptop form factor.
Overall, server hardware and client computer hardware have distinct differences in their
performance, reliability, scalability, management, power consumption, and form factor.
Server hardware is optimized for high-performance applications, high reliability, and
scalability, while client computer hardware is designed for general-purpose computing and
individual use.
22
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Server Operating System
A server operating system (OS) is a type of operating system intended for installation and
operation on a server computer. It is a more sophisticated operating system with features
and capabilities necessary in a client-server architecture or other corporate computing
environment, The following are a few major examples of server operating systems,
Linux Server
Linux server is a type of server operating system based on the Linux kernel. Linux is an
open-source operating system that is widely used for servers due to its reliability, security,
and flexibility. There are many different distributions, or "distros", of Linux available, each
with its own unique features and capabilities. Some of the key features of Linux server
include,
Stability
23
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Linux is known for its stability and reliability, which makes it a popular choice for mission-
critical applications.
Security
Linux is inherently more secure than other operating systems due to its open-source nature,
which allows for frequent updates and patches.
Flexibility
Linux can be easily customized and configured to meet the specific needs of an
organization or environment.
Scalability
Linux is highly scalable, which means it can be easily adapted to support large-scale
deployments and high-traffic websites.
Command-line interface
Linux servers are typically managed using a command-line interface, which provides a high
degree of control and flexibility.
Open-source software
Linux is built on open-source software, which means there is a large ecosystem of free and
open-source software available for Linux servers.
Ubuntu Server
A popular distribution that is known for its ease of use and extensive documentation.
24
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Red Hat Enterprise Linux
A commercial distribution that is widely used in enterprise environments.
CentOS
A free, community-supported distribution that is based on Red Hat Enterprise Linux.
Debian
A stable and reliable distribution that is known for its robust package management system.
Overall, Linux server is a powerful and versatile platform that is widely used in a wide
range of environments, from small businesses to large-scale enterprise deployments. Its
flexibility, scalability, and security make it an attractive choice for organizations of all
sizes.
Unix Server
UNIX is a family of operating systems that share a common heritage and architecture.
UNIX servers are known for their stability, security, and performance, and are widely used
in enterprise environments. Some of the key features of UNIX server include,
Stability
UNIX is known for its stability and reliability, which makes it a popular choice for mission-
critical applications.
Security
UNIX is inherently more secure than other operating systems due to its strong permissions
system and built-in security features.
25
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Scalability
UNIX is highly scalable, which means it can be easily adapted to support large-scale
deployments and high-traffic websites.
Compatibility
UNIX is highly compatible with a wide range of hardware and software, which makes it a
popular choice for organizations with diverse IT environments.
Command-line interface
UNIX servers are typically managed using a command-line interface, which provides a high
degree of control and flexibility.
Solaris
A commercial distribution developed by Oracle that is widely used in enterprise
environments.
IBM AIX
A commercial distribution developed by IBM that is known for its scalability and
reliability.
HP-UX
26
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
A commercial distribution developed by Hewlett-Packard that is known for its performance
and security.
BSD
A family of free and open-source UNIX-like operating systems that are widely used in
academic and research environments.
Overall, UNIX server is a powerful and reliable platform that is well-suited for mission-
critical applications and high-traffic websites. Its stability, security, and performance make
it an attractive choice for organizations of all sizes. However, it is worth noting that UNIX
systems can be more complex to manage than other operating systems, which may require
additional training and expertise.
Windows Server
Windows Server is a server operating system developed by Microsoft, based on the
Windows NT architecture. It is designed to provide a robust and reliable platform for
running applications, services, and other resources in a networked environment.
Some of the key features of Windows Server include,
Active Directory
A directory service that provides centralized authentication and authorization for users,
computers, and other network resources.
27
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
DNS and DHCP
Services that provide name resolution and automatic IP address assignment for client
computers on the network.
Hyper-V
A virtualization platform developed by Microsoft that allows multiple virtual machines to
run on a single physical server.
Windows PowerShell
a command-line interface and scripting language that allows administrators to automate
tasks and manage servers more efficiently.
Mac OS Server
macOS Server is a server operating system developed by Apple, based on the macOS
operating system. It is designed to provide a powerful and easy-to-use platform for
managing and deploying a wide range of services and resources in a networked
environment. macOS Server includes a range of built-in features and capabilities, including
file sharing, printer sharing, profile management, VPN, backup, web and wiki hosting, and
Xcode server. These features are designed to help businesses and organizations of all sizes
manage their networks and resources more efficiently and securely. One of the key
28
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
advantages of macOS Server is its tight integration with other Apple products and services.
This makes it a popular choice for Mac-based networks and environments, where users can
take advantage of features such as iCloud integration, Time Machine backup, and Apple
Remote Desktop.
MacOS Server is easy to set up and configure, with a simple and intuitive interface that
allows administrators to manage their servers and services with ease. It is also highly
scalable, making it suitable for organizations of all sizes.
Web Server
A web server is software and hardware that responds to client requests over the World Wide
Web using HTTP (Hypertext Transfer Protocol) and other protocols. A web server's
primary function is to show website content by storing, processing, and distributing
webpages to users. Web servers, in addition to HTTP, support SMTP (Simple Mail
transmission Protocol) and FTP (File Transfer Protocol), which are used for email, file
transmission, and storage (Gillis, 2020).
Web server hardware connects to the internet and exchanges data with other connected
devices, whereas web server software regulates how a user accesses hosted content. The
client/server concept is shown via the web server operation. Web server software is
required on all machines that host websites (Gillis, 2020).
29
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Dynamic and static web servers
A web server and associated applications, such as an application server and database, will
be included with dynamic web browsers. Because the application server may be used to
update any hosted files before they are transmitted to a browser, it is termed dynamic.
When material is requested from the database, the web server can produce it. While this
technique is more adaptable, it is also more complex (Gillis, 2020).
30
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Popular Web Servers available
Apache Web Server
Apache HTTP Server is a popular and widely used free and open-source web server
software that runs on multiple operating systems, including Windows, Linux, and macOS.
It was first released in 1995 and is now maintained by the Apache Software Foundation.
The software is designed to serve web content over the internet and includes a range of
features such as high performance and scalability, modularity, security features such as
SSL/TLS encryption and access control, and logging and monitoring capabilities. Apache
HTTP Server is highly customizable and can be extended through a wide range of modules
and plugins to add additional functionality and features. Its open-source nature means that it
can be used, modified, and distributed without licensing fees or restrictions, making it a
popular choice for businesses and organizations of all sizes (Gillis, 2020).
31
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Nginx
Nginx (pronounced "engine-x") is a free and open-source web server software that is
designed to serve web content over the internet. It was first released in 2004 and has since
gained popularity due to its high performance and scalability, particularly in serving static
content and handling a large number of concurrent connections. Nginx can also be used as a
reverse proxy, load balancer, and HTTP cache, and is known for its modular architecture
that allows for easy customization and extension. Other features of Nginx include support
for SSL/TLS encryption, IPv6, and WebSockets, as well as advanced logging and
monitoring capabilities. Nginx is widely used by businesses and organizations of all sizes,
and is often preferred for its reliability, speed, and versatility (Gillis, 2020).
Lighttpd
Lighttpd is a free and open-source web server software that is designed to serve web content
over the internet. It was first released in 2003 and is known for its high performance, low
memory footprint, and scalability. Lighttpd is particularly suited for serving static content,
but can also handle dynamic content using FastCGI, SCGI, or CGI interfaces. It supports
various features such as URL rewriting, SSL/TLS encryption, IPv6, and server-side
scripting, and can be extended using plugins. Lighttpd is often preferred for its simplicity,
speed, and resource efficiency, and is commonly used by businesses and organizations of
all sizes (Gillis, 2020).
Sun Java System Web Server
Sun Java System Web Server (previously known as Sun ONE Web Server) is a web server
software developed by Sun Microsystems (now Oracle Corporation) that is used to serve
web content over the internet. It supports various features such as HTTP, HTTPS, CGI, and
Servlets/JSP, and can be used with multiple operating systems, including Windows, Linux,
and Solaris. Sun Java System Web Server is known for its scalability and performance, and
includes advanced features such as load balancing, high availability, and clustering. It also
includes security features such as SSL/TLS encryption, access control, and logging and
monitoring capabilities. Sun Java System Web Server is often used in enterprise
environments due to its reliability, security, and support for Java technologies (Gillis,
2020).
32
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
1.2 Identify and define the types of DNS and the uses of it, with clarifications on how
domain names are structured. Review the effect of search engines on website
performance. Provide evidence-based support for improving a site’s index value and
rank of the Hospital Management System (HMS) through search engine optimization.
33
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
The DNS system is comprised of a global network of servers that store and maintain
records of domain names and their corresponding IP addresses. When a user types in a
domain name, their computer sends a request to a DNS server to look up the corresponding
IP address. The DNS server then responds with the IP address, allowing the user's computer
to establish a connection with the intended website or service. DNS plays a critical role in
ensuring that internet services are accessible to users. It allows users to type in a human-
readable domain name, such as google.com or facebook.com, instead of having to
remember the numerical IP address associated with the site (Comer, 2009).
In technical terms, DNS is a distributed database system that uses a hierarchical naming
structure. The DNS system is organized into domains, which are managed by a variety of
organizations, including domain registrars and internet service providers.
Overall, DNS is a crucial component of the internet infrastructure and is essential for the
smooth operation of online services and communication. (Comer, 2009)
When a user enters a domain name into their web browser, the browser first checks its own
cache to see if it has the corresponding IP address stored locally. If not, the browser sends a
request to a DNS resolver, typically operated by the user's internet service provider (ISP) or
a third-party provider (Kurose & Ross, 2017).
The DNS resolver then sends a request to one or more authoritative DNS servers, which are
responsible for maintaining information about the domain name and its corresponding IP
address. If the authoritative DNS server has the requested information, it returns the IP
address to the resolver, which in turn returns it to the user's web browser. The browser can
then use the IP address to establish a connection with the web server hosting the requested
resource. If the authoritative DNS server does not have the requested information, it may
34
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
forward the request to another DNS server higher up in the hierarchy, until the information
is found or until the top-level DNS servers are reached. The DNS hierarchy is structured in
a tree-like fashion, with top-level domains (such as .com, .org, .edu, etc.) at the root of the
tree, and subdomains branching out from there (Kurose & Ross, 2017).
DNS operates using a combination of different protocols, including the User Datagram
Protocol (UDP) and the Transmission Control Protocol (TCP), as well as various DNS-
specific protocols such as DNS Query and DNS Response. The system is highly scalable
and distributed, with millions of DNS servers located all over the world, providing
redundancy and fault tolerance (Kurose & Ross, 2017).
Importance of DNS
DNS (Domain Name System) is important because it serves as the backbone of the Internet,
enabling users to access websites, applications, and other services using human-readable
domain names rather than numerical IP addresses. DNS plays a critical role in translating
domain names to IP addresses and directing traffic to the correct server.
35
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
DNS can also provide redundancy by allowing multiple servers to have the same domain
name. If one server fails, DNS can automatically redirect traffic to another server with the
same domain name, ensuring that the service remains available.
Security
DNS can be used for security purposes, such as blocking access to known malicious
websites or redirecting users to a secure website using HTTPS.
Without DNS, users would have to memorize the IP addresses of websites and other
Internet services they wish to access, which would be both impractical and challenging.
DNS makes it possible for users to access Internet services quickly and easily, without
having to remember complicated numerical addresses. DNS also enables load balancing,
redundancy, and security features. By allowing multiple servers to have the same domain
name, DNS can distribute traffic across multiple servers, improving performance and
reliability. If one server fails, DNS can automatically redirect traffic to another server with
the same domain name, ensuring that the service remains available. Additionally, DNS can
be used for security purposes, such as blocking access to known malicious websites or
redirecting users to a secure website using HTTPS.
In summary, DNS is a critical component of the Internet infrastructure that enables users to
access websites and other Internet services quickly and easily. Its importance cannot be
overstated, and any disruption to DNS services can have a significant impact on Internet
users and businesses.
36
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
These domain names are not specific to a particular country or territory and include
extensions like .com, .org, .net, .info, and .biz. There are also newer gTLDs that have been
introduced in recent years, such as. shop, .blog, and .app.
In addition to providing a unique web address, SLDs can also help to improve a website's
search engine optimization (SEO) by including relevant keywords or phrases that describe
the website's content or purpose.
SLDs can be registered through a domain registrar or hosting provider and are subject to
availability. It's important to choose an SLD that accurately reflects your brand or
organization and is easy for your audience to remember and type into a web browser.
37
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Third-level domains are used to create subdomains or subdirectories that are associated with
the main domain or SLD. They are often used to organize content within a website or to
create unique sections or pages that have a different purpose or audience than the main
website.
For example, a business might use a third-level domain to create a blog that is separate from
the main website, with the address "blog.example.com". Alternatively, a university might
use a third-level domain to create a departmental website, with the address
"history.university.edu".
Third-level domains are subject to the same availability and registration requirements as
SLDs and can be registered through a domain registrar or hosting provider. They are a
useful tool for organizing website content and creating a unique web address that reflects
the purpose or identity of a particular section or page within a website.
39
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
The highest level of the ccTLD system is the TLD, which is the two-letter country code
assigned to each country or region. Examples of ccTLDs include .us for the United
States, .uk for the United Kingdom, and .cn for China.
Below the TLD is the SLD, which comes immediately before the TLD and is the most
recognizable part of the domain name. Examples of SLDs include "Arogyahospital" in
"www.Arogyahospital.com.us", "Arogyahospital" in "www.Arogyahospital.co.uk", and
"Arogya" in "www.arogya.cn". SLDs are chosen by the owner of the website and can be
used to create a memorable and easily recognizable domain name that represents the
website's brand or identity.
Finally, below the SLD is the subdomain, which can be used to create additional sections or
pages within the website. Subdomains can be used for a variety of purposes, such as
creating language-specific versions of a website or organizing content by topic or audience.
For example, a business might use a subdomain to create a customer support portal, with
the address "support.example.com.us".
The organization and management of ccTLDs are overseen by the Internet Assigned
Numbers Authority (IANA), which is responsible for coordinating the allocation of domain
names and IP addresses across the internet. IANA works with national registries and
registrars to manage the distribution and registration of ccTLDs.
Overall, the hierarchical system of ccTLDs provides a standardized way to organize website
addresses by country or region and make them easily identifiable and memorable for users.
This allows businesses, organizations, and individuals to create websites that are tailored to
specific audiences or markets, and helps to promote online identity and presence at a
national or regional level.
40
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
two main categories: generic top-level domains (gTLDs) and country code top-level
domains (ccTLDs).
Generic top-level domains (gTLDs) are open for registration to anyone, regardless of their
geographic location, and are divided into several subcategories,
Unsponsored gTLDs
These TLDs are not affiliated with any specific organization or group, and include popular
extensions such as .com, .net, and .org.
Sponsored gTLDs
These TLDs are designed for specific organizations or groups, and include extensions such
as .edu (for educational institutions) and .gov (for government organizations).
Generic-restricted TLDs (grTLDs):
These TLDs are reserved for use by specific groups or organizations and include extensions
such as .biz (for businesses) and .pro (for professionals).
Country code top-level domains (ccTLDs) are two-letter domain extensions that are used to
represent specific countries or regions. Examples of ccTLDs include .us for the United
States, .uk for the United Kingdom, and .cn for China.
TLDs are managed and overseen by the Internet Assigned Numbers Authority (IANA),
which is responsible for coordinating the allocation of domain names and IP addresses
across the internet. IANA works with national registries and registrars to manage the
distribution and registration of ccTLDs, while gTLDs are managed by the Internet
Corporation for Assigned Names and Numbers (ICANN).
Overall, the organization of TLDs provides a standardized way to categorize and identify
websites based on their purpose or geographic location. This allows businesses,
organizations, and individuals to create websites that are tailored to specific audiences or
markets, and helps to promote online identity and presence at a national or regional level.
41
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Task 02
2.1 Considering the requirements given in the above scenario define the relationships
between front-end and back-end website technologies and discuss how the front-end
and the back end relate to presentation and application layers.
42
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Front-end
In software development, the term "front-end" refers to the part of a web application or
software that the user interacts with directly. It's also known as the client-side. The front-
end of an application includes the visual elements of the application that the user sees and
interacts with, such as buttons, menus, forms, and images. It also includes the user
experience (UX) design and user interface (UI) design, which are focused on making the
application easy to use and intuitive for the user. Front-end developers use a combination of
programming languages such as HTML, CSS, and JavaScript to create the user interface
and user experience of an application. They work to ensure that the user interface is visually
appealing, easy to navigate, and responsive to user actions.
In summary, the front-end is the part of an application that the user directly interacts with. It
includes the visual elements, user interface design, and user experience design, and is
created by front-end developers using programming languages such as HTML, CSS, and
JavaScript.
Back-end
The word "back-end" in software development refers to the portion of a web application or
software that is in charge of processing the logic, data, and actions that take place in the
background but are invisible to the user. The server-side is another name for it. The server,
program, and database that support the front-end and give the user the required
functionality make up the back-end of an application. It is in charge of data processing,
database management, and server-side script execution.
Back-end developers use programming languages such as Python, PHP, Ruby, Java, and C#
to build the server-side of the application. They work to ensure that the server runs
smoothly, and the database is well-managed and secure. They also develop the APIs
43
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
(Application Programming Interfaces) that allow the front-end and back-end to
communicate with each other.
Databases
A back-end system typically needs a database to store and manage data. Popular databases
include MySQL, PostgreSQL, MongoDB, and Oracle.
Web servers
44
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
A web server is responsible for handling incoming requests and serving responses back to
the client. Popular web servers include Apache, Nginx, and IIS.
Cloud platforms
Cloud platforms like Amazon Web Services (AWS), Google Cloud Platform, and Microsoft
Azure provide infrastructure and services that make it easier to build and deploy web
applications.
Physical Layer
This layer is responsible for transmitting bits over a communication channel, such as copper
wires, optical fibers, or wireless signals. It defines the electrical, mechanical, and
procedural aspects of the physical connection between devices.
Network Layer
This layer is responsible for routing packets between different networks. It determines the
best path for a packet to reach its destination based on the network topology and traffic
conditions.
Transport Layer
45
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
This layer provides end-to-end reliable communication between applications running on
different hosts. It performs segmentation and reassembly of data, flow control, and error
recovery.
Session Layer
This layer establishes and manages sessions between applications, providing mechanisms
for session synchronization, checkpointing, and recovery.
Presentation Layer
This layer formats data for presentation to the application layer, handling issues such as data
encoding, compression, and encryption.
Application Layer
This layer provides services to applications, such as file transfer, email, and remote login. It
interacts directly with the application software and represents the highest level of
abstraction in the OSI model.
The main benefit of the OSI model is that it provides a standardized framework for
understanding and designing communication protocols. It enables different vendors and
organizations to develop interoperable systems that can communicate with each other,
regardless of the underlying hardware or software. However, the OSI model is primarily a
theoretical framework and has not been fully implemented in practice. Instead, most
modern networks use the simpler TCP/IP (Transmission Control Protocol/Internet Protocol)
model, which has fewer layers and is better suited for practical implementation.
46
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Presentation Layer
The Presentation Layer is the sixth layer of the OSI model, responsible for presenting data
to the Application Layer in a way that the application can understand. Its main purpose is to
translate data from the format used by the Application Layer into a common format that can
be transmitted over the network, and vice versa. Some of the key functionalities of the
Presentation Layer include,
Data Translation
The Presentation Layer translates data from the application's native format to a common
format that can be understood by both the sending and receiving applications. This may
involve data compression, encryption, or other transformations to ensure that the data can
be transmitted efficiently and securely.
Data Compression
The Presentation Layer may compress data to reduce the amount of data that needs to be
transmitted over the network, which can help to improve network performance and reduce
transmission times.
47
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Data Syntax Conversion
The Presentation Layer may convert data syntax to ensure that data is transmitted correctly
between applications that use different data formats.
Overall, the Presentation Layer plays a critical role in ensuring that data can be transmitted
efficiently and securely between different applications over a network. By translating data
into a common format that can be understood by both the sending and receiving
applications, it helps to ensure that data can be transmitted reliably and accurately, without
errors or data loss.
Application Layer
The Application Layer is the seventh and topmost layer of the OSI model, responsible for
providing services to the end-user applications. It is the layer that interacts with the user
directly and provides a means for the user to access the network. Its main function is to
provide an interface between the user and the network, and to enable communication
between different applications over the network. Some of the key functionalities of the
Application Layer include,
User Interface
The Application Layer provides an interface for the user to access the network and
communicate with other users or applications. This may include graphical user interfaces
(GUIs), command-line interfaces (CLIs), or web-based interfaces.
Network Services
The Application Layer provides a variety of network services to applications, such as file
transfer, email, remote login, and web browsing.
Resource Sharing
The Application Layer enables applications to share network resources, such as printers,
files, and databases.
48
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Data Exchange
The Application Layer enables applications to exchange data with each other over the
network, using a variety of data exchange formats and protocols.
Security
The Application Layer provides security services to protect the network and its users from
unauthorized access, data theft, and other security threats.
Overall, the Application Layer plays a critical role in enabling communication and data
exchange between different applications over the network. By providing a variety of
network services, resource sharing, and security services, it enables users and applications
to access and utilize the network in a secure and efficient manner.
The front-end and the presentation layer are closely related because the front-end is
responsible for presenting data to the user in a visually appealing and interactive way, while
the presentation layer is responsible for formatting the data and ensuring that it is presented
correctly. For example, if a user interacts with a web application by entering data into a
form on the front-end, the front-end will pass that data to the presentation layer. The
presentation layer will then validate the data, process it, and return a response to the front-
end. The front-end will then take that response and present it to the user in a way that is
visually appealing and easy to understand.
49
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
In summary, the front-end and presentation layer work closely together to ensure that data
is presented correctly and in a way that is easy for the user to understand. The front-end is
responsible for presenting the user interface, while the presentation layer is responsible for
formatting data and managing the communication between the front-end and the back-end.
The application layer, also known as the middleware or presentation layer, sits between the
front-end and the back-end and is responsible for formatting data and managing
communication between the two layers. The relationship between the back-end and the
application layer is that the back-end provides the data and functionality that the application
layer needs to format and present the data to the front-end. The application layer receives
data from the back-end, processes it, and formats it in a way that can be easily understood
and used by the front-end.
For example, when a user submits a form on the front-end, the application layer receives the
data, validates it, and then passes it on to the back-end for processing. The back-end
performs the necessary processing, such as storing the data in a database or performing
calculations, and then returns the result to the application layer. The application layer then
formats the data and returns it to the front-end in a way that can be displayed to the user.
In summary, the back-end and application layer work together to provide the necessary data
and functionality to the front-end. The back-end provides the data and application logic,
while the application layer formats the data and manages communication between the front-
end and the back-end.
50
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
2.2 Discuss the differences between online website creation tools and custom-built web
sites by considering the design flexibility, performance, functionality, User Experience
(UX) and User Interface (UI). Evaluate the tools and techniques available to design the
web application given in the scenario.
Wix
Wix is a popular website builder that offers a drag-and-drop interface, making it easy for
users to create professional-looking websites. It also provides a variety of templates and
customization options.
Squarespace
Squarespace is a website builder that offers modern and sleek templates, making it a great
option for creative professionals and small businesses. It also provides a variety of design
customization options and has a user-friendly interface.
51
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Weebly
Weebly is another popular website builder that provides a drag-and-drop interface and a
variety of templates. It also offers an e-commerce platform, making it a great option for
small businesses.
WordPress.com
WordPress.com is a website builder that offers a variety of templates and customization
options. It also provides a user-friendly interface and allows users to create a website for
free or choose a paid plan for additional features.
Shopify
Shopify is an e-commerce platform that allows users to create an online store without any
coding experience. It offers a variety of templates and customization options, as well as
payment processing and shipping integration.
Cost-effective
Most online website creation tools offer free or low-cost plans, making them an affordable
option for individuals and small businesses.
52
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
No software installation required.
Online website creation tools run on a web browser, so there is no need to install any
software on your computer.
Overall, online website creation tools are a convenient and cost-effective option for
individuals and small businesses who require a simple website without advanced
functionality or customization. However, for businesses with specific requirements, a
custom-built website may be a better option to ensure complete control, flexibility, and
scalability.
Scalability
Custom-built websites are built to be scalable, which means that they can easily adapt to
accommodate the growth of a business. This means that the website can be expanded and
updated as the business grows and changes.
Unique design
Custom-built websites are designed to be unique, which means that the website will not
look like any other website on the internet. This can be an advantage for businesses that
want to stand out and create a unique online presence.
Control
With a custom-built website, the business has full control over the website's design,
functionality, and content. This means that changes can be made quickly and easily without
having to rely on a third-party website builder.
Time-consuming
54
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Custom-built websites can take a long time to develop, especially if the website is complex
or has a lot of custom features. This means that businesses may have to wait several months
before their website is ready to launch.
Maintenance
Custom-built websites require regular maintenance, which can be time-consuming and
costly. This includes security updates, bug fixes, and general maintenance to ensure that the
website is running smoothly.
Overall, custom-built websites can be a great option for businesses that want a unique,
tailored online presence. However, they can be expensive and time-consuming to develop
and maintain. It is important for businesses to weigh the advantages and disadvantages of
custom-built websites before making a decision.
There are various factors to consider when comparing custom-built websites with online
website creation tools. While both options have their advantages and disadvantages,
custom-built websites offer several benefits that online website creation tools cannot match.
Firstly, custom-built websites provide complete control over the design and functionality of
the website. Designers can tailor the website to the specific needs of the business or
individual, ensuring that the site meets the user's needs. Custom-built websites also offer
the flexibility to integrate with other applications, such as payment gateways, third-party
software, and other web-based systems.
55
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Secondly, custom-built websites are typically more secure than those built using online
website creation tools. Since custom-built websites are developed from scratch, they are
less vulnerable to common security threats such as malware and hacking. Custom-built
websites can also be designed to include advanced security features such as firewalls, SSL
certificates, and other encryption methods.
Thirdly, custom-built websites offer superior performance and faster loading speeds
compared to websites built using online website creation tools. Developers can optimize
custom-built websites to ensure faster loading times, better site speed, and improved user
experience.
However, custom-built websites are typically more expensive than websites created using
online website creation tools. Custom-built websites require skilled developers and
designers, which can be costly, especially for small businesses or individuals with limited
budgets. Moreover, custom-built websites can take a longer time to develop and deploy
compared to websites built using online website creation tools. In conclusion, while
custom-built websites offer several benefits that online website creation tools cannot match,
the decision between the two ultimately depends on the specific needs and budget of the
business or individual. If flexibility, performance, and security are critical factors, then
custom-built websites are a better option. However, if cost and ease of use are more
important, then online website creation tools may be the better choice.
56
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Task 03
3.1 Design a suitable web application solution for the given scenario using PHP, JS
and MySQL (Screenshots of important code lines with proper comments and user
interfaces filled with sample data must be attached to the documentation). Apply a
database design for the proposed system and provide the well normalized database
design of the proposed system. Provide evidence of the design, multipage website
supported with fidelity wireframes and a full set of client and user requirements.
Gone are the days of manual paperwork and scattered data stores. With our low-cost yet
robust HMS, we aim to streamline and optimize every aspect of hospital management,
empowering healthcare professionals to focus on what truly matters – providing exceptional
care to patients.
57
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
The current challenges faced by Arogya Health Care, with multiple paper forms and
disparate data repositories, are a thing of the past. Our solution offers a comprehensive suite
of functionalities tailored to meet the hospital's unique requirements. From patient
information management and room availability to staff scheduling and patient invoices, our
system covers it all.
By centralizing patient records and medical history in electronic health records (EHRs), our
HMS ensures that crucial information is readily accessible to authorized personnel,
eliminating inconsistencies and enhancing data accuracy. With an efficient room scheduling
feature, we optimize resource utilization and guarantee seamless patient admissions and
discharges.
The reception module, designed to handle patient inquiries, admission details, and
movement tracking, ensures that every step of the patient journey is well-documented and
easily accessible to authorized staff, improving communication and patient care
coordination.
Security is at the core of our HMS, with role-based access controls and strict adherence to
data privacy regulations, safeguarding sensitive patient information from unauthorized
access.
58
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Our system's user-friendly interface, combined with mobile compatibility, enables hospital
staff to access critical information on-the-go, empowering them to make informed decisions
anytime, anywhere.
Together, let us embrace the power of creativity and innovation to create a more efficient,
cost-effective, and patient-centric healthcare environment. Welcome to Arogya Health
Care's Hospital Management System – your gateway to a brighter, healthier future.
System Purpose
The purpose of the Arogya Health Care Hospital Management System (HMS) is to
revolutionize the way the hospital manages critical information and processes, aiming to
enhance patient care, improve operational efficiency, and optimize resource utilization. The
system is designed to address the following key purposes:
The HMS aims to replace the manual, paper-based system with electronic health records
(EHRs) to centralize and organize patient information and medical history. This ensures
that all essential data is easily accessible to authorized staff, leading to better patient care
and informed decision-making.
59
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
The HMS facilitates streamlined invoicing and billing processes, generating detailed patient
invoices and tracking payments. Integration with insurance providers simplifies insurance
claims processing and revenue management.
With a user-friendly interface and mobile compatibility, the system enables hospital staff to
access critical information on-the-go. This enhances communication and coordination
among teams, leading to smoother workflows and improved patient care.
The system prioritizes data security and ensures compliance with healthcare regulations.
Role-based access controls protect sensitive patient information from unauthorized access,
safeguarding patient privacy.
By streamlining administrative tasks and reducing manual paperwork, the HMS allows
healthcare professionals to focus more on patient care, leading to an improved patient
experience and satisfaction.
The system's reporting and analytics capabilities provide hospital administrators with
valuable insights into key metrics, occupancy rates, revenue, and other vital data. This
empowers data-driven decision-making for better hospital management.
As a low-cost yet powerful solution, the HMS offers Arogya Health Care an affordable way
to upgrade its management system, eliminating the need for extensive paper-based
documentation and manual processes.
60
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Eliminate paper forms and disparate data stores by implementing electronic health records
(EHRs) to maintain comprehensive patient information and medical history.
Ensure effective allocation of rooms, staff, and operating theaters, reducing waiting times
and enhancing overall hospital efficiency.
Implement role-based access controls and robust data privacy measures to protect sensitive
patient information and comply with healthcare regulations.
Technologies used.
HTML is used to create the structure and content of the web pages. It defines the layout and
organizes the various elements of the website, such as headings, paragraphs, images, links,
forms, and more. HTML provides the backbone of the website, ensuring that all the content
is properly structured and semantically meaningful. It allows developers to present
61
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
information in a hierarchical manner and establish the relationships between different
elements.
CSS is used to style the HTML content and control the presentation of the web pages. With
CSS, developers can define how each element should be visually displayed, including
properties like colors, fonts, sizes, margins, padding, and positioning. CSS allows for
consistent styling across the entire website, ensuring a cohesive and appealing design. It
enables the separation of content from its presentation, making it easier to update and
modify the website's appearance without changing its underlying structure.
The combination of HTML and CSS allows developers to create visually engaging and
user-friendly web pages for Arogya Health Care Hospital's website. For example, they can
use HTML to structure the web page with headings, paragraphs, images, and links, while
CSS can be employed to style these elements, providing a consistent color scheme,
typography, and layout throughout the website.
In addition to HTML and CSS, JavaScript is another essential technology that is commonly
used in web development to add interactivity and dynamic features to the website.
Together, these three technologies form the foundation of modern web development and
contribute to creating a professional, functional, and visually appealing website for Arogya
Health Care Hospital.
Requirements
Functional Requirements
Register new patients with their personal information, medical history, and contact details.
62
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Update and maintain accurate electronic health records (EHRs) for each patient, including
diagnoses, treatments, and test results.
Allow authorized users to search for and access patient information efficiently.
Maintain a database of available rooms, including room types (e.g., single, double, ICU)
and occupancy status.
Enable staff to schedule patient admissions, transfers, and discharges, ensuring efficient
room allocation and management.
Monitor and manage room turnover and cleaning processes to optimize room availability.
Generate itemized invoices for medical services, treatments, medications, and other charges
incurred by patients.
Track patient payments, including partial payments and outstanding balances.
Integrate with insurance providers for insurance claim processing and billing for insured
patients.
Reception Module:
Record and track patient admissions, including admission dates and assigned rooms.
Manage patient discharges, ensuring proper documentation and handover.
63
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Log patient movements within the hospital for easy tracking and communication.
Implement secure user authentication mechanisms to ensure only authorized personnel can
access sensitive information.
Apply role-based access control to restrict access to specific functionalities based on staff
roles and responsibilities.
Client-Side Requirements
64
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Develop a responsive and user-friendly interface that adapts to different screen sizes and
devices.
Ensure that the website is accessible and usable across various browsers.
Interactive Forms
Implement interactive forms for patient registration, staff details, and other data entry tasks.
Validate form inputs to ensure data accuracy and completeness before submission.
Real-time Updates
Utilize JavaScript to provide real-time updates on room availability, appointment
scheduling, and other relevant information without requiring page reloads.
Dynamic Content
Use JavaScript to dynamically update and display content on the page based on user
interactions, such as search results or filtered data.
Server-Side Requirements
Database Management
Design and implement a relational database to store and manage critical hospital data, such
as patient information, staff details, room availability, schedules, and billing records.
Choose an appropriate database management system (DBMS) like MySQL, PostgreSQL, or
Microsoft SQL Server.
65
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Validate and sanitize all incoming data to prevent SQL injection and other security
vulnerabilities.
ERD
66
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Figure 7 ERD for the database
67
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
DFD
68
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Figure 8 DFD for the system
69
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Figure 9 User Case Diagram
70
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Wireframes
Figure 10 Index
71
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Figure 11 About
72
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Figure 12 Contact
73
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Figure 13 Login
74
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Figure 14 Patient
Figure 15 Payment
75
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Implementation of the system
76
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Figure 16 Interface 01
Figure 17 Interface 02
77
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Figure 18 Contact Us
78
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Figure 20 Staff Management
79
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Figure 22 Surgery Management
80
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Figure 24 Payment Management
Code Snippets
Figure 25 Index.php
81
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Figure 26 About us.php
82
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Figure 28 Login.php
Figure 29 Admin.php
83
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Figure 30 Staff Management.php
84
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Figure 32 Surgery Management.php
85
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Figure 34 payment.php
Database Tables
PHP CODE
86
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Figure 36 PHP Code 01
Figure 37 PHP 02
87
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Activity 04
Create a suitable test plan for the developed system and critically evaluate the results
of your Test Plan. Include a review of the overall success of your multipage website;
use this evaluation to explain any areas of success and provide justified
recommendations for areas that require improvements.
Test Plan
A test plan for the Arogya Health Care Hospital Management System (HMS) ensures that
the system functions as intended and meets the specified requirements. The plan should
cover various testing phases and scenarios to ensure the system's reliability, functionality,
and security. Here's a suggested test plan:
Test Objectives
88
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Verify that the HMS meets the functional requirements for patient information
management, room availability and scheduling, staff and operating room schedules, and
patient invoices.
Ensure the system is user-friendly and responsive across different devices and browsers.
Validate data integrity and accuracy in the database.
Testing Phases
Unit Testing
Integration Testing
System Testing
89
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
User Acceptance Testing (UAT)
Performance Testing
Security Testing
Test Scenarios
Register a new patient and verify the patient's information is correctly stored in the
database.
Schedule a patient for admission, transfer, and discharge, ensuring room availability and
proper scheduling.
Test staff scheduling and operating room booking to avoid conflicts and ensure optimal
resource utilization.
Generate patient invoices and validate the accuracy of charges and payments.
Test different user roles and permissions to ensure proper access control.
90
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Verify the system's responsiveness and compatibility on various devices and browsers.
Validate data input and boundary conditions to prevent data errors and system crashes.
Use a bug tracking system to report and monitor defects found during testing.
Categorize defects based on their severity and prioritize their resolution.
Test Data
Prepare test data, including sample patient records, staff details, and room availability.
Ensure data privacy and confidentiality during testing.
Test Environment
Set up a separate testing environment that closely resembles the production environment.
Isolate the testing environment from the live system to avoid unintended consequences.
Test Documentation
Create detailed test cases, including expected outcomes and test steps.
Document test results and any issues found during testing.
Regression Testing
Perform regression testing after bug fixes or system updates to ensure that new changes do
not impact existing functionalities.
Obtain sign-off from stakeholders and hospital management after successful testing.
91
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Deploy the system to the production environment.
By following this test plan, the Arogya Health Care Hospital Management System can be
thoroughly tested, ensuring a reliable, efficient, and user-friendly solution for the hospital's
critical information management needs.
TEST CASE 01
Name: Going to the home page Test Type: Whitebox Testing
Testing Process
Checking whether the website is loading into
the home page.
Test Prediction
Successfully loading into the home
92
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Actual Reslt
Pass
TEST CASE 02
Name: Logging into the admin account Test Type: Whitebox Testing
Testing Process
Checking if the website is going into the
admin page.
Test Prediction
Successfully loading into admin account
93
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Actual Reslt
Pass
TEST CASE 01
Name: Going to login page Test Type: Whitebox Testing
Testing Process
Checking whether the website is loading
into the login interface.
Test Prediction
Successfully loading into the home
94
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Actual Reslt
failed
TEST CASE 01
Name: Troubleshooting the issue in login Test Type: Whitebox Testing
Testing Process
Troubleshooting why the website is not
loading into the login.
Test Prediction
Successfully loading into the home
95
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Actual Reslt
Passed
Reason for not loading is due to a syantax error occurred in the navigation bar, and it has been
sorted out. The predicted result in the test case 03 has been mentioned below.
96
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Login loaded successfully.
References
Cloudfare, 2023. What is HTTP?. [Online]
Available at: https://www.cloudflare.com/learning/ddos/glossary/hypertext-transfer-
protocol-http/
[Accessed 16 20 2023].
Comer, D., 2009. The Internet Book: Everything You Need to Know About Computer
Networking and How the Internet Works. 5th ed. New Jersey: Prentice Hall.
97
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678
Elprocus, 2023. What are Communication Protocols & Their Working. [Online]
Available at: https://www.elprocus.com/communication-protocols/
[Accessed 16 April 2023].
Gillis, A. S., 2020. Web Server. [Online]
Available at: https://www.techtarget.com/whatis/glossary/Internet-Technologies
[Accessed 30 March 2023].
IONOS, 2023. What is a server?. [Online]
Available at: https://www.ionos.com/digitalguide/server/know-how/what-is-a-server-one-
term-two-definitions/#:~:text=Definition%20Server%20(hardware)%3A%20a,a%20host
%20with%20server%20software.
[Accessed 10 April 2023].
Kurose, J. & Ross, K., 2017. Computer Networking: A Top-Down Approach. s.l.:Pearson.
Moore, J., 2020. Server hardware guide to architecture, products and management.
[Online]
Available at: https://www.techtarget.com/searchdatacenter/Server-hardware-guide-to-
architecture-products-and-management
[Accessed 30 March 2023].
Solarwinds, 2023. What Is a Web Server?. [Online]
Available at: https://www.solarwinds.com/resources/it-glossary/web-server
[Accessed 30 May 2023].
Types.blog, 2022. Types Of Server Hardware. [Online]
Available at: https://types.blog/types-of-server-hardware/
[Accessed 10 April 2023].
98
W.K. Chathura Madhushanka Unit 10: WDD ID: PG68678