/[http://wiki.kde.org/tiki-index.php?page=KDE+Community+World+Summit|aKademy] / [http://wiki.kde.org/tiki-index.php?page=Talks+@+aKademy|Talks] / Umbrello Talk -=Umbrello: Free Software and UML Modelling by Jonathan Riddell=- Free Software development has a reputation for not following the taught software engineering processes. Slide of silly waterfall and spiral software development diagrams. This is a feature, not a bug as projects usually start by scratching an itch etc. Development continues if people find it useful and have other needs. However using software modelling doesn't mean taking on the whole software engineering process. Enter UML. UML == Unified Modelling Language. Not to be confused with User Mode Linux. It's an open industry standard. Quite recent, 1999 it started. Offers abstraction from code that you can't get with a text editor. Programming language independent, but Object Orientated and syntax has similarities to C++ and Java. Use case diagrams show relation between program and external users/systems. Most abstract from final code, used for specifying requirements. See slides for an example. Class diagrams are the most popular and most useful diagrams. Shows classes, their attributes and operations and the relationships between them. Sequence diagrams show implementation of methods and sequences of method calls. State and activity diagrams and for finite state. UML is useful for designing and documenting your code. Planning program requirements (use cases). Planning class structure (class diagrams). Then sharing your plans with other developers. Documenting your current code structure with UML is a great way to understand the code then let other developers understand the layout of the code. Umbrello is a UML diagramming tool and has been part of KDE since 3.2. Hopefully bringing UML modelling to Free software development. It implements almost all of the UML standard. It imports C++. Exports to lots of languages and uses the XMI standard file format for UML. The future of Umbrello is that Free Software developers everywhere will design and document their programs in UML! KDevelop integration is wanted but will take time. And there are lots of beasties to fix.