0% found this document useful (0 votes)
18 views

Sre Lecture 10 Notes

The document discusses the process of analyzing and negotiating requirements in software development. It involves stakeholders meeting to discuss problematic requirements identified during analysis, with the goal of reaching agreement on revisions to address issues and satisfy stakeholder needs.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

Sre Lecture 10 Notes

The document discusses the process of analyzing and negotiating requirements in software development. It involves stakeholders meeting to discuss problematic requirements identified during analysis, with the goal of reaching agreement on revisions to address issues and satisfy stakeholder needs.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

ELICITATION, ANALYSIS AND NEGOTIATION:

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.

5. REQUIREMENTS ANALYSIS AND NEGOTIATION:


ANALYSIS CHECKS
1. Necessity checking: This involves analyzing the necessity of each requirement. It aims
to ensure that every proposed requirement aligns with the business goals of the
organization or addresses the specific problem that the system intends to solve.
Requirements that do not contribute to these objectives may be considered
unnecessary and can be eliminated from the final set.
2. Consistency and completeness checking: Consistency checking involves verifying that
the requirements do not contradict each other. Inconsistent requirements can lead to
confusion and ambiguity during the development process. Completeness checking, on
the other hand, ensures that all necessary services or constraints required by the
organization or application domain are included in the requirements. This process aims
to eliminate any gaps or omissions in the requirements document. Additionally, it
ensures that there are no postponed decisions or placeholders such as "to be defined"
statements remaining in the requirements.
3. Feasibility checking: Feasibility checking involves verifying that the requirements can
be realistically achieved within the available budget and schedule for system
development.If certain requirements are deemed unfeasible given the project
constraints, they may need to be revised or re-evaluated to align with the project's
limitations.

Requirements interactions are a crucial aspect of requirements analysis, aiming to


uncover conflicts, overlaps, and dependencies between requirements. One method to
visualize these interactions is through a requirements interaction matrix, where
requirements are listed along the rows and columns. The matrix is populated based on
the relationships between requirements:

 Conflicting Requirements: When two requirements clash or cannot coexist, a


value of 1 is filled in the corresponding cell.
 Overlapping Requirements: If two requirements share common elements or
functionalities, a value of 1000 is filled in the cell to signify their overlap.
 Independent Requirements: Requirements that do not affect or depend on
each other are marked with a value of 0.

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.

The negotiation process consists of three stages:

1. Information Stage (Pre-negotiation): The nature of problems associated with


requirements is explained, with goals identified and analyzed.
2. Discussion Stage (Negotiation): Stakeholders engage in discussions to resolve
problems associated with requirements. All relevant stakeholders have the opportunity
to comment, and priorities may be assigned to requirements.
3. Resolution Stage (Post-negotiation): Actions regarding requirements are agreed
upon, which may involve deleting requirements, suggesting specific modifications, or
eliciting further information about them.

You might also like