Umbrello UML Modeller

advertisement
Umbrello UML Modeller
http://jriddell.org/programs/umbrello/akademy/all.html
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
1 of 10
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
7/29/2005 7:25 PM
Umbrello UML Modeller
http://jriddell.org/programs/umbrello/akademy/all.html
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
2 of 10
Use Case diagrams show relation between program and external users/systems
Most abstract fromm final code, used for specifying requirements
7/29/2005 7:25 PM
Umbrello UML Modeller
http://jriddell.org/programs/umbrello/akademy/all.html
UML Diagrams
Class Diagrams
3 of 10
Shows classes, their attributes and operations and the relationships between them
7/29/2005 7:25 PM
Umbrello UML Modeller
http://jriddell.org/programs/umbrello/akademy/all.html
Probably the most useful diagram type
UML Diagrams
Sequence Diagrams
4 of 10
7/29/2005 7:25 PM
Umbrello UML Modeller
5 of 10
http://jriddell.org/programs/umbrello/akademy/all.html
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
7/29/2005 7:25 PM
Umbrello UML Modeller
http://jriddell.org/programs/umbrello/akademy/all.html
UML Diagrams
6 of 10
7/29/2005 7:25 PM
Umbrello UML Modeller
http://jriddell.org/programs/umbrello/akademy/all.html
State and Activity Diagrams
7 of 10
Finite state machines
7/29/2005 7:25 PM
Umbrello UML Modeller
8 of 10
http://jriddell.org/programs/umbrello/akademy/all.html
7/29/2005 7:25 PM
Umbrello UML Modeller
http://jriddell.org/programs/umbrello/akademy/all.html
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
Part of KDE since 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, now propreitry as Poseidon)
Proprietry: Together (patents!), Rational Rose
General Diagramming Programs, not as suited to UML:
Dia
Kivio
Future
9 of 10
7/29/2005 7:25 PM
Umbrello UML Modeller
10 of 10
http://jriddell.org/programs/umbrello/akademy/all.html
Free Software Developers everywhere will design and document their programs in UML!
Integration with KDevelop (moving target, requires changes to both Umbrello and KDevelop)
Fix beasties.
7/29/2005 7:25 PM
Download