Managing software design complexity: facade vs role-based design

  • Authors:
  • R. K. Pandey

  • Affiliations:
  • University Institute of Computer Science and Applications (UICSA) R. D. University, Jabalpur (M.P.) India

  • Venue:
  • ACM SIGSOFT Software Engineering Notes
  • Year:
  • 2009

Quantified Score

Hi-index 0.01

Visualization

Abstract

Good software design practice calls for minimizing coupling and maximizing cohesiveness. The use of roles in CBSE has been shown to help in achieving the abovementioned design goal. The idea of role-based component design is that the public interface is split into smaller interfaces that model the different roles a component can take in a system. In addition, we have the design pattern facade which is just opposite to what role-based design philosophy advocates. Yet both design approaches claim to reduce the overall complexity of the system. In this paper we make an investigation into these two design approaches in order to understand how these two contradictory design principles can help the designer in managing complexity.