Coupling Analysis

There are 2 phases of coupling analysis, namely in the Design Level and Implementation Level, First we will look at the coupling analysis in the Design phase

Design Phase Coupling Analysis

In the class diagram above , there basically 3 main classes, “Survey Form Class and “Converter Class” and “SurveyC Class”. The “Survey Class” has 2 more subclass, “Question Class and “Option Class”.

There is only one conversion for one  survey form created, therefore both class exhibit a one-to-one relation which is represented by the corresponding instance connection.

When a SaveSurveyForm() is called, in order for the  “Converter Class” to perform a conversion, the “Converter Class” has to obtain the details from the “Form Class”. This is done by the corresponding message connection to send the details of the “Form Class” to the “Converter Class” for the conversion to be carried out.

Then the “Converter Class” will use the data obtained to do the conversion. There is no need for the “Converter Class” to return any data since there  will not be any modification to the data. The coupling type exhibited is therefore data coupling.

Implementation Phase

1) Parameter Passing

 At the implementation phase, parameters passing is used as shown in the diagram below. An object class  (Form.obj) is passed from the “Survey Class” to the “Converter Class”.

Parameter Passing will ensure that the Converter Class cannot refer to data within the Survey Class unless the data is in the object being transferred thereby achieve low coupling.

Conclusion

From the above analysis, the only coupling that identified is Data Coupling which is a form of low coupling. Such low coupling is desirable so that we will be able to change one component with the minimum risk of changing another component. The system is also easier to maintain because while maintaining a component we don’t have to worry about the internal coding of any component.




Directions

Who are We ???  System Specification Project Schedule  Software Cost Estimation
Use Case Diagram Requirements Model Software Design Procedure Design
Cohesion Analysis Testing