1,491 research outputs found
Supporting software maintenance with non-functional information
The paper highlights the role of non functional information (about efficiency, reliability and other software attributes) of software components in software maintenance, focusing in the component programming framework. Non functional information is encapsulated in modules bound to both definitions and implementations of software components and it is written as expressions in a classical programming language. It is shown with an example how this notation supports software maintenance, with the help of an algorithm which is able to select the best implementation of a software component in its context of use, meaning byPeer ReviewedPostprint (published version
An approach to reconcile the agile and CMMI contexts in product line development
Software product line approaches produce reusable platforms and architectures for products set developed by specific companies. These approaches are strategic in nature requiring coordination, discipline,
commonality and communication. The Capability Maturity Model (CMM) contains important guidelines for process improvement, and specifies "what" we must have into account to achieve the disciplined processes
(among others things). On the other hand, the agile context is playing an increasingly important role in current software engineering practices, specifying "how" the software practices must be addressed to obtain agile processes. In this paper, we carry out a preliminary analysis for reconciling agility and maturity models in software product line domain,
taking advantage of both.Postprint (published version
Construction of a taxonomy for requirements engineering commercial-off-the-shelf components
This article presents a procedure for constructing a taxonomy of COTS products in the field of Requirements Engineering (RE). The taxonomy and the obtained information reach transcendental benefits to the selection of systems and tools that aid to RE-related actors to simplify and facilitate their work. This taxonomy is performed by means of a goal-oriented methodology inspired in GBRAM (Goal-Based Requirements Analysis Method), called GBTCM (Goal-Based Taxonomy Construction Method), that provides a guide to analyze sources of information and modeling requirements and domains, as well as gathering and organizing the knowledge in any segment of the COTS market. GBTCM claims to promote the use of standards and the reuse of requirements in order to support different processes of selection and integration of components.Peer ReviewedPostprint (published version
Mecanismos de contribución voluntaria en un sistema de recaudo de impuestos: un análisis experimental
Mediante economía experimental y teoría de juegos, y teniendo en cuentaconceptos teóricos de economía política y economía de la información, estedocumento tiene como objetivo hacer análisis experimentales que permitanobtener conclusiones (no necesariamente expandibles a la población total enel sentido estadístico) y pensar en políticas para optimizar el recaudo derivadode contribuciones voluntarias de los agentes que se destinan a lafinanciación de bienes públicos. De los resultados se hacen recomendacionessobre las características de los agentes a los que debe dirigirse la políticay sus posibles comportamientos, así como las acciones e incentivos quepodrían implementarse para tomar decisiones óptimas en la implementaciónde este tipo de mecanismos en política fiscal.Los resultados muestran que de los agentes económicos que participaron enlos experimentos, los de estrato socioeconómico medio tienen mayor tendenciaa contribuir de manera voluntaria y que existen mecanismos eficientesque incentivan la contribución voluntaria, como los puntos de provisión y lacomunicación abierta entre los agentes. Los experimentos también evidenciaronla importancia de la generación de confianza y la reputación del gobiernoentre los contribuyentes.economía experimental, economía política, economía de lainformación, bienes públicos.
The i* framework for goal-oriented modeling
The final publication is available at Springer via http://dx.doi.org/10.1007/978-3-319-39417-6i* is a widespread framework in the software engineering field that supports goal-oriented modeling of socio-technical systems and organizations. At its heart lies a language offering concepts such as actor, dependency, goal and decomposition. i* models resemble a network of interconnected, autonomous, collaborative and dependable strategic actors. Around this language, several analysis techniques have emerged, e.g. goal satisfaction analysis and metrics computation. In this work, we present a consolidated version of the i* language based on the most
adopted versions of the language. We define the main constructs of the language and we articulate them in the form of a metamodel. Then, we implement this version and a concrete technique, goal satisfaction analys is based on goal propagation, using ADOxx. Throughout the chapter, we used an example based on open source software adoption to illustrate the concepts and test the implementation.Peer ReviewedPostprint (author's final draft
Putting non-functional requirements into software architecture
This paper presents an approach for incorporating non-functional information of software system into software architectures. To do so, components present two distinguished slots: their non-functional specification, where non-functional requirements on components are placed, and their non-functional behaviour with respect to these requirements. Also, connector protocols may describe which non-functional aspects are relevant to component connections. We propose a notation to describe non-functionality in a systematic manner, and we use it to analyse two particular aspects of the meeting scheduler case study, user interaction and performance.Peer ReviewedPostprint (published version
Applying business strategy models in organizations
Increasing adoption of Open Source Software (OSS) in information system engineering has led to the emergence of different OSS business strate-gies that affect and shape organizations’ business models. In order to obtain the specific organizational model for a concrete organization that is adhering to a specific OSS business strategy, we need to instantiate the general knowledge included in this business strategy. This paper describe the process in which this general knowledge is instantiated and define a set of operations over i* models to implement the instantiation concept. Although conceived in the field of OSS, the approach is generalizable to any kind of business strategy.Peer ReviewedPostprint (published version
Análisis de los métodos de selección de componentes COTS desde una perspectiva ágil
Los métodos ágiles de construcción de software como eXtreme Programming y Scrum conciben el proceso de construcción como un ejercicio de desarrollo de software a medida. Sin embargo en la actualidad, muchos sistemas software están compuestos parcial o incluso totalmente por componentes COTS (Commercial Off-The-Shelf), debidamente personalizados e integrados. En este tipo de sistemas, el énfasis se desplaza de las actividades propias del desarrollo a medida, a los procesos de selección e integración de COTS. Existen diferentes propuestas basadas en la selección de COTS (pocas tratan de integración), y en este artículo estudiamos cómo se comportan desde un punto de vista ágil. Concretamente, introducimos los principios ágiles en el contexto de selección de COTS y analizamos bajo esta perspectiva algunas de las propuestas de selección de COTS más aceptadas. Como resultado, identificamos algunas prácticas que pueden dotar de mayor agilidad a los procesos de selección de COTS.Peer ReviewedPostprint (author's final draft
How agile COTS selection methods are (and can be)?
Agile methods are proposed nowadays as a way to support software systems procurement. Most of the existing proposals such as eXtreme programming or scrum seem to conceive software procurement as an exercise of software development. However, a great deal of software systems are commercial off-the-shelf (COTS)-based systems, in which the focus changes from bespoke software development to COTS selection and integration. Many proposals for COTS selection have been issued and therefore one may wonder how do they behave from the agile point of view. In this paper, we study the agile principles in the context of COTS selection and we analyze some of the most widespread existing methods. As a result, we identify some practices that would help in making COTS selection processes more agile.Peer ReviewedPostprint (published version
Automatic verification and validation wizard in web-centred end-user software engineering
This paper addresses one of the major web end-user software engineering (WEUSE) challenges, namely, how to
verify and validate software products built using a life cycle enacted by end-user programmers. Few end-user
development support tools implement an engineering life cycle adapted to the needs of
end users. End users do not have the programming knowledge, training or experience to perform devel- opment
tasks requiring creativity. Elsewhere we published a life cycle adapted to this challenge. With
the support of a wizard, end-user programmers follow this life cycle and develop rich internet applica- tions (RIA)
to meet specific end-user requirements. However, end-user programmers regard verification and validation activities
as being secondary or unnecessary for opportunistic programming tasks. Hence, although the solutions that they
develop may satisfy specific requirements, it is impossible to guarantee the quality or the reusability of this
software either for this user or for other developments by future end-user programmers. The challenge, then, is to
find means of adopting a verification and validation workflow and adding verification and validation activities to the
existing WEUSE life cycle. This should
not involve users having to make substantial changes to the type of work that they do or to their priori- ties. In
this paper, we set out a verification and validation life cycle supported by a wizard that walks the user through test
case-based component, integration and acceptance testing. This wizard is well-aligned with WEUSE’s characteristic
informality, ambiguity and opportunisticity. Users applying this verification and validation process manage to find
bugs and errors that they would otherwise be unable to identify. They also receive instructions for error correction.
This assures that their composite applications are of
better quality and can be reliably reused. We also report a user study in which users develop web soft- ware with
and without a wizard to drive verification and validation. The aim of this user study is to confirm the applicability
and effectiveness of our wizard in the verification and validation of a RIAEuropean Union (UE) GA FP7-216048European Union (UE) GA FP7-285248European Union (UE) GA FP7-258862Ministerio de Economía y Competitividad TIN2016-76956-C3-2-R (POLOLAS)Ministerio de Economía y Competitividad TIN2015-71938-RED
- …