Post #197,787
3/9/05 11:10:14 AM
|
Open Source modeling tools.
Any recommendations? Warnings?
bcnu, Mikem
Eine Leute. Eine Welt. Ein F\ufffdhrer. God Bless America.
|
Post #201,516
4/1/05 4:54:37 AM
|
Re: Open Source modeling tools.
Well, not nothing interesting.
I don't think its just the Open source arena, generally I dont know of any good modeling tools I only know of three free modeling tools, argouml, tcm and dia.
Dia, seems the easiest to use, and the least sophisticated, TCM user interface is terrible Argouml is also very hard to figure out, it seems to try to be smarter than one would want and many features don't work
The main problem I see with models is that you usually want to make models than span an area larger than your screen. Thus printing is necessary, and eventually you throw away the printed paper.
Then you start wanting to include your models in a A4 sized papers to be part of the rest of the design and analysis docs. So you try to take smaller divide your model into smaller part, then the parts and aggregation go out of sync.
Maintaining a set of models, is just hard work, most modeling tools focus more and forcing rules on what you can or can't include in a since models, instead of doing what I want, composition: glueing ceveral models together to show the overall picture of the design, or information model decomposition and zooming: allow me to focus on a smaller piece of the model and take pictures of it Merging: include a model ina work document, a pdf file etc ..., most modeling tools allow to transform a models into a jpg or gif or png, i still mentioned this point to show how important it is, it would be nice thought if the modeling tool can tell me if my jpgs are obosoleted XML: I would like/trying to write most of my docs, in xml (docbook), it would be nice if I can include few xml lines that will convert into a model, instead of having to draw the models by hand (with the mouse), transform it to a png or gif, and include it as an image in may docbook documen, I think SVG got the potential to solve this problem, but i am not so sure!
Plus, you should really learn more about modeling languages, not all modeling tools support all modeling languages, neither DIA or TCM for example support ORM (the best conceptual information modeling language ever) Argouml is uml only - and I am not sure how much of uml it support.
Unfortunately, english + some small pictures + an ERD, in 2005 is the best we have (ERD almost directly translate to sql code, this is part why they succeeded)
|
Post #201,519
4/1/05 6:11:00 AM
|
Re: Open Source modeling tools.
One of these:
[image|http://www.amgmedia.com/freephotos/pencil.jpg||||]
And some of this:
[image|http://www.auspost.com.au/GAC_Image_Metafile/0,,3390,00.jpg||||]
Peter [link|http://www.ubuntulinux.org|Ubuntu Linux] [link|http://www.kuro5hin.org|There is no K5 Cabal] [link|http://guildenstern.dyndns.org|Home] Use P2P for legitimate purposes!
|
Post #201,547
4/1/05 11:16:32 AM
|
Heh. That's my preference.
Unfortunately, not the preference of my boss.
bcnu, Mikem
Eine Leute. Eine Welt. Ein F\ufffdhrer. God Bless America.
|
Post #201,549
4/1/05 11:56:42 AM
|
So, use those
and pick the tool that conforms to max(cost).
--\n-------------------------------------------------------------------\n* Jack Troughton jake at consultron.ca *\n* [link|http://consultron.ca|http://consultron.ca] [link|irc://irc.ecomstation.ca|irc://irc.ecomstation.ca] *\n* Kingston Ontario Canada [link|news://news.consultron.ca|news://news.consultron.ca] *\n-------------------------------------------------------------------
|
Post #201,578
4/1/05 2:01:59 PM
|
Max(cost): buy a new scanner/printer
1. Draw the model on paper. 2. Scan the paper models. 3. Print the scanned images.
Only let your boss see step 3.
|
Post #201,582
4/1/05 2:35:07 PM
|
I like it:)
--\n-------------------------------------------------------------------\n* Jack Troughton jake at consultron.ca *\n* [link|http://consultron.ca|http://consultron.ca] [link|irc://irc.ecomstation.ca|irc://irc.ecomstation.ca] *\n* Kingston Ontario Canada [link|news://news.consultron.ca|news://news.consultron.ca] *\n-------------------------------------------------------------------
|
Post #201,593
4/1/05 4:52:00 PM
|
Re: Max(cost): buy a new scanner/printer
Actually, this isnt very practical, one of the classic virtues of using a word processor or the tradtional mechanical typewriter, is how easy it is to correct mistakes.
Drawing a model is hard this is why i argued for an XML representation, write its in xml, see it as a picture, using a mouse to draw a model, is not very funny TCM is particularly terrible in this point
Anyway, a model will 1,000,000% evolve over time, and text code enjoys programs like vim, esclipse, and emacs to facilitate cut'n'paste and moving around etc...
Modeling need even more sophisticated tools for editing, not much work done here, drag'n'drop still rule, and its terrible
Actually, more modeling should lead to less code refactoring So do refactor ur model as much as it needs, dont go cheap, with less sophisticated editing tools, no one would dare changing a model, ppl will keep a model as is, just so that dont refactore it
Which is a terrible reason ...
ORM kinda shines in this points, its designed intentionaly to be easier to extend than a traditional ERD (as in add more content to an existing diagram, not extent the languages itself)
Pencil and papers models, are usually throw away models, and u dont wonna do that, models, should outlive code, if they dont, you are completely missing the point
|
Post #201,595
4/1/05 5:06:38 PM
|
I'd suggest using uml
unified modelling language, seeing as it's actually designed for the task at hand, as opposed to xml, which isn't.
That said, you should go through a pencil and paper phase first, as it's even easier to apply an eraser when one wants to see the effects of a model change than it is to change an xml (or even a uml) representation.
--\n-------------------------------------------------------------------\n* Jack Troughton jake at consultron.ca *\n* [link|http://consultron.ca|http://consultron.ca] [link|irc://irc.ecomstation.ca|irc://irc.ecomstation.ca] *\n* Kingston Ontario Canada [link|news://news.consultron.ca|news://news.consultron.ca] *\n-------------------------------------------------------------------
|
Post #201,597
4/1/05 5:19:06 PM
|
Re: I'd suggest using uml
XML is not a subtitute for UML, I meant to write a model using XML, instead of a graphical editor using drag'n'drop
Actually UML have a standard XML representation called XMI I think
Writing a model in xml, instead of a graphical editor can be compared to designing a webpage in html as opposed to a wysiwig editors
This is what I want, and havent found
I dont want or like to draw diagrams by hand at all, its akward and clumsy
|
Post #201,599
4/1/05 5:32:06 PM
|
What exactly do you mean by "model" here?
--
"Consider a perfectly spherical cow, radiating milk isotropically."
-- [link|http://itre.cis.upenn.edu/~myl/languagelog/archives/002008.html|Language Log]
|
Post #201,600
4/1/05 5:51:29 PM
4/1/05 5:51:59 PM
|
Re: What exactly do you mean by "model" here?
A model is an abstract representation of a system or a solution, being abstract it hides most or all the irelevant details
For most ppl, a model = a diagram
I was told, but I have no clue how, that u can express a model in other ways.
But mainly i just had diagrams in mind, when i was speaking.
a set of diagram notations that complement each other, is also usually refered to as a modeling language, like UML, or ORM or EERD
Again I wanna exploit the moment, to say how much I like ORM [link|http://www.orm.net|http://www.orm.net]
Edited by systems
April 1, 2005, 05:51:59 PM EST
|
Post #201,604
4/1/05 6:13:09 PM
|
If you want to have a diagram,
XML defeats the whole purpose - to engage the space-oriented part of your brain.
If you don't care for diagrams, I'd use pseudocode.
I fail to see how XML is appropriate in Modeling in your sense at all.
--
"Consider a perfectly spherical cow, radiating milk isotropically."
-- [link|http://itre.cis.upenn.edu/~myl/languagelog/archives/002008.html|Language Log]
|
Post #201,618
4/1/05 11:14:39 PM
|
Low-tech approach
Start [link|http://c2.com/cgi/wiki?CrcCard|here]. Then start going through [link|http://www.google.com/search?q=crc%2bsession%2bsite%3ac2.com|this]. In particular [link|http://c2.com/cgi/wiki?OnePieceOfPaper|this] and [link|http://c2.com/cgi/wiki?UmlDoesntWork|this] and [link|http://c2.com/cgi/wiki?HotDraw|this].
===
Purveyor of Doc Hope's [link|http://DocHope.com|fresh-baked dog biscuits and pet treats]. [link|http://DocHope.com|http://DocHope.com]
|
Post #201,623
4/2/05 12:07:15 AM
|
Re: Low-tech approach
I've used (or have tried to use) ArgoUML, but always seem to fall back on some combination of a whiteboard, 4x6 cards, some decent markers and pens, a camera, a scanner, and a wiki.
|
Post #201,658
4/2/05 2:43:31 PM
|
UML's good for docs
But if you've got everything and the kitchen sink in your diagram (ie- all 1500 classes) then you're not using it properly.
You've got to approach something like that in a layered perspective. For example, a client server application's top level uml diagram should have two or maybe three things on it; a client and the server, with the calls happening between them, and perhaps the actual network between them. Then, you can get the top level diagram for each of those two subsystems, keeping it simple throughout, breaking things down into subsystems as needed. You might also want to create a diagram representing the actual network between them if you have to deal with the particularities of the infrastructure architecture for your app, so that if you need to detail failover options at the network level you can do it in that specific diagram.
Having it all in one diagram might make for a neat pic, but it's not very useful. The point of it is to help communicate the architecture of the application to other people, and a spaghetti diagram isn't going to do a very good job of that.
--\n-------------------------------------------------------------------\n* Jack Troughton jake at consultron.ca *\n* [link|http://consultron.ca|http://consultron.ca] [link|irc://irc.ecomstation.ca|irc://irc.ecomstation.ca] *\n* Kingston Ontario Canada [link|news://news.consultron.ca|news://news.consultron.ca] *\n-------------------------------------------------------------------
|
Post #201,825
4/4/05 11:50:29 AM
|
UML is good at showing you where you screwed up
In my experience, if the design cannot be expressed as a neat simple diagram, I am doing something wrong.
--
"Consider a perfectly spherical cow, radiating milk isotropically."
-- [link|http://itre.cis.upenn.edu/~myl/languagelog/archives/002008.html|Language Log]
|
Post #201,874
4/4/05 4:43:52 PM
|
I can see how that goes
I have to admit, I hadn't thought of it that way, but I can see why it would be good at showing those up.
Related to the relative levels of experience betwixt you and I, methinks.
--\n-------------------------------------------------------------------\n* Jack Troughton jake at consultron.ca *\n* [link|http://consultron.ca|http://consultron.ca] [link|irc://irc.ecomstation.ca|irc://irc.ecomstation.ca] *\n* Kingston Ontario Canada [link|news://news.consultron.ca|news://news.consultron.ca] *\n-------------------------------------------------------------------
|
Post #201,601
4/1/05 6:01:03 PM
4/1/05 6:20:22 PM
|
I'm not sure
just what uml has to do with using 'drag and drop' to create a model.
When I was taking the apps course last year, we had to model our applications in uml as an early phase of development. There were tools to do so, but in general I found it faster and easier to just hack out the text definitions anyway in raw uml.
The L stands for Language, and it is in fact a language for creating models, including object models, app module models, or even ER models, let alone using it to model data flow or calls.
I don't see what XML is going to get you except more verbosity.
Edit: that said, I still agree with Peter that pencil and paper are the right first step; uml comes second, and that only if you have other developers on the project with whom you need to communicate protocols and specifications.
--\n-------------------------------------------------------------------\n* Jack Troughton jake at consultron.ca *\n* [link|http://consultron.ca|http://consultron.ca] [link|irc://irc.ecomstation.ca|irc://irc.ecomstation.ca] *\n* Kingston Ontario Canada [link|news://news.consultron.ca|news://news.consultron.ca] *\n-------------------------------------------------------------------
Edited by jake123
April 1, 2005, 06:20:22 PM EST
|
Post #201,603
4/1/05 6:12:29 PM
|
Models are only as good as their specs
Most specifications are crap.
Regards,
-scott anderson
"Welcome to Rivendell, Mr. Anderson..."
|
Post #201,667
4/2/05 4:08:16 PM
|
Holy...
In response to Brewski Bob's: Max(cost): buy a new scanner/printer 1. Draw the model on paper. 2. Scan the paper models. 3. Print the scanned images. Only let your boss see step 3. this little "systems" weirdo writes: Actually, this isnt very practical, one of the classic virtues of using a word processor or the tradtional mechanical typewriter, is how easy it is to correct mistakes. Holy shit, kid... Exactly *how* fucking stupid are you, really? Try to *understand* the concept of "humour" before the next time you reply to an example of it. Sheesh...
[link|mailto:MyUserId@MyISP.CountryCode|Christian R. Conrad] (I live in Finland, and my e-mail in-box is at the Saunalahti company.)
Your lies are of Microsoftian Scale and boring to boot. Your 'depression' may be the closest you ever come to recognizing truth: you have no 'inferiority complex', you are inferior - and something inside you recognizes this. - [link|http://z.iwethey.org/forums/render/content/show?contentid=71575|Ashton Brown]
|
Post #201,679
4/2/05 5:56:19 PM
|
Re: Holy...
In the agile modeling literature, some have recommended using a digital camera to take photos of diagrams drawn on white boards, they also speak about throw away models
So, it didnt have to be a joke, anyway
In reply to the XML comments, you can draw a UML diagram, and save it in an XMI Xml file, I am saying, I would love to write an XMI file in Emacs, and transform it to a jpg or whatever, or view it in a graphical diagram editor.
It's a lot more practical to write XML docs, than to draw a diagram graphically in a graphical diagram editor.
Plus, if all your docs, are writen in XML (see XML publishing), you diagrams can be integrated in the rest of your docs, instead of being linked as a jpg.
|
Post #201,683
4/2/05 6:42:51 PM
|
I don't KNOW it was humor
We take pictures of whiteboards all the time at part of our design process.
On the other hand, "systems" is obviously an academic/student with no real world experience. Seems like he's the snobbish student in Good Will Hunting who pontificates what he just learned about in class, only to be crushed a few minutes later by someone who has read a lot more than him.
[link|http://www.un-official.com/GWH/GoodWillS.html|http://www.un-offici...WH/GoodWillS.html] Search for "Of course that's your contention"
After all, this is the guy who feels which computer language you code in should have nop bearing in your design.
What an idiot.
|
Post #201,796
4/4/05 1:11:03 AM
4/4/05 1:14:42 AM
|
I wrote my own
Its in java - therefore the UI sucks. I made it as good as I could without obsessing over it. And it only works with postgres. I outputs EOModel files which are useful with webobjects and GLORP.
It saves me a lot of time though.
Cayenne comes with a modeling tool too - both of these tools are designed to allow ORM, but the models they produce tends to be useful for other things - it captures both the logical and physical database design for instance.
"Whenever you find you are on the side of the majority, it is time to pause and reflect" --Mark Twain
"The significant problems we face cannot be solved at the same level of thinking we were at when we created them." --Albert Einstein
"This is still a dangerous world. It's a world of madmen and uncertainty and potential mental losses." --George W. Bush
|
Post #201,853
4/4/05 2:13:35 PM
|
Object Role Modeling
Just in case ... I was using ORM to refer to Object Role Modeling, not Object Relational Mapping.
[link|http://www.orm.net|http://www.orm.net]
ORM is a conceptual information modeling language. And did I say it rox!
|
Post #201,908
4/4/05 10:48:17 PM
|
Same old same old
You end up capturing the same information - only capturing it in an Object-Relational Meta Model gets you one more level of detail and allows you to automate a bunch of code such as schema definition language and object mapping code. In my extension to GLORP library, I automatically reshape the existing classes everytime a meta model (and database connection) is opened if it detects changes.
The difference is that using the visio toy, you just end up with pictures and files. You'll still be stuck writing all the software.
"Whenever you find you are on the side of the majority, it is time to pause and reflect" --Mark Twain
"The significant problems we face cannot be solved at the same level of thinking we were at when we created them." --Albert Einstein
"This is still a dangerous world. It's a world of madmen and uncertainty and potential mental losses." --George W. Bush
|