Personally , I'd start with the OO stuff first:
Use Cases, Class Diagrams etc and only consider functional decomposition within the context of a simple architecture(functionality based around a single computer). Only if you really need to.I can't see why the OO stuff can't work better in this latter case too.
I must correct the above somewhat in the
light
of Illja's post and links.
Use DFDs as the RIGHT artifact for describing existing legacy systems and if you are trying to move towards an Object Orientated approach to development , use Use Cases and the UML artifacts.
I'd think that they are complementary.
As you can see Illja probably doesn't agree with the above view.
But having worked on a project that started out OO, after some heavy DFD and Structured Analysis sessions you could hardly call it Object-Orientated. They could have done with more than a smidgin of the UML but no one had experience of using the two Analysis methodologies together.
But I bow to Illja's experience in these UML matters.
We were describing a legacy system for a new platform. There was 1:1 mapping between legacy and the new system.
1 business object equivalent to 1 relational table. No interfaces whatsoever.
To be fair experienced UML designers could probably factor in the required OO features with a whole new set of additional tools.
regards
[ July 06, 2003: Message edited by: HS Thomas ]