PiggyBank UML Models details

In accordance with the Rational Unified Process (RUP), the PiggyBank sample UML model is divided into three models that each describe a different aspect of the system: the use case model, analysis model, and design model.

Use case model

The use case model describes the interactions between users and the system. In addition to the requirements documentation, the use case model contains use case diagrams and activity diagrams that graphically represent the requirements of the system.

Analysis model

The analysis model documents the result of the analysis phase. The analysis model follows the RUP to identify objects that interact with users (boundaries), objects that are persistent within the system (entities), and objects that coordinate the realization of each use case (controllers).

Design model

The design model applies a structured architecture to the analysis model. The design model describes the implementation of the analysis entities of the system, which are implemented as Enterprise JavaBeans (EJBs).

These EJBs were implemented using the following best practices:

  • The entity EJBs are not revealed to other parts of the system. Instead, a facade, created as an EJB stateless session bean, hides the entities. The facade communicates with its clients through transfer objects that represent the entity data in a lightweight form.
  • To isolate client code from EJB technology, the facade is wrapped in a delegate layer. The delegate layer manages all the technical details of creating and operating EJBs.
  • The delegate layer is divided into two parts: a framework, that defines the delegate layer's behavior, independent of the implementation, and an EJB implementation that manages the EJBs.