
Masarykova univerzita Fakulta informatiky UML modeling tools for blind people Bakalářská práce ukáš Tyrychtr 2017 Prohlašuji, že tato práce je mým původním autorským dílem, které jsem vypracoval(a) samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal(a) nebo z nich čerpal(a), v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Tato práce se zabývá nástroji použitelnými nevidomými při tvorbě a procházení již existujících UML diagramů. Práce shrnuje stav použitelných nejen softwarových nástrojů použitelných při prezentaci UML diagramů, a rovněž představuje výsledky studie použitelnosti PlantUML. Klíčová slova: UML, nástroje, nevidomí, přístupnost, PlantUML Table of contents Table of contents ................................................................................................................................. 4 Introduction ......................................................................................................................................... 5 About UML .......................................................................................................................................... 5 Current tools and state of the research .............................................................................................. 6 UML diagram presentation approaches .......................................................................................... 6 Software tools ................................................................................................................................. 6 PlantUML ........................................................................................................................................... 12 Syntax ............................................................................................................................................ 12 The syntax choices ......................................................................................................................... 30 PlantUML and visually impaired users .............................................................................................. 30 The questions ................................................................................................................................ 30 The subjects ................................................................................................................................... 31 The questioning ............................................................................................................................. 31 The questions and their answers .................................................................................................. 31 Visual aspects of the PlantUML output ............................................................................................. 43 Conclusions ........................................................................................................................................ 44 Appendix ............................................................................................................................................ 45 PlantUML Installation note ............................................................................................................ 45 Resources .......................................................................................................................................... 46 4 Introduction Despite UML being so ubiquitous in the software engineering community, not much research has gone towards finding how a blind user can cooperate with his colleagues. This work thus wants to present the current available tools and then assess in more detail the usability of PlantUML in cooperation between blind users and their colleagues while understanding a moderately complex diagram and suggest possible improvements to make the cooperation more streamlined. Such improvements may include suggestions for syntax changes, diagram organization guidelines and other suggestions. This work first explains the current state of this area – presentation approaches, current software tools and it also presents a quick PlantUML syntax refresher. The second major part presents the results of a survey of PlantUML users, particularly visually impaired ones, but the visual presentation is also looked at briefly. About UML "The Unified Modeling Language (UML) is a general-purpose visual modeling language that is used to specify, visualize, construct, and document the artifacts of a software system. It captures decisions and understanding about systems that must be constructed. It is used to understand, design, browse, configure, maintain, and control information about such systems." (1) It was created to centralize the various existing representations and in 2005 it was accepted as a ISO standard (2). UML defines a few visualization types, some are used more than others. Before continuing with a more thorough exploration of the software aspect of UML, the following paragraphs briefly describe the diagram types defined by the UML specification. The use case diagram describes on a high level the usage scenarios of a software system and their actors. It can help making sense of the required entities and the functionality needed. The sequence diagram describes a set of sequential steps of a process by showing the individual interactions. It is not usually created for each part of the system, but it can help in more complex cases. The communication diagram is like the sequence diagram, but it focuses more on the passed messages. It is possible to express a communication flow by both diagram types. The communication overview diagram also shows some business process, but on a higher level of interaction. Instead of individual steps it shows individual interaction diagrams (activity, sequence etc.). The timing diagram shows a sequence of events roughly as a sequence diagram, but when more objects are involved it helps to highlight the timing relations. In an activity diagram you usually display a part of a functionality in more detail including all the conditions, loops and other flow control elements, but you do not perform this for each function. 5 A state diagram represents the possible states and their transitions in a part of a system or some of its objects. As such, it is also known as the state machine diagram. A class diagram depicts the overall class hierarchy and the relationships within it. It might be more detailed including class attributes and methods, but this detailed analysis is usually done only in a later planning stage and maybe not for all classes. It is one of the most common diagram types used. An object diagram is somewhat like a class diagram, so it also shows class relations, but in this case concrete instances of the classes are used. It can help in understanding some more complex data relationships. A component diagram shows the relationships between larger system components (databases, application servers etc.) and the interfaces used. In a deployment diagram the relationships and aspects of the hardware of the system are shown. It is used when the software system requires a multi-machine setup with the hardware nodes being different in some way. The package diagram is used to show the application namespace structure and the imports between the individual packages. The composite structure diagram is used to show the composite structure of a class. The profile diagram was added in the UML 2.0 specification. It is used to customize the UML metamodels somewhat, for example to allow only single inheritance. It mainly consists of stereotypes, tagged values and constraints. Current tools and state of the research UML diagram presentation approaches When it comes to presenting the UML diagram to a visually impaired user, there are basically two options. First, a tactile image is used (3). This approach is sensitive to the diagram complexity, because the result can quickly get incomprehensible for the visually impaired reader. And it takes somewhat longer to create. Those diagrams may be created by hand, or a braille embosser can be used. On the other hand, a properly selected software tool can support both visual and accessible representation, thus making the communication much easier. Software tools There are basically three categories of tools used. The first category is probably the most numerous containing all the software which all the other (e. g. developers with sight) use. One of them, if written well, could integrate some sort of accessibility support. The second class is a specialized application which allows the user to have some spoken representation of the diagram, while also displaying it visually. This category of tools is rare, and the results of development have not been promising so far. The European Union started a project in this category of development in 2001 (4), but its results were evaluated as a failure and the project was 6 stopped in 2005. It has managed to produce a viewer application, called Accessible UML, which supports viewing of class, sequence and use case diagrams both as a list of elements with some additional information (connections, attributes etc.), and as a graphical view. However, the application does not support creating and editing operations. The other category of tools uses textual input and produces an image of the resulting diagram. The category of textual UML tools is numerous, as can be seen from the list at (5). However, not many tools support
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages47 Page
-
File Size-