Summary: | This project aims at investigating if the use of UML as a support to small-scale development of an embedded system is relevant. The investigation is conducted by using UML during the initial phase of the development of Telfafill, a filling machine by the company “Telfafill AB”. The aim of the development of Telfafill is to separate the user interface from the control unit. In addition to this main objective, Telfafill AB would like possible changes to, and additions of, functionality of the filling machine to be investigated. Within the boundaries of this project, the development of Telfafill reached a full requirement specification of the proposed system, and contact was made with potential external developers. No prototype construction had been started when the project ended. The report includes the requirement specification, and also accounts for the work of functionality development, communications evaluation and product design that has led to the specification. Account is also given for the choice of not designing the prototype in-house. For using UML, the tools ArgoUML and Rhapsody in J have been used. Initially, ArgoUML was used, but abandoned because of the greater potential for simulation in Rhapsody. Even though simulation did not take place, Rhapsody continued to be used, since it had shown to be easier to use from most perspectives. Foremost, UML has been a support to the verification of requirements. Conflicts and pitfalls in requirement design have been avoided and it is believed that the use of modelling has aided comprehension and understanding to a greater extend than would have been possible without similar methods. However, the time required to learn UML and the chosen tool has been long, longer than can be deemed efficient for the scale of the project. In conclusion, this example of UML-supported development has shown that the use of UML can be well motivated in small-scale development. However this holds under the assumption that those who perform the development have enough knowledge of UML to limit the cost and time for learning to an acceptable level. Also, it is necessary for the developers of small-scale systems to adjust the “level of model completeness” to the current project size and requirement. === Detta projekt syftar till att undersöka relevansen av att använda UML som stöd vid småskalig utveckling av ett inbyggt system. Detta görs genom att UML används under det initiala skedet av vidareutvecklingen av Telfafill AB:s huvudprodukt Telfafill. Denna produkt är en fyllningsmaskin och målet med vidareutvecklingen är att separera användargränssnittet från styrenheten, och därmed skapa en mer flexibel produkt. Utöver detta fanns önskemålet att ytterligare funktionsändringar och tillföranden undersöks inom examensarbetet. Vidareutvecklingen av Telfafill kom, i detta projekt, så långt som till en kravspecifikation över det önskade systemet och kontakt med potentiella legoutvecklare. Konstruktion av någon prototyp av produkten har vid projektslut inte påbörjats. I rapporten redovisas kravspecifikationen och arbetet med funktionsutveckling, kommunikationsutvärdering och design som lett fram till denna. Vidare redovisas anledningar till varför prototyputveckling valdes att inte genomföras inom projektet. UML har använts via verktygen ArgoUML och Rhapsody in J. Arbetet inleddes med hjälp av ArgoUML men detta verktyg övergavs till förmån för Rhapsody in J. Denna övergång skedde eftersom Rhapsody framför allt erbjöd möjligheter till simulering, men även, visade det sig, var enklare att arbeta i ur de flesta synvinklar. Den aspekt av utvecklingen som UML främst har stött, har varit verifiering av de krav som tagits fram. Genom att systemet har modellerats, har kravkonflikter och dåliga formuleringar kunnat undgås i vad som uppfattas som större utsträckning än utan motsvarande modellering. Vidare har UML varit till hjälp för att öka förståelsen av och insikten i systemets uppbyggnad och funktion. Den största nackdelen med modelleringen har varit att det tagit lång tid att lära in verktygen och UML:s uppbyggnad, mer än vad som kan anses motiverat för ett projekt i denna storleksordning. Som slutsats dras att detta exempel har visat att UML kan vara väl värt att använda som stöd vid småskalig utveckling av inbyggda system. Detta dock under förutsättningen att de som arbetar med utvecklingen inte behöver genomgå långtgående utbildningar för att klara UML och det verktyg som finns och att modellens ”grad av kompletthet” anpassas till det specifika utvecklingsprojektet.
|