65,607 research outputs found

    A Framework for Evaluating Model-Driven Self-adaptive Software Systems

    Get PDF
    In the last few years, Model Driven Development (MDD), Component-based Software Development (CBSD), and context-oriented software have become interesting alternatives for the design and construction of self-adaptive software systems. In general, the ultimate goal of these technologies is to be able to reduce development costs and effort, while improving the modularity, flexibility, adaptability, and reliability of software systems. An analysis of these technologies shows them all to include the principle of the separation of concerns, and their further integration is a key factor to obtaining high-quality and self-adaptable software systems. Each technology identifies different concerns and deals with them separately in order to specify the design of the self-adaptive applications, and, at the same time, support software with adaptability and context-awareness. This research studies the development methodologies that employ the principles of model-driven development in building self-adaptive software systems. To this aim, this article proposes an evaluation framework for analysing and evaluating the features of model-driven approaches and their ability to support software with self-adaptability and dependability in highly dynamic contextual environment. Such evaluation framework can facilitate the software developers on selecting a development methodology that suits their software requirements and reduces the development effort of building self-adaptive software systems. This study highlights the major drawbacks of the propped model-driven approaches in the related works, and emphasise on considering the volatile aspects of self-adaptive software in the analysis, design and implementation phases of the development methodologies. In addition, we argue that the development methodologies should leave the selection of modelling languages and modelling tools to the software developers.Comment: model-driven architecture, COP, AOP, component composition, self-adaptive application, context oriented software developmen

    Addressing challenges to teach traditional and agile project management in academia

    Full text link
    In order to prepare students for a professional IT career, most universities attempt to provide a current educational curriculum in the Project Management (PM) area to their students. This is usually based on the most promising methodologies used by the software industry. As instructors, we need to balance traditional methodologies focused on proven project planning and control processes leveraging widely accepted methods and tools along with the newer agile methodologies. Such new frameworks emphasize that software delivery should be done in a flexible and iterative manner and with significant collaboration with product owners and customers. In our experience agile methodologies have witnessed an exponential growth in many diverse software organizations, and the various agile PM tools and techniques will continue to see an increase in adoption in the software development sector. Reflecting on these changes, there is a critical need to accommodate best practices and current methodologies in our courses that deliver Project Management content. In this paper we analyse two of the most widely used methodologies for traditional and agile software development – the widely used ISO/PMBOK standard provided by the Project Management Institute and the well-accepted Scrum framework. We discuss how to overcome curriculum challenges and deliver a quality undergraduate PM course for a Computer Science and Information systems curricula. Based on our teaching experience in Europe and North America, we present a comprehensive comparison of the two approaches. Our research covers the main concepts, processes, and roles associated with the two PM frameworks and recommended learning outcomes. The paper should be of value to instructors who are keen to see their computing students graduate with a sound understanding of current PM methodologies and who can deliver real-world software products.Accepted manuscrip
    • …
    corecore