The main reason enterprise system solutions become hard to understand, maintain is that development teams do not apply best practices in a disciplined way when they perform use cases realizations. A use cases realization describes in terms of collaborating objects how a particular use case is realized within the design model. Its goal is to produce a well-structured object-oriented design that implements the behavior defined in the use case. Using object-oriented design means to properly assign responsibilities to objects that compose the system and define the messages that pass among them.