[Uml-devel] Wish for redesign

P. Fleury fleury at users.sourceforge.net
Fri Oct 25 01:43:04 UTC 2002


Andrew Sutton wrote:

>On Thursday 24 October 2002 16:26, Sebastian Stein wrote:
>  
>
>it seems to me that most of the people using uml (or even considering to use 
>uml) are software engineers or architects or what have you, and most work of 
>this variety (sorry to say) revolves around M$ world. given that most people 
>doing serious design work are writing for windows, why build a product for it 
>on linux?
>  
>
If you work for desktop software, M$ is probably the choice. If it is on 
embedded software, which is growing, then the win32 platform is not the 
de facto choice, and linux is still a good candidate if the hardware is 
more than a single-chip 8 bit computer. And not every piece of software 
is of the size of COM+...

>then, if you think about the typical linux developer (kde, gnome, etc.), they 
>don't really paint the greatest picture of "user-ship". alot of people 
>working on this stuff focus on the little picture or have this hack first, 
>redesign later. too many people working on open source take too much pride in 
>the term "hacker". personally, i think its one of the more disappointing 
>aspects (side effects?) of the open source movement. i mean really, how many 
>linux projects have well documented designs - much less diagrams of those 
>designs. i'm not knocking open source here (if you're wondering), and i'm not 
>trying to play some elitist role - its just kind of disappointing to me.
>  
>
Good documentation, easy to find information is what makes the 
entry-level to an open-source easier. I think Umbrello is on a good path 
here.

>given these arguments, we're trying to build a product for a group of people 
>who - in many cases - abhor the idea of even slightly more rigorous process 
>(since design is a phase of almost all development processes). actually, alot 
>open source developers (hackers) people are really repulsed by the idea of 
>writing down, god forbid, requirements, much less following that by a real 
>design.
>  
>
I do not think so, however, the requirements may be gathered on a 
web-page or in a mail-list archive. Lack of easy to exchange 
documentation is of course not helping, and Word files are still a pain 
to read on linux. Javadoc, Doxygen and these tools have been designed so 
that the effort of documenting code is the least possible. And see, more 
and more open-source is documented that way. For design docs, it maight 
well be the case too. Hence, following standards (XMI, MOF, etc, all of 
which is not too clear to me :-) will make this exchange of information 
the more easier.

>so we're building this software engineering tool (which is what UML modellers 
>are - CASE (Computer Aided Software Engineering) tools) for a platform that 
>is being developed by people who, for the most part, seem to reject a greater 
>part of the disciplines of software engineering - particularly those dealing 
>with process. i don't blame them, it can be tedious.
>  
>
Design and documentation are, to me, mostly about communication: between 
people and machine-human. Between people means there should be an easy 
way to exchange the documentation (again the de facto MSWord example), 
so XMI is a good move, linking into documentation (KOffice?) would be 
another such step. Between machine and human, this is the 
importing/exporting from/to source. First is to analyze, second is to 
help turn a design into source.
To get a first grasp at Umbrello (at the time uml), the most useful 
things I had seen was the classbrowser of KDevelop. If I can get the 
same kind of idea from an unknown piece of software, that will hook me 
up to such a tool.

>to paint the picture darker, assuming we do attain even the smallest amount of 
>usership from the open source development community, the learning curve for 
>UML is kind of high. i'm seeing that in my advanced software engineering 
>class. people who've never done it before are flailing, people who have stay 
>afloat. that means, we'd be responsible for educating our users as well - 
>assuming we know what we're doing (which, lets face, isn't always the case ;)
>  
>
Well, educating a community takes some time. But look at the designs od 
KDE, Qt, STL, and others. If you want to write open source, you will 
face these sooner or later. And you will have to use them. So you learn, 
and then you know about a few patterns already. Applying these to your 
own piece of software should be the logical step. Many projects talk 
about redesigned/refactoring. And I think you can learn UML quite 
gradually. Learn class diagrams, then object diagrams, then sequence, 
then state, etc. And, well, school can only last for so long, then at 
some point, you need cash :-)

>3. How can we get open source developers to use it
>
Push to have it in the "standard" KDE distro. So people have it, even if 
they do not know it ... And push to make it a default  tool in KDevelop.

>4. How can we reduce the learning curve of UML?
>  
>
Have a few easy tutorials, either in the Umbrello doc or on the 
web-page, or both. I think the UML notation is fairly easy to grasp, the 
modeling and design patterns is a whole other story...

>5. How can we reduce the "process association" affiliated with designing 
>software as opposed to writing software. that is, can we fool hackers into 
>adopting even the most trivial of processes for writing open source software?
>
>6. How can we make the application more available (easier to use) for hackers? 
>Would this affect its full range of capabilities for professional software 
>engineers?
>  
>
I think if it helps getting a grasp of the complexity of the software, 
then it will be adopted. When having 15 C++ files, it's ok for lacking 
and/or sloppy documentation. When it's kdelibs, you better get it in 
some parsable format (Doxygen). Then you can auto-extract it, and you 
have it grouped in several ways illustrating the relations between 
things. It's more human-readable.
That's an argument for importing of source, but also for a common core 
for UML, which enables one to write "modules" for things like verifying, 
refactoring, code-generation, smart diff for XMI models, etc. These are 
a big help, as they remove tedious and mechanical work. As did doxygen, 
autoconf, automake, makedepend, etc.

>7. I can't think of any more and friends is on. mull it over.
>
>  
>
Me neither, it's Friday,  so have a nice weekend!
--Pascal







More information about the umbrello-devel mailing list