This GMF framework using standard
UML specification is a real improvement compared to proprietary UML
solution
and is totally integrated inside Eclipse.
2. Second iteration dilemma
This second iteration is used by either
very advanced modeling projects which reuse generated code to remodel
it and then generate code
again or by agile, scrum projects. The first implementation stage of
the requirements is based on the UML
diagrams. It means that the developer team is coding inside the
provided skeleton (e.g. package, class, interface, enum) by
implementating business method rules. The current problem we are facing
is that agile processes require the delivery
of working code and the business user needs to quickly see if the
manifestation of their “requirement” is really what meets their needs.
Requirements are therefore flexible, not always defined at the first
stage and depend on understanding the correlation with use cases.
Usually after the first delivery the scope of the project is adapted in
order to better fit the real needs.
Companies have now two choices. Either
abandon UML modeling if a need
arises for a second stage because it is impossible to merge XMI model
with
newly created java code once the project java code has been generated.
Or use EclipseUML, immediately, or by migrating from R.., B.....,
Topcased, Eclipse Modeling to EclipseUML
2008 (
see
migration guide). Using a standard model (EMF, GMF, EclipseUML2)
allows easy
migration from one to another tool and recreation of your previous
diagrams using dynamic navigation (
see
dynamic navigation tutorial). EclipseUML 2008 allows multiple
iterations because of its incremental
approach based on a patented new architecture using triple live model,
UML
Editor and java code synchronizations.
EclipseUML architecture is described
below:
Conclusion
EclipseUML 2008 is more than just a
"waterfall"
UML tool
because it is specially designed to:
- reduce the cost of fixing bugs that make it too far downstream in
the waterfall process
- eliminate waste and rework
- incrementally improve an organization’s performance and deliver
tangible business value
- reduce development costs
- help an organization to adapt quickly and effectively
- allow more predictable delivery schedules