Add a comment


Re: The delivery mechanism is an annoying detail

It is interesting that no one has mentioned the origin of the BCE pattern.

Ivar Jacobson may be best know for introducing use cases, but his book "Object-Oriented Software Engineering: A Use Case Driven Approach" actually included a complete, end-to-end modeling methodology. Use cases are used to capture the requirements of a system, and that does, in fact, drive the rest of the process. But the next step is to do "robustness analysis", which involves modeling system functionality meeting the use case requirements in terms of boundary, controller and entity objects (I believe "boundary" was initially "interface", but that later become confusing with other uses of the term).

What I think is key here is that the BCE pattern is used as part of analysis. It was not intended to provide an overall "architecture" for the system. Indeed, once one adds in consideration of those annoying implementation details, there is an immediate need to control complexity. This then leads to the internal division of a system into subsystems, which can be done in various ways, with various trade-offs. The whole rest of Jacobson's approach handles these sorts of considerations, allocating functionality down to subsystems and then, if necessary, recursively analyzing and designing those subsystems. After all, Jacobson's background was in the telecom industry in which the architecture of very large "systems of systems" is paramount!

Jacobson's own view on all this has, of course, evolved over the years (he is a big proponent of agile these days). But still, to me at least, an important lesson is that architecture has to do with mediating the stakeholder requirements for a system with the engineering realities of building the system. A good analysis technique like BCE can be a crucial link in doing this. But that is really just the beginning of the architect's work.

In any significant system, the devil is often in those annoying details!

Re: The delivery mechanism is an annoying detail

HTML : b, strong, i, em, blockquote, br, p, pre, a href="", ul, ol, li, sub, sup
E-mail address
Remember me Yes  No 

E-mail addresses are not publicly displayed, so please only leave your e-mail address if you would like to be notified when new comments are added to this blog entry (you can opt-out later).