65,607 research outputs found
A Framework for Evaluating Model-Driven Self-adaptive Software Systems
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
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
Recommended from our members
A Static Verification Framework for Secure Peer-to-Peer Applications
In this paper we present a static verification framework to support the design and verification of secure peer-to-peer applications. The framework supports the specification, modeling, and analysis of security aspects together with the general characteristics of the system, during early stages of the development life-cycle. The approach avoids security issues to be taken into consideration as a separate layer that is added to the system as an afterthought by the use of security protocols. The main functionality supported by the framework are concerned with the modeling of the system together with its security aspects by using an extension of UML, modeling of abuse cases to represent scenarios of attackers and assist with the identification of properties to be verified, specification of properties to be verified in a graphical template language, verification of the models against the properties, and visualization of the results of the verification process
- …