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