Sre Lecture 10 Notes
Sre Lecture 10 Notes
RE
BY KOTONYA AND SOMMERVILLE
4
Activities aim to
discover problems with
the system requirements
and reach agreement on
changes to satisfy all
system stakeholders.
Further analysis usually
take place after the
initial draft of
requirements document
is produced.
The analyst involved
read the requirements,
highlight problems and
meet in a requirements
review to discuss the
requirements.
CHARACTERISTICS OF GOOD
1. REQUIREMENTS
Valid (or “correct”): Requirements express the genuine needs of stakeholders, ensuring
that the system addresses real-world problems or opportunities.
2. Complete: Requirements specify all functionalities the system must possess and what it
must not do. This encompasses both conceptual completeness (covering all classes of
input) and structural completeness (eliminating "To Be Determined" placeholders).
3. Consistent: Requirements do not contradict themselves and use terminology
consistently throughout the document.
4. Necessary: Requirements only contain elements essential for system functionality;
unnecessary features or specifications are avoided.
5. Unambiguous: Each requirement is stated in a way that leaves no room for
misinterpretation. Confusing terms are clearly defined, often in a glossary.
6. Verifiable: A testing process exists to ensure each requirement can be validated. This
typically involves specifying behavioral criteria for each requirement.
7. Understandable (Clear): Requirements are written in a language accessible to
stakeholders, including those without technical expertise. Technical notations, if used,
are supplementary and relegated to appendices.
8. Modifiable: Requirements can be revised or updated easily to accommodate changes in
stakeholder needs or project constraints.
9. Good structure and cross-referencing: Requirements are organized logically and refer
to each other appropriately. This ensures that the document remains coherent and easy
to navigate.
10. Feasible, Prioritized, Traceable, Precise: These characteristics encompass ensuring
that requirements are achievable, ranked by priority, traceable to their origins, and
specific enough to guide implementation accurately.
REQUIREMENTS ANALYSIS
Requirements analysis plays a crucial role in the software development process by
identifying issues, incompleteness, and inconsistencies within the elicited requirements.
Here's a breakdown of the process outlined in your text:
1. Goal: The primary objective of requirements analysis is to uncover problems, gaps, and
contradictions within the initial set of requirements.
2. Input: The analysis phase typically begins with a draft of the system requirements
document.
3. Output: The output of the analysis phase is a collection of identified issues, often
referred to as problematic requirements
4. Problem Checklist: To facilitate the analysis process, analysts may utilize a problem
checklist.
REQUIREMENTS NEGOTIATION
Requirements negotiation stage involves the
different stakeholders to solve the conflicts and
overlaps and agree on a set of requirements
– Conflicts are not “ failure " but reflect
different stakeholder needs and priorities
– Input –a set of conflicting or overlapped
requirements
– Output –a compromised set of requirements
Negotiation is interleaved with elicitation and
analysis as problems are discovered and
possible
solutions are agreed when the requirements are
elicited
Finding an acceptable compromise can be
timeconsuming
1. Requirements Discussion: This stage involves stakeholders discussing requirements
highlighted as problematical. Each stakeholder presents their views and concerns about
the requirements, fostering an open dialogue to address any issues or discrepancies.
2. Requirements Prioritization: Critical requirements are identified during this phase.
Stakeholders prioritize requirements based on their importance to the project's success,
ensuring that resources are allocated effectively to address the most crucial aspects first.
3. Requirements Agreement: After discussions and prioritization, stakeholders work
towards reaching an agreement on the set of requirements. Compromises may be
made, and changes to some requirements may be necessary to accommodate various
perspectives and constraints. The final agreed-upon set of requirements forms the basis
for the software development process.
Meetings serve as an effective platform for negotiating requirements and resolving conflicts.
Each conflicting requirement is discussed individually, with participation from analysts
identifying overlaps, omissions, and conflicts, as well as stakeholders offering insights to resolve
problems. An independent chairman facilitates the process.