Evaluating Design 3

So lets see whether the problems found in the previous discussion is resolved or not.

Evaluation wrt Behavioral Usability (Showing unrelated behaviors to all the users)

By introducing a level of indirection called boundary entities the actor only sees those behaviors which he is authorized to use. So the problem wrt behavioral usability is solved using these boundary entities.

Evaluation wrt Behavioral Security

Hope we all will agree that boundary entities are natural points of authorization , ie the user cannot invoke any behavior which he is not authorized to use, forget about invoking he is not even made aware of the existence of other behaviors.

Evaluation wrt Behavioral Flexibility

The first rule of behavioral flexibility says that "Any behavioral changes should only be made available to those actors who are authorized to know about the same and no one else." As you can see boundary entities as a level of indirection has satisfied this rule as well.

As boundary entities are a level of indirection, they are hiding the control entities of the system because of which the behavioral flexibility, security and usability increases.

So by using boundary entities and control entities we have designed a system which apart from giving all the behaviors of the system is also designed for the best of usability, performance, flexibility , security and accountability.

As systems are highly complex today we cannot envision a system without the user interfaces.

The user interfaces of any system are modeled by the boundary entities.

Since user interfaces of software/information systems are graphical in nature, the boundary entities of your software/information systems are the views of your system.

This arrangement of boundary entities, control entities and domain entities in your system can also be called as the Model View Controller Architecture wherein the domain entities represent the model, the control entities represent the controller and the boundary entities represents the views of your systems.

Although different books will describe MVC in different ways , I do not want to get caught into the debate of what is MVC.

What I can assure you is that this arrangement of boundary entities, control entities and domain entities has become a fundamental design for most of the well designed systems today in this world.

Hemant Jha
Founder - VPlanSolutions
Researcher, Trainer