Hello,
I am new to this discussion board, so I am going to shortly introduce myself first.
My name is Ivica Aracic, I am a research assistant in the Software Modularity Lab at Darmstadt University of Technology.
Recently I am working on a development methodology for the aspect oriented language CaesarJ (http://caesarj.org).
FDD seems to me like a very promissing starting point for my work, since its feature-driven organizational structure is pretty much compatible with the concept of aspects in AOP. Indeed one could say features are aspects of the considered system.
(What is Aspect-Oriented Programming (AOP)? AOP is a programming technique where concerns that cut across a software system can be described in modular way.)
Feature is a crosscutting construct in the object-oriented code. Hence, programmers have to map from they feature-driven model back to classes which are affected by those features. Furthermore, code of different features is tangled in one OO module (which is usually a class).
AOP provides the ability to modularize such crosscutting concern, in other words, we are able to modularize a coherent feature-set.
Modularizing feature-sets in code could have a positive impact on the development process.
At the moment I see the following points:
* Tracebility: since the code of a feature-set is modularized in a single module and not scattered across the system, it is easier for the developer to localize it. We could say, the cost of the mapping from feature-driven thinking to the organizational concepts of the OO code is reduced.
* Testability: since feature-sets are located in modules with clear dependencies and interfaces they are easier to test.
* Understandability and Reverse Engineering: Looking at the code it is possible to easily reconstruct the features of the system. (Each feature-set is in own module, the dependencies of the module are clear specified in the code.)
* Reusability: modularizing the feature-sets would make reuse, adaption and configuration of features easier.
So far my idea.
I am looking forward for your comments.
Regards!
Ivica Aracic
Previously
Try this post.
Thank you for the pointer.
Thank you for the pointer.
I will be carefully reading it.
Ivica