Professional Documents
Culture Documents
COMSATS University Islamabad
COMSATS University Islamabad
COMSATS University Islamabad
Spring 2023
Assignment 2
Uploaded By:
Saud Ur Rahman
Sami Rahim
Registration Number:
FA22-BSE-048
FA22-BSE-014
-----------------------------------------------------------------------------------------------
Questions:
Title:
Understanding functional and non-functional requirements in software
development.
Introduction:
In this paper, we will explore the differences between functional and non-
functional requirements in software development and their importance in creating
successful software systems.
\
Body:
Functional Requirements:
Functional requirements are the specific features and capabilities that a software
system must have to perform its intended functions. These requirements describe
what the software must do, such as providing the ability to perform certain
operations or handle specific types of data. Functional requirements are typically
defined in terms of use cases or user stories, and they are critical for ensuring that
the software meets the needs of its intended users.
Example:
1. Allow users to search for products using keywords and filters
2. Allow users to add items to their shopping cart
3. Allow users to complete a purchase using a payment gateway
4. Provide users with order confirmation and shipping information
5. Allow users to view and edit their account information
Non-Functional Requirements:
Non-functional requirements are the qualities or characteristics of a software
system that are not directly related to its functionality. These requirements describe
how the software should perform or behave, rather than what it should do. Non-
functional requirements include things like performance, scalability, security,
usability, and maintainability. They are important because they can have a
significant impact on the user experience and the overall success of the software.
Example:
1. Performance: The website should load within 3 seconds to provide a good
user experience.
2. Security: The website should have proper measures in place to protect user
data and prevent fraud.
3. Usability: The website should be easy to navigate and use, with clear
labeling and logical grouping of functions.
4. Reliability: The website should be available and functional 24/7 to handle
user traffic and purchases.
Question:
2. Identify the Functional and Non-Functional Requirements for a Home
Automation System.
Answer:
1. Security: The system must have a high level of security to protect against
hacking and unauthorized access.
2. Reliability: The system should be reliable and have a minimal risk of
failure or downtime.
3. Usability: The system must be user-friendly and easy to use for all
members of the household.
4. Scalability: The system should be scalable to accommodate future
upgrades and additions to the home automation system.
5. Compatibility: The system must be compatible with different operating
systems, devices and home appliances.
6. Performance: The system must perform quickly and efficiently,
responding promptly to user commands.
Use Case Diagram for Home Automation System: