T1 - CBRE3103 (May2024)

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

Tutorial 1

CBRE3103

Topic 1
Learning Outcomes:
1. Differentiate between requirements, software requirements and requirements
engineering (RE)
2. Discuss the importance of RE and requirements-related problems that can
arise in a software development project
3. Elaborate on the activities and tasks performed in requirements development
and requirements management
PreTest
https://inspire.oum.edu.my/mod/quiz/view.php?id=256908
What do you normally do when
you are about to write a
program?
What is requirements?

a thing that is needed or wanted….


Every project has requirements including software
requirements
Requirements in software development…
Whenever humans decide to build a system to support or automate human tasks, they have to figure out
what to build.

This means that they have to learn about the desires and needs of the persons or organizations who will
use the system, benefit from it, or be impacted by it.

In other words, they need to know about the requirements for that system. Requirements form the basis for
any development or evolution of systems or parts thereof.

Requirements always exist, even when they are not explicitly captured and documented.
Exercise
What are the THREE main concepts denoted by the term “software
requirements”?

Share your answer by scanning the QR-code

https://app.sli.do/event/dLuFw8uvxpPtK7Z8sSW9VM/embed/polls/43fa7c6f-d799-44b0-a288-cd9575f04c1b
Requirements concept
The term requirement denotes three concepts:

1. A need perceived by a stakeholder.

2. A capability or property that a system shall have.

3. A documented representation of a need, capability, or property.


What is software requirements?

1. A condition or capability needed by a user to solve a problem or achieve an


objective
2. A condition or capability that must be met or possessed a system or system
component to satisfy a contract, standard, specification or other formally
imposed document
3. A documented representation of a condition or capability as in (1) and (2)
Another definition of software requirements:

“descriptions of how the system should behave, or of a system property or


attribute. They may be a constraint on the development process of the
system”
- Sommerville and Sawyer (1997)
Depending on the perspective taken, requirements occur
in various forms:
1. System requirements describe how a system shall work and behave—as observed at the interface
between the system and its environment—so that the system satisfies its stakeholders’ desires and
needs. In the case of pure software systems, we speak of software requirements. Example: The
software must support simultaneous access for up to 1000 users without performance degradation.
2. Stakeholder requirements express stakeholders’ desires and needs that shall be satisfied by
building a system, seen from the stakeholders’ perspective. Example: The system should provide a
monthly sales report to the stakeholders that includes sales trends, revenue, and customer
feedback.
3. User requirements are a subset of the stakeholder requirements. They cover the desires and needs
of the users of a system. Example: The user interface of the application should be accessible and
easy to navigate for users with no technical background.
4. Domain requirements specify required domain properties of a socio-technical or cyber-physical
system. Example: The software must be developed in accordance with IEC 60601 regarding the
basic safety and performance for medical electrical equipment.
5. Business requirements focus on the business goals, objectives, and needs of an organization that
shall be achieved by employing a system (or a collection of systems). Example: The system should
increase the efficiency of processing customer orders by 50% within the first year of deployment.
What is Requirements Engineering (RE)?

The systematic and disciplined approach to the specification


and management of requirements with the goal of
understanding the stakeholders’ desires and needs and
minimizing the risk of delivering a system that does not meet
these desires and needs.
Adequate Requirements Engineering (RE) adds value to
the process of developing a system:
Exercise
What are the symptoms of inadequate RE?

Share your answer by scanning the QR-code

https://app.sli.do/event/gySsUcnhNPZhqEeZ9jKQP5/embed/polls/1bd711ab-5fe2-4f42-b86f-d0c28e2fb960
Symptoms of inadequate RE:
Where to apply RE:

Requirements Engineering can be applied to requirements for any kind of system.


However, the dominant application case for RE today involves systems in which
software plays a major role.

Such systems consist of software components, physical elements (technical


products, computing hardware, devices, sensors, etc.), and organizational
elements (persons, positions, business processes, legal and compliance issues,
etc.).
Types of Systems
Cyberphysical systems.

Socio-technical systems.
Types of Systems - Cyberphysical
Cyberphysical systems - Systems that contain both software and physical
components
Types of Systems - Socio-technical
Socio-technical systems - Systems that span software, hardware, people, and
organizational aspects
Systems with no software element
The following are systems with no software
elements.
Thus, we can’t apply RE for the following
systems.

● Bare Electronic Components (such as like


resistors, capacitors, and LEDs)
● Mechanical Systems
● Unprogrammed Microcontroller
● Analog Devices
RE Process:
TWO Processes in RE:
Requirements Development
Requirements Management (1/2)
1. Changes in requirements may occur while the requirements are elicited,
analysed, specified, validated, and even after the system is already in
service
2. Changing requirements may result from a combination of internal and
external factors
3. Since changing requirements is unavoidable, you should know how to
embrace change
Requirements Management (2/2)
There are several practices in requirements management. The practices include
the following:
● Reviewing requirements change requests and evaluating the possible impact
of each change before approving it;
● Incorporating approved changes into the project in a systematic way;
● Managing configuration of requirements and requirements document, which
means detailed recording and updating of what have been applied to the
requirements document, and providing version control, release management,
and issue tracking;
● Maintaining links among requirements, links between the requirements to
their sources, and links between requirements and links to other work
products that must be maintained;
● Monitoring implementation status of each requirement to ensure existing
requirements are addressed and traceable throughout the software project.
e-Lesson Week 1
PostTest

https://inspire.oum.edu.my/mod/quiz/view.php?id=256916
Thank you…

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy