Functional and Non-Functional Requirements
Functional and Non-Functional Requirements
Functional and Non-Functional Requirements
Requirement analysis is a software engineering technique that is composed of the various tasks that
determine the needs or conditions that are to be met for a new or altered product, taking into
consideration the possible conflicting requirements of the various users.
Functional requirements are those requirements that are used to illustrate the internal working
nature of the system, the description of the system, and explanation of each subsystem. It consists
of what task the system should perform, the processes involved, which data should the system
holds and the interfaces with the user. The functional requirements identified are:
Customer’s registration:- The system should allow new users to register online and generate
membership card.
Online reservation of cars:- Customers should be able to use the system to make booking and
online reservation.
Automatic update to database once reservation is made or new customer registered:- Whenever
there’s new reservation or new registration, the system should be able update the database without
any additional efforts from the admin.
Feedbacks to customers:- It should provide means for customers to leave feedback.
It describes aspects of the system that are concerned with how the system provides the functional
requirements. They are:
Security:- The subsystem should provide a high level of security and integrity of the data held by
the system, only authorized personnel of the company can gain access to the company’s secured
page on the system; and only users with valid password and username can login to view user’s
page.
Performance and Response time:- The system should have high performance rate when executing
user’s input and should be able to provide feedback or response within a short time span usually 50
seconds for highly complicated task and 20 to 25 seconds for less complicated task.
4
Error handling:- Error should be considerably minimized and an appropriate error message that
guides the user to recover from an error should be provided. Validation of user’s input is highly
essential. Also the standard time taken to recover from an error should be 15 to 20 seconds.
Availability:- This system should always be available for access at 24 hours, 7 days a week. Also
in the occurrence of any major system malfunctioning, the system should be available in 1 to 2
working days, so that the business process is not severely affected.
Ease of use:- Considered the level of knowledge possessed by the users of this system, a simple
but quality user interface should be developed to make it easy to understand and required less
training.
3.3 Implementation
1) Notepad++:-
Notepad++ is a text editor and source code editor for use with Microsoft Windows. It
supports tabbed editing, which allows working with multiple open files in a single window. The
project's name comes from the C increment operator.
Notepad++ is distributed as free software. At first the project was hosted on SourceForge.net, from
where it has been downloaded over 28 million times and twice won the SourceForge Community
Choice Award for Best Developer Tool.[4] The project was hosted on TuxFamily from 2010 to
2015; since 2015 Notepad++ has been hosted on GitHub. Notepad++ uses the Scintilla editor
component.
2) Apache Tomcat :-
It is also referred to as Tomcat Server and implements several Java EE specifications
including Java Servlet, JavaServer Pages (JSP), Java EL, and WebSocket, and provides a
"pure Java" HTTP web server environment in which Java code can run.
Tomcat is developed and maintained by an open community of developers under the auspices of
the Apache Software Foundation, released under the Apache License 2.0 license, and is open-
source software.
5
3) Xampp Control Panel:-
XAMPP is a free and open-source cross-platform web server solution stack package developed by
Apache Friends, consisting mainly of the Apache HTTP Server, MariaDB database,
and interpreters for scripts written in the PHP and Perl programming languages. Since most actual
web server deployments use the same components as XAMPP, it makes transitioning from a local
test server to a live server possible.
XAMPP's ease of deployment means a WAMP or LAMP stack can be installed quickly and simply
on an operating system by a developer. With the advantage a number of common add-in
applications such as Wordpress and Joomla! can also be installed with similar ease using Bitnami.