778 resultados para Development Process


Relevância:

60.00% 60.00%

Publicador:

Resumo:

La usabilidad es un atributo de calidad de un sistema software que llega a ser crítico en sistemas altamente interactivos. Desde el campo de la Interacción Persona-Ordenador se proponen recomendaciones que permiten alcanzar un nivel adecuado de usabilidad en un sistema. En la disciplina de la Ingeniería de Software se ha establecido que algunas de estas recomendaciones afectan a la funcionalidad principal de los sistemas y no solo a la interfaz de usuario. Este tipo de recomendaciones de usabilidad se deben tener en cuenta desde las primeras actividades y durante todo el proceso de desarrollo, así como se hace con atributos tales como la seguridad, la facilidad de mantenimiento o el rendimiento. Desde la Ingeniería de Software se han hecho estudios y propuestas para abordar la usabilidad en las primeras actividades del desarrollo. En particular en la educción de requisitos y diseño de la arquitectura. Estas propuestas son de un alto nivel de abstracción. En esta investigación se aborda la usabilidad en actividades avanzadas del proceso de desarrollo: el diseño detallado y la programación. El objetivo de este trabajo es obtener, formalizar y validar soluciones reutilizables para la usabilidad en estas actividades. En este estudio se seleccionan tres funcionalidades de usabilidad identificadas como de alto impacto en el diseño: Abortar Operación, Retroalimentación de Progreso y Preferencias. Para la obtención de elementos reutilizables se utiliza un método inductivo. Se parte de la construcción de aplicaciones web particulares y se induce una solución general. Durante la construcción de las aplicaciones se mantiene la trazabilidad de los elementos relacionados con cada funcionalidad de usabilidad. Al finalizar se realiza un análisis de elementos comunes, y los hallazgos se formalizan como patrones de diseño orientados a la implementación y patrones de programación en cada uno de los lenguajes utilizados: PHP, VB .NET y Java. Las soluciones formalizadas como patrones se validan usando la metodología de estudio de casos. Desarrolladores independientes utilizan los patrones para la inclusión de las tres funcionalidades de usabilidad en dos nuevas aplicaciones web. Como resultado, los desarrolladores pueden usar con éxito las soluciones propuestas para dos de las funcionalidades: Abortar Operación y Preferencias. La funcionalidad Retroalimentación de Progreso no puede ser implementada completamente. Se concluye que es posible obtener elementos reutilizables para la implementación de cada funcionalidad de usabilidad. Estos elementos incluyen: escenarios de aplicación, que son la combinación de casuísticas que generan las funcionalidades de usabilidad, responsabilidades comunes necesarias para cubrir los escenarios, componentes comunes para cumplir con las responsabilidades, elementos de diseño asociados a los componentes y el código que implementa el diseño. Formalizar las soluciones como patrones resulta útil para comunicar los hallazgos a otros desarrolladores y los patrones se mejoran a través de su utilización en nuevos desarrollos. La implementación de funcionalidades de usabilidad presenta características que condicionan su reutilización, en particular, el nivel de acoplamiento de la funcionalidad de usabilidad con las funcionalidades de la aplicación, y la complejidad interna de la solución. ABSTRACT Usability is a critical quality attribute of highly interactive software systems. The humancomputer interaction field proposes recommendations for achieving an acceptable system usability level. The discipline of software engineering has established that some of these recommendations affect not only the user interface but also the core system functionality. This type of usability recommendations must be taken into account as of the early activities and throughout the software development process as in the case of attributes like security, ease of maintenance or performance. Software engineering has conducted studies and put forward proposals for tackling usability in the early development activities, particularly requirements elicitation and architecture design. These proposals have a high level of abstraction. This research addresses usability in later activities of the development process: detailed design and programming. The goal of this research is to discover, specify and validate reusable usability solutions for detailed design and programming. Abort Operation, Feedback and Preferences, three usability functionalities identified as having a high impact on design, are selected for the study. An inductive method, whereby a general solution is induced from particular web applications built for the purpose, is used to discover reusable elements. During the construction of the applications, the traceability of the elements related to each usability functionality is maintained. At the end of the process, the common and possibly reusable elements are analysed. The findings are specified as implementation-oriented design patterns and programming patterns for each of the languages used: PHP, VB .NET and Java. The solutions specified as patterns are validated using the case study methodology. Independent developers use the patterns in order to build the three usability functionalities into two new web applications. As a result, the developers successfully use the proposed solutions for two of the functionalities: Abort Operation and Preferences. The Progress Feedback functionality cannot be fully implemented. We conclude that it is possible to discover reusable elements for implementing each usability functionality. These elements include: application scenarios, which are combinations of cases that generate usability functionalities, common responsibilities to cover the scenarios, common components to fulfil the responsibilities, design elements associated with the components and code implementing the design. It is useful to specify solutions as patterns in order to communicate findings to other developers, and patterns improve through further use in other development projects. Reusability depends on the features of usability functionality implementation, particularly the level of coupling of the usability functionality with the application functionalities and the internal complexity of the solution.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Abstract The development of cognitive robots needs a strong “sensorial” support which should allow it to perceive the real world for interacting with it properly. Therefore the development of efficient visual-processing software to be equipped in effective artificial agents is a must. In this project we study and develop a visual-processing software that will work as the “eyes” of a cognitive robot. This software performs a three-dimensional mapping of the robot’s environment, providing it with the essential information required to make proper decisions during its navigation. Due to the complexity of this objective we have adopted the Scrum methodology in order to achieve an agile development process, which has allowed us to correct and improve in a fast way the successive versions of the product. The present project is structured in Sprints, which cover the different stages of the software development based on the requirements imposed by the robot and its real necessities. We have initially explored different commercial devices oriented to the acquisition of the required visual information, adopting the Kinect Sensor camera (Microsoft) as the most suitable option. Later on, we have studied the available software to manage the obtained visual information as well as its integration with the robot’s software, choosing the high-level platform Matlab as the common nexus to join the management of the camera, the management of the robot and the implementation of the behavioral algorithms. During the last stages the software has been developed to include the fundamental functionalities required to process the real environment, such as depth representation, segmentation, and clustering. Finally the software has been optimized to exhibit real-time processing and a suitable performance to fulfill the robot’s requirements during its operation in real situations.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

En la actualidad existe una gran expectación ante la introducción de nuevas herramientas y métodos para el desarrollo de productos software, que permitirán en un futuro próximo un planteamiento de ingeniería del proceso de producción software. Las nuevas metodologías que empiezan a esbozarse suponen un enfoque integral del problema abarcando todas las fases del esquema productivo. Sin embargo el grado de automatización conseguido en el proceso de construcción de sistemas es muy bajo y éste está centrado en las últimas fases del ciclo de vida del software, consiguiéndose así una reducción poco significativa de sus costes y, lo que es aún más importante, sin garantizar la calidad de los productos software obtenidos. Esta tesis define una metodología de desarrollo software estructurada que se puede automatizar, es decir una metodología CASE. La metodología que se presenta se ajusta al modelo de ciclo de desarrollo CASE, que consta de las fases de análisis, diseño y pruebas; siendo su ámbito de aplicación los sistemas de información. Se establecen inicialmente los principios básicos sobre los que la metodología CASE se asienta. Posteriormente, y puesto que la metodología se inicia con la fijación de los objetivos de la empresa que demanda un sistema informático, se emplean técnicas que sirvan de recogida y validación de la información, que proporcionan a la vez un lenguaje de comunicación fácil entre usuarios finales e informáticos. Además, estas mismas técnicas detallarán de una manera completa, consistente y sin ambigüedad todos los requisitos del sistema. Asimismo, se presentan un conjunto de técnicas y algoritmos para conseguir que desde la especificación de requisitos del sistema se logre una automatización tanto del diseño lógico del Modelo de Procesos como del Modelo de Datos, validados ambos conforme a la especificación de requisitos previa. Por último se definen unos procedimientos formales que indican el conjunto de actividades a realizar en el proceso de construcción y cómo llevarlas a cabo, consiguiendo de esta manera una integridad en las distintas etapas del proceso de desarrollo.---ABSTRACT---Nowdays there is a great expectation with regard to the introduction of new tools and methods for the software products development that, in the very near future will allow, an engineering approach in the software development process. New methodologies, just emerging, imply an integral approach to the problem, including all the productive scheme stages. However, the automatization degree obtained in the systems construction process is very low and focused on the last phases of the software lifecycle, which means that the costs reduction obtained is irrelevant and, which is more important, the quality of the software products is not guaranteed. This thesis defines an structured software development methodology that can be automated, that is a CASE methodology. Such a methodology is adapted to the CASE development cycle-model, which consists in analysis, design and testing phases, being the information systems its field of application. Firstly, we present the basic principies on which CASE methodology is based. Secondly, since the methodology starts from fixing the objectives of the company demanding the automatization system, we use some techniques that are useful for gathering and validating the information, being at the same time an easy communication language between end-users and developers. Indeed, these same techniques will detail completely, consistently and non ambiguously all the system requirements. Likewise, a set of techniques and algorithms are shown in order to obtain, from the system requirements specification, an automatization of the Process Model logical design, and of the Data Model logical design. Those two models are validated according to the previous requirement specification. Finally, we define several formal procedures that suggest which set of activities to be accomplished in the construction process, and how to carry them out, getting in this way integrity and completness for the different stages of the development process.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

The School of Industrial Engineering at Universidad Politécnica de Madrid (ETSII-UPM) has been promoting student-centred teaching-learning activities, according to the aims of the Bologna Declaration, well before the official establishment of the European Area of Higher Education. Such student-centred teaching-learning experiences led us to the conviction that project based learning is rewarding, both for students and academics, and should be additionally promoted in our new engineering programmes, adapted to the Grade-Master structure. The level of commitment of our teachers with these activities is noteworthy, as the teaching innovation experiences carried out in the last ten years have led to the foundation of 17 Teaching Innovation Groups at ETSII-UPM, hence leading the ranking of teaching innovation among all UPM centres. Among interesting CDIO activities our students have taken part in especially complex projects, including the Formula Student, linked to the complete development of a competition car, and the Cybertech competition, aimed at the design, construction and operation of robots for different purposes. Additional project-based learning teamwork activities have been linked to toy design, to the development of medical devices, to the implementation of virtual laboratories, to the design of complete industrial installations and factories, among other activities detailed in present study. The implementation of Bologna process will culminate at ETSII-UPM with the beginning of the Master’s Degree in Industrial Engineering, in academic year 2014-15. The program has been successfully approved by the Spanish Agency for Accreditation (ANECA), with the inclusion of a set of subjects based upon the CDIO methodology denominated generally “INGENIA”, linked to the Spanish “ingeniar” (to provide ingenious solutions), also related etymologically in Spanish with “ingeniero”, engineer. INGENIA students will live through the complete development process of a complex product or system and there will be different kind of projects covering most of the engineering majors at ETSII-UPM.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

La producción habitacional moderna chilena del siglo xx proporcionó modelos valiosos en los que abundaban espacios proclives al encuentro de la comunidad que, además, han logrado perdurar en el tiempo. Sin embargo, el estado de degradación en que se encuentran algunos de estos conjuntos ha puesto en entredicho sus cualidades efectivas para resolver el problema de la vivienda, tanto por su racionalidad excesiva como por su escasa capacidad para acoger los modos de vida propios de sus habitantes. A día de hoy, ante la masificación indiscriminada del mercado inmobiliario, cabe plantearse una mirada retrospectiva hacia algunos de estos conjuntos que mediaron entre la renovación y la realidad local preexistente, como ocurrió en algunos contextos geográficos complejos como el ‘Gran Valparaíso’. Las ciudades de Valparaíso y Viña del Mar destacan por su peculiar morfología urbana entre planicie y cerros, conformada tanto por construcciones espontáneas como planificadas, generalmente adaptadas a la geografía. La aparición de nuevos modelos en altura en los cerros tuvo consecuencias significativas para la escala del barrio y la ciudad, como la apropiación del patrimonio común de los ciudadanos —la vista hacia el paisaje de la bahía— y un cierto descontrol en las relaciones entre lo construido y su entorno inmediato. Dicha situación se tradujo en la deshumanización de los espacios colectivos y la pérdida del ‘sentido de lo comunitario’, dos situaciones propias del habitar local. Sin embargo, algunos conjuntos modernos dieron importancia a este tipo de espacios, que utilizaron como complemento a los reducidos recintos comunes de la unidad habitacional. Así, mediante la integración de circulaciones, espacios comunitarios y dotaciones, se estimuló la ‘comunidad’ y se favoreció la relación socio-espacial entre la vecindad y el barrio. El hecho de que en su implantación recogiesen cualidades locales —o no— requiere de un estudio más exhaustivo, especialmente en lo que toca a los modos de vida asociados. Esta tesis presenta la trayectoria y el proceso de desarrollo comunitario de siete conjuntos habitacionales modernos construidos en Valparaíso y Viña del Mar. Una evolución que estuvo impulsada por las cualidades formales y funcionales de los espacios comunes, profundamente arraigados al lugar. A través de un análisis retrospectivo de los ámbitos de encuentro y la trayectoria de la vida cotidiana, y construido desde la documentación junto con los recuerdos de los habitantes originarios, este trabajo revisa el estado actual de dichos conjuntos, sus singularidades y los cambios que han experimentado en el tiempo. ABSTRACT The twentieth century’s Chilean modern housing production has provided valuable models in which abounded spaces likely to community encounter, that also have managed to survive over time. However, some modern housing complexes exhibit an evident state of deterioration, that contradicts their characteristics for solving housing problems, both for its excessive rationality as their limited capacity to accommodate the ways of life of its inhabitants. However while the housing market has established a model based on standardization and individuality, an evaluation of the real characteristics of the main modern constructions is required, that mediate between the renewal and the existing local reality especially in cities emplaced in geographic complexes such as the ‘Gran Valparaíso’. The cities of Valparaiso and Viña del Mar are notable for its unique urban morphology between flat land and hills, formed both by spontaneous as planned constructions, generally adapted to the geography. The emergence of these new height models, particularly in the hills, had significant consequences at neighborhood and city. On the one hand has implied ownership of the common heritage of the people —the view of the landscape of the bay— and on the other hand have devalued the relationship between the built and the immediate environment. That situation even involved the dehumanization of collective spaces and loss of ‘sense of community’, both part of the local ways of live. However some modern collective housing gave importance to such spaces as a way to address the lack of common spaces in the dwelling unit. Through the integration of circulations, community spaces and endowments, ‘community’ was stimulated and socio-spatial relationship between vicinity and the neighborhood was favored. The fact that in its implementation to collect local qualities —or not— requires further study, especially in terms of associated lifestyles. This thesis presents the trajectory and community development process of seven modern housing complexes built in Valparaíso and Viña del Mar. As will be seen, without a doubt the formal and functional qualities of common spaces prompted the neighborhood’s evolution, deeply rooted in place.. Through a built from the documentation with the memories of the original inhabitants retrospective analysis of the areas of encounter and experience of everyday life, this research reviews the current status of these sets, their singularities and the changes that have experienced over time.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

The Privacy by Design approach to systems engineering introduces privacy requirements in the early stages of development, instead of patching up a built system afterwards. However, 'vague', 'disconnected from technology', or 'aspirational' are some terms employed nowadays to refer to the privacy principles which must lead the development process. Although privacy has become a first-class citizen in the realm of non-functional requirements and some methodological frameworks help developers by providing design guidance, software engineers often miss a solid reference detailing which specific, technical requirements they must abide by, and a systematic methodology to follow. In this position paper, we look into a domain that has already successfully tackled these problems -web accessibility-, and propose translating their findings into the realm of privacy requirements engineering, analyzing as well the gaps not yet covered by current privacy initiatives.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Usability guidelines are a useful tool for the developers to improve interaction with systems. It includes knowledge of different disciplines related to usability and provides solutions and best practices to achieve the objectives of usability. Heuristic evaluation is one of the methods most widely used to evaluate and user interfaces. The objective of this study is to enrich the process of heuristic evaluation with the design guidelines focusing it on the evaluation of applications for mobile devices. As well as generate a homogeneous classification of guidelines content, in order to help that from design and development process, be included solutions and good practices provided by the guidelines. In order to achieve the objectives of this work, it is provides a method for generating heuristics for mobile applications, with which four applications were evaluated, and a web tool has also been developed that allows access to the content of the guidelines using the homogeneous classification of guidelines content. The results showed the ease and utility of performing heuristic evaluations using a set of heuristics focused on mobile applications.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Starting from the documentation of high sprint velocity fluctuations in a Scrum project, this paper presents a thorough approach to identify the sources of issues arising in the context of Scrum implementation. Given that Scrum provides guidance on identifying process issues but not their root causes, various approaches are explored. This is of great relevance because Scrum defines project schedules relying heavily on sprint velocity and because it is the most widely used agile methodology. The findings provide a new approach to evaluate such fluctuations and establish a more realistic project assessment than what is currently defined by Scrum. In this respect, this paper contributes to improve the understanding of the software development process using this agile framework.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

En este documento está descrito detalladamente el trabajo realizado para completar todos objetivos marcados para este Trabajo de Fin de Grado, que tiene como meta final el desarrollo de un dashboard configurable de gestión y administración para instancias de OpenStack. OpenStack es una plataforma libre y de código abierto utilizada como solución de Infraestructura como Servicio (Infrastructure as a Service, IaaS) en clouds tanto públicos, que ofrecen sus servicios cobrando el tiempo de uso o los recursos utilizados, como privados para su utilización exclusiva en el entorno de una empresa. El proyecto OpenStack se inició como una colaboración entre la NASA y RackSpace, y a día de hoy es mantenido por las empresas más potentes del sector tecnológico a través de la Fundación OpenStack. La plataforma OpenStack permite el acceso a sus servicios a través de una Interfaz de Linea de Comandos (Command Line Interface, CLI), una API RESTful y una interfaz web en forma de dashboard. Esta última es ofrecida a través del servicio Horizon. Este servicio provee de una interfaz gráfica para acceder, gestionar y automatizar servicios basados en cloud. El dashboard de Horizon presente algunos problemas como que: solo admite opciones de configuración mediante código Python, lo que hace que el usuario no tenga ninguna capacidad de configuración y que el administrador esté obligado a interactuar directamente con el código. no tiene soporte para múltiples regiones que permitan que un usuario pueda distribuir sus recursos por distintos centros de datos en diversas localizaciones como más le convenga. El presente Trabajo de Fin de Grado, que es la fase inicial del proyecto FI-Dash, pretende solucionar estos problemas mediante el desarrollo de un catálogo de widget de la plataformaWireCloud que permitirán al usuario tener todas las funcionalidades ofrecidas por Horizon a la vez que le ofrecen capacidades de configuración y añaden funcionalidades no presentes en Horizon como el soporte de múltiples regiones. Como paso previo al desarrollo del catálogo de widgets se ha llevado a cabo un estudio de las tecnologías y servicios ofrecidos por OpenStack, así como de las herramientas que pudieran ser necesarias para la realización del trabajo. El proceso de desarrollo ha sido dividido en distintas fases de acuerdo con los distintos componentes que forman parte del dashboard cada uno con una funcion de gestion sobre un tipo de recurso distinto. Las otras fases del desarrollo han sido la integración completa del dashboard en la plataforma WireCloud y el diseño de una interfaz gráfica usable y atractiva.---ABSTRACT---Throughout this document it is described the work performed in order to achieve all of the objectives set for this Final Project, which has as its main goal the development of a configurable dashboard for managing and administrating OpenStack instances. OpenStack is a free and open source platform used as Infrastructure as a Service (IaaS) for both public clouds, which offer their services through payments on time or resources used, and private clouds for use only in the company’s environment. The OpenStack project started as a collaboration between NASA and Rackspace, and nowadays is maintained by the most powerful companies in the technology sector through the OpenStack Foundation. The OpenStack project provides access to its services through a Command Line Interface (CLI), a RESTful API and a web interface as dashboard. The latter is offered through a service called Horizon. This service provides a graphical interface to access, manage and automate cloud-based services. Horizon’s dashboard presents some problems such as: Only supports configuration options using Python code, which grants the user no configuration capabilities and forces the administrator to interact directly. No support for multiple regions that allow a user to allocate his resources by different data centers in different locations at his convenience. This Final Project, which is the initial stage of the FI-Dash project, aims to solve these problems by developing a catalog of widgets for the WireCloud platform that will allow the user to have all the features offered by Horizon while offering configuration capabilities and additional features not present in Horizon such as support for multiple regions. As a prelude to the development of the widget catalog, a study of technologies and services offered by OpenStack as well as tools that may be necessary to carry out the work has been conducted. The development process has been split in phases matching the different components that are part of the dashboard, having each one of them a function of management of one kind of resource. The other development phases have been the achieving of full integration with WireCloud and the design of a graphical interface that is both usable and atractive.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

La Ingeniería de Pruebas está especializada en la verificación y validación del Software,y formalmente se define como: “Proceso de desarrollo que emplea métodos rigurosos para evaluar la corrección y calidad del producto a lo largo de todo su ciclo de vida” [3]. Este proceso comprende un conjunto de métodos, procedimientos y técnicas formalmente definidas las cuales, usadas de forma sistemática, facilitan la identificación de la mayor cantidad de errores y fallos posibles de un software. Un software que pase un proceso riguroso de pruebas es un producto de calidad que seguramente facilitará la labor del Ingeniero de Software en la corrección de futuras incidencias, algunas de ellas generadas tras la implantación en el entorno real. Este proceso constituye un área de la Ingeniería del Software y una especialidad por tanto, de la misma. De forma simple, la consecución de una correcta Verificación y Validación del Software requiere de algunas actividades imprescindibles como: - Realizar un plan de pruebas del proyecto. - Actualizar dicho plan y corregirlo en caso necesario. - Revisar los documentos de análisis de requisitos. - Ejecutar las pruebas en las diferentes fases del desarrollo del proyecto. - Documentar el diseño y la ejecución de las pruebas. - Generar documentos con los resultados y anomalías de las pruebas ya ejecutadas. Actualmente, la Ingeniería de Pruebas no es muy reconocida como área de trabajo independiente sino más bien, un área inmersa dentro de la Ingeniería de Software. En el entorno laboral existe el perfil de Ingeniero de Pruebas, sin embargo pocos ingenieros de software tienen claro querer ser Ingenieros de Pruebas (probadores o testers) debido a que nunca han tenido la oportunidad de enfrentarse a actividades prácticas reales dentro de los centros de estudios universitarios donde cursan la carrera. Al ser un área de inherente ejercicio profesional, la parte correspondiente de la Ingeniería de Pruebas suele enfocarse desde un punto de vista teórico más que práctico. Hay muchas herramientas para la creación de pruebas y de ayuda para los ingenieros de pruebas, pero la mayoría son de pago o hechas a medida para grandes empresas que necesitan dicho software. Normalmente la gente conoce lo que es la Ingeniería de Pruebas únicamente cuando se empieza a adquirir experiencia en dicha área en el ejercicio profesional dentro de una empresa. Con lo cual, el acercamiento durante la carrera no necesariamente le ha ofrecido al profesional en Ingeniería, la oportunidad de trabajar en esta rama de la Ingeniería del Software y en algunos casos, NOVATests: Metodología y herramienta software de apoyo para los Ingenieros de Prueba Junior 4 los recién egresados comienzan su vida profesional con algún desconocimiento en este sentido. Es por el conjunto de estas razones, que mi intención en este proyecto es proponer una metodología y una herramienta software de apoyo a dicha metodología, para que los estudiantes de carreras de Ingeniería Software y afines, e ingenieros recién egresados con poca experiencia o ninguna en esta área (Ingenieros de Pruebas Junior), puedan poner en práctica las actividades de la Ingeniería de Pruebas dentro de un entorno lo más cercano posible al ejercicio de la labor profesional. De esta forma, podrían desarrollar las tareas propias de dicha área de una manera fácil e intuitiva, favoreciendo un mayor conocimiento y experiencia de la misma. ABSTRACT The software engineering is specialized in the verification and validation of Software and it is formally defined as: “Development process which by strict methods evaluates and corrects the quality of the product along its lifecycle”. This process contains a number of methods, procedures and techniques formally defined which used systematically make easier the identification of the highest quantity of error and failures within a Software. A software going through this rigorous process of tests will become a quality product that will help the software engineer`s work while correcting incidences. Some of them probably generated after the deployment in a real environment. This process belongs to the Software engineering and therefore it is a specialization itself. Simplifying, the correct verification and validation of a software requires some essential activities such as: -Create a Test Plan of the project - Update this Test Plan and correct if necessary - Check Requirement’s specification documents -Execute the different tests among all the phases of the project - Create the pertinent documentation about design and execution of these tests. - Generate the result documents and all the possible incidences the tests could contain. Currently, the Test engineering is not recognized as a work area but an area immerse within the Software engineering. The professional environment includes the role of Test engineer, but only a few software engineers have clear to become Test engineers (testers) because they have never had the chance to face this activities within the university study centers where they take study of this degree. Since there are little professional environments, this area is focused from a theoretical way instead of a more practical vision. There are plenty of tools helping the Test engineer, but most of them are paid tools or bespoke tools for big companies in need of this software. Usually people know what test engineering is by starting working on it and not before, when people start acquiring experience in this field within a company. Therefore, the degree studied have not approach this field of the Software engineering before and in some cases the graduated students start working without any knowledge in this area. Because of this reasons explained, it is my intention to propose this Project: a methodology and a software tool supporting this methodology so the students of software engineering and similar ones but also graduated students with little experience in this area (Junior Test Engineers), can afford practice in this field and get used to the activities related with the test engineering. Because of this they will be able to carry out the proper tasks of this area easier, enforcing higher and better knowledge and experience of it.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

El desarrollo como política de las naciones marca el período de la postguerra, que en América Latina se concreta en múltiples programas de Desarrollo Rural. El modelo inicial de crecimiento económico se va enriqueciendo con visiones centradas en el ser humano y sus múltiples concepciones de desarrollo. En este entender el desarrollo desde la diversidad cultural y antropológica de los pueblos de América Latina, surge la comunicación radiofónica como camino común para la persuasión, socialización y apropiación colectiva de conocimientos y ámbito participativo para consensuar objetivos y acordar actividades. El activismo de los años setenta y ochenta produjo un número considerable de experiencias. La mayoría de ellas han llegado hasta nuestros días, pero el giro tomado por las sociedades digitalizadas y las prioridades medioambientales han dado un nuevo rostro a aquellas primeras experiencias centradas en el desarrollo rural endógeno. Este estudio investiga el complejo práctico-teórico que integra comunicación y desarrollo en contextos territoriales interculturales con población marginal y aplicación de políticas de desarrollo rural. En el capítulo I se recogen las modalidades de cómo se ha aplicado la comunicación en programas de desarrollo, para profundizar en el concepto de comunicación para el desarrollo, conocer sus actores y resultados, y concluir que el desarrollo “con rostro humano” se hace con personas no con políticas oficiales. El capítulo II presenta a los Pueblos Indígenas de la Sierra Ecuatoriana como actores de su proceso de desarrollo hacia el Sumak Kawsay. Los temas tratados en este capítulo muestran los valores y capacidades de las comunidades indígenas de la Sierra Ecuatoriana para la autogestión de su desarrollo, y deja constancia y denuncia de la lectura negativa que se ha venido haciendo de su cosmovisión. Se encuentra respuesta conceptual y metodológica en el Workng With People para optimizar aportes culturales de los Pueblos Indígenas al proceso comunicacional y participativo para mejorar las condiciones de vida y lograr mayores espacios de autonomía y libertad El conocimiento que explica la realidad sin cambiarla no tiene sentido para los pobres. La realidad requiere ser comprendida para construir el conocimiento que la explique y la cambie: ese es el aporte del modelo conocimiento/acción que se presenta en el capítulo III. En este capítulo se exponen metodologías abiertas a la creatividad y flexibles que responden a los principios del modelo conocimiento/acción. La comunicación para el desarrollo se abre a todas ellas como ágora pluricultural que requiere un lenguaje común que se construye desde el aprendizaje social. Los conceptos expuestos en el capítulo III se vinculan en una propuesta metodológica que integra el conocimiento y la acción con los principios del Working With People, propuesta que se expone en el capítulo IV. El modelo del Proyecto de Comunicación para el Desarrollo junta en un modelo de comunicación popular y prácticas liberadoras con métodos cognitivos de la realidad para planificar el cambio desde la población y con la población. Finalmente, el capítulo V recoge la experiencia de la Casa Campesina Cayambe ejecutora del Proyecto de Comunicación para el Desarrollo en la adaptación ejecutada con Radio Mensaje. La riqueza de la experiencia tiende a escaparse de los límites conceptuales y los esquemas dejan espacios de vida ignotos; pero los conceptos y esquemas constituyen el camino para que la experiencia pase a ser objeto conocido y conocimiento socializado. El Proyecto de Comunicación para el Desarrollo es resultado de un proceso de desarrollo construido desde la acción de la Casa Campesina Cayambe durante 25 años en Cayambe. En el capítulo V se describe el contexto del territorio de Cayambe, la identidad de la Casa Campesina Cayambe y de Radio Mensaje, y termina describiendo los logros de 25 años trabajando con la gente. El estudio concluye que la comunicación participativa, como ámbito de aprendizaje social aplicado en procesos de desarrollo rural, integra el conocimiento/acción e incorpora nuevos conocimientos en la población con los que se desarrollan competencias locales para planificar el desarrollo endógeno con flexibilidad y de abajo-arriba. La Figura 0-1 grafica los elementos bases sobre los que se construye el proceso de desarrollo. ABSTRACT Development as a policy of nations marks the postwar period which created several Rural Development Programs in Latin America. The initial model of economic growth was enriched with approaches focused on human beings and their multiple conceptions of development. In this regard, the development from cultural and anthropological diversity in Latin America, radio communication emerges as a common means for persuasion, socialization and collective appropriation of knowledge and scope for participation in order to agree on objectives and activities. Activism of the seventies and eighties generated a considerable number of experiences, most of which are present today. However, a turn taken by digitalized societies and environmental priorities has given those first experiences which focused on endogenous rural development a new face. This study researches the theoretical-practical status that integrates communication and development in intercultural contexts with marginal population and the use of rural development policies. Chapter one shows the modalities of how communication in development programs have been applied to deepen the concept of communication for development, to know those who are involved and its findings, and conclude that development “with a human face” is done with people not with official policies. Chapter two presents Indigenous communities in the Ecuadorian highlands, as people involved in their development process towards Sumak Kawsay. The topics in this chapter show the values and capacities indigenous communities in the Ecuadorian highlands have to self-manage their development, and proves, as well as denounces, that their cosmovision has been negatively perceived. A conceptual and methodological response is found in Working With People in order to optimize cultural contributions of Indigenous People to the communicational and participative process to improve life conditions and have greater spaces of autonomy and freedom. Knowledge which explains reality without changing it does not make any sense for the poor. Reality need to be understood in order to build the knowledge that will explain it and change it: that is the contribution of the knowledge/action model presented in chapter three. This chapter presents open methodologies to creativity which are flexible to respond to the principles of the knowledge/action model. Communication for development is open to all of them as pluricultural agora which requires a common language that is built from social learning. The concepts presented in chapter three are linked in a methodological proposal which integrates knowledge and action with principles of Working With People, proposal which is presented chapter four. The model of the Communication for Development Project includes popular communication elements and liberating practices with cognitive methods of reality to plan change from the population and with the population. Finally, chapter five presents the experiences from the Cayambe Country House, which conducted the Communication for Development Project in the adaptation implemented with Radio Mensaje. The wealth of experience tends to scape from the conceptual limits and the schemes leave gaps of unexplored life; but the concepts and schemes constitute the way so that experience becomes a known object and socialized knowledge. The Communication for Development Project is the result of a development process built from the actions of the Cayambe Country House during 25 years in Cayambe. Chapter five describes the context of Cayambe, the identity of the Cayambe Country House and Radio Mensaje, and the achievements after 25 years of working with its people. The study concludes that participatory communication, as an area of social learning applied to rural development processes, integrates knowledge/action and incorporates new knowledge in communities to develop local competencies to plan endogenous development with flexibility and from the bottom – up.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Los sistemas empotrados son cada día más comunes y complejos, de modo que encontrar procesos seguros, eficaces y baratos de desarrollo software dirigidos específicamente a esta clase de sistemas es más necesario que nunca. A diferencia de lo que ocurría hasta hace poco, en la actualidad los avances tecnológicos en el campo de los microprocesadores de los últimos tiempos permiten el desarrollo de equipos con prestaciones más que suficientes para ejecutar varios sistemas software en una única máquina. Además, hay sistemas empotrados con requisitos de seguridad (safety) de cuyo correcto funcionamiento depende la vida de muchas personas y/o grandes inversiones económicas. Estos sistemas software se diseñan e implementan de acuerdo con unos estándares de desarrollo software muy estrictos y exigentes. En algunos casos puede ser necesaria también la certificación del software. Para estos casos, los sistemas con criticidades mixtas pueden ser una alternativa muy valiosa. En esta clase de sistemas, aplicaciones con diferentes niveles de criticidad se ejecutan en el mismo computador. Sin embargo, a menudo es necesario certificar el sistema entero con el nivel de criticidad de la aplicación más crítica, lo que hace que los costes se disparen. La virtualización se ha postulado como una tecnología muy interesante para contener esos costes. Esta tecnología permite que un conjunto de máquinas virtuales o particiones ejecuten las aplicaciones con unos niveles de aislamiento tanto temporal como espacial muy altos. Esto, a su vez, permite que cada partición pueda ser certificada independientemente. Para el desarrollo de sistemas particionados con criticidades mixtas se necesita actualizar los modelos de desarrollo software tradicionales, pues estos no cubren ni las nuevas actividades ni los nuevos roles que se requieren en el desarrollo de estos sistemas. Por ejemplo, el integrador del sistema debe definir las particiones o el desarrollador de aplicaciones debe tener en cuenta las características de la partición donde su aplicación va a ejecutar. Tradicionalmente, en el desarrollo de sistemas empotrados, el modelo en V ha tenido una especial relevancia. Por ello, este modelo ha sido adaptado para tener en cuenta escenarios tales como el desarrollo en paralelo de aplicaciones o la incorporación de una nueva partición a un sistema ya existente. El objetivo de esta tesis doctoral es mejorar la tecnología actual de desarrollo de sistemas particionados con criticidades mixtas. Para ello, se ha diseñado e implementado un entorno dirigido específicamente a facilitar y mejorar los procesos de desarrollo de esta clase de sistemas. En concreto, se ha creado un algoritmo que genera el particionado del sistema automáticamente. En el entorno de desarrollo propuesto, se han integrado todas las actividades necesarias para desarrollo de un sistema particionado, incluidos los nuevos roles y actividades mencionados anteriormente. Además, el diseño del entorno de desarrollo se ha basado en la ingeniería guiada por modelos (Model-Driven Engineering), la cual promueve el uso de los modelos como elementos fundamentales en el proceso de desarrollo. Así pues, se proporcionan las herramientas necesarias para modelar y particionar el sistema, así como para validar los resultados y generar los artefactos necesarios para el compilado, construcción y despliegue del mismo. Además, en el diseño del entorno de desarrollo, la extensión e integración del mismo con herramientas de validación ha sido un factor clave. En concreto, se pueden incorporar al entorno de desarrollo nuevos requisitos no-funcionales, la generación de nuevos artefactos tales como documentación o diferentes lenguajes de programación, etc. Una parte clave del entorno de desarrollo es el algoritmo de particionado. Este algoritmo se ha diseñado para ser independiente de los requisitos de las aplicaciones así como para permitir al integrador del sistema implementar nuevos requisitos del sistema. Para lograr esta independencia, se han definido las restricciones al particionado. El algoritmo garantiza que dichas restricciones se cumplirán en el sistema particionado que resulte de su ejecución. Las restricciones al particionado se han diseñado con una capacidad expresiva suficiente para que, con un pequeño grupo de ellas, se puedan expresar la mayor parte de los requisitos no-funcionales más comunes. Las restricciones pueden ser definidas manualmente por el integrador del sistema o bien pueden ser generadas automáticamente por una herramienta a partir de los requisitos funcionales y no-funcionales de una aplicación. El algoritmo de particionado toma como entradas los modelos y las restricciones al particionado del sistema. Tras la ejecución y como resultado, se genera un modelo de despliegue en el que se definen las particiones que son necesarias para el particionado del sistema. A su vez, cada partición define qué aplicaciones deben ejecutar en ella así como los recursos que necesita la partición para ejecutar correctamente. El problema del particionado y las restricciones al particionado se modelan matemáticamente a través de grafos coloreados. En dichos grafos, un coloreado propio de los vértices representa un particionado del sistema correcto. El algoritmo se ha diseñado también para que, si es necesario, sea posible obtener particionados alternativos al inicialmente propuesto. El entorno de desarrollo, incluyendo el algoritmo de particionado, se ha probado con éxito en dos casos de uso industriales: el satélite UPMSat-2 y un demostrador del sistema de control de una turbina eólica. Además, el algoritmo se ha validado mediante la ejecución de numerosos escenarios sintéticos, incluyendo algunos muy complejos, de más de 500 aplicaciones. ABSTRACT The importance of embedded software is growing as it is required for a large number of systems. Devising cheap, efficient and reliable development processes for embedded systems is thus a notable challenge nowadays. Computer processing power is continuously increasing, and as a result, it is currently possible to integrate complex systems in a single processor, which was not feasible a few years ago.Embedded systems may have safety critical requirements. Its failure may result in personal or substantial economical loss. The development of these systems requires stringent development processes that are usually defined by suitable standards. In some cases their certification is also necessary. This scenario fosters the use of mixed-criticality systems in which applications of different criticality levels must coexist in a single system. In these cases, it is usually necessary to certify the whole system, including non-critical applications, which is costly. Virtualization emerges as an enabling technology used for dealing with this problem. The system is structured as a set of partitions, or virtual machines, that can be executed with temporal and spatial isolation. In this way, applications can be developed and certified independently. The development of MCPS (Mixed-Criticality Partitioned Systems) requires additional roles and activities that traditional systems do not require. The system integrator has to define system partitions. Application development has to consider the characteristics of the partition to which it is allocated. In addition, traditional software process models have to be adapted to this scenario. The V-model is commonly used in embedded systems development. It can be adapted to the development of MCPS by enabling the parallel development of applications or adding an additional partition to an existing system. The objective of this PhD is to improve the available technology for MCPS development by providing a framework tailored to the development of this type of system and by defining a flexible and efficient algorithm for automatically generating system partitionings. The goal of the framework is to integrate all the activities required for developing MCPS and to support the different roles involved in this process. The framework is based on MDE (Model-Driven Engineering), which emphasizes the use of models in the development process. The framework provides basic means for modeling the system, generating system partitions, validating the system and generating final artifacts. The framework has been designed to facilitate its extension and the integration of external validation tools. In particular, it can be extended by adding support for additional non-functional requirements and support for final artifacts, such as new programming languages or additional documentation. The framework includes a novel partitioning algorithm. It has been designed to be independent of the types of applications requirements and also to enable the system integrator to tailor the partitioning to the specific requirements of a system. This independence is achieved by defining partitioning constraints that must be met by the resulting partitioning. They have sufficient expressive capacity to state the most common constraints and can be defined manually by the system integrator or generated automatically based on functional and non-functional requirements of the applications. The partitioning algorithm uses system models and partitioning constraints as its inputs. It generates a deployment model that is composed by a set of partitions. Each partition is in turn composed of a set of allocated applications and assigned resources. The partitioning problem, including applications and constraints, is modeled as a colored graph. A valid partitioning is a proper vertex coloring. A specially designed algorithm generates this coloring and is able to provide alternative partitions if required. The framework, including the partitioning algorithm, has been successfully used in the development of two industrial use cases: the UPMSat-2 satellite and the control system of a wind-power turbine. The partitioning algorithm has been successfully validated by using a large number of synthetic loads, including complex scenarios with more that 500 applications.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

La calidad es uno de los principales retos de la construcción de software. En la Ingeniería del Software (IS) se considera a la usabilidad como un atributo de calidad. Al principio se veía a la usabilidad como un requisito no funcional.Se asumía que la usabilidad era una propiedad exclusiva de la presentación de la información.Se creía que separando la capa de presentación del resto, se podía desarrollar un producto software usable.Debido a la naturaleza del sistema y a las necesidades del usuario, a menudo se debe ir más lejos y no basta con tener en cuenta la presentación para obtener un software usable. La comunidad de la Interacción Personar Ordenador (IPO) ha propuesto recomendaciones para mejorar la usabilidad. Algunas de esas recomendaciones tienen impacto directo en la funcionalidad del producto software. En estudios recientes también se ha evaluado la relación entre la usabilidad y los requisitos funcionales. Estas investigaciones sugieren que la usabilidad debe ser tenida en cuenta desde las etapas iniciales de la construcción para evitar costosos cambios posteriores. La incorporación de las características de usabilidad agrega cierta complejidad al proceso de desarrollo. El presente trabajo evalúa la posibilidad de usar patrones para la incorporación de usabilidad en el desarrollo de un producto software. Concretamente se evalúan los siguientes patrones de programación de usabilidad (PPUs): Abort Operation,Progress Feedback y Preferences. Se utilizan unas Pautas de Desarrollo de Mecanismos de Usabilidad(PDMUs) para estos tres mecanismos de usabilidad. Estas pautas poponen patrones para la educción y posterior incorporación de la usabilidad en las distintas fases de la programación. En esta investigación se aborda el desarrollo de un producto software desde la deducción de requisitos hasta la implementación. En cada fase se incorporan los mecanismos de usabilidad de acuerdo a las recomendaciones de las PDMUs. Mediante el desarrollo de un software real se ha evaluado la factibilidad del uso de las PDMUs obteniendo como resultado propuestas de mejoras en estas pautas. Se evalúa asimismo el esfuerzo de incorporación de los mecanismos de usabilidad. Cada evaluación aporta datos que proporcionan una estimación del esfuerzo adicional requerido para incorporar cada mecanismo de usabilidad en el proceso de desarrollo del software.---ABSTRACT---Quality is a major challenge in software construction. Software engineers consider usability to be a quality attribute. Originally, usability was viewed as a nonr functional requirement. Usability was assumed to be simply an information presentation property. There was a belief that a usable software product could be developed by separating the presentation layer from the rest of the system. Depending on the system type and user needs, however, usability often runs deeper, and it is not enough to consider just presentation to build usable software. The humanrcomputer interaction (HCI) community put forward a list of recommendations to improve usability. Some such recommendations have a direct impact on software product functionality. Recent studies have also evaluated the relationship between usability and functional requirements. This research suggests that usability should be taken into account as of the early stages of software construction to prevent costly rework later on. The inclusion of usability features is an added complication to the development process. The research reported here evaluates the possibility of using patterns to incorporate usability into a software product. Specifically, it evaluates the following usability programming patterns (UPPs): Abort Operation, Progress Feedback and Preferences. Usability Mechanism Development Guides (USDG) are applied to these three usability mechanisms. These guides propose patterns for eliciting and later incorporating usability into the different software development phases, including programming. The reported research addresses the development of a software product from requirements elicitation through to implementation. Usability mechanisms are incorporated into each development phase in accordance with USDG recommendations. A real piece of software was developed to test the feasibility of using USDGs, outputting proposals for improving the guides. Each evaluation yields data providing an estimate of the additional workload required to incorporate each usability mechanism into the software development process.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Las compañías de desarrollo de software buscan reducir costes a través del desarrollo de diseños que permitan: a) facilidad en la distribución del trabajo de desarrollo, con la menor comunicación de las partes; b) modificabilidad, permitiendo realizar cambios sobre un módulo sin alterar las otras partes y; c) comprensibilidad, permitiendo estudiar un módulo del sistema a la vez. Estas características elementales en el diseño de software se logran a través del diseño de sistemas cuasi-descomponibles, cuyo modelo teórico fue introducido por Simon en su búsqueda de una teoría general de los sistemas. En el campo del diseño de software, Parnas propone un camino práctico para lograr sistemas cuasi-descomponibles llamado el Principio de Ocultación de Información. El Principio de Ocultación de Información es un criterio diferente de descomposición en módulos, cuya implementación logra las características deseables de un diseño eficiente a nivel del proceso de desarrollo y mantenimiento. El Principio y el enfoque orientado a objetos se relacionan debido a que el enfoque orientado a objetos facilita la implementación del Principio, es por esto que cuando los objetos empiezan a tomar fuerza, también aparecen paralelamente las dificultades en el aprendizaje de diseño de software orientado a objetos, las cuales se mantienen hasta la actualidad, tal como se reporta en la literatura. Las dificultades en el aprendizaje de diseño de software orientado a objetos tiene un gran impacto tanto en las aulas como en la profesión. La detección de estas dificultades permitirá a los docentes corregirlas o encaminarlas antes que éstas se trasladen a la industria. Por otro lado, la industria puede estar advertida de los potenciales problemas en el proceso de desarrollo de software. Esta tesis tiene como objetivo investigar sobre las dificultades en el diseño de software orientado a objetos, a través de un estudio empírico. El estudio fue realizado a través de un estudio de caso cualitativo, que estuvo conformado por tres partes. La primera, un estudio inicial que tuvo como objetivo conocer el entendimiento de los estudiantes alrededor del Principio de Ocultación de Información antes de que iniciasen la instrucción. La segunda parte, un estudio llevado a cabo a lo largo del período de instrucción con la finalidad de obtener las dificultades de diseño de software y su nivel de persistencia. Finalmente, una tercera parte, cuya finalidad fue el estudio de las dificultades esenciales de aprendizaje y sus posibles orígenes. Los participantes de este estudio pertenecieron a la materia de Software Design del European Master in Software Engineering de la Escuela Técnica Superior de Ingenieros Informáticos de la Universidad Politécnica de Madrid. Los datos cualitativos usados para el análisis procedieron de las observaciones en las horas de clase y exposiciones, entrevistas realizadas a los estudiantes y ejercicios enviados a lo largo del período de instrucción. Las dificultades presentadas en esta tesis en sus diferentes perspectivas, aportaron conocimiento concreto de un estudio de caso en particular, realizando contribuciones relevantes en el área de diseño de software, docencia, industria y a nivel metodológico. ABSTRACT The software development companies look to reduce costs through the development of designs that will: a) ease the distribution of development work with the least communication between the parties; b) changeability, allowing to change a module without disturbing the other parties and; c) understandability, allowing to study a system module at a time. These basic software design features are achieved through the design of quasidecomposable systems, whose theoretical model was introduced by Simon in his search for a general theory of systems. In the field of software design, Parnas offers a practical way to achieve quasi-decomposable systems, called The Information Hiding Principle. The Information Hiding Principle is different criterion for decomposition into modules, whose implementation achieves the desirable characteristics of an efficient design at the development and maintenance level. The Principle and the object-oriented approach are related because the object-oriented approach facilitates the implementation of The Principle, which is why when objects begin to take hold, also appear alongside the difficulties in learning an object-oriented software design, which remain to this day, as reported in the literature. Difficulties in learning object-oriented software design has a great impact both in the classroom and in the profession. The detection of these difficulties will allow teachers to correct or route them before they move to the industry. On the other hand, the industry can be warned of potential problems related to the software development process. This thesis aims to investigate the difficulties in learning the object-oriented design, through an empirical study. The study was conducted through a qualitative case study, which consisted of three parts. The first, an initial study was aimed to understand the knowledge of the students around The Information Hiding Principle before they start the instruction. The second part, a study was conducted during the entire period of instruction in order to obtain the difficulties of software design and their level of persistence. Finally, a third party, whose purpose was to study the essential difficulties of learning and their possible sources. Participants in this study belonged to the field of Software Design of the European Master in Software Engineering at the Escuela Técnica Superior de Ingenieros Informáticos of Universidad Politécnica de Madrid. The qualitative data used for the analysis came from the observations in class time and exhibitions, performed interviews with students and exercises sent over the period of instruction. The difficulties presented in this thesis, in their different perspectives, provided concrete knowledge of a particular case study, making significant contributions in the area of software design, teaching, industry and methodological level.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

La meta de intercambiabilidad de piezas establecida en los sistemas de producción del siglo XIX, es ampliada en el último cuarto del siglo pasado para lograr la capacidad de fabricación de varios tipos de producto en un mismo sistema de manufactura, requerimiento impulsado por la incertidumbre del mercado. Esta incertidumbre conduce a plantear la flexibilidad como característica importante en el sistema de producción. La presente tesis se ubica en el problema de integración del sistema informático (SI) con el equipo de producción (EP) en la búsqueda de una solución que coadyuve a satisfacer los requerimientos de flexibilidad impuestas por las condiciones actuales de mercado. Se describen antecedentes de los sistemas de producción actuales y del concepto de flexibilidad. Se propone una clasificación compacta y práctica de los tipos de flexibilidad relevantes en el problema de integración SI-EP, con la finalidad de ubicar el significado de flexibilidad en el área de interés. Así mismo, las variables a manejar en la solución son clasificadas en cuatro tipos: Medio físico, lenguajes de programación y controlador, naturaleza del equipo y componentes de acoplamiento. Por otra parte, la característica de reusabilidad como un efecto importante y deseable de un sistema flexible, es planteada como meta en la solución propuesta no solo a nivel aplicación del sistema sino también a nivel de reuso de conceptos de diseño. Se propone un esquema de referencia en tres niveles de abstracción, que permita manejar y reutilizar en forma organizada el conocimiento del dominio de aplicación (integración SI-EP), el desarrollo de sistemas de aplicación genérica así como también la aplicación del mismo en un caso particular. Un análisis del concepto de acoplamiento débil (AD) es utilizado como base en la solución propuesta al problema de integración SI-EP. El desarrollo inicia identificando condiciones para la existencia del acoplamiento débil, compensadores para soportar la operación del sistema bajo AD y los efectos que ocasionan en el sistema informático los cambios en el conjunto de equipos de producción. Así mismo, se introducen como componentes principales del acoplamiento los componentes tecnológico, tarea y rol, a utilizar en el análisis de los requerimientos para el desarrollo de una solución de AD entre SI-EP. La estructura de tres niveles del esquema de referencia propuesto surge del análisis del significado de conceptos de referencia comúnmente reportados en la literatura, tales como arquitectura de referencia, modelo de referencia, marco de trabajo, entre otros. Se presenta un análisis de su significado como base para la definición de cada uno de los niveles de la estructura del esquema, pretendiendo con ello evitar la ambigüedad existente debido al uso indistinto de tales conceptos en la literatura revisada. Por otra parte, la relación entre niveles es definida tomando como base la estructura de cuatro capas planteada en el área de modelado de datos. La arquitectura de referencia, implementada en el primer nivel del esquema propuesto es utilizada como base para el desarrollo del modelo de referencia o marco de trabajo para el acoplamiento débil entre el SI y el EP. La solución propuesta es validada en la integración de un sistema informático de coordinación de flujo y procesamiento de pieza con un conjunto variable de equipos de diferentes tipos, naturaleza y fabricantes. En el ejercicio de validación se abordaron diferentes estándares y técnicas comúnmente empleadas como soporte al problema de integración a nivel componente tecnológico, tales como herramientas de cero configuración (ejemplo: plug and play), estándar OPC-UA, colas de mensajes y servicios web, permitiendo así ubicar el apoyo de estas técnicas en el ámbito del componente tecnológico y su relación con los otros componentes de acoplamiento: tarea y rol. ABSTRACT The interchangeability of parts, as a goal of manufacturing systems at the nineteenth century, is extended into the present to achieve the ability to manufacture various types of products in the same manufacturing system, requirement associated with market uncertainty. This uncertainty raises flexibility as an important feature in the production system. This thesis addresses the problem regarding integration of software system (SS) and the set of production equipment (PE); looking for a solution that contributes to satisfy the requirements of flexibility that the current market conditions impose on manufacturing, particularly to the production floor. Antecedents to actual production systems as well as the concept of flexibility are described and analyzed in detail. A practical and compact classification of flexibility types of relevance to the integration SS-EP problem is proposed with the aim to delimit the meaning of flexibility regarding the area of interest. Also, a classification for the variables involved in the integration problem is presented into four types: Physical media, programming and controller languages, equipment nature and coupling components. In addition, the characteristic of reusability that has been seen as an important and desirable effect of a flexible system is taken as a goal in the proposed solution, not only at system implementation level but also at system design level. In this direction, a reference scheme is proposed consisting of three abstraction levels to systematically support management and reuse of domain knowledge (SS-PE), development of a generic system as well as its application in a particular case. The concept of loose coupling is used as a basis in the development of the proposed solution to the problem of integration SS-EP. The first step of the development process consists of an analysis of the loose coupled concept, identifying conditions for its existence, compensators for system operation under loose coupling conditions as well as effects in the software system caused by modification in the set of production equipment. In addition coupling components: technological, task and role are introduced as main components to support the analysis of requirements regarding loose coupling of SS-PE. The three tier structure of the proposed reference scheme emerges from the analysis of reference concepts commonly reported in the literature, such as reference architecture, reference model and framework, among others. An analysis of these concepts is used as a basis for definition of the structure levels of the proposed scheme, trying to avoid the ambiguity due to the indiscriminate use of such concepts in the reviewed literature. In addition, the relation between adjacent levels of the structure is defined based on the four tiers structure commonly used in the data modelling area. The reference architecture is located as the first level in the structure of the proposed reference scheme and it is utilized as a basis for the development of the reference model or loose coupling framework for SS-PE integration. The proposed solution is validated by integrating a software system (process and piece flow coordination system) with a variable set of production equipment including different types, nature and manufacturers of equipment. Furthermore, in this validation exercise, different standards and techniques commonly used have been taken into account to support the issue of technology coupling component, such as tools for zero configuration (i.e. Plug and Play), message queues, OPC-UA standard, and web services. Through this part of the validation exercise, these integration tools are located as a part of the technological component and they are related to the role and task components of coupling.