G'day,
FDD and HyperJ looks like a good combination, since both deals with
features that essentially cuts across class boundaries. So, similar that I
think heuristics used for managing the interaction of features might be
applicable to the management of HyperSlices.
Is there any freely available guidelines on managing the interaction of features ?
Thanks,
mark
Link Please
Can you please post some links to HyperJ? As I've never heard of it, it's hard to answer your question.
PaulS :(
Sorry for the omission. Hy
Sorry for the omission.
Hyper/J is a tool from IBM that supports multi-dimensional separation of concerns (MDSOC).
This concerns are similar to features, in order to implement a concern it requires modification to a bunch of related classes.
HyperJ allows developers to define separate concerns in a custom language and weave them together to produce Java classes. So, you can implement features without actually having to change classes directly.
A related tool is Aspect/J, but it handles non-functional requirements, whereas HyperJ is for functional requirements.
Problem Domain vs. Implementation
I think there's a fundamental difference here between features and concerns - but I could be wrong.
After reading several pages on MSDOC, I still couldn't find a concrete definition of a concern that put it in context. There are nice abstract descriptions like a "goal, concept or purpose". However an example they used was something like "printing, persistence and display capabilities".
Features in FDD on the other hand are all about the problem domain - they come from a decomposition of a description of the domain we are concerned with modelling in process 1 - Develop an Overall Model. They are expressed in client terms - there is no technology involved here.
So my initial guess is that they're focused on different things. The only similarity that I see is precisely what you've observed: that the implementation of each requires modification to a bunch of classes.
So before I make any more observations - have I missed the point about MSDOC?
PaulS.
Hi Paul, Yes,. Concerns an
Hi Paul,
Yes,. Concerns and Features are rather different. Concerns are more design-oriented whereas Features are business-oriented. But they both do cross-cut classes, features do end up being expressed (implemented) as technology, which could effectively be a concern (or a set of concerns). Or is my understanding of Features way off ?
So, I was thinking maybe heuristics to manage interactions, conflicts of features might be able to be (creatively) applied to managing of concerns.
Thanks,
Mark