| CARVIEW |
|
uml4all
|
| Summary | Uml editor done in DHTML |
|---|---|
| Categories | None |
| License | GNU General Public License (GPL v. 2.0) |
| Owner(s) | pedro761307 |
Welcome to UML4ALL Home Page.
This project was born on the need of the following issues:
- A tool that can be accessed from anywhere.
- A tool that can follow the developer, in every phase of development his sofware may be, not only in the design;
- A tool that can be faster, from the keyboard shortcut point of view, using the mouse, as little as possible.
How can I make a tool that can be accessed from anywhere?
- Using DHTML;
- Using a parser in projects, by uploading the file, instead of loading.
Using DHTML;
This idea raise other questions, like, how can I draw all the entities and relationships whithin a web page?
To do that I had to create an algorithm that would suply, divs and tables in vertical and horizontal direction, it would be a limitation of the project but its the price to have DHTML uml editor in any browser (because I hope it won't have any cross-browser problem) without large use of memory. And As I know, all the time that a layout must be redrawn or the user drags and drops, an entity the relationships are recalculated and re-allocated to a new position, to avoid too much dynamic creation of div and table, I will probally use a pool of these element's. By the way, all this part of job will be done in JavaScript, NOT JScript.
Applet
Doing the above mentioned in javascript is not an easy job. Even the algorithm to calculate the "connectors" of a relationship is difficult to debug, to compile and etc. So the first thing I did before putting javascript code in any file, was to write a java applet, to make the algorithm and see the possibilities. You can see this applet in src/test/applet/runapplet.html. There you can click in Examples, or in Create Rows, selecting the direction you want.

applet with connections
Another important issue, is how to preserve the
quality of the software in Javascript?
Well, I'll use too good features,
a Log file that shows me a Div with the logged messages
(see testLog.html) and a UnitTest for each class or
module.js.
I hope this way to isolate most problems found in the path.

Some Idea of how it will work with connections, and the log output.
Of course, the picture above has a lot of limitations and errors, and at the moment there isn't a page with all this feature together. As soon as we get new features I will remake this image.
Loading projects
It will be a server side issue, using Jsp/Java.
The Idea is to provide a way for your project to be loaded and saved without using the server's hard drive. So your file will be uploaded and downloaded, and saved in a session during development (Using remote scripting (with Java!).
The project will have XML format, but I hope we can write parsers for the most famous programs like Rose, Visual Modeler, Omondo and Dia, and provide features like export for those projects too.
As I said in the beginning of the text, the biggest problem in using UML is to match the diagrams with the code during development, so the program will provide parsers of codes to understand what you are doing and
change it to HTML.
An efficient approach is to use CTags.
Status And Pendings
See The STATUS file to see what is going on
Keep in touch My name is Pedro Ribeiro and I am a brazilian developer. I hope to receive yours doubts, contributions and corrections, to make this software a reachable dream. You can email me, even reach me in the instant messenger.
Regards.
| Powered by CollabNet | Feedback |
FAQ |
Press |
Developer tools
© 1995 - 2007 CollabNet. CollabNet is a registered trademark of CollabNet, Inc. |
