8 research outputs found

    A Platform for Web Augmentation Requirements Specification

    Get PDF
    Web augmentation has emerged as a technique for customizing Web applications beyond the personalization mechanisms natively included in them. This technique usually manipulates existing Web sites on the client-side via scripts (commonly referred as userscripts) that can change its presentation and behavior. Large communities have surfaced around this technique and two main roles have been established. On the one hand there are userscripters, users with programming skills who create new scripts and share them with the community. On the other hand, there are users who download and install in their own Web Browsers some of those scripts that satisfy their customization requirements, adding features that the applications do not support out-of-the-box. It means that Web augmentation requirements are not formally specified and they are decided according to particular userscripters needs. In this paper we propose CrowdMock, a platform for managing requirements and scripts. The platform allows users to perform two activities: (i) specify their own scripts requirements by augmenting Web sites with high-fidelity mockups and (ii) upload these requirements into an online repository. Then, the platform allows the whole community (users and userscripters) to collaborate improving the definition of the augmentation requirements and building a concrete script that implements them. Two main tools have been developed and evaluated in this context. A client-side plugin called MockPlug used for augmenting Web sites with UI prototype widgets and UserRequirements, a repository enabling sharing and managing the requirements.Laboratorio de Investigación y Formación en Informática Avanzad

    Data-driven prototyping via natural-language-based GUI retrieval

    Get PDF
    Rapid GUI prototyping has evolved into a widely applied technique in early stages of software development to facilitate the clarification and refinement of requirements. Especially high-fidelity GUI prototyping has shown to enable productive discussions with customers and mitigate potential misunderstandings, however, the benefits of applying high-fidelity GUI prototypes are accompanied by the disadvantage of being expensive and time-consuming in development and requiring experience to create. In this work, we show RaWi, a data-driven GUI prototyping approach that effectively retrieves GUIs for reuse from a large-scale semi-automatically created GUI repository for mobile apps on the basis of Natural Language (NL) searches to facilitate GUI prototyping and improve its productivity by leveraging the vast GUI prototyping knowledge embodied in the repository. Retrieved GUIs can directly be reused and adapted in the graphical editor of RaWi. Moreover, we present a comprehensive evaluation methodology to enable (i) the systematic evaluation of NL-based GUI ranking methods through a novel high-quality gold standard and conduct an in-depth evaluation of traditional IR and state-of-the-art BERT-based models for GUI ranking, and (ii) the assessment of GUI prototyping productivity accompanied by an extensive user study in a practical GUI prototyping environment

    DataMock: An Agile Approach for Building Data Models from User Interface Mockups

    Get PDF
    In modern software development, much time is devoted and much attention is paid to the activity of data modeling and the translation of data models into databases. This has motivated the proposal of different approaches and tools to support this activity, such as semiautomatic approaches that generate data models from requirements artifacts using text analysis and sets of heuristics, among other techniques. However, these approaches still suffer from important limitations, including the lack of support for requirements traceability, the poor support for detecting and solving conflicts in domain-specific requirements, and the considerable effort required for manually checking the generated models. This paper introduces DataMock, an Agile approach that enables the iterative building of data models from requirements specifications, while supporting traceability and allowing inconsistencies detection in data requirements and specifications. The paper also describes how the approach effectively allows improving traceability and reducing errors and effort to build data models in comparison with traditional, state-of-the-art, data modeling approaches

    Detección y resolución de conflictos en requerimientos utilizando mockups

    Get PDF
    La elicitación de requerimientos implica entender las necesidades del usuario, incluso cuando las reglas de negocios son desconocidas o varían durante el desarrollo de software. Por lo que si se produce un error durante la especificación, la reparación o resolución del mismo va a ser costosa de resolver para los analistas del proyecto. Actualmente es muy frecuente el uso de metodologías ágiles durante el desarrollo, haciendo empleo de la construcción de mockups que representen las funcionalidades a implementar. Teniendo esto en cuenta, en este trabajo se propone un enfoque que tiene como objetivo enriquecer los mockups con anotaciones a partir de una gramática de usuario final. Para eso se desarrolló una herramienta que permite etiquetar widgets a partir de un catálogo de etiquetas destinado al usuario, para obtener una descripción formal con el fin de que cualquier pieza esté bien descripta y sin ambigüedades. Por otro lado la herramienta posibilita detectar conflictos o inconsistencias entre mockups, donde los mismos modelen el mismo requerimiento pero que pertenecen a historias de usuario diferente, permitiendo tener un control más exhaustivo de los cambios en los requerimientos.Facultad de Informátic

    Detección y resolución de conflictos en requerimientos utilizando mockups

    Get PDF
    La elicitación de requerimientos implica entender las necesidades del usuario, incluso cuando las reglas de negocios son desconocidas o varían durante el desarrollo de software. Por lo que si se produce un error durante la especificación, la reparación o resolución del mismo va a ser costosa de resolver para los analistas del proyecto. Actualmente es muy frecuente el uso de metodologías ágiles durante el desarrollo, haciendo empleo de la construcción de mockups que representen las funcionalidades a implementar. Teniendo esto en cuenta, en este trabajo se propone un enfoque que tiene como objetivo enriquecer los mockups con anotaciones a partir de una gramática de usuario final. Para eso se desarrolló una herramienta que permite etiquetar widgets a partir de un catálogo de etiquetas destinado al usuario, para obtener una descripción formal con el fin de que cualquier pieza esté bien descripta y sin ambigüedades. Por otro lado la herramienta posibilita detectar conflictos o inconsistencias entre mockups, donde los mismos modelen el mismo requerimiento pero que pertenecen a historias de usuario diferente, permitiendo tener un control más exhaustivo de los cambios en los requerimientos.Facultad de Informátic

    Auto-generation of rich Internet applications from visual mock-ups

    Get PDF
    Capturing and communicating software requirements accurately and quickly is a challenging activity. This needs expertise of people with unique skills. Traditionally this challenge has been compounded by assigning specialist roles for requirements gathering and analysis, design, and implementations. These multiple roles have resulted in information loss mainly due to miscommunication between requirement specialists, designers and implementers. Large enterprises have managed the information loss by using document centric approaches, leading to delays and cost escalations. But documentation centric and multiple role approaches are not suitable for Small to Medium Enterprises (SMEs) because they are vulnerable to market competitions. Moreover, SMEs require effective online applications to provide their service. Hence the motivation for carrying out this research is to explore the possibilities of empowering requirement specialists such as Business Analysts’ (BAs) to take on additional responsibilities of designers and implementers to generate web applications. In addition, SME owners and BAs can communicate better if they perceive the application requirements using a What You See Is What You Get (WYSIWYG) approach. Hence, this research explores the design and development of mock-up-based auto-generating tool to develop SME applications. A tool that auto-generates an application from a mock-up should have the capacity to extract the essential implementation details from the mock-up. Hence a visual mock-up language was created by extending existing research on meta-models of UIs for a class of popular modern web-based business applications called Rich Internet Applications (RIAs). The popularity of RIAs is due to their distinctive client-side processing power with desktop application like responsiveness and look and feel. The mock-ups drawn with the mock-up language should have sufficient level of details to auto-generate RIAs. To support this, the mock-up language includes constructs for specifying a RIA’s mock-up in terms of layouts and the widgets within them. In addition, the language uses annotations on the mock-up to specify the behaviour of the system. In such an approach the only additional effort required of a Business Analyst is to specify the requirements in terms of a mock-up of the expected interfaces of the SME application. Apart from the mock-up language, a tool was designed and developed to auto-generate the desired application from the mock-up. The tool is powered by algorithms to derive the database structure and the client-side and server-side components required for the auto-generated application. The validation of the mock-up language and auto-generating tool was performed by BAs to demonstrate its usability. The measurement and evaluation results indicate that the mock-up language and the auto-generator can be used successfully to help BAs in the development of SME application and thereby reduce delays, errors and cost overruns. The important contributions of this research are: (i) the design of a mock-up language that makes it easy to capture the structure and behaviour of SME web applications. (ii) algorithms for automatic derivation of the expected database schema from a visual mock-up. (iii) algorithms for automatic derivation of the client and server-side application logic. (iv) application of an existing measurement and evaluation process for the usability testing of the mock-up language and the auto-generated application. This research followed the Design Science Research (DSR) method for Information System to guide the IS design and to capture the knowledge created during the design process. DSR is a research method useful in solving wicked problems requiring innovative solutions for incomplete, contradictory or changing requirements that are often difficult to recognize. This research opens new ways of thinking about web application development for future research. Specifically, mock-ups with few easy to understand annotations can be used as powerful active artifacts to capture the structure and behaviour of applications not just of small but also large enterprises. Auto-generating tools can then create fully functional and usable applications holistically from such mock-ups, thereby reducing delays and cost overruns during software engineering

    End User Grammar Extended for Business Processes - EUGEBP

    Get PDF
    El concepto proceso de negocio está estrechamente vinculado a la forma en la que una organización gestiona sus operaciones. Conocer y comprender las operaciones de una organización es un punto clave que se debe tener presente dentro del proceso de desarrollo de software. A su vez, el enfoque de desarrollo dirigido por modelos denominado MockupDD captura requerimientos usando prototipos de interfaz de usuario denominados Mockups. Los usuarios finales pueden comprender fácilmente dichos prototipos y realizar anotaciones sobre los mismos. Este enfoque se basa en ésta característica principal y a partir de la misma genera valiosos modelos conceptuales que luego pueden ser aprovechados por todos los integrantes de un equipo de desarrollo de software. Utilizar el lenguaje natural para realizar anotaciones sobre los Mockups es un aspecto clave que puede ser aprovechado. En éste último aspecto una rama de la inteligencia artificial denominada “Natural Language Processing – Procesamiento del Lenguaje Natural” (NLP) viene realizando importantes aportes vinculados al uso y al aprovechamiento del lenguaje natural de las personas. El presente trabajo de tesis propone una nueva técnica denominada “End User Grammar Extended for Business Processes – Gramática de Usuario Final Extendida para Procesos de Negocios” (EUGEBP). La misma está compuesta por un conjunto de reglas de redacción diseñada para ser aplicada sobre Mockups, y por una serie de pasos que permiten procesar dichas anotaciones con el propósito derivar procesos de negocios desde las mismas. Esto se logra a través de la identificación de los elementos que componen los procesos de negocios y de las relaciones que existen entre ellos. En esencia el presente trabajo propone utilizar las anotaciones de usuario final realizadas sobre los Mockups en lenguaje natural y a partir de las mismas derivar procesos de negocio. Las anotaciones del usuario final tienen como objetivo ayudar a describir las interfaces de usuario, pero también pueden ayudarnos a identificar los procesos de negocio que el sistema debe soportar. Mientras en analista recopila información para el desarrollo de una aplicación, implícitamente también está describiendo los procesos de negocio de la organización.Facultad de Informátic

    Mockup-Driven Development: introduciendo agilidad en procesos basados en modelos

    Get PDF
    En este trabajo de tesis se describirá una técnica de modelado centrado en mockups, introduciéndola primero con MockupDD Web. Luego de haber ejemplificado el desarrollo centrado en mockups para metodologías MDWE, se describirá un marco general para el modelado sobre mockups (lo que se referenciará como metodología MockupDD general) y una instanciación particular de esta metodología además de la ya presentada para la Web. Las principales contribuciones de la metodología MockupDD y sus especializaciones son: (1) Mejorar el workflow en cascada de las metodologías MDD tradicionales (en especial, aquellas MDWE) para permitir acortar las iteraciones y permitir a usuarios finales y clientes involucrados interactuar más rápidamente son el software generado, agilizando el proceso. (2) Mejorar la productividad en el modelado de aplicaciones a través de la técnica de modelado de aplicaciones sobre mockups reduciendo sus errores y tiempo requerido, como se mostrará luego en las secciones de validación (3) Introducir a clientes y usuarios finales en el proceso de desarrollo, utilizando artefactos de especificación de requerimientos de fácil comprensión para los mismos en lugar de conceptos de modelado comprensibles sólo para desarrolladores. En este contexto se utilizarán mockups y diferentes técnicas de anotación y especificación de requerimientos formales sobre los mismos. (4) La implementación de un lenguaje de modelado sobre mockups con diferentes vistas, satisfaciendo al mismo tiempo la necesidad de comprensión de requerimientos por parte de los usuarios finales y las capacidades técnicas requeridas por los desarrolladores. (5) Con ayuda de esta versatilidad del lenguaje y del uso de mockups (los cuales son comprensibles en su totalidad por usuarios finales), proveer un método de modelado más trazable desde el punto de vista de los requerimientos.Facultad de Informátic
    corecore