Objects by Design Forums
Show 15 posts from this thread on one page

Objects by Design Forums (http://forums.objectsbydesign.com/index.php)
- Agile Software Development (http://forums.objectsbydesign.com/forumdisplay.php?forumid=22)
-- Agile Tip #4: Using Reverse Engineering (http://forums.objectsbydesign.com/showthread.php?threadid=1367)


Posted by SZ on 09-25-2005 03:42 PM:

Agile Tip #4: Using Reverse Engineering

During code reviews and group programming sessions, we switch back and forth from the code to the UML model. This has the effect of continually keeping the orientation at a level that exposes the underlying object-oriented design, thereby enabling us to see design flaws that otherwise might not be found.

How is this done? Through reverse-engineering code into UML diagrams and alternating between the code and the diagrams. This works even better if your UML tool supports automatic code-model synchronization for class diagrams. If it does, then you can make changes either in the model or the code and the changes will automatically be reflected on the other side.

More and more UML tools now support the reverse-engineering of sequence diagrams from source code. These are very useful during code reviews because they provide an excellent orientation to be able to see objects collaborating. Switching to a sequence diagram during a code review session allows the participants to orient where they are in the flow of messages.

Another advance is the integration of UML tools with popular IDE's such as Eclipse and IntelliJ. Integration allows the user to jump between the model and code without changing applications. Because IDE's have lately become good at exposing an integration layer, expect more of this type of integration to come.

These sessions are always done on a computer because printing code and diagrams is too tedious and prevents you from doing refactoring on the spot. Plus, really good tools will let you jump to the code directly from the model, making these sessions even more agile.


All times are GMT. The time now is 09:28 PM.
Show 15 posts from this thread on one page

Powered by: vBulletin Version 2.3.5
Copyright © Jelsoft Enterprises Limited 2000 - 2017.
Copyright 1999-2005, Objects by Design, Inc.