Utvärdering av modelleringsvertyg som använder XMI/UML 2.0



Relevanta dokument
Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Generering av Universella Editorer

UML 1(5) Introduktion till Unified Modeling Language. 1 Bakgrund och historik

Introduktion. Byggstenar TDBA

Objektorienterad programmering

TDP005. Föreläsning 3 - UML. Filip Strömbäck

En snabb titt på XML LEKTION 6

KUNDREGISTER Sid 2(7) Teknisk specifikation

UML: Exempel. Ett modelleringsspråk. UML: Ansvar. UML: tre huvudanvändningar. Exempel: En klass position storlek. UML Unified Modelling Language

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?


UML. Tomas Czarnecki Institutionen för Informationsbehandling Åbo Akademi,FIN Åbo, Finland url:

FileMaker Pro 13. Använda Fjärrskrivbord med

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

Öppen/Fri programvara

Frågebanker, frågeuppsättningar och slumpvisa block

Omtentamen i OOSU2, 21 augusti 2014

Smartair System. TS1000 Version 4.23

Svar: Ja, detta är funktionalitet som är planerad. Vi jobbar nu med två lösningar, en gratis Viewer likt NP Bas och en webbaserad version.

Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar

Inkapsling (encapsulation)

Copyright 2003, SAS Institute Inc. All rights reserved.

Designmönster - EMW. Kent Petersson epost1: kentp@cs.chalmers.se epost2: kent.petersson@emw.ericsson.se URL:

Guide till RefWorks Skapa ett RefWorks-konto Under Citera och referera > RefWorks Hjälp funktioner i RefWorks Help Tutorial Help

För installationer av SQL Server som inte görs från Hogias installation måste följande inställningar göras:

JBoss Application Server ANNIE AXELSSON

PUBLICERINGSNOTISER TRIMBLE ACCESS SOFTWARE. Version Revidering A December 2013

Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt Kursprogram

Hantera informationspaket i system för bevarande

Program för skrivarhantering

Elektroniskt informationsutbyte mellan arbetsgivare och Försäkringskassan. Information om filöverföring

Kom igång med din SMART Board. Det praktiska

Lathund för att arbeta med pdf

Introduktion till Entity Framework och LINQ. Källa och läs mer

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg niklas.broberg@chalmers.

PNSPO! Exporterar och Importerar texter från CX- Designer. 20 mars 2012 OMRON Corporation

Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter

Projektarbete 2: Interaktiv prototyp

Thomas Padron-Mccarthy Datateknik B, Mobila applikationer med Android, 7.5 hp (Distans) (DT ) Antal svarande = 18

Svenska Linuxföreningen. Fri programvara Mer än bara gratis 1(17) Copyright 2006 Marcus Rejås

WD406F - Interaktiva medier I 7,5hp Moment: Web Usability Inlämningsuppgift 1ab. Wynona Ekesrydh

Schematransformation SLU

Föreläsning om OO, OOA och UML

DEN KOMPLETTA PROGRAMVARAN FÖR DESIGN OCH TILLVERKNING AV TRÄTRAPPOR PROGRAMVARA FÖR DESIGN OCH TILLVERKNING AV TRÄTRAPPOR LÄTT ATT ANVÄNDA

F R Å G O R & S VA R. Open eplatform v SKAPAD AV: Hillar Loor, Senior Partner

EndNote online. T5 ht 2015 Therese Nilsson/Camilla Persson

eklient Objekt 1 Livscykelplaner i Samverkan Livscykelplaner eklient 1.5

SDC Web-Access. Installationsanvisning v 2.0.2

Projektpresentation Wapspel

GYMKEEPER ANDREAS SÖDERSTRÖM

Avsiktsförklaring avseende samverkan mellan Metadatamodell och FI2002

Data visualization on Android

App-klient för smartphones Power BI Arbetsflöde CRM Online Webb-klienten Dokumenthantering Molnet...

ClamatorVoiceSystem II

Översikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7)

Slutrapport för JMDB.COM. Johan Wibjer

Teknikprogrammet, inriktning informations- och medieteknik

Major Release 3.1. Vad innebär Major Release 3.1 för svenska användare?

Installationsanvisning för kursens programvara på egen dator

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen , kl

Tillgång till alla globala delar i systemet styrs av denna profil, som i sin tur kopplas till respektive användare.

Användarmanual till AD OnLine

Användarmeddelande (november 2015) Ny programversion. FLEX Lön. Version 16.1a

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet

SEAPILOT s nya PREMIUM tjänst

Lättläst sammanfattning Åtgärder mot fusk och fel med assistansersättning

Svenska Linuxföreningen. Fri programvara Mycket mer än gratis 1(36) Copyright 2005, 2006 Marcus Rejås

Från Data till Process

Lära känna skrivbordet

Malmö Släktforskarförening. April 2016 Torgny Larsson

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Geografisk information Representation av förändringar i datamängder

Registrera forskningspublikation i DiVA

Introduktion till migrering till molnet. PART 4: Plattformar för molntjänster

Region Skåne Verksamhetsledningssystem (VLS)

Registrera/publicera i DiVA

Migrera till Word 2010

Creo Customization. Lars Björs

Version Testteam 4 Testledare: Patrik Bäck

Java Programmer for JDK Developer for Java 2 Platform 2002

GIT L0002B INTRODUKTION TILL PROGRAMMERING OCH C# Information inför kursstart

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Figur 1. Skärmbild med markerade steg i videon. Diagram och tabell som visar positionerna som funktion av tiden.

CHESS Chemical Health Environment Safety System

19. Skriva ut statistik

LEFI Online. Anslutningsinformation

Usify. EasyReader. Affärsmodeller

RVS5000PC. Allmänt. RVS5000PC produktblad

Objektorienterad analys och design

Installationsanvisningar

Webforum. Nya funktioner i version Senast uppdaterad:

En guide för dig i EmpowerDags

Beslut om fastställande: - - Behörighetskrav: -

Växjö sparar 3,5 miljoner kronor på lägre kostnader för e-postlagring och IT-personal med ny lösning

Real-time requirements for online games

TDDD80. Mobila och sociala applikationer Introduktion HTTP,SaaS. Anders Fröberg Institutionen för Datavetenskap (IDA)

magazine Höstens tema: BIM Stunden alla har väntat på: Lanseringen av Topocad 16 BIM i fokus när järnväg projekteras HÖST 2015

Inledande programmering med C# (1DV402) Introduktion till C#

Paketering av programvara. Slutrapport

Transkript:

Institutionen för kommunikation och information Examensarbete i datalogi 10p C-nivå Vårterminen 2006 Utvärdering av modelleringsvertyg som använder XMI/UML 2.0 Caroline Nilsson a02carni:nilsson:caroline:hs-iki-ea-06-603

Utvärdering av modelleringsvertyg som använder XMI/UML 2.0 Examensrapport inlämnad av Caroline Nilsson till Högskolan i Skövde, för Kandidatexamen (B.Sc.) vid Institutionen för kommunikation och information. Arbetet har handletts av Bengt Eftling. 2006-06-07 Härmed intygas att allt material i denna rapport, vilket inte är mitt eget, har blivit tydligt identifierat och att inget material är inkluderat som tidigare använts för erhållande av annan examen. Signerat:

Utvärdering av modelleringsvertyg som använder XMI/UML 2.0 Caroline Nilsson Sammanfattning Detta arbete har gjorts för att utvärdera XMI 2.0. Utvärderingen har gjorts för att se om den nya standarden (2.0) av XMI är bättre än den gamla. Det finns måga typer av problem som kan testas denna rapport undersöker om det går att exportera/importera klassdiagram mellan olika verktyg med hjälp av XMI. De UML-verktyg som har testats är Poseidon, Visual paradigm, Magic draw, Altova Umodel, Argouml Bouml.Resultatet visar att det inte är så lätt som man kan tro att exportera/importera diagram mellan olika UML-verktyg. Nyckelord: XMI, UML, Öppen källkod, XML

Innehållsförteckning 1 Introduktion...1 2 Bakgrund...3 2.1 Metadata...3 2.2 XML...3 2.3 UML...4 2.4 XMI...5 2.5 Öppen källkod...6 2.6 Proprietär programvara...6 3 Problemdefinition...7 3.1 Förflyttning mellan olika verktyg...7 3.2 Verktyg med öppen källkod och propritära verktyg...8 4 Metod...9 5 Resultat... 12 6 Slutsats... 14 6.1 Diskussion...14 6.2 Framtida arbete...14 Referenser... 15 Artiklar...15 Länkar på Internet...15 I

1. Introduktion 1 Introduktion Eftersom utvecklingen inom mjukvaruutvecklingen går fort framåt så är branschen i stort behov av olika modelleringsverktyg. Modelleringsverktygen används för att snabbt kunna ta fram olika modeller i början av utvecklingen i ett stort mjukvaruprojekt. Vad innebär då dessa modeller för utvecklingen? Föreställ dig en byggnadsarbetare som ska försöka göra ett hus utan ritning. Nästan omöjligt. På liknande sätt är det för programmeraren om den ska försöka göra ett stort program utan att först göra en modell över hur det är tänkt att systemet skall fungera. Det är lika viktigt för en programmerare att ha en modell över systemet som ska utvecklas som det är för en byggnadsarbetare att ha en ritning över det som ska byggas. Detta insågs för åtskilliga år sedan och det finns en stor mängd företag som har specialiserat sig på att ta fram modelleringsverktyg. Ett problem med dessa modelleringsverktyg är att de inte är standardiserade. Med det menas att om användaren har ett specifikt verktyg är användaren låst till det verktyget, så kallad lock in. Detta innebär att användaren måste använda det verktyget nästa gång användaren vill jobba med just den modellen. Fördelen med att kunna använda olika verktyg för samma modell är att denna skall kunna användas i olika system eller användaren kanske vill jobba hemifrån. Standarder inom detta område utvecklas hela tiden så att det ska bli lättare att överföra en modell från ett verktyg till ett annat och även för att generera kod från modellen till olika programmeringsspråk. En av dessa standarder är UML (Unified Modeling Language) som har utvecklats för att användas som standard när användarna skapar modeller så att alla som jobbar inom området lätt ska kunna se vad modellen innebär. Utförligare beskrivning av UML finns i nästa kapitel. En annan standard är XMI (XML Metadata Interchange) som används för att användarna ska kunna exportera/importera modeller mellan olika program och även skapa programkod. Den nyaste versionen av XMI i är 2.0 vilket är den version som det kommer att fokuseras på i denna rapport Många av de verktyg som finns har nu gått över till att använda den nya UMLstandarden, UML 2.0. Det finns många verktyg för den här sortens modeller. Många av dessa verktyg kostar pengar men det finns även verktyg som är gratis. I detta projekt kommer det att utföras tester som ska kontrollera om de verktyg som finns följer standarderna. Framförallt läggs energin på att testa de verktyg som är gratis eftersom gratis programvara blir vanligare och får därför fler och fler användare. Demo-versioner av de program som kostar pengar kommer också att testas om de har med de väsentliga funktionerna som berörs i denna rapport. De modelleringsverktyg som kommer att testas finns redovisade i tabell 1.1. Tillverkarna uppgerom de tet går att Importera/Exportera som XMI. Verktygen har valts från denna Internetsida http://www.objectsbydesign.com/tools/umltools_bycompany.html. Verktygen kommer att testas genom att en fallstudie kommer att göras för att se vilka modelleringsverktyg som är kompatibla med vilka. För att kunna genomföra testet på ett bra sätt kommer de verktyg som finns att delas upp i klasser för att få en bättre jämförelse. 1

1. Introduktion I fallstudien kommer ett klassdiagram att skapas i respektive modelleringsverktyg. Denna modell kommer sedan att exporteras/importeras till de övriga modelleringsverktygen med hjälp av XMI. Resultatet kommer att redovisas i form av tabeller. Poseidon for UML Standard edition version 4.0.1-0 Visual Paradigm for UML Standard edition version 5.2 Magic draw UML version10.5 Altova Umodel version 2006 Argouml version 0.18.1 Bouml release 2.9.4 Exportera som XMI Ja Ja Ja (2.0) Ja (2.0) Ja Ja Importera som XMI Ja Ja Ja Ja Ja Nej Tabell 1.1 Tabell över de verktyg som kommer att testas 2

2 Bakgrund 2 Bakgrund I detta kapitel ges en kort introduktion till vad olika standarder står för. Till exempel kommer XMI och UML att definieras. Begreppet öppen källkod kommer att definieras tillsammans med några andra begrepp som läsaren kan behöva ha kännedom om före vidare läsning. 2.1 Metadata Med metadata menas information om data. Metadata är ett viktigt begrepp inom områden som filsystem och databaser. 2.2 XML extensible Markup Language (XML) är en standard som används för att lagra textinformation så att den exempelvis kan tolkas oberoende av plattform och programspråk. Standarden kom till i slutet av 1990-talet efter att World Wide Web Consortium 1 (W3C) begärt att en sådan standard skulle skapas eftersom den standard, Standard Generalized Markup Language (SGML) som fanns tidigare verkade vara allt för komplex. Genom att skala bort komplexiteten i SGML och ta vara på de delar som ansågs viktigast skapades XML. XML består av en textmassa där vissa delar består av taggar (märkord) som ska följa bestämda regler. Exempel på denna standard se figur 2.1. Figuren beskriver en boksamling där informationen om en bok med titeln "XSLT Cookbook" och författare "Sal Managano". <?xml version="1.0" encoding="iso-8859-1"?> <books> <book> <title>xslt Cookbook</title> <author>sal Mangano</author> </book> </books> Figur 2.1 Exempel på XML för att beskriva en boksamling, där titeln är XSLT Cookbook och författare är Sal Mangano. 1 W3C är en organisation för att utveckla standarder och protokoll för webben. Organisationen har som mål att leda Internet till dess fulla kapacitet genom öppet samarbete(http://www.w3c.org). 3

2.3 UML 2 Bakgrund UML (Unified Modeling Language) är ett språk som används i modelleringsverktyg, vid programvaruutvecklingen. Språket är skapat av Grady Booch, James Rumbaugh och Ivar Jacobson varav den sist nämnde är från Sverige. Dessa tre personer har jobbat länge inom programvaruutvecklingsbranchen och hade innan de slog sig ihop utvecklat egna designmetoder. UML är idag en viktig standard inom Object Management Group (OMG). OMG är en organisation som arbetar med objektorientering och har som sitt vikigaste mål att underlätta för introduktion av objekorienterings tänkande.. UML används inom objektorientering för att lätt få en överskådlig bild över det program som ska skapas. Ofta kan även kod genereras direkt från den skapade modellen UML används främst för att göra olika typer av diagram. Några olika typer av diagram beskrivs nedan: Aktivitetsdiagram: visar relationerna mellan aktörer och användarfall. Aktörerna är de personer eller andra system som kan tänkas jobba med det program som håller på att utvecklas. Användarfall är de fall som aktören kan använda programmet till. Exempel ges i figur 2.2 (http://www.internetworld.idg.se). Figur 2.2 Aktivitetsdiagram över olika aktiviteter som som gäller när när man går in i en butik och handlar. Klassdiagram: diagram som visar hur olika klasser (datatyper) relaterar till varandra och även vilka attribut (egenskaper) och metoder (funktioner) som finns i aktuell klass. Exempel ges figur 2.3. 4

2 Bakgrund Figur 2.4 Relation mellan Båt och bil. Sekvensdiagram: diagram som beskriver i vilken ordning saker sker med ett eller flera objekt. Här behöver användaren även ta hänsyn till tidsperspektivet. Tiden i den här typen av diagram läses alltid uppifrån och ner. Se figur 2.4 (http://www.internetworld.idg.se). Figur 2.4 Sekvensdiagram över en bankomat 2.4 XMI XML Metadata Interchange (XMI) är en standard som UML-verktyg använder för att kunna byta metadata med varandra. XMI har koppling till XML. För att 5

2 Bakgrund Figur 2.6 Hur XMI ändras mellan de olika stadierna. modelleringsverktygen ska kunna byta information med varandra sparas informationen om hur modellen ser ut i ett XMI-dokument. Mottagar verktyget får sedan tolka data i XMI-dokumentet och bygga upp en ny model Exempel se figur 2.6 (http://homepages.inf.ed.ac.uk/stg/research/degas/papers/smallscale.pdf ) 2.5 Öppen källkod Med öppen källkod (Open source) menas att den kod som görs får fritt distribueras och ändras. Det finns många sätt att beskriva vad öppen källkod är. Man kan till exempel jämföra det med en person som bygger något och sedan ger ut ritningen på det grattis, så att vem som helst kan ändra det som den vill. 2.6 Proprietär programvara Motsatsen till öppen källkod. Om programvaran är proprietär så får användaren inte tillgång till källkoden och programmet får inte heller distribueras fritt. 6

3 Problemdefinition 3 Problemdefinition Denna rapport kommer att undersöka hur bra olika verktyg är på att följa den XMIstandard som finns. Rapporten kommer framför allt att fokusera på XMI version 2.0 eftersom denna version är relativt ny. Det finns indikationer på att denna version skulle ha bättre möjligeter att klara av integration mellan olika modelleringsverktyg, men tyvärr finns det inte så många verktyg som använder sig av denna standard, så det kommer att bli svårt att testa fullt ut. De versioner som finns tidigare hade bland annat problem med att klara av att representera relationer och kardinalitet [2] vid inläsning av XMI-dokument. Eftersom XMI är öppen källkod är det även intressant att göra en studie där verktyg som använder öppen källkod jämförs mot de verktyg som är proprietära. Ett problem som finns är att de olika versionerna av XMI som finns inte är kompatibla med nästkommande. Till exempel om man har skapat en modell med XMI version 1.1 garanterar det inte att ett verktyg som stödjer XMI version 1.2 kan importera modellen som var skapad med 1.1 eftersom standarden ändras mellan de olika modellerna. Vilket leder till att verktygen som finns får tala om om de stödjer mer än en version av XMI [1]. 3.1 Förflyttning mellan olika verktyg Ett annat problem som kommer att undersökas är samma som i [1] och [2] fast fokus kommer enligt tidigare att koncentreras på XMI 2.0. För att se om problemen med relationer och kardinalitet finns kvar kommer det att utföras ett test som kontrollerar detta.enbart import/export mellan olika verktyg kommer att kontrolleras. Se även figur 3.1 Alltså går det att skapa en modell i ett modelleringsverktyg och sedan exportera den som XMI? Kommer då denna modell att se likadan ut när den sedan importeras till ett annat modelleringsverktyg? 7

3 Problemdefinition 3.2 Verktyg med öppen källkod och propritära verktyg Är det så att öppen källkods verktygen är bättre på att följa XMI standarden än de proprietära eftersom XMI bygger på öppen källkod? Går det att fastställa generella likheter/skillnaden mellan öppen källkods verktygen och de proprietära verktygen? 8

4. Metod 4 Metod Som metod valdes att göra en fallstudie över de modelleringsverktyg som har valts för denna utvärdering. Fallstudien granskar de problem som är definierade i kapitel 3. Alla resultat som är väsentliga kommer att pressenteras i kapitel 6. För att kunna utreda om det finns samband mellan olika typer av defekter i överföringen mella olika verktyg så delades modelleringsverktygen in i fyra olika klasser. Klasserna definieras nedan. Se även figur 4.1. Klass 1: Öppen källkod och java Denna klass innebär att programmen är kostnadsfria och baserade på java. Detta innebär att de är plattforms oberoende. Exempel på verktyg inom denna klass är FUJABA och andromda Klass 2: Öppen källkod och Linux applikationer I den här klassen finns de program som är gratis och inte gjorda i Java. Detta kan innebära att de bara fungerar i Linuxbaserade operativsystem. Umbrello är ett exempel på verktyg i denna klass. Klass 3: Proprietära och java Verktygen i denna klass är baserade på java men kostar pengar men de är fortfarande plattformsoberoende. Verktyg här är Magic draw och Poseidon. Klass 4: Proprietära och Windowsbaserade Program som kostar pengar och är gjorda för Windows. Rational rose och Microsoft Office Visio är några av de verktyg som finns i denna klass Figur 4.1 Visar klassindelningen Klassindelningen ovan har valts för att kunna kontrollera hur gratis program står sig emot de som kostar pengar. Finns det samma fel i kommersiella verktyg eller är dessa bättre? Kan program som bygger på öppen källkod vara lika bra som proprietära? Måste verktygen vara linuxbaserade för att få bästa funktionalitet? 9

4. Metod Samtliga valda program (se tabell 1.1) kommer att genomgå ett test där ett klassdiagram skapas och sedan exoprteras som XMI. XMI filen kommer sedan att försöka importeras i de andra programmen. Det första som gjordes i projektet var att ta reda på vilka modellerinsverktyg som skulle utvuärderas. Sedan gjordes en tabell över dessa. Efter att tabellen gjorts konstaterades att det skulle bli lättare att utvärdera modelleringsverktygen om de delades in i klasser. Dessa klasser finns beskrivna i figur 4.1. För att hitta vilka modelleringsverktyg som skulle ingå i studien så letades olika modelleringsverktyg upp via Internet. Sedan laddades dessa ner för att testen skulle utföras. För att testen skulle kunna bli genomförd så kontrollerades verktygen enligt dessa kriterier: Finns XMI export? Finns XMI import? Vad händer om en fil öppnas i ett annat program? Vad händer när filer skapade i andra program öppnas? Klassdiagram enligt figur 4.2 används för att genomföra testen. Detta klassdiagram har valts för att de innehåller de nödvändigaste bitarna av vad ett klassdiagram behöver (persson mfl. 2005). 10

4. Metod Figur 4.2 Klassdiagramet som har används i studien. 11

5. Resultat 5 Resultat Poseidon Ett av världens mest popuulära UML verktyg. (www.gentleware.com) Tillhör klass 3 enligt figur 4.1 Visual Paradigm Verkyg som är skapat för att användas i ett brettområde när det gäller mjukvaruutvecklning (http://www.visual-paradigm.com ). Tillhör klass 3 enligt figur 4.1. Magic draw Verktyg innom objektorienterad utveckling dör även UML diagram ingår.(http://www.magicdraw.com/ ) Tillhör klass 3 enligt figur 4.1 Altova Umodel (http://www.altova.com/) Tillhör klass 3 enligt figur 4.1. Argouml Kan ska de flesta UML diagram och är gratis. Klass 1 enligt figur 4.1. Bouml Gratis UML verktyg. Är snabbt och tar upp lite minne.(http://bouml.free.fr/) Tillhör klass 1 enligt figur 4.1. Nedan visas resultatet (se tabell 5.1) av det test som utfördes. + Betyder i diagrammet nedan att det gick bra att överföra diagramet - Betyder att det inte fans någon funktion för att överföra diagramet. Betyder att det blev fel på överföringen och att programmet det överfördes till inte kunde ta emot filen som skickades. Testet visar att det inte alltid fungerar att överföra XMI filer mellan de olika programmen. Oftast så blev det error därför att den XMI fil som försökte importeras var av en äldre/nyare version än den som som programmet känd till. I vissa av programmen så gick det inte ens att exportera i XMI formatet fast det stog att det skulle gå istället blev filen sparad som XML fil vilket inte var önskvärt. Utifrån testet kan man s att det verkar som att Magic draw var det verktyg som var mest kopatiblet med andra verktyg men tyvärr så hittades inget sätt att spara modellen som XMI fil. Sämst verkar Bouml vara vilket kan bero på att det bara var en freeware som testades. Där hittades ingen funktion för import och vid filer som skapades i verktyget skapade fel vid in läsning i de andra programmen. 12

5. Resultat Import Poseidon for Visual UML Standard edition Paradigm for UML Standard Magic draw UML Altova Umodel Bouml Argouml freeware version edition version version version release 4.0.1-0 version 5.2 10.5 2006 0.18.1 2.9.4 Poseidon for UML Standard edition version 4.0.1-0 + - Visual Paradigm for UML Standard edition version 5.2 + - Magic draw UML Export version10.5 - - - - - Altova Umodel version 2006 - - - - - Argouml version 0.18.1 + + - Bouml release 2.9.4 + Tabell 5.1 Tabellen visar resultatet av det test som genomfördes 13

6. Slutsats 6 Slutsats Ennligt det resultat som finns i tabell 5.1 verkarar det inte som att verktygen är anpassade till XMI 2.0. Verkar vara svårt att hitta verktyg som klarar av standarden. 6.1 Diskussion Eftersom det verkar som att XMI 2.0 är ganska nytt var det svårt att hitta verktyg som stödjer 2.0. Så att den test som gjordes inriktades på att se hur det fungerade att överföra från 2.0 till äldre versioner och från äldre versioner till 2.0. Därför skulle det vara intressant att göra om testerna när XMI 2.0 har utvecklats lite mer. Annars var detta ett intressant projekt. De olika versionerna av XMI var som väntat inte koplatibla med varandra och som ses i resultatet så fungerade det oftast inte ens att få in diagrammet i ett annat verktyg utan fel upp stog. Skulle ha varit önskvärt om man haft med verktyg från alla de fyra klasserna som definierades. Nu var det inget verktyg med ifrån klass 2. Det svåraste med arbetet var att ta reda på vilken/vilka XMI versioner de olika verktygen stödjer. Det enda verktyg där det klart och tydligt framgick var poseidon. 6.2 Framtida arbete Kontrollera hur XMI 2.0 fungerar ihop med andra typer av diagram. Som till exempel aktivitetsdiagram och sekvensdiagram. Kan vara intressant att se om det skiljer sig något mellan de olika diagram typerna Kontrollera om befintligt diagram går att importera till det program diagrammet är skapat i. Kan finnas fall där inte heller det diagrammet fungerar. Kontrollera fler av de UML-verktyg som finns. Eftersom det är ett fåtal verktyg som har testats i denna rapport. För mer verktyg som skulle kunna vara lämpliga för framtida test kan denna länk vara intressant: http://www.objectsbydesign.com/tools/umltools_bycompany.html Kontrollera framtida versioner av UML-verktygen och se om de då är bättre anpassade till standarden XMI 2.0. 14

8. Referenser Referenser Artiklar [1] Persson, A., Gustavsson, H., Lings, B., Lundell, B., Mattsson, A. and Ärlig, U. (2005b) Adopting Open Source development tools in a commercial production environment are we locked-in?, In Halpin, T., Krogstie, J. and Siau, K. (Eds.) Tenth International Workshop on Exploring Modeling Methods in Systems Analysis and Design (EMMSAD 05), In Proceedings of the CAiSE 05 Workshops Vol. 1, Porto, Faculdade de Engenharia da Universidade do Porto, Portugal, ISBN 972-752-077-4, pp. 427-438. [2] Persson, A., Lings, B., Lundell, B., Mattsson, A. and Ärlig, U. (2005) Communication, coordination and control in distributed development: an OSS case study, In Scotto, M. and Succi, G. (Eds.) Proceedings of the First International Conference on Open Source Systems, Genova, Italy, 11-15 July 2005, pp. 88-92. Länkar på Internet OMG (Januari 04 2006), Object Managmant Group -UML-, http://www.omg.org/uml/., hämtad: 2006/04/03 W3C (2006/06/05), World Wide Web Consortium, http://www.w3c.org, hämtad: 2006/06/06 Objects by design (2005/10/15), Objects by design: UML Modelling Tools, http://www.objectsbydesign.com/tools/umltools_bycompany.html, hämtad: 2006/04/12 Magic draw (2006/05/05), UML 21.0 diagraming, OO software modeling, Source code engineering Tool magic draw UML from NO M, http://www.magicdraw.com hämtad: 2006/06/05 Gentleware (2006), Posseidon for UML by gentleware, just model: home, www.gentleware.com hämtad: 2006/06/06 Visual Paradigm (2006), UML Tools Builder -Visual paradig- Build Quality Applications Faster, Better and Cheaper, http://www.visual-paradigm.com hämtad: 2006/06/06 Altova (2006), Altova -XML, Datamanagement, UML and Web Services Tools, http://www.altova.com/, hämtad: 2006/06/06 bouml (2006), bouml, http://bouml.free.fr/, hämtad: 2006/06/06 Internetworld (2005), UML-del 2 av 3-Webstudio Internetworld -En del av idg.se http://internetworld.idg.se/webbstudio/pub/artikel.asp?id=209 hämtad: 2006/06/05 Internetworld (2005), UML-del 1 av 3-Webstudio Internetworld -En del av idg.se, http://internetworld.idg.se/webbstudio/pub/artikel.asp?id=207 hämtad: 2006/06/06 Argouml(2005), argouml.tigris.org, http://argouml.tigris.org/ hämtad: 2006/06/07 15