Behovet for UML
Når man støder på UML, og det gør man ganske mange steder efterhånden, er det oftest i form af UML-diagrammer, som i stadig større udstrækning benyttes i forbindelse med objekt-orienteret design og programmering. UML kan ikke kun bruges til at repræsentere et system grafisk, men sproget kan også benyttes som værktøj under udformningen af systemet. Mange værktøjer til udvikling med objekt-orienterede sprog som Java og C++ indeholder UML-værktøjer, for eksempel Borlands JBuilder-IDE.
UML er udviklet i midten af halvfemserne på baggrund af arbejder fra Grady Booch, James Rumbaugh og Ivar Jacobson, som hver især havde udviklet objekt-metodikker og use case-metodikker samt måder, hvorledes objekter og deres relationer kunne beskrives. Ordet Unified i navnet hentyder til situationen før UML, hvor mange forskellige tilgange til model-sprog kæmpede indbyrdes.
Firmaet Rational Software udviklede sammen med de tre ophavsmænd den færdige specifikation i 1996, og året efter blev den indgivet til standardiseringsorganisationen Object Management Group (OMG), som også står bag CORBA-standarden. OMG varetager UML som en åben standard.
Behovet
Behovet for modelleringssprog som UML er mangeartede. For at gøre software-udvikling mere økonomisk og lettere at styre, benyttes teknikker som komponent-teknologier, visuel programmering, programmeringsmønstre (design patterns) og frameworks.
Men udover disse programmeringsnære løsninger er der er også behov for at håndtere kompleksiteten i systemer, som vokser i størrelse og rækkevidde. Det giver igen et behov for at kunne opstille arkitekturer, som kan løse overordnede problemer så som distribution, replikering, sikkerhed, fejltolerence og skalering.
Når komplekse softwaresystemer skal bygges, er modeller og arbejdstegninger lige så vigtige, som hvis man skulle bygge et hus eller en bro. Modeller gør det muligt at planlægge, og de giver en basis for kommunikation imellem udviklerne. Det er væsentligt nemmere at diskutere en konkret plan, som visualiseres på en eller anden facon, i modsætning til de modeller, som udviklerne bærer på indersiden af hovedet.
Gratis UML-værktøjer
Det behøver ikke at være en dyr affære at gå i gang med UML. Open source-værktøjet ArgoUML kan benyttes i forbindelse med Java-udvikling, og det tyske firma Gentleware AG har udviklet en freeware-version af sit værktøj, Poseidon for UML, som bygger på ArgoUML. ArgoUML bygger på open source Java-IDE'et NetBeans, og ArgoUML og Poseidon kan integreres med Netbeans og Suns Sun One Studio (tidligere Forte), som også bygger på NetBeans.
I ArgoUML og Poseidon for UML kan et projekt designes fra bunden med de grafiske værktøjer, og programmet kan skabe kode-skeletter til klasserne ud fra diagrammerne.
Man kan også åbne et eksisterende Java-projekt, og Poseidon analyserer så klassernes struktur og opbygger diagrammerne.
Derudover kan programmet også benyttes til use case-diagrammer, hvor forretningsprocesser kan visualiseres. En use case er en række af samhørende handlinger, som systemet skal udføre som svar på en given hændelse. Disse use cases kan så senere kan benyttes til design af klasser.
Poseidon for UML Community Edition er et lidt mere poleret værktøj end ArgoUML, og det indeholder glimrende hjælpe-filer i HTML-format. Til gengæld er nogle af programmets funktioner, så som udprintning, fjernet fra den gratis version. Det kan ArgoUML til gengæld klare.
Begge programmer kan nemt prøves via Java Web Start (som automatisk følger med, hvis man benytter Java 2 SE 1.4), eller downloades fra ArgoUMLs og Poseidons hjemmeside. ArgoUML kan afvikles på alle platforme med Java 2 SE 1.3 eller senere, og det kan Poseidon tilsyneladende også.
Design af klassediagrammer i Poseidon for UML.
Diagram skabt ud fra en eksisterende package.