COMSATS University Islamabad

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

COMSATS University Islamabad, Abbottabad Campus

Department of Computer Science

Spring 2023

Course Title: Software Engineering Concepts

Assignment 2

Class: BSE 2A Instructor: Hifza Ali

Uploaded By:
Saud Ur Rahman
Sami Rahim
Registration Number:
FA22-BSE-048
FA22-BSE-014

-----------------------------------------------------------------------------------------------
Questions:

1. Identify the Functional and Non-Functional Requirements for a Home


Automation System.
Answer:

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:

Functional Requirements for a Home Automation System:


1. Control of lighting: Ability to control the lighting system of the home with a
mobile app, voice commands or a remote control.
2. Temperature Control: Ability to control the temperature of the home with a
mobile app, voice commands or a remote control.
3. Security: Ability to monitor and control the security system of the home
with a mobile app or voice commands.
4. Entertainment: Ability to control and stream audio and video entertainment
devices in the home with a mobile app, voice commands or a remote control.
5. Energy management: Ability to monitor and control the energy consumption
of the home appliances and systems.
6. Home appliances control: Ability to control the operation of home
appliances such as the washing machine, dishwasher, and refrigerator using
mobile app or voice commands.

Non-Functional Requirements for a Home Automation System:

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:

You might also like