6
« on: April 20, 2004, 05:01:21 am »
I would like to know how other users experience/use the code synchronisation in EA. I think that a good modelling tool should integrate with the code well to become really productive (model driven development). My personal experience with EA so far is that synchronisation is not as integrated as I would have hoped for. Reading other posts, I notice some other users have problems with it too. Some improvements I would like to have:
- Before we used EA, we used a modeling tool in which it was possible to view the differences between source code and model elements. (for intstance, when a class, method or attribute was added, deleted, or changed). As a developer I could decide per element whether I wanted to have the changes from the model or from the source code. This gave me a good sense of synchronisation control. In EA it is only possible to check the option if I want to delete attributes/methods in my model if they are not in the source code (I am new to this so maybe I am mistaken). I would really like an overview of all the differences per class, so I can decide which element (method or attribute) should be used as final (either from model or source);
- In EA I get several menu options for source code generation / reverse engineering:
- Generate source code;
- Import source directory;
- Synchronize package contents;
- Generate package source code;
- Update package contents;
- Import directory structure;
For me, there are too many options for what I want: a synchronisation between model and source (in a way I described in the previous item). I tried all of them to get what I wanted, but none of them was really satisfying and confused me a lot.
s
- In java there is a close relationship between packages and folders. Does EA support this relationship? For intstance, when I generate a class in package logical view - com - product - domain and set the root namespace to logical view, I would have expected an import statement in the class "import com.product.domain", however "import com" appears. (creating a package com.product.domain wouldnt be a solution since our developers also want to create classes in their IDE. When Importing this new class this still would generate a hierarchical structure
- Having the option to mark certain attributes as properties (thus generating getters and setters) is very useful. Moreover, EA offers the possibility to hide properties, making the model easier to read. Again however, if I code getters and setters (getAmount, setAmount) EA doesn't recognize them as properties of the amount attribute, leaving the model with a mix of getters/setters and properties.
- Sometimes associations are not generated when shown: I implemented several classes two of them are called Account and Money. The Account class has an attribute "private Money totalAmount", but no relation is shown when importing. (However for some other classes EA does generate the association??!!)
hoping Sparx will improve this,
Christiaan