132,957 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

    Managing evolution and change in web-based teaching and learning environments

    Get PDF
    The state of the art in information technology and educational technologies is evolving constantly. Courses taught are subject to constant change from organisational and subject-specific reasons. Evolution and change affect educators and developers of computer-based teaching and learning environments alike – both often being unprepared to respond effectively. A large number of educational systems are designed and developed without change and evolution in mind. We will present our approach to the design and maintenance of these systems in rapidly evolving environments and illustrate the consequences of evolution and change for these systems and for the educators and developers responsible for their implementation and deployment. We discuss various factors of change, illustrated by a Web-based virtual course, with the objective of raising an awareness of this issue of evolution and change in computer-supported teaching and learning environments. This discussion leads towards the establishment of a development and management framework for teaching and learning systems

    Towards a Framework for Managing Inconsistencies in Systems of Systems

    Get PDF
    The growth in the complexity of software systems has led to a proliferation of systems that have been created independently to provide specific functions, such as activity tracking, household energy management or personal nutrition assistance. The runtime composition of these individual systems into Systems of Systems (SoSs) enables support for more sophisticated functionality that cannot be provided by individual constituent systems on their own. However, in order to realize the benefits of these functionalities it is necessary to address a number of challenges associated with SoSs, including, but not limited to, operational and managerial independence, geographic distribution of participating systems, evolutionary development, and emergent conflicting behavior that can occur due interactions between the requirements of the participating systems. In this paper, we present a framework for conflict management in SoSs. The management of conflicting requirements involves four steps, namely (a) overlap detection, (b) conflict identification, (c) conflict diagnosis, and (d) conflict resolution based on the use of a utility function. The framework uses a Monitor-Analyze-Plan- Execute- Knowledge (MAPE-K) architectural pattern. In order to illustrate the work, we use an example SoS ecosystem designed to support food security at different levels of granularity

    Software engineering (Encylopedia entry)

    Get PDF

    Agile development for a multi-disciplinary bicycle stability test bench

    Get PDF
    Agile software development methods are used extensively in the software industry. This paper describes an argument to explain why these methods can be used within a multi-disciplinary project and provides a concrete description on how to implement such a method, using a case-study to support the rationale. The SOFIE (Intelligent Assisted Bicycle) project was created to develop mechatronic appliances to make bicycles more stable, i.e. safer. A bicycle stability test bench is created within this project and is used as the case study for this research. The relative complexity of the test bench development and partner structure within the SOFIE project has many similarities with large-scale complex projects found in industry. Thus it provides a good environment to research the application of Agile software methods to a multi-disciplinary project

    Some Findings Concerning Requirements in Agile Methodologies

    Get PDF
    gile methods have appeared as an attractive alternative to conventional methodologies. These methods try to reduce the time to market and, indirectly, the cost of the product through flexible development and deep customer involvement. The processes related to requirements have been extensively studied in literature, in most cases in the frame of conventional methods. However, conclusions of conventional methodologies could not be necessarily valid for Agile; in some issues, conventional and Agile processes are radically different. As recent surveys report, inadequate project requirements is one of the most conflictive issues in agile approaches and better understanding about this is needed. This paper describes some findings concerning requirements activities in a project developed under an agile methodology. The project intended to evolve an existing product and, therefore, some background information was available. The major difficulties encountered were related to non-functional needs and management of requirements dependencies

    Characterization and Classification of Collaborative Tools

    Get PDF
    Traditionally, collaboration has been a means for organizations to do their work. However, the context in which they do this work is changing, especially in regards to where the work is done, how the work is organized, who does the work, and with this the characteristics of collaboration. Software development is no exception; it is itself a collaborative effort that is likewise affected by these changes. In the context of both open source software development projects and communities and organizations that develop corporate products, more and more developers need to communicate and liaise with colleagues in geographically distant places about the software product they are conceiving, designing, building, testing, debugging, deploying and maintaining. Thus, work teams face sizeable collaborative challenges, for which they have need of tools that they can use to communicate and coordinate their Work efficiently

    Organizing the Technical Debt Landscape

    Get PDF
    To date, several methods and tools for detecting source code and design anomalies have been developed. While each method focuses on identifying certain classes of source code anomalies that potentially relate to technical debt (TD), the overlaps and gaps among these classes and TD have not been rigorously demonstrated. We propose to construct a seminal technical debt landscape as a way to visualize and organize research on the subjec

    Towards collaborative learning via shared artefacts over the Grid

    Get PDF
    The Web is the most pervasive collaborative technology in widespread use today; and its use to support eLearning has been highly successful. There are many web-based Virtual Learning Environments such as WebCT, FirstClass, and BlackBoard as well as associated web-based Managed Learning Environments. In the future, the Grid promises to provide an extremely powerful infrastructure allowing both learners and teachers to collaborate in various learning contexts and to share learning materials, learning processes, learning systems, and experiences. This position paper addresses the role of support for sharing artefacts in distributed systems such as the Grid. An analogy is made between collaborative software development and collaborative learning with the goal of gaining insights into the requisite support for artefact sharing within the eLearning community
    corecore