Software architectural design has an enormous effect on downstream software artifacts. Decomposition of function for the final system is one of the critical steps in software architectural design. The process of decomposition is typically conducted by designers based on their intuition and past experiences, which may not be robust sometimes. This paper presents a study of applying the clustering technique to support system decomposition based on requirements and their attributes. The approach can support the architectural design process by grouping closely related requirements to form a subsystem or module. In this paper, we demonstrate our experiments in applying the approach to an industrial communication protocol software system and comparing several clustering algorithms. The result obtained from WPGMA (weighted pair-group method using arithmetic averages) shows closer resemblance than other clustering methods to the one developed by the designer.

Additional Metadata
Keywords Attributes, Clustering, Decomposition, Requirements, Software architecture
Persistent URL dx.doi.org/10.1142/S0218194007003410
Journal International Journal of Software Engineering and Knowledge Engineering
Citation
Lung, C.H, Xu, X. (Xia), & Zaman, M. (Marzia). (2007). Software architecture decomposition using attributes. International Journal of Software Engineering and Knowledge Engineering, 17(5), 599–613. doi:10.1142/S0218194007003410