gnumed-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnumed-devel] UML for GNUmed


From: Daniel Minahim
Subject: Re: [Gnumed-devel] UML for GNUmed
Date: Mon, 19 Dec 2005 00:55:13 -0200
User-agent: KMail/1.8.2

Em Dom 18 Dez 2005 13:56, Sebastian Hilbert escreveu:
> On Sunday 18 December 2005 15:24, you wrote:
> > Em Dom 18 Dez 2005 11:22, Sebastian Hilbert escreveu:
> > > On Saturday 17 December 2005 15:05, you wrote:
> > > > Hi again guys,
> > >
> > > Hi !
> > >
> > > I have consulted a local CS student and learned something about UML
> > > Now I know that companies use many tools and diagrams before they start
> > > coding.
> > >
> > > What is your opinion ? Does ist make sense for me to learn UML ?
> > > What about GNUmed's current work ? Is it useless if not done with UML ?
> >
> > Yes it does! UML is VERY nice!  Software design did evolve too, first
> > from binary assembly where all you needed was to get things done ASAP,
> > then structured design where you split the 'procedures' to get things
> > done and finally OO/Aspect oriented design which actually aims to get
> > software design as close as possible to human thinking.
> >
> > We'd have to partially reverse engineer GNUmed to UML, shouldn't be much
> > work, as I've mentioned before we should start with Use-Case for the
> > current 0.1, then a class diagram for the DB. I believe that's all we
> > need for now.
>
> How do you suggest we go about this ? I have no idea. I compiled a list of
> tools in our Wiki but that is pretty much it. Is there use in using those
> reverse engeneering tools ?
>
> http://salaam.homeunix.com/twiki/bin/view/Gnumed/UMLResearch
>
Good job! Yes there is a good use for reverse engineering tools, specially 
when reversing the python code to a component/class diagram. 
However, I don't really know a tool which can reverse engineer Postgres OO 
table schema.

> > Of course it is not useless if not done with UML! It's just more
> > professional, if we have those diagrams the first thing that will happen
> > is that new developers will be able to see the big picture right away.
> >
> > > I am considering employing this guy 40 hours a month to work on
> > > documentation. Is it even possible for him to model GNUmed or only for
> > > persons with the medical background ? So Karsten might be the only one
> > > currently to do this because one needs specs for UML ?
> >
> > No, a medical background is not essential although desirable.  I wouldn't
> > know who else might be able to give him specs, let's come up with a final
> > (0.1) specs document on the list, that would sure help.
>
> If I decide to employ this guy he could talk to Karsten. Would recording
> his vision help ? I imagine I need some master plan what he needs to ask
> Karsten. I mean I have no idea what he needs to know when he has the task
> to model this. But maybe I know when I have studies UML for a bit.
>

Any different vision is welcome isn't it? 

The master plan you've mentioned has been on the spot of Software/Knowledge 
Engineering, there's no agreement on it! But I'm a darwinist, things have 
been evolving in one direction, alternative software design has been limited. 
You'll know, he needs to know the requirements, check the attached .xmi I've 
quickly assembled in Umbrello (as a quick prototype :) ). I did those based 
on WhatCanIActuallyDoWiki.

> > > What other diagrams does a programmer need to be productive ?
> > > Does using UML limit the way a software or database can then actually
> > > be written ?
> > >
> > > I appreciate your input.
> >
> > There are SEVERAL UML diagrams (class, component, use-case, sequence,
> > collaboration, state, activity, distribution, check umbrello's help and
> > www.omg.org), I'd say the amount of diagrams you use depend on the
> > complexity of the project.
>
> If you listen to the list we need everything :-)

Yes, a long journey starts with the first step.

>
> > As I've mentioned before I believe we should
> > start with 2: Use-Case for 0.1 and the class diagram for the DB.
>
> Sounds good to me. One more silly question. Do the diagrams from pg_autodoc
> have anything to do with this ?

No, autodoc won't do much but generate html and png.

>
> http://salaam.homeunix.com/~ncq/gnumed/
>
> > I feel I'm talking a lot and doing little, but I'll post the .xmi file
> > for the Use-Case after Christmas.
>
> If you need any information about the use case itself I can help.
> Maybe this helps too:
> http://salaam.homeunix.com/twiki/bin/view/Gnumed/BasicEmrConcept
> http://salaam.homeunix.com/twiki/bin/view/Gnumed/WhatCanIActuallyDOWithGNUm
>edToday
>
> While I still don't believe in the myth of developers hiding in the dark at
> least now I am convinced I may be able to delegate the coding work if I
> learn to model that stuff.

Yes you will, in a modular and structured way.

> You could help me by telling me which of the tools are immediately usefull
> to form a complete environment. Maybe even more then one tool per task.
>
>         modeler --> python code <-- reverse modeling
>                       --> produce graphics, keep graphics in sync
>

You're moving fast, I wouldn't know which tools are most useful. Let's agree 
on the standards for modelling first:
1) We'll use Object Oriented Design

2) We'll use UML 2.0 to make the models and .xmi file format to exchange them.

3) We'll first reverse engineer/create the Use-Case and Class Diagram for the 
DB

As what tools I currently using:
Modeler: Umbrello 1.4.2 (i have argouml 0.19)
Python: v2.3
Reverse modeling: None!! This a major research. We probably will have to come 
up with one for the Postgres SQL and another for Python (PyReverse?).
Graphics: You'd generate those inside the modelling tool, neither Umbrello nor 
ArgoUML can do those from command line.


> Thanks for your imput,
> Sebastian Hilbert

PS: Please check the attached files

Attachment: GNUmed EMR Use-Case.png
Description: PNG image

Attachment: gnumed.xmi
Description: application/uml

Attachment: GNUmed Demographics Use-Case.png
Description: PNG image

Attachment: aop.pdf
Description: Adobe PDF document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]