Download as PPTX, PDF, TXT or read online from Scribd
Download as pptx, pdf, or txt
You are on page 1of 12
SOFTWARE REQUIREMENT ENGINEERING
LEC #1
• WHAT IS A REQUIREMENT?
Requirements are descriptions of the services that a software system must
pro- vide and the constraints under which it must operate. Requirement and Types: A requirement type is a category of requirements and its associated set of descriptive and operational characteristics. Examples: Requirement types include features, use cases, supplementary requirements, and glossary terms. WHAT IS REQUIREMENT ENGINEERING?
A systematic and strict approach to the definition, creation, and
verification of requirements for a software system is known as requirements engineering. To guarantee the effective creation of a software product, The requirements engineering process entails several tasks that help in understanding, recording, and managing the demands of stakeholders. Requirements Engineering is the process of identifying, eliciting, analyzing, specifying, validating, and managing the needs and expectations of stakeholders for a software system. REQUIREMENTS ENGINEERING PROCESS
Requirements Engineering (RE) determines the requirements of
software according to the needs of customers.
Requirements engineering process includes requirements
elicitation, requirements modeling, requirements analysis, requirements verification & validation, and requirements management. RE PROCESS WHAT IS A PROCESS?
A process is an organized set of activities which transforms
inputs to outputs
Process descriptions encapsulate knowledge and allow it to
be reused
Examples of process descriptions
Cookery book Procedures manual for a bank Quality manual for software development SOFTWARE REQUIREMENT ENGINEERING
Software requirements engineering refers to the first phase,
before any of the actual designing, coding, testing, or maintenance takes place. The goal is to create an important early document and process in the software design. It includes functional requirements, performance requirements, user requirements, input requirements, design requirements, operational and principal requirements, as well as constraints.
A complete process description should include :
what activities are carried out, the structuring or scheduling of these activities, who is responsible for each activity IDEAL REQUIREMENTS ENGINEERING PROCESS
Requirements engineering should be flexible,
adaptable, and should be aligned with the overall project goals.
It can be time-consuming and expensive,
especially if the requirements are complex.
It can be difficult to elicit requirements from
stakeholders who have different needs and priorities. WHAT IS A REQUIREMENTS DOCUMENT?
Requirements Documents are formal written documents that
outline, in detail, the technical and logical requirements of a project. This document is written during Steps 1 and 2 of the SDLC. The intended audience of a requirements document includes anyone involved in the project who needs a deep technical understanding. A 'Requirement Document' is a statement that identifies a necessary attribute, capability, characteristic, or quality of a system. WHAT IS THE RELATIONSHIP BETWEEN REQUIREMENTS AND DESIGN?
REQUIREMENTS ARE MOSTLY CONCERNED WITH THE PROBLEM TO BE
SOLVED; DESIGN IS CONCERNED WITH THE SOLUTION TO THE PROBLEM. THAT IS REQUIREMENTS ENGINEERING IS ABOUT WHAT HAS TO BE DONE; DESIGN IS ABOUT HOW IT SHOULD BE DONE . THEY SHOULD, IDEALLY, BE SEPARATE PROCESSES BUT IN PRACTICE THIS IS IMPOSSIBLE. IN REALITY, REQUIREMENTS ENGINEERING AND DESIGN ARE INTERLACED ACTIVITIES REQUIREMENTS ENGINEERING COST
About 15% of system development costs .
The requirement engineering cost depends on the type and size of the system being developed. The system requirements are not developed in detail; in others a formal specification may be produced. SYSTEM STAKEHOLDERS
• A system stakeholder is an individual, team, or organization (or
classes thereof) with interests in, or concerns relative to, a system.
WHO IS THE CUSTOMER?
The customer is the primary stakeholder who defines the requirements, expectations, and goals for the software project. The role of the customer is crucial in shaping the direction of the development process and ensuring that the final product aligns with their needs and objectives.