12 research outputs found
Mapping the systematic literature studies about software ecosystems
There is a need to improve the definition and development of technological ecosystems in order to solve the main problems detected in previous studies. To achieve this goal, it is required to identify and analyse the solutions available in the literature in the field of software engineering applied to ecosystems. The research in software ecosystems is a relatively young research area, but there are already several works that analyse the literature associated. To conduct a new systematic literature review is necessary to ensure that there are no studies that do the same, namely, that do not answer the same research questions. The identification of the need for a review was done through a study focused on systematic literature reviews and mapping studies about software ecosystems. This work aims to describe the mapping conducted as part of that study. It provides a global state of the art of this kind of studies in the area of software ecosystems
State of the Practice in Application Programming Interfaces (APIs): A Case Study
Application Programming Interfaces (APIs) have become prevalent in today’s software systems and services. APIs are basically a technical means to realize the co-operation between software systems or services. While there are several guidelines for API development, the actually applied practices and challenges are less clear. To better understand the state of the practice of API development and management in the industry, we conducted a descriptive case study in four Finnish software companies: two consultancy companies developing software for their customers, and two companies developing their software products. As a result, we identified five different usage scenarios for APIs and emphasize that diversity of usage should be taken into account more explicitly especially in research. API development and technical management are well supported by the existing tools and technologies especially available from the cloud technology. This leaves as the main challenge the selection of the right technology from the existing technology stack. Documentation and usability are practical issues to be considered and often less rigorously addressed. However, understanding what kind of API management model to apply for the business context appears as the major challenge. We also suggest considering APIs more clearly a separate concern in the product management with specific practices, such as API roadmapping.Peer reviewe
Metodologías ágiles Scrum, XP, SLeSS, Scrumban, HME, Mobile-D y MASAN empleadas en la industria de dispositivos móviles: Un contraste en favor de la industria del desarrollo móvil
La finalidad de este artículo fue realizar un contraste entre metodologías ágiles Scrum, XP, SLeSS, Scrumban, HME, Mobile-D y MASAN, empleadas en la industria del desarrollo de software para dispositivos móviles. Como resultado de la investigación se encontró que dichas metodologías no están direccionadas a cumplir con los todos los requerimientos especiales, exigidos por los aplicativos móviles, ya que la mayor parte de éstas no surgieron pensando en el desarrollo de los mismos. Si bien parte de las características de las metodologías ágiles es que fueron concebidas para abordar proyectos de cortos y mediano plazo con requerimientos cambiantes a lo largo del mismo, en algunos de los casos dejan varios vacíos como la baja calidad y la precaria robustez del software resultante. Después de un análisis exhaustivo se concluyó Scrum, SLeSS y Scrumban, son las más capacitadas para atender las necesidades del desarrollo de aplicaciones para dispositivos móvil.TARAPOTOEscuela Profesional de Ingeniería de SistemasDesarrollo de Softwar
Ecosistemas Software: Análisis de revisiones sistemáticas de literatura
[EN]Software ecosystems, and in particular, technological ecosystems, allow solving problems related to the management of information and knowledge in all types of organizations. In order to improve the definition and development of this type of technological solutions, first, previous investigations must be identified and analyzed. In this way it is intended to clarify if there are solutions in the literature that allow solving the identified problems. As a preliminary phase to the systematic literature review, an analysis focused on systematic literature studies about software ecosystems has been carried out. This analysis was done through a systematic mapping
The importance of socio-technical resources for software ecosystems management
AbstractSoftware Ecosystem (SECO) is often understood as a set of actors interacting among themselves and manipulating artifacts with the support of a common technology platform. Usually, SECO approaches can be designed as an environment whose component repository is gathering stakeholders as well as software products and components. By manipulating software artifacts, a technical network emerges from interactions made over the component repository in order to reuse artifacts, improving code quality, downloading, selling, buying etc. Although technical repositories are essential to store SECO’s artifacts, the interaction among actors in an emerging social network is a key factor to strengthen the SECO’s through increasing actor’s participation, e.g., developing new software, reporting bugs, and communicating with suppliers. In the SECO context, both the internal and external actors keep the platform’s components updated and documented, and even support requirements and suggestions for new releases and bug fixes. However, those repositories often lack resources to support actors’ relationships and consequently to improve the reuse processes by stimulating actors’ interactions, information exchange and better understanding on how artifacts are manipulated by actors. In this paper, we focused on investigating SECO as component repositories that include socio-technical resources. As such, we present a survey that allowed us to identify the relevance of each resource for a SECO based on component repositories, initially focused on the Brazilian scenario. This paper also describes the analysis of the data collected in that survey. Information of other SECO elements extracted from the data is also presented, e.g., the participants’ profile and how they behave within a SECO. As an evolution of our research, a study for evaluating the availability and the use of such resources on top of two platforms was also conducted with experts in collaborative development in order to analyze the usage of the most relevant resources in real SECO’s platforms. We concluded that socio-technical resources have aided collaboration in software development for SECO, coordination of teams based on more knowledge of actor’s tasks and interactions, and monitoring of quality of SECOs’ platforms through the orchestration of the contributions developed by external actors
An Introduction to Software Ecosystems
This chapter defines and presents different kinds of software ecosystems. The
focus is on the development, tooling and analytics aspects of software
ecosystems, i.e., communities of software developers and the interconnected
software components (e.g., projects, libraries, packages, repositories,
plug-ins, apps) they are developing and maintaining. The technical and social
dependencies between these developers and software components form a
socio-technical dependency network, and the dynamics of this network change
over time. We classify and provide several examples of such ecosystems. The
chapter also introduces and clarifies the relevant terms needed to understand
and analyse these ecosystems, as well as the techniques and research methods
that can be used to analyse different aspects of these ecosystems.Comment: Preprint of chapter "An Introduction to Software Ecosystems" by Tom
Mens and Coen De Roover, published in the book "Software Ecosystems: Tooling
and Analytics" (eds. T. Mens, C. De Roover, A. Cleve), 2023, ISBN
978-3-031-36059-6, reproduced with permission of Springer. The final
authenticated version of the book and this chapter is available online at:
https://doi.org/10.1007/978-3-031-36060-
Integration analysis of solutions based on software as a service to implement Educational Technological Ecosystems
[ES]Una de las principales características de la actual Sociedad del Conocimiento reside en
el valor del conocimiento como un recurso activo en cualquier tipo de entidad, desde
instituciones educativas hasta grandes corporaciones empresariales. La gestión del
conocimiento surge como una ventaja competitiva de tal forma que las entidades
dedican parte de sus recursos a desarrollar su capacidad para compartir, crear y aplicar
nuevos conocimientos de forma continuada a lo largo del tiempo.
La tecnología, considerada el motor, el elemento central, en la Sociedad de la
Información, pasa a convertirse en un soporte para el aprendizaje, para la
transformación de conocimiento tácito en explícito, de conocimiento individual en
grupal. Internet, las tecnologías de la información y la comunicación y, en particular,
los sistemas de información pasan de ser elementos que guían el desarrollo de la
sociedad a ser herramientas cuyo desarrollo está guiado por las necesidades de gestión
del conocimiento y los procesos de aprendizaje.
Los ecosistemas tecnológicos, considerados como la evolución de los sistemas de
información tradicionales, se posicionan como sistemas de gestión del conocimiento
que abarcan tanto la componente tecnológica como el factor humano. En el caso de que
la gestión del conocimiento esté dirigida a apoyar fundamentalmente procesos de
aprendizaje, el ecosistema tecnológico se puede denominar ecosistema de aprendizaje.
La metáfora de ecosistema, que proviene del área de la biología, se utiliza en diferentes
contextos para transmitir la naturaleza evolutiva de procesos, actividades y relaciones.
El uso del concepto ecosistema natural se aplica al ámbito tecnológico para reflejar un
conjunto de características o propiedades de los ecosistemas naturales que pueden
transferirse a los ecosistemas tecnológicos o ecosistemas software con el fin de
proporcionar soluciones, las cuales deben estar orientadas resolver los problemas de
gestión del conocimiento. A su vez, estas soluciones tienen que adaptarse a los
constantes cambios que sufre cualquier tipo de entidad o contexto en el que se despliega
algún tipo de solución tecnológica.
A pesar de las ventajas que ofrecen los ecosistemas tecnológicos, el desarrollo de este
tipo de soluciones tiene una mayor complejidad que los sistemas de información
tradicionales. A los problemas propios de la ingeniería del software, tales como la
interoperabilidad de los componentes o la evolución del ecosistema, se unen la
dificultad de gestionar un conocimiento complejo y la diversidad de personas
involucradas.
Los diferentes retos y problemas de los ecosistemas tecnológicos, y en particular de
aquellos centrados en gestionar el conocimiento y el aprendizaje, requieren mejorar los
procesos de definición y desarrollo de este tipo de soluciones tecnológicas.
La presente tesis doctoral se centra en proporcionar un marco arquitectónico que
permita mejorar la definición, el desarrollo y la sostenibilidad de los ecosistemas
tecnológicos para el aprendizaje. Dicho marco estará compuesto, principalmente, por
dos resultados asociados a esta investigación: un patrón arquitectónico que permita
resolver los problemas detectados en ecosistemas de aprendizaje reales y un
metamodelo de ecosistema de aprendizaje, basado en el patrón, que permita aplicar
Ingeniería Dirigida por Modelos para sustentar la definición y el desarrollo de los
ecosistemas de aprendizaje.
Para llevar a cabo la investigación se han definido tres ciclos siguiendo el marco
metodológico Investigación-Acción. El primer ciclo se ha centrado en el análisis de
varios casos de estudio reales con el fin de obtener un modelo de dominio del problema.
Se han analizado ecosistemas tecnológicos para la gestión del conocimiento y el
aprendizaje desplegados en contextos heterogéneos, en particular, la Universidad de
Salamanca, el grupo de investigación GRIAL y el proyecto europeo TRAILER (centrado
en gestionar el conocimiento informal en instituciones y empresas). Como resultado de
este ciclo se han detectado una serie de características que debe tener un ecosistema
tecnológico y se ha definido un patrón arquitectónico que permite sentar las bases del
ecosistema, dando solución a algunos de los problemas detectados y asegurando la
flexibilidad y adaptabilidad de los componentes del ecosistema con el fin de permitir su
evolución.
El segundo ciclo se ha centrado en la mejora y validación del patrón arquitectónico. Los
problemas detectados en el ciclo anterior se han modelado con la notación Business
Process Model and Notation. Para ello, se han agrupado los problemas relacionados con
procesos de gestión del conocimiento similares y posteriormente se ha realizado para
cada conjunto de problemas un diagrama con un alto nivel de abstracción. Después,
para cada uno de los diagramas, se han identificado una vez más los problemas a
resolver y se ha definido un nuevo diagrama aplicando el patrón. Esto ha permitido
validar el patrón arquitectónico y sentar las bases para su formalización.
Por último, el tercer ciclo ha planteado el Desarrollo Dirigido por Modelos de
ecosistemas tecnológicos para la gestión del conocimiento y el aprendizaje. En concreto,
se ha definido un metamodelo de ecosistema de aprendizaje basado en el patrón
arquitectónico planteado en el ciclo anterior. El metamodelo se ha validado a través de
una serie de transformaciones modelo a modelo automatizadas mediante reglas de
transformación. Para poder llevar a cabo dicho proceso, se ha definido un metamodelo
específico de plataforma que proporciona un conjunto de recomendaciones, tanto
tecnológicas como humanas, para implementar ecosistemas de aprendizaje basados en
software open source.
El metamodelo de ecosistema de aprendizaje y el metamodelo específico de plataforma
para definir ecosistemas basados en software open source proporcionan las guías
necesarias para definir ecosistemas de aprendizaje que resuelvan los principales
problemas detectados en este tipo de soluciones software.
Los tres casos de estudio reales que se han desarrollado para validar los resultados
obtenidos a lo largo de los ciclos de Investigación-Acción, en especial, el patrón
arquitectónico para modelar ecosistemas de aprendizaje, el metamodelo de ecosistema
de aprendizaje y el metamodelo específico de plataforma para definir ecosistemas
basados en software open source, permiten afirmar, como conclusión más general, que
es posible mejorar la definición y el desarrollo de los ecosistemas tecnológicos
enfocados en gestionar el conocimiento y los procesos de aprendizaje. Más
concretamente, el uso de ingeniería dirigida por modelos, sustentada sobre una sólida
propuesta arquitectónica, permite definir ecosistemas de aprendizaje que evolucionan
y se adaptan a las necesidades cambiantes del entorno y de los usuarios, así como
resolver un conjunto de problemas comunes identificado en este tipo de soluciones
tecnológicas
Hedonické nebo pragmatické preference? Komparativní analýza uživatelů platforem Android a iOS z pohledu UX a informačního chování
The theoretical part of the thesis presents the evolution of the fields of human-computer interaction (HCI) and user experience (UX) including hedonic-pragmatic model of user experience. It further presents platforms and ecosystems in general, the evolution of smartphone market and the platforms of Android and iOS, and explains the basic concepts of information and consumer behaviour. A part of the thesis is a qualitative study examining the differences between the preferences towards smartphones of Android and iOS users, and differences in their information behaviour. It was found out that the participants - users of both platforms have mostly pragmatic reasons for their platform preference but describe them differently; that Android users seek more information at the time of smartphone purchase decision and that some iOS users, unlike Android users, started using their platform based on observation of others' good user experience with it.Teoretická část práce představuje vývoj oborů interakce člověk-počítač a uživatelské zkušenosti včetně hedonicko-pragmatického modelu. Dále jsou představeny platformy a ekosystémy obecně, vývoj trhu se smartphony a samotné dvě platformy Android a iOS. Vysvětleny jsou i základní koncepty informačního a zákaznického chování. Součástí práce je kvalitativní výzkum, jenž zkoumá rozdíly v požadavcích uživatelů obou platforem na bázi hedonicko-pragmatického modelu uživatelské zkušenosti a v jejich informačním chování. Bylo zjištěno, že účastníci výzkumu - uživatelé obou platforem mají zejména pragmatické důvody, ale i některé hedonické důvody pro volbu své platformy, ale popisují je jiným způsobem; a zároveň, že uživatelé Androidu zjišťují více informací při kupování nového smartphonu a že uživatelé iOS se v některých případech, na rozdíl od uživatelů Androidu, rozhodli pro svoji platformu na základě pozorování spokojenosti okolí.Institute of Information Studies and Librarianship - New Media StudiesÚstav informačních studií - studia nových médiíFilozofická fakultaFaculty of Art