Sparx Systems Forum

Enterprise Architect => General Board => Topic started by: cp on June 19, 2007, 02:24:00 pm

Title: EA vs Altova UModel + other CASE tools evaluation
Post by: cp on June 19, 2007, 02:24:00 pm
Well, just thought I'd update and centralize my previous evaluations of EA from other topics since after more than a week of treacherous evaluations of CASE tools below the $1000 range, I'm beat but glad to say that I did not choose EA.
The CASE tools i evaluated were: MagicDraw 12.5 prof, EA, Metamill, ModelMaker, Visual UML, Visual Paradigm, UMLStudio, Visio, StarUML, Artiso Visual Case, MicroGold WithClass, and maybe some others. My main perspective was that of a System Architect for C# .NET base without much focus on Requirements Gathering or DB Modeling and more so on code engineering, IDE learning curve and dynamic modeling.  

Some of the main reasons i didn't choose EA are:

- it has really poor UI features  
- it is a burden to organize all those elements in the project browser. There is no Diagrams Window??
- at least the diagram elements should be contained within the diagram node itself, and it is plain messy to organize model elements.
- the undo is only scoped for the diagram editing and extremely limited and unpredictable even in that. There is Redo in the new beta it seems, but i doubt it will be any big step.
- hyperlinks are almost non-existent.
- partial classes are not handled well in code engineering.

On the plus side, it does serve as a great affordable UML tool for requirements analysts and has a bunch of handy features built in such as the DB stuff, baselines, debugger, XMI, etc. which is great for solo or small group of developers whose main interest is class and static diagrams and not as much dynamic modelling. But for system architects, it is not. I was initially impressed by its simplicity, price and huge fan following but it just has an unstable feel to it.  

So which tool did I pick finally? Altova UModel 2007..having used XMLSpy, i'm confident that this UML offering will grow to the same brilliance and popularity as EA even though at this stage it needs some facelift, but its features are amazing and seems quite stable so far..and the price..$129 + $32 maintenance.
Some of the great features of it are:
- a stable IDE just as XMLSpy
- Undo and Redo which include the scope of all activities within the IDE and not just diagram editing
- Big Plus: great code generation features that support enums, partial classes and nested types
- disciplined UML diagramming
- abiltity to easily reference C# code libraries and other projects
- great document generation
- intuitive UI without a bunch of unnecessary stuff
- great hyperlinking abilities and elegant organization and containment of project elements
- fast, slick, lightweight and stable
- XMI
- comprehensive help and samples

The other close contenders in order:
ModelMaker (lots of holes in code engineering), MagicDraw (unmatched functionality and stability but pricing and java are major drawbacks, i'd love to see the design model of this piece of art), Visual Paradigm (offers ability to generate code from state diagrams and lots of features but seems quite unstable and untested), Metamill (great lightweight tool but lacks a whole lot of features)

If anyone has any opinions about UModel 2007, please do share.

Thanks
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: thomaskilian on June 20, 2007, 12:21:22 am
I can't find anything about an automation interface. That definitely would be a no-go for me!
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: «Midnight» on June 20, 2007, 02:31:48 am
Echo Thomas,

(IMHO) Without a solid API Altova is a very nice toy, but not a tool.

David
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: Paolo F Cantoni on June 20, 2007, 02:37:52 am
Also echo Thomas AND raise: Is it Database or purely text file based?  If text file based, I'm not sure it will scale well for large models.

But, as most lurkers know - that DOESN'T mean I'm satisfied with EA.  I use it in spite of itself - as the "best of a bad lot...".

Paolo

Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: Essnet on June 20, 2007, 04:20:37 am
Feature mandatory: Support to version control...
Altova UModel ignore this feature...  ::)
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: softwaredeveloper on June 20, 2007, 08:04:46 am
Also tried several tools and the amount of features of EA is quite impressive for me.
Nevertheless, I completely agree to the points of "cp" and switched to UModel for my new projects.
They have less features but all the have are quite impressive and well thought-out  8)!
Especially: UModel is only two years old (AFAIK) and if they enhance it the same way as they did in the past (and they do with XMLSpy) I'm not worried about missing features.
I've made two suggestions to Altova and got them implemented in their next release. Quite impressive and very obliging!
Nevertheless - EA has several features UModel doesn't have.
E.g. I solve version control outside of any UML tool in CVS and I must admit to have no need for automation (just for my future in my company: why is this a must for you ?)

At least everybody must for himself decide what's the best for his needs  ;D
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: thomaskilian on June 20, 2007, 10:57:40 am
Quote
(just for my future in my company: why is this a must for you ?)

Simply if you need to manage more than a handful of elements you're forced to do quite something with automation. Also I create my documentation with the automation which gives me endless flexibility.
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: cp on June 20, 2007, 12:45:01 pm
yep, it is all about what you want out of the tool. I was really impressed with EA because it had all these features, but then once I started working on it, it just didn't help in "my" methodology. I want something that focuses mainly on UML for architecture and code generation. As a part of my methodology, I use the SQL Server Diagramming for Database/ER modelling and don't need to create entity classes and stuff because i use Visual Studio and .Net data objects. And I don't have much use for Automation Interface, Add-ins or Version Control in the tool itself. For all the requirements and Business Rules, I've built a custom Access DB which allows me great flexibility to organize and navigate, for unit testing and documentation I use other tools such as SandCastle and NUnit. So i just needed a pretty sturdy UML tool, and I hit the final straw with EA when i was trying to draw an Activity Diagram and the partitions were acting crazy and i couldn't even edit the text directly inside an activity, and when i assigned a State diagram to a class, it put it inside the class with all the contained elements at the samel level as the class members..these things were not making any sense. I think EA should focus on refining and organising the IDE first and foremost.
I disagree that UModel is a fancy toy ;D adding to what softwaredeveloper said, it is simply very efficient and stable for whatever set of features it offers plus it has this useful feature of converting sequence to communication and vice versa. With a user base of 2.5 million, i'm sure Altova is willing and able to add all kinds of bells n' whistles into it..heck Altova needs to pay me for this..
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: thomaskilian on June 20, 2007, 08:52:57 pm
Quote
..heck Altova needs to pay me for this..

btw: do they offer a forum where someone could write such posts - praise e.g. EA over their tool?
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: cp on June 20, 2007, 09:06:07 pm
 ;D well, yes they do, i just thought i'll try to get some people to tell me why EA is better before i make the switch, through some constructive criticism, and i've used MagicDraw for a couple of years until i hit a block, and don't want to switch CASE tools again after this..i get nightmares about it.
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: Paolo F Cantoni on June 20, 2007, 11:40:32 pm
Quote
I've used MagicDraw for a couple of years until i hit a block
What was the block?  I, also, was impressed with "the Lithuanian tool", but ended up choosing EA (before I found the Unique Interface).  I'd be interested in what you found.

TIA,
Paolo
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: cp on June 21, 2007, 11:35:52 am
Hi Paolo, i guess the major block was pricing ;) i was using the personal edition which is quite affordable at $150 but the prof version which has code engineering is some $900 and the software maintenance is 25% or so which is not acceptable for my company. I was just beginning UML modelling then, a couple of years ago, and did not give importance to code engineering...a big mistake. Other than that, a major drawback was the inability to Override/Implement members in child classes (in the Personal Edition)..i don't know why they skipped such an important feature, and as i've mentioned before, the speed and memory..i am not a big fan of Java anymore for IDEs. But if you can ignore or accept these, i think that it might very well be the best tool out there..and i'm feeling the same solidity in UModel.
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: softwaredeveloper on June 22, 2007, 09:34:37 am
Thanks boys for your answers!

Quote
@thomaskilian: ...Also I create my documentation with the automation which gives me endless flexibility.

I did not look into the API possibilities to customize the documentation generation till yet. Can you give me an example what and how you modify the documentation output ?

Quote
@paolo: Is it Database or purely text file based?  If text file based, I'm not sure it will scale well for large models.

Didn't compare the tools but isn't the runtime performance (memory & speed) more important than the file access ?
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: thomaskilian on June 22, 2007, 09:43:47 am
I'm kind of a dinosaur here. I create a LaTeX file with the automation. This is like traversing the packages and (programming can do almost anything) gather the info which is required. The output is a plain ascii file which then is formatted by LaTeX into very professional looking output.

In advance to Paolos answer: Database is not only much more speedy. It allows also flexible multi-user access to the database. As long as you're a lonely modeller it won't hurt, but once you start working in a team, a repository is a must.
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: softwaredeveloper on June 22, 2007, 10:09:58 am
Hi Thomas !

Thank you for the fast answer!
Your way of "using the API for customizing documentation" sounds not very comfortable  :)
I suggest to either try to get more customization possibilities or (possibly a faster solution) simply use the XMI file for documentation !?

Although also not knowing Palos answer: I'm not the "lonely guy" :-) and maybe this sounds also a bit hermetic but as long as I cannot show two diagrams side by side and also cannot move elements between them on my own machine, I don't really care about the guys next door  ;D

Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: Paolo F Cantoni on June 22, 2007, 12:05:26 pm
Quote
Didn't compare the tools but isn't the runtime performance (memory & speed) more important than the file access ?
Well, with a database you can do bulk work at DB speeds.  Until Sparx sorted out their roundtrip XMI so that the number of defects was down to a grudgingly acceptable level, we developed a back-end comparator that we used for all sorts of stuff - but principally to compare one repository with another.  Since Sparx obviously couldn't...

The in-built EA comparator took 2.5 hours to compare two models.  Ours took 75secs...  Admittedly, we may not have done everything Sparx's one did, but the amount of "processing" we feel was comparable...  Certainly the bugs were were able to find (and correctly diagnose) was instructive...

As a Data Management Architect, I have a bias that says data isn't real unless I can touch it...  ;D

It isn't the speed of drawing and manually manipulating models that is important in MDA work, it's the time it takes to "crunch" the transformations.  A properly normalized DB design (which EA definitely is NOT) can make transformations a relative breeze.  But at least there's hope with EA - it uses a DB as its main repository (and it IS normalized, to a point).  If you don't even use a DB, you're at the mercy of serialization.

Paolo
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: softwaredeveloper on June 23, 2007, 11:46:01 pm
Hi guys!

@Thomas: As I understand your answer, you basicly do not really need an API but you need a workaround to get a useful documentation output!?

@Paolo: As I understand your answer, you do not need the database because it scales so well, you need it as workaround to faster compare two or more models because the built-in EA comparator is too slow!?

Anyway - with performance & speed I mostly meant i) the forwards and reverse engineering speed (+memory) and ii) the "speed" I can edit, change, extend,.. my diagrams and my model - simply said the time I need for modelling.
As cp, I have also tested several tools (>= 20) and for i) I have recognized differences in the amount of a factor of 100 and more !! ii) cannot really to be measured but the differences reach the same level at a minimum.
Do you see and problems in these directions when using a file-based system ? Or are there still any advantages when using a DB ?

cheers,
just a softwaredeveloper

PS: just want to clarify: as we all know the most important things regarding forward+reverse engineering (of course also regarding editing) the correctness and feature completeness are more important than performance but that's a different story  ::)
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: Paolo F Cantoni on June 24, 2007, 05:45:19 am
Quote
@Paolo: As I understand your answer, you do not need the database because it scales so well, you need it as workaround to faster compare two or more models because the built-in EA comparator is too slow!?
No, I didn't explain myself well enough... (seems to be a bad weekend for that).  The comparator was just an example.  If I want to do any repetitive task for which there is a relatively easy DB analogue then I can do it at DB speeds.  Another is the ability to apply rendering based on stereotypes on a gross scale to lines which wasn't previously possible by UI...  When you load EA from its repository it loads fairly quickly even for quite large models - there is some contention it could load even faster using forms of lazy loading but that's by the by.

Paolo
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: thomaskilian on June 24, 2007, 09:26:19 am
Quote
@Thomas: As I understand your answer, you basicly do not really need an API but you need a workaround to get a useful documentation output!?

No. I use it for documentation, but I do a lot other things with automation too. F.x. I need it to import various sources into EA (latest I did was a set of Excel tables containing interface and component description which I was able to transfer into EA). Also I have quite some add-ins to help formatting diagrams and a lot more. I was used to have automation already with RR and would never go back to a tool without!
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: salayande on June 28, 2007, 01:30:02 pm
The choice of a CASE tool is dependent on the context for use which includes:

1. The purpose of the work at hand - Enterprise Engineering & Modelling, Application Modelling or Code Engineering. Each of these goals has a process that the CASE tool supports.

2. The degree of support for each step in a selected process (example, support for TOGAF, UMM, RUP and other processes).

3. How open the architecture of the CASE tool is that enables incorporation of tools from other suppliers to better support a custom process (Add-Ins).

4. Support for repository object exchange standards (example latest XMI standards)

5. Support for real-time collaborative peer review of models.

6. Support for Profiles to enable non-standard UML for specialist domains (example UML Profile for Data Quality)

7. Ability to support modeling without getting in the way of thinking (Usability)

8. Support for a comprehensive set of target technologies (code platforms and databases).

9. Value (Benefit-Cost ratio).

I have implemented a development environment (end-to-end) based on EA and third party Add-Ins that suits my team's way of working in a corporate environment at the least cost.

If Sparxystems continues to loose momentum on innovation (as version 7.0 betas suggests), then UModel has a great chance in a year or two. Meanwhile a comparison of the two is not fair to UModel as EA has a lead of over 4 years.

Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: Dave_Bullet on June 28, 2007, 06:17:26 pm
It depends on whether you want just to give UML savvy people access to the wealth of information in your models... or you want it to become a repository / source of truth for your IT department and business.  Due to the clear text nature of the EA database, we are able to front end it with MS Access and have non-UML people use it to maintain information in tagged values - rather than separate spreadsheets to be imported.

This gives us one point of truth and consistency in our data, which is the starting point for any team that wants to move forward in efficiency and effectiveness.

Cheers,
David.
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: Paolo F Cantoni on June 28, 2007, 09:05:45 pm
Quote
This gives us one point of truth and consistency in our data, which is the starting point for any team that wants to move forward in efficiency and effectiveness.
'Onya David!

I would not be true to my tag line if I didn't support you on that one.

Paolo
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: markymark on July 18, 2007, 05:30:23 am
I also did a big UML/CASE tool evaluation when I started out on my current project to build a giant component model.  I looked at a bunch of tools across every price range (some upwards of $10k!) and EA came out on top for a variety of reasons, a big part of it being the engaged user community and incredibly responsive team at Sparx.  I feel as though they actually listen -- even encourage our participation in their product development.  What a refreshing attitude!

Like Paulo said, this was before I was introduced to EA's "UI - Unique Interface."  But thus far, I've been able to address every modeling, input, output, diagramming and reporting requirement of the team (about 15 smart business analysts located around the country).

I keep everything in a SQL Server repository and each analyst has access to it remotely to view, edit, enter data, pull reports, etc. over the internet.  This has the benefit of all the SQL Server backup, replication, etc. features that keep the server available and up to date.  I've set up the version control a couple of different ways on a development server, but have not yet rolled it out to the production server yet, still tinkering.

I've done a lot of direct operations, SQL queries and stored procedures directly on the EA repository, which has been reasonably straightforward to reverse engineer and understand.  I have built a number of C# .Net applications to bulk-load data directly into the SQL Server database from Excel spreadsheets developed by the analysts.  And there is lot of data!

The Automation and Add-In interface in EA takes a little getting used to, but is also great.  I typically mix and match between the API and direct database operations depending on coding complexity -- sometimes it's just really fast to write a quick sproc and be done with it.  I do realize that the data model may change in the future and I'll need to re-address these things, but it works like a champ for now and it's been much more stable than, say, the Quickbooks data repository!

On the other side of things, getting data out of the SQL Server database is done with either SQL Server reporting features (direct to the database) or via EA's reporting RTF interface.  Again, not the slickest reporting interface I've seen, but it does a good job and the reports can be run by anyone with EA (the templates are also stored in the DB).

My $0.04.

Mark
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: Martin Terreni on July 23, 2007, 05:15:17 am
I'm the head functional designer of a medium application (about 5 designers,15 developers and 4 testers).
I've tried quite a few tools -MagicDrow,Rose,Tau,Raphsody,Visual Paradigm,Altova and more...
Many of them I've meet for live sessions to try to convince me (in more then one place of work I've been in the last years).
Finally I took EA, do I think it is the best?
I think there is no best. We are a C# team, so VP and RR are not relevant for us, though they are grate tools.
In general - you have to choose th tool that fits your needs best.
I took this decision since our main work is functional design:
- GUI (which almost no tool has option to design inside)
- DB (The same, only it is EXTREMELY inportant in our mode of work)
- Activity diagrams, which are good enough in EA (if you have a formal methodology how to use them)

Also the fact it work on DB is grate, I can easily develop a lot of staff on it this way.
right now the integration with TFS/VS is getting much better and having had the experience of working with EA/Rose/VP on external repositories (ClearCase and SourceSafe) th fact that its native is grate!

We also do extensive use of the forum to communicate changes(I recommend it) and it is very helpful.

EA still has to get better in all the things related to code engineering, but all in all it is a grate tool.

Again remember- take the one that fits you most, ther is no best.  
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: mikewhit on July 23, 2007, 05:52:06 am
s/grate/great/g
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: Martin Terreni on July 23, 2007, 06:08:00 am
Quote
s/grate/great/g

?
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: thomaskilian on July 23, 2007, 11:23:23 am
grate = door
great = big

Mike is our Oxford dictionary
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: Gary W. on July 23, 2007, 11:36:52 am
Quote
Mike is our Oxford dictionary

He must also be a *nix person  ;D

I vaguely recall from my vi-editor days that this means "substitute 'great' for 'grate' globally across this file" or basically a "replace all" command.

hth,
gary
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: Martin Terreni on July 23, 2007, 08:10:15 pm
Hooooooo
It looked to me like some unfinished command, though I didn't touch VI for a long time already...
I apologize for my mistake, but I'm disgraphic. As long as two  written words sound the same -for me they are the same.
Orthographic errors are meaningless for me.
But thanks for the fix (and now I know what grate means :) )
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: thomaskilian on July 23, 2007, 08:48:58 pm
This command is older than any *nix. The substitute was common in the good old EDIT of CMS (Cambridge Monitor System, was it?) of IBM's VM/370. The "g" was a "*" then but now *nixer are used to regular expressions.
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: sargasso on July 23, 2007, 10:47:05 pm
( I too thought it was an EDIT command string (or ED/MED for you Univac whippersnappers) ... But I was going to keep quiet about it  :-X)

b
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: Bokkie on July 24, 2007, 12:11:02 am
:wq!
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: mikewhit on July 24, 2007, 01:15:03 am
Quote
wq!

That's =~ right.

Though a "grate" is more of a "grating" (think prison bars or fireplace) than a door. French phrase "au gratin" - rubbed against a grater (with a sharp grating!).

Slightly offtopic, sorry. I'm less UML, more device drivers these days.
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: sargasso on July 25, 2007, 03:19:19 am
:q!
Title: Re: EA vs Altova UModel + other CASE tools evaluat
Post by: thomaskilian on July 29, 2007, 04:44:52 am
Quote
That's =~ right.

Though a "grate" is more of a "grating" (think prison bars or fireplace) than a door. French phrase "au gratin" - rubbed against a grater (with a sharp grating!).

Slightly offtopic, sorry. I'm less UML, more device drivers these days.

--- my german semantic translation. (Welcome to Adventure! Would you like instructions?) ---