79 research outputs found

    Pattern based user interface generation

    Get PDF
    Dissertação de mestrado em Engenharia InformáticaHuman Computer Interaction (HCI) is one of the most important aspects in software development. In order to produce valuable products, software companies are focusing more on the users and less on the technology behind their products. This calls for new prospects for development cycles. Traditional methodologies are focused on the internals and there is little support to build a User Interface (UI) in a more iterative manner [12]. Model Driven Development (MDD) [21] is a technique that has been used to increase software quality and boost development time. With MDD organizations are able to implement iterative development methodologies that start with high level models that are iteratively transformed into lower level models and ultimately source code in an automated way. High level models have several advantages because they are platform independent, easier to maintain, easier to reuse and ultimately they serve as documentation for the project. Unified Modelling Language (UML) is an industry standard language for modelling software. The problem with UML is that it’s not fit for UI models [4]. The UI requires a new modelling language that is able to represent UI aspects accurately. The HCI community came up with several solutions for this problems, ITS [28], WISDOM [16], Unified Modeling Language for Interactive Applications (UMLi) [4] and USer Interface eXtensible Mark-up Language (UsiXML) [23] are some examples on this matter. This work proposes a method to reuse previous UI knowledge using patterns of high level models. The goal of this work is to improve the way developers build UI’s and maximize re-usability. Patterns are tested and robust solutions that have been used in other contexts and can even persist between different projects and teams. This work integrates in the Forward Engineering method (FEM) developed by the UsiXML community and uses the UsiXML User Interface Description Language (UIDL) to represent patterns of high level UI models. We developed a pattern definition using a set of descriptive fields and UsiXML models. With the information provided by the pattern we are able to perform model transformations from the domain and task models to an Abstract User Interface (AUI) model. This gives developers the ability to reuse the structure of a UI developed in other context with a similar objective. This makes it easier for developers with little knowledge in HCI to develop good UI’s and also helps development teams to maintain consistency across an application.A Human Computer Interaction (HCI) assumiu-se como um dos aspectos mais importantes no desenvolvimento de software. Por forma a criar produtos com maior qualidade, as empresas de software estão a desviar o foco da tecnologia para os utilizadores, exigindo novas abordagens para os ciclos de desenvolvimento. As metodologias tradicionais são mais focadas em aspectos internos e há pouco suporte para construir a User Interface (UI) de forma iterativa [12]. Model Driven Development (MDD) [21] e uma técnica usada para aumentar a qualidade do software e diminuir o tempo de desenvolvimento. Com a MDD as organizações são capazes de implementar metodologias de desenvolvimento iterativo que começam com modelos de alto nível que são transformados, iterativamente, em modelos de nível inferior e, até chegar ao código-fonte. Modelos de alto nível têm várias vantagens porque são independentes de plataforma, mais fáceis de manter, mais fáceis de reutilizar e, finalmente, servem como documentação do projeto. Unified Modelling Language (UML) é uma linguagem padrão da indústria para modelação de software. O problema do UML é que não está apto para modelos de UI [4]. A UI requer uma linguagem de modelação nova, que seja capaz de representar os aspectos próprios da UI com precisão. A comunidade à volta da HCI desenvolveu várias soluções para este problema, ITS [28], WISDOM [16], Unified Modeling Language for Interactive Applications (UMLi) [4] e USer Interface eXtensible Markup Language (UsiXML) [23] são alguns exemplos de projetos dentro desta área. Este trabalho propõe um método para reutilizar conhecimento passado sobre a UI usando padrões de modelos de alto nível. O objetivo deste trabalho consiste em abordar melhorias à forma como se constrõem UI 's e maximizar a sua reutilização. Padrões são soluções testadas e robustas, que foram utilizadas em outros contextos e podem até persistir entre diferentes projetos e equipas. Este trabalho integra-se no método Forward Engineering (FEM) desenvolvido pela comunidade do UsiXML e usa a User Interface Description Language (UIDL) do UsiXML para representar padrões de modelos de UI de alto nível. Neste trabalho desenvolveu-se uma definição de padrão usando um conjunto de campos descritivos e modelos em UsiXML. Com a informação fornecidas pelos padrões e possível realizar transformações de modelos a partir dos modelos de domínio e tarefa e gerar um modelo de Abstract User Interface (AUI). Isto oferece aos engenheiros de software a capacidade de reutilizar a estrutura de uma UI desenvolvida noutro contexto com um objetivo similar. Assim torna-se mais fácil para engenheiros com pouco conhecimento em HCI desenvolver boas UI 's e também ajuda as equipes de desenvolvimento a manter consistência ao longo de uma aplicação

    Integrating HCI concerns into a UML based software engineering course

    Get PDF
    Software Engineering (SE) and HCI (Human Computer Interaction) are not the same age, do not have the same history, background or foundations, and did never share design principles and design models. The separation principle, by encouraging separate concerns and techniques to design the interactive and the computational layers of a software system - despite being absolutely correct from several SE crucial design principles, like modularity, separation of concerns, encapsulation, context independence and so on -, has sometimes been misjudged and mistakenly used. Therefore, instead of bridging the gap between the two separate de- signs, it helped widening that gap. However, the principle does not mention and does not impose any restrictions on how the integration should be done. In the context of a software engineering course the authors have been involved with for some years, the need has arisen to provide students with HCI skills. Several attempts at integrating HCI into software engineering can be found in the literature. However, none seemed amenable to application in the context of the course, basically because none of them could be taught and learnt in such a way (methodology) that could easily be blent into the software engineering design process. We present a methodological process that we have been teaching that aims at shortening the gap that software engineering students face when trying to adapt SE techniques to the interactive layer

    MODELING USER INTERFACES WITH THE XIS UML PROFILE

    Get PDF
    Abstract: This paper discusses different UIs design approaches. We describe how to design user interfaces, based on a MDD approach, by applying the XIS language. XIS is a coherent UML profile focused on model interactive systems. XIS integrates best practices and principles of the MDA/MDD paradigm to improve the UI design, such as separation of concerns, model-to-model and model-to-code transformations. In that way, we discuss some issues regarding the transformation processes, from XIS-based models into software systems artifacts

    MODUS: model-based user interfaces prototyping

    Get PDF
    Model-based methodologies, supported by automatic generation, have been proposed as a solution to reduce software development costs. In the case of interactive computing systems specific challenges arise. On the one hand, a high level of automation requires the use of detailed models, which is contrary to the iterative development process, based on the progressive refinement of user interface mockups, typical of user centered development processes. On the other hand, layered software architectures imply a distinction between the models used in the business logic and in the user interface, raising consistency problems between the models at each level. This article proposes a tool supported approach to user interface generation directly from the architectural models of the business logic. In many situations, user interfaces provide similar features inside a specific domain. The identification of the application domain is thus a key factor in supporting the automation of the generation process.This work was financed by the ERDF – European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme, and by National Funds through the FCT – Fundação para a Ciência e a Tecnologia (Portuguese Foundation for Science and Technology) within project POCI-01-0145- FEDER-006961.info:eu-repo/semantics/publishedVersio

    An Extended MDA Method for User Interface Modeling and Transformation

    Get PDF

    Collaborative explicit plasticity framework: a conceptual scheme for the generation of plastic and group-aware user interfaces

    Get PDF
    The advent of new advances in mobile computing has changed the manner we do our daily work, even enabling us to perform collaborative activities. However, current groupware approaches do not offer an integrating and efficient solution that jointly tackles the flexibility and heterogeneity inherent to mobility as well as the awareness aspects intrinsic to collaborative environments. Issues related to the diversity of contexts of use are collected under the term plasticity. A great amount of tools have emerged offering a solution to some of these issues, although always focused on individual scenarios. We are working on reusing and specializing some already existing plasticity tools to the groupware design. The aim is to offer the benefits from plasticity and awareness jointly, trying to reach a real collaboration and a deeper understanding of multi-environment groupware scenarios. In particular, this paper presents a conceptual framework aimed at being a reference for the generation of plastic User Interfaces for collaborative environments in a systematic and comprehensive way. Starting from a previous conceptual framework for individual environments, inspired on the model-based approach, we introduce specific components and considerations related to groupware

    Towards an Integrated Model for Functional and User Interface Requirements

    Full text link

    Research on GUI application development support

    Get PDF
    制度:新 ; 文部省報告番号:甲1665号 ; 学位の種類:博士(情報科学) ; 授与年月日:2002/6/20 ; 早大学位記番号:新3399 ; 理工学図書館請求番号:272

    Closing the Gap Between Designers and Developers in a Low-Code Ecosystem

    Get PDF
    Digital systems play an important role in the strategy of companies nowadays as they are crucial to achieve their business goals as well as gain a competitive advantage. This is particularly true for systems designed for the end-users market. Not only has the number of such systems been growing steadily but the requirements and expectations of users regarding usability and performance have also increased. Developing software systems is a complex process that comprises several stages and involves multiple professionals responsible for different tasks. Two stages of the process are the design and implementation of User Interfaces. UX and UI designers produce artifacts such as mockups and prototypes using design tools describing what should be the systems behavior, interactivity and look and feel. Next, Front-end and Back-end developers implement the system according to the specifications defined by designers. Designers and developers use different methodologies, languages, and tools. This introduces a communication gap between both groups, and hence collaboration between them is not always smooth. This ends up causing less efficient processes, rework and loss of information. Developers sometimes overlook the importance of User Experience and Front-end De velopment. The corresponding project stages suffer when collaboration between groups is not optimal. Problems are particularly striking during the transition from design arti facts to front-end code. The procedures for doing this are often manual, very error-prone, and time-consuming for developers that end-up completely re-doing the designers’ work in the target web technology. The aim of this dissertation is to improve the efficiency of collaboration between de signers and front-end developers in the OutSystems ecosystem. This was carried out by developing a tool that transforms UX/UI design artefacts into low-code web-technology using model transformation and meta-modelling techniques. The approach has been evaluated in practice by a team of professional designers and front-end developers. Re sults show savings between 20 and 75% according to the project complexity in the effort invested by development teams in the above mentioned process.Os sistemas digitais têm um papel muito importante hoje em dia na estratégia das empresas, uma vez que as ajudam a atingir os seus objetivos de negócios assim como a ganhar vantagem competitiva face às demais. Isto é particularmente verdade para os sistemas destinados ao mercado dos utilizadores finais. Não só aumentou significativamente o número de tais sistemas como aumentaram também os requisitos e expectativas dos seus utilizadores. O desenvolvimento de sistemas de software é um processo complexo que envolve um número alargado de profissionais com diferentes perfis. Duas das fases são o design de interfaces e a sua implementação. Os UI e UX designers produzem um conjunto de ficheiros utilizando ferramentas de design descrevendo o comportamento, interação e aparência do sistema. Os Front-end e Back-end developers implementam as funcionalidades do sistema com base nas especificações dos designers. Designers e developers trabalham utilizando diferentes metodologias, linguagens e ferramentas. Isto introduz uma lacuna entre os grupos e dificulta a sua colaboração, originando processos menos eficientes, trabalho refeito e perda de informação. Os engenheiros de software por vezes negligenciam disciplinas tais como a Experi ência do Utilizador e o Front-end. Estas fases dos projetos são prejudicadas quando a colaboração entre os grupos não é ótima. Os problemas são particularmente evidentes durante a transição entre design e Front-end. Os procedimentos são manuais, altamente propensos a erros e demorados para os developers, que acabam por refazer o trabalho dos designers na tecnologia web desejada. O objetivo desta dissertação é melhorar a eficiência da colaboração entre designers e front-end developers no ecossistema OutSystems. Isto foi levado a cabo desenvolvendo uma ferramenta capaz de transformar artefactos de UX/UI em low-code utilizando transformações de modelos e técnicas de meta-modeling. A abordagem foi avaliada em prática por uma equipa profissional de designers e front-end developers. Os resultados obtidos mostram poupanças entre os 20 e os 75% de acordo com a complexidade do projeto no esforço investido pelas equipas de desenvolvimento no processo mencionado acima
    corecore