Umbrello UML Modeller
Software Engineering and Free Software
- Free Software development has a reputation for not following software engineering processes
Umbrello UML Modeller
Software Engineering and Free Software
- This is a feature, not a bug
- Project usually start to fill a need
- Development continues if people find it useful and have other needs
- Using software modelling doesn't mean taking on the whole software engineering process
Umbrello UML Modeller
Unified Modelling Language
- UML == Unified Modelling Language
- Not to be confused with User Mode Linux
- Industry standard for drawing diagrams of software
- Offers abstraction from code that you can't get with a text editor
- Mostly programming language independant, but...
- Object Orientated
- Syntax has similarities to C++ and Java
UML Diagrams
Use Case diagrams
- Use Case diagrams show relation between program and external users/systems
- Most abstract fromm final code, used for specifying requirements
UML Diagrams
Class Diagrams
- Shows classes, their attributes and operations and the relationships between them
- Probably the most useful diagram type
UML Diagrams
Sequence Diagrams
- Shows the flow of control between objects
- Method calls or general pseudocode, can get fairly close to final implementation
- Also Collaboration diagrams do the same thing in a different layout
UML Diagrams
State and Activity Diagrams
What is UML good for?
- Planning program requirements (use cases)
- Planning class structure
- Sharing plans with other developers being a standard language everyone can understand them
- Documenting your current code structure
- Very useful to refer to when programming
- Helps people new to the code base become familiar with it
even more important for distributed development, might not be anyone willing to explain code base
Umbrello
- UML diagramming tool
- Desktop and programming language independant but written using KDE
- Stable version 1.1.1 is available now from http://uml.sf.net, next version will be part of KDE 3.2
- Hopefully bringing UML modelling to Free software development
Umbrello Features
- Now implements all the diagram types of UML and most of the features of them
- Imports C++
- Export to a large range of languages
- File format (loosley) based on XMI, an XML language for UML
- Examples of users include Quanta HTML Editor, NASA and Nextphere AS
Umbrello Competition
- ArgoUML Java swing interface
- Proprietry: Together patents!, Rational Rose
- General Diagramming Programs, not very suited to UML: