93,815 research outputs found

    Software Design Guidelines for Usability

    Get PDF
    For years, the Human Computer Interaction (HCI) community has crafted usability guidelines that clearly define what
characteristics a software system should have in order to be easy to use. However, in the Software Engineering (SE)
community keep falling short of successfully incorporating these recommendations into software projects. From a SE
perspective, the process of incorporating usability features into software is not always straightforward, as a large number
of these features have heavy implications in the underlying software architecture. For example, successfully including an
“undo” feature in an application requires the design and implementation of many complex interrelated data structures and
functionalities. Our work is focused upon providing developers with a set of software design patterns to assist them in the
process of designing more usable software. This would contribute to the proper inclusion of specific usability features
with high impact on the software design. Preliminary validation data show that usage of the guidelines also has positive
effects on development time and overall software design quality

    Introducing usability in a conceptual modeling-based software development process.

    Get PDF
    Usability plays an important role to satisfy users? needs. There are many recommendations in the HCI literature on how to improve software usability. Our research focuses on such recommendations that affect the system architecture rather than just the interface. However, improving software usability in aspects that affect architecture increases the analyst?s workload and development complexity. This paper proposes a solution based on model-driven development. We propose representing functional usability mechanisms abstractly by means of conceptual primitives. The analyst will use these primitives to incorporate functional usability features at the early stages of the development process. Following the model-driven development paradigm, these features are then automatically transformed into subsequent steps of development, a practice that is hidden from the analyst

    Evaluating Usability-Supporting Architecture Patterns: Reactions From Usability Professionals

    Get PDF
    Usability professionals and software engineers typically approach software design differently; driven by a similar goal to create usable software products yet advocating distinct design methodologies. This distinction often creates a communication gap that hinders effective usability design discussions. A potential way to bridge this gap is to leverage Usability-Supporting Architecture Patterns. Recent studies suggest that they enable software engineers to include usability considerations in the architecture of software systems. A better understanding of what the usability community thinks about these patterns can lead to their improvement as well as increased adoption by software engineers, hence more effectively integrating usability into software design. The purpose of this study was to evaluate how usability professionals react to these patterns via an online pretest-posttest control group design experiment, where participants answered questions about the patterns based on prior software design experience. Participants verified there is a communication gap with software engineers, and that Usability- Supporting Architecture Patterns are perceived as useful to account for usability in software architectures. Results suggest that participants recognize the patterns’ usability benefits as important and that the presentation of these usability benefits could be improved by using language more familiar to usability professionals

    Design as Code: Facilitating Collaboration between Usability and Security Engineers using CAIRIS

    Get PDF
    Designing usable and secure software is hard with- out tool-support. Given the importance of requirements, CAIRIS was designed to illustrate the form tool-support for specifying usable and secure systems might take. While CAIRIS supports a broad range of security and usability engineering activities, its architecture needs to evolve to meet the workflows of these stakeholders. To this end, this paper illustrates how CAIRIS and its models act as a vehicle for collaboration between usability and security engineers. We describe how the modified architecture of CAIRIS facilitates this collaboration, and illustrate the tool using three usage scenarios

    Design as Code: Facilitating Collaboration between Usability and Security Engineers using CAIRIS

    Get PDF
    Designing usable and secure software is hard with- out tool-support. Given the importance of requirements, CAIRIS was designed to illustrate the form tool-support for specifying usable and secure systems might take. While CAIRIS supports a broad range of security and usability engineering activities, its architecture needs to evolve to meet the workflows of these stakeholders. To this end, this paper illustrates how CAIRIS and its models act as a vehicle for collaboration between usability and security engineers. We describe how the modified architecture of CAIRIS facilitates this collaboration, and illustrate the tool using three usage scenarios

    Extensible Component Based Architecture for FLASH, A Massively Parallel, Multiphysics Simulation Code

    Full text link
    FLASH is a publicly available high performance application code which has evolved into a modular, extensible software system from a collection of unconnected legacy codes. FLASH has been successful because its capabilities have been driven by the needs of scientific applications, without compromising maintainability, performance, and usability. In its newest incarnation, FLASH3 consists of inter-operable modules that can be combined to generate different applications. The FLASH architecture allows arbitrarily many alternative implementations of its components to co-exist and interchange with each other, resulting in greater flexibility. Further, a simple and elegant mechanism exists for customization of code functionality without the need to modify the core implementation of the source. A built-in unit test framework providing verifiability, combined with a rigorous software maintenance process, allow the code to operate simultaneously in the dual mode of production and development. In this paper we describe the FLASH3 architecture, with emphasis on solutions to the more challenging conflicts arising from solver complexity, portable performance requirements, and legacy codes. We also include results from user surveys conducted in 2005 and 2007, which highlight the success of the code.Comment: 33 pages, 7 figures; revised paper submitted to Parallel Computin
    • …
    corecore