Abstract:
1. Provide the dependency type (paradigm) of the requirement dependency );
2. Backtracking Method-quantification of the impact of demand changes;
3. Demand dependency-design an algorithm that can quantify the impact of demand changes.
I. Requirement dependency
If the requirement Rs is changed, another requirement Rt must be changed accordingly. We say that the requirement Rt depends on the requirement Rs and is recorded as dep (Rs, Rt ). If the required Rt does not depend on Rs, it is recorded as reverse dep (Rs, Rt ). Rs is the dependency source requirement, and Rt is the dependency target requirement.
Ii. Requirement dependency Classification
Four types: subset dependency, full dependency, parent dependency, and loop dependency.
1. subset dependency: if any of Ra and Rb has Rc, dep (Rb, Ra) least (Rc ε Rb) least includep (Rb-Rc), Ra ), ra is called the dependence on the Rb subset, which is recorded as childdep (Rb, Ra); otherwise, the dependency is childdep (Rb, Ra ).
2. Full dependency: If Ra and Rb are used to make dep (Rb, Ra) fully dependent on Rb (Rb, Ra), Ra is called completely dependent on Rb and recorded as fulldep (Rb, ra ).
3. Parent set dependency: If Ra and Rb are any, Rc exists, so that dep (Rb, Ra) has (Rc ε Ra) has includep (Rb, (Ra-Rc), which is called Ra's dependency on the Rb parent set, is recorded as fardep (Rb, Ra). That is to say, in the dependency relationship between Ra and Rb, only Rc is affected by changes to Rb requirements.
PS1: the existence of subset dependency and parent set dependency can be considered to be caused by a large granularity of Requirement Modeling. This non-atomic requirement model may mask the precise dependency between some requirements, at the same time, the dependency may also affect the inaccuracy and non-synchronization of the description of the change. (***, That is to say, in Requirement Modeling, not only must the integrity of the requirement text of stakeholder be maintained, but also be refined as appropriate, convenience for later Software Design and Development)
4. Loop dependency: if any of R1, R2, And RN is used, fulldep (R1, R2) has fulldep (R2, R3) enabled... drawing fulldep (Ri-1, RI) done... when fulldep (Rn-1, RN) Then fulldep (RN, R1), then R1, R2 ,... the relationship between Rn is a loop dependency, which is marked as loopdep (R1, R2 ,..., rn ).
PS2: the loop dependency is a strong coupling relationship in the structure, which reduces the adaptability and reusability of the model to changes.
Iii. Nature of demand dependency
1. atomicity of dependency: If you enable Ra, Rb, and RC to make fulldep (RA, Rb) equal to fulldep (RB, RC), fulldep (RA, RC) exists ), it is called RC to transmit dependencies to Ra.
2. Irreversible dependency: If Ra and Rb are used to make Dep (RA, Rb) includep (RB, RA), the change of Rb requirement will not affect Ra.
Iv. Backtracking Method -- determine the dependency set for demand change
(To be continued)