[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-kuml-devel
Subject: Re: He made me an offer i could't refuse
From: Gerard Flynn <gerard.flynn () free ! fr>
Date: 2000-09-25 21:52:11
[Download RAW message or body]
"Baak, E.J.M." wrote:
> Hi Guys,
>
> As Darius has pointed out so nicely, i have nothing better to do than
> writing large letters in english.
> So here's my first short one (well... short).
>
> I'll accept the offer.
>
> BUT
>
> as in a marriage (or whatever) remember that you have to give a lot and can
> take only a
> small bit if you want to succeed as a team.
> If one wants XML and the other wants CORBA, one of the two is about to
> become happy
> and the other is not (Yeez, i still don't know what i'm talking about).
>
> So, stop chatting about all kind of techniques and start thinking about what
> we really want.
> What are our goals.
> What do we want to reach.
> For whom are we writing this beauty app.
> What will be the OS.
Linux/Unix but if it happens to work on other systems I won't consider it a
bug.
>
> Is it going to be KDE only or transparent/usable for GNome and what extra
> effort will that cost.
The component library (see below) should be independent of both.
>
> Do we want to be extendible in future.
>
Of course.
> Do we want our data to be exchangible with other modeling tools.
>
Yes, as long as they use open, industry standard formats (XMI).
> What modeling tool are we going to use.
>
I'd vote for Dia. But we should try to switch to our own tool as soon as
possible. Actually being able to do this might be a good goal for the first
iteration.
> Do we use sourceforge (Darius, i have peeked in it but i couldn't find KUml
> yet).
>
OK by me.
Here's my first stab at a requirements list. Actually I have 2 separate
sets of requirements: one for a user app I'll call X and another for a
component library Y. The question is can we codevelop these in such a way that
X uses Y to avoid duplication of effort ? I know my requirements aren't very
detailed. I'm not very qualified to write a detailed list because I have
limited experience with other UML tools.
UMLv1.3 refers to the UML version 1.3 specification document:
ftp://ftp.omg.org/pub/docs/formal/00-03-01.pdf
END USER REQUIREMENTS:
X is an end-user application which constitutes a general purpose UML
modeling tool.
-X shall furnish an easy to use and intuitive GUI for creating and
editing
visual representations of UML models (diagrams).
-X shall allow the saving and loading of models and their corresponding
visualization elements. Model state is saved in XMI files.
-X will be usable for completely documenting a model while maintaining
diagram readability. This necessitates a highly flexible and user
configurable mechanism for information hiding.
-X shall support all diagram types defined by UMLv1.3.
-X shall attempt to respect the notational guidelines defined in
UMLv1.3
-X shall permit the exportation of diagrams in various graphic formats
(ps, eps, png, gif, etc.)
-X shall provide a facility for optionally verifying the static and
dynamic
semantics of models as defined in UMLv1.3.
-X shall allow information sharing between diagrams. (For example when
a
user adds a message to a colloboration diagram a corresponding method
may be
created if it does not yet exist in the object's class.)
-X shall permit code generation in C++.
-X shall permit reverse engineering of C++ code.
-X shall be integrated in a complete IDE (kdevelop).
-X shall be integrated with KDE2.
-X shall furnish remote access to shared persistent model repositories
DEVELOPER REQUIREMENTS:
Y is a component library whose purpose is to support the use of UML
models
in special purpose applications.
-Y shall provide an API for creating and manipulating UML models. This
API
would preferably be standardized and would ideally be that presented in
UMLv1.3.
-Y shall provide an API for importing/exporting UML models from/to XMI
streams.
-Y shall provide a facility for optionally verifying the static and
dynamic
semantics of models as defined in UMLv1.3.
-Y shall not depend on graphic environments such as KDE or GNOME or
their
libraries except for standalone XML libraries.
Example of use of Y:
Problem : Generate a working application domain specific
state-machine
from a UML statechart diagram stored in an XMI file.
Solution using Y:
The application calls functions to import data from the
XMI file.
The application traverses the model using the Y API and
generates
application specific objects which represent states and
transitions.
Gerard
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic