• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

How Do I make UML Useful?

 
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have started with a new company. They have a product that is a couple of years old. There is little or no documentation. It is a Java Servlet based program. I have been reverse engineering it in little peices (there are 2600 java files). I have been looking at what I get as a result of the reverse engineering and the trouble is that it is too complete.
Have any of you had any luck creating a system overview in UML? I am wondering where to start to create documentation that will be useful to me. A class diagram that covers a wall is not going to help me understand the system.
I look forward to your suggestions.
------------------
Pat O
pdohara@techneex.com
 
Sheriff
Posts: 17644
300
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Here are a couple of things that I have found helpful:
1. Follow the money (or whatever it is that is of value in the system). See how the money goes in, gets processed, and goes out and who/what was involved as it goes along the way.
2. Try to identify the important use cases. Work through them and identify the major concepts and actors involved.
 
Author
Posts: 6055
8
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Two other suggestions.
1) Instead of importing classes into UML disgrams, import the packages. (I don't know if the UML tools can import at so macroscopic a level.) 2600 hundred classes means maybe 20-30 packages (you can ignore the minutia subpackages at first). What does each package do? How does it relate to each other?
2) Use case main lines. What are the primary use cases of the system? When looking at these, don't bother with the exceptional cases (which I find often take up a good percentage of the use case), just look at what's supposed to happen. Explain use cases to your co-workers,and ask them to each describe the 5(?) most important use cases to you (see how much they all agree on what's the most important :-)

--Mark
hershey@vaultus.com
 
Ranch Hand
Posts: 1157
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Target to get all the concepts and requirements in the anaylsis stage.Make use cases to understand the system - especially for the critical ones.Consider making other artifacts and to use Design Patterns to make you code OO.
This will help you to make your code more reusable and extensible - something which is not achievable if you follow the "rush to code" policy.
-- Sandeep
 
Patrick O'Hara
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Tanks for your support
I will try some of your suggestions and see what I come up with.

------------------
Pat O
pdohara@techneex.com
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic