4,370 research outputs found

    Adaptive development and maintenance of user-centric software systems

    Get PDF
    A software system cannot be developed without considering the various facets of its environment. Stakeholders – including the users that play a central role – have their needs, expectations, and perceptions of a system. Organisational and technical aspects of the environment are constantly changing. The ability to adapt a software system and its requirements to its environment throughout its full lifecycle is of paramount importance in a constantly changing environment. The continuous involvement of users is as important as the constant evaluation of the system and the observation of evolving environments. We present a methodology for adaptive software systems development and maintenance. We draw upon a diverse range of accepted methods including participatory design, software architecture, and evolutionary design. Our focus is on user-centred software systems

    User requirement elicitation for cross-language information retrieval

    Get PDF
    Who are the users of a cross-language retrieval system? Under what circumstances do they need to perform such multi-language searches? How will the task and the context of use affect successful interaction with the system? Answers to these questions were explored in a user study performed as part of the design stages of Clarity, a EU founded project on cross-language information retrieval. The findings resulted in a rethink of the planned user interface and a consequent expansion of the set of services offered. This paper reports on the methodology and techniques used for the elicitation of user requirements as well as how these were in turn transformed into new design solutions

    Security-Driven Software Evolution Using A Model Driven Approach

    Get PDF
    High security level must be guaranteed in applications in order to mitigate risks during the deployment of information systems in open network environments. However, a significant number of legacy systems remain in use which poses security risks to the enterprise’ assets due to the poor technologies used and lack of security concerns when they were in design. Software reengineering is a way out to improve their security levels in a systematic way. Model driven is an approach in which model as defined by its type directs the execution of the process. The aim of this research is to explore how model driven approach can facilitate the software reengineering driven by security demand. The research in this thesis involves the following three phases. Firstly, legacy system understanding is performed using reverse engineering techniques. Task of this phase is to reverse engineer legacy system into UML models, partition the legacy system into subsystems with the help of model slicing technique and detect existing security mechanisms to determine whether or not the provided security in the legacy system satisfies the user’s security objectives. Secondly, security requirements are elicited using risk analysis method. It is the process of analysing key aspects of the legacy systems in terms of security. A new risk assessment method, taking consideration of asset, threat and vulnerability, is proposed and used to elicit the security requirements which will generate the detailed security requirements in the specific format to direct the subsequent security enhancement. Finally, security enhancement for the system is performed using the proposed ontology based security pattern approach. It is the stage that security patterns derived from security expertise and fulfilling the elicited security requirements are selected and integrated in the legacy system models with the help of the proposed security ontology. The proposed approach is evaluated by the selected case study. Based on the analysis, conclusions are drawn and future research is discussed at the end of this thesis. The results show this thesis contributes an effective, reusable and suitable evolution approach for software security

    Application of the internet technology and client/server paradigm for the implementation of REPI

    Get PDF
    There are many problems associated with Requirements Engineering such as defining the system scope, developing understanding among the communities involved in the system to be built, volatility of requirements etc. These problems may lead to poor requirements and therefore cancellation of the system development, or else the development of a system that is unsatisfactory, has high maintenance cost or is unacceptable. By improving Requirements Elicitation, the Requirements Engineering can be improved, leading to a better requirements specification and eventually a better product. Requirements Elicitation requires effective communication among the team members, as communication is the key factor. Easing communications between stakeholders and developers makes the process of Requirements Elicitation easier. REPI guides team members through the elicitation phase using the SEI\u27s framework. REPI forces stakeholders to explicitly describe the requirements resulting in reduced chances of misunderstood requirements, leading to better requirements specification

    Eliciting and specifying requirements for highly interactive systems using activity theory

    Get PDF
    The processes of eliciting user requirements and formalising these into specifications are critical for the success of highly interactive systems. These processes are still poorly understood, partly because current methods are usually ad hoc and lack any theoretical basis. A number of researchers have used Activity Theory (AT) to refine these processes and have met with some success. To date, this approach has been more useful explaining the processes post hoc. This positional paper proposes an AT method for requirement elicitation and specification definition. The method is sufficiently prescriptive and well formed that it does not require any detailed understanding of AT

    Requirements Management Tools: A Quantitative Assessment

    Get PDF
    This report is primarily aimed at people with some background in Requirements Engineering or practitioners wishing to assess tools available for managing requirements. We provide a starting point for this assessment, by presenting a brief survey of existing Requirements Management tools. As a part of the survey, we characterize a set of requirements management tools by outlining their features, capabilities and goals. The characterization offers a foundation to select and possibly customize a requirements engineering tool for a software project. This report consists of three parts. In Part I we define the terms requirements and requirements engineering and briefly point out the main components of the requirements engineering process. In Part II, we survey the characteristics and capabilities of 6 popular requirements management tools, available in the market. We enumerate the salient features of each of theses tools. In Part III, we briefly describe a Synergistic Environment for Requirement Generation. This environment captures additional tools augmenting the requirements generation process. A description of these tools is provided. In the concluding section, we present a discussion defining the ideal set of characteristics that should be embodied in a requirements management tool. This report is adapted from a compendium of assignments that were prepared by the students in a Requirements Engineering class offered in the Department of Computer Science at Virginia Tech

    A reusable knowledge acquisition shell: KASH

    Get PDF
    KASH (Knowledge Acquisition SHell) is proposed to assist a knowledge engineer by providing a set of utilities for constructing knowledge acquisition sessions based on interviewing techniques. The information elicited from domain experts during the sessions is guided by a question dependency graph (QDG). The QDG defined by the knowledge engineer, consists of a series of control questions about the domain that are used to organize the knowledge of an expert. The content information supplies by the expert, in response to the questions, is represented in the form of a concept map. These maps can be constructed in a top-down or bottom-up manner by the QDG and used by KASH to generate the rules for a large class of expert system domains. Additionally, the concept maps can support the representation of temporal knowledge. The high degree of reusability encountered in the QDG and concept maps can vastly reduce the development times and costs associated with producing intelligent decision aids, training programs, and process control functions

    Web user requirements:

    Get PDF

    Gestão de Empreitadas - Aplicação para o processo de gestão de obra

    Get PDF
    Construction management is essential to ensure that the project initially proposed is completed within the defined time and with the fewest possible deviations. The way in which the planning, management, and monitoring of construction are carried out is crucial for the sustainability of a company, and therefore must be done rigorously. There are already solutions on the market that help in the management and monitoring of construction, however, there is a need for improvements or the development of new features that will help those responsible for managing construction. This project aims to ensure that the user has all the necessary tools to manage construction and that s/he can monitor it in real time, obtaining indicators and reports of it. In this document, an introduction to the problem will be made to understand the context of the project as well as the objectives to be achieved, also describing the entire process of managing construction. After this introduction, a market study will be carried out and the respective comparison between competitors so that in the end, it is possible to analyze the opportunity. Finally, possible solutions to be implemented and their advantages and disadvantages will be analyzed. After choosing the best solution and implementing it, it will be described and evaluated, verifying whether it meets all the defined requirements to understand if the main objective has been achieved.A gestão de obras é fundamental para garantir que o projeto inicialmente proposto é concretizado no tempo definido e com o menor número de desvios possíveis. A forma como se faz o planeamento, gestão e o acompanhamento de uma obra é determinante para a sustentabilidade de uma empresa, e por isso deverá ser feita de forma rigorosa. No mercado já existem soluções que ajudam a fazer esta gestão e o acompanhamento de uma obra, no entanto existe a necessidade de haver melhorias ou a introdução de novas funcionalidades que ajudarão os responsáveis por gerir obras. Com o aprimoramento das funcionalidades já existentes e o desenvolvimento de novas funcionalidades, este projeto tem o objetivo de garantir que o utilizador tenha todas as ferramentas necessárias para gerir e acompanhar uma obra em tempo real, obtendo indicadores e relatórios sobre a mesma. Com isto, este documento começará com uma introdução ao problema de forma a entender o enquadramento deste projeto e os objetivos que se pretendem atingir, descrevendo também todo o processo de gestão de uma obra. Já com a introdução inicial feita, irá ser feito um levantamento de requisitos com os stakeholders para obter todos os requisitos e funcionalidades requeridas. Depois deste levantamento, será realizado um estudo do mercado e a respetiva comparação entre concorrentes, tendo em conta as funcionalidades definidas pelos stakeholders. Por fim, será analisado possíveis soluções a serem implementadas e as suas vantagens e desvantagens. Depois de se escolher a melhor solução e de a implementar, esta irá ser descrita e analisada, verificando se cumpre, ou não, todos os requisitos definidos de forma a entender se o principal objetivo foi alcançado

    Reusable Solutions for Implementing Usability Functionalities

    Full text link
    Electronic version of an article published as International Journal of Software Engineering and Knowledge Engineering, Volume 25, Issue 04, May 2015, 727 http://dx.doi.org/10.1142/S0218194015500084 © World Scientific Publishing Company http://www.worldscientific.com/worldscinet/ijsekeUsability is a software system quality attribute. Although software engineers originally considered usability to be related exclusively to the user interface, it was later found to affect the core functionality of software applications. As of then, proposals for addressing usability at different stages of the software development cycle were researched. The objective of this paper is to present three reusable solutions at detailed design and programming level in order to effectively implement the Abort Operation, Progress Feedback and Preferences usability functionalities in web applications. To do this, an inductive research method was applied. We developed three web applications including the above usability functionalities as case studies. We looked for commonalities across the implementations in order to induce a general solution. The elements common to all three developed applications include: application scenarios, functionalities, responsibilities, classes, methods, attributes and code snippets. The findings were specified as an implementation-oriented design pattern and as programming patterns in three languages. Additional case studies were conducted in order to validate the proposed solution. The independent developers used the patterns to implement different applications for each case study. As a result, we found that solutions specified as patterns can be reused to develop web applications.This work has been funded by the Spanish Ministry of Science and Innovation “Tecnologías para la Replicación y Síntesis de Experimentos en IS” (TIN2011-23216) and “Go Lite” (TIN2011-24139) projects
    corecore