829 resultados para Software Engineering Education


Relevância:

90.00% 90.00%

Publicador:

Resumo:

Hoy en día, existen numerosos sistemas (financieros, fabricación industrial, infraestructura de servicios básicos, etc.) que son dependientes del software. Según la definición de Ingeniería del Software realizada por I. Sommerville, “la Ingeniería del Software es una disciplina de la ingeniería que comprende todos los aspectos de la producción de software desde las etapas iniciales de la especificación del sistema, hasta el mantenimiento de éste después de que se utiliza.” “La ingeniería del software no sólo comprende los procesos técnicos del desarrollo de software, sino también actividades tales como la gestión de proyectos de software y el desarrollo de herramientas, métodos y teorías de apoyo a la producción de software.” Los modelos de proceso de desarrollo software determinan una serie de pautas para poder desarrollar con éxito un proyecto de desarrollo software. Desde que surgieran estos modelos de proceso, se investigado en nuevas maneras de poder gestionar un proyecto y producir software de calidad. En primer lugar surgieron las metodologías pesadas o tradicionales, pero con el avance del tiempo y la tecnología, surgieron unas nuevas llamadas metodologías ágiles. En el marco de las metodologías ágiles cabe destacar una determinada práctica, la integración continua. Esta práctica surgió de la mano de Martin Fowler, con el objetivo de facilitar el trabajo en grupo y automatizar las tareas de integración. La integración continua se basa en la construcción automática de proyectos con una frecuencia alta, promoviendo la detección de errores en un momento temprano para poder dar prioridad a corregir dichos errores. Sin embargo, una de las claves del éxito en el desarrollo de cualquier proyecto software consiste en utilizar un entorno de trabajo que facilite, sistematice y ayude a aplicar un proceso de desarrollo de una forma eficiente. Este Proyecto Fin de Grado (PFG) tiene por objetivo el análisis de distintas herramientas para configurar un entorno de trabajo que permita desarrollar proyectos aplicando metodologías ágiles e integración continua de una forma fácil y eficiente. Una vez analizadas dichas herramientas, se ha propuesto y configurado un entorno de trabajo para su puesta en marcha y uso. Una característica a destacar de este PFG es que las herramientas analizadas comparten una cualidad común y de alto valor, son herramientas open-source. El entorno de trabajo propuesto en este PFG presenta una arquitectura cliente-servidor, dado que la mayoría de proyectos software se desarrollan en equipo, de tal forma que el servidor proporciona a los distintos clientes/desarrolladores acceso al conjunto de herramientas que constituyen el entorno de trabajo. La parte servidora del entorno propuesto proporciona soporte a la integración continua mediante herramientas de control de versiones, de gestión de historias de usuario, de análisis de métricas de software, y de automatización de la construcción de software. La configuración del cliente únicamente requiere de un entorno de desarrollo integrado (IDE) que soporte el lenguaje de programación Java y conexión con el servidor. ABSTRACT Nowadays, numerous systems (financial, industrial production, basic services infrastructure, etc.) depend on software. According to the Software Engineering definition made by I.Sommerville, “Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.” “Software engineering is not just concerned with the technical processes of software development. It also includes activities such as software project management and the development of tools, methods, and theories to support software production.” Software development process models determine a set of guidelines to successfully develop a software development project. Since these process models emerged, new ways of managing a project and producing software with quality have been investigated. First, the so-called heavy or traditional methodologies appeared, but with the time and the technological improvements, new methodologies emerged: the so-called agile methodologies. Agile methodologies promote, among other practices, continuous integration. This practice was coined by Martin Fowler and aims to make teamwork easier as well as automate integration tasks. Nevertheless, one of the keys to success in software projects is to use a framework that facilitates, systematize, and help to deploy a development process in an efficient way. This Final Degree Project (FDP) aims to analyze different tools to configure a framework that enables to develop projects by applying agile methodologies and continuous integration in an easy and efficient way. Once tools are analyzed, a framework has been proposed and configured. One of the main features of this FDP is that the tools under analysis share a common and high-valued characteristic: they are open-source. The proposed framework presents a client-server architecture, as most of the projects are developed by a team. In this way, the server provides access the clients/developers to the tools that comprise the framework. The server provides continuous integration through a set of tools for control management, user stories management, software quality management, and software construction automatization. The client configuration only requires a Java integrated development environment and network connection to the server.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

El autor de este proyecto es miembro reciente de la asociación SoloBoulder, dedicada a la modalidad de escalada boulder, noticias y actualidad, contenido multimedia, promoción de un equipo de escaladores y defensa de valores medioambientales en la montaña. El principal canal de distribución de contenidos es una página web existente previa a este proyecto. La asociación ha detectado una escasez y mala calidad de recursos en internet en cuanto a guías de zonas donde poder practicar el boulder. Tal circunstancia impulsa la iniciativa de este proyecto fin de carrera. El objetivo general es el desarrollo de una nueva aplicación que proporcione a los usuarios a nivel mundial una guía interactiva de boulder y otros puntos de interés, una red social que permita la creación cooperativa y orgánica de contenido, y servicios web para el consumo de la información desde otras plataformas u organizaciones. El nuevo software desarrollado es independiente de la página web de SoloBoulder previa. No obstante, ambas partes se integran bajo el mismo domino web y aspecto. La nueva aplicación ofrece a escaladores y turistas un servicio informativo e interactivo de calidad, con el que se espera aumentar el número de visitas en todo el sitio web y poder ampliar la difusión de valores medioambientales, diversificar las zonas de boulder y regular las masificadas, favorecer el deporte y brindar al escalador una oportunidad de autopromoción personal. Una gran motivación para el autor también es el proceso de investigación y formación en tecnologías, patrones arquitecturales de diseño y metodologías de trabajo adaptadas a las tendencias actuales en la ingeniería de software, con especial curiosidad hacia el mundo web. A este respecto podemos destacar: metodología de trabajo en proyectos, análisis de proyectos, arquitecturas de software, diseño de software, bases de datos, programación y buenas prácticas, seguridad, interfaz gráfica web, diseño gráfico, Web Performance Optimization, Search Engine Optimization, etc. En resumen, este proyecto constituye un aprendizaje y puesta en práctica de diversos conocimientos adquiridos durante la ejecución del mismo, así como afianzamiento de materias estudiadas en la carrera. Además, el producto desarrollado ofrece un servicio de calidad a los usuarios y favorece el deporte y la autopromoción del escalador. ABSTRACT. The author of this Project is recent member of the association SoloBoulder, dedicated to a rock climbing discipline called bouldering, news, multimedia content, promotion of a team of climbers and defense of environmental values in the mountain. The main content distribution channel is a web page existing previous to this project. The association has detected scarcity and bad quality of resources on the internet about guides of bouldering areas. This circumstance motivates the initiative of this project. The general objective is the development of a new application which provides a worldwide, interactive bouldering guide, including other points of interest, a social network which allows the cooperative and organic creation of content, and web services for consumption of information from other platforms or organizations. The new software developed is independent of the previous SoloBoulder web page. However, both parts are integrated under the same domain and appearance. The new application offers to climbers and tourists a quality informative and interactive service, with which we hope to increase the number of visits in the whole web site and be able to expand the dissemination of environmental values, diversify boulder areas and regulate the overcrowded ones, encourage sport and offer to the climber an opportunity of self-promotion. A strong motivation for the author is also the process of investigation and education in technologies, architectural design patterns and working methodologies adapted to the actual trends in software engineering, with special curiosity about the web world. In this regard we could highlight: project working methodologies, project analysis, software architectures, software design, data bases, programming and good practices, security, graphic web interface, graphic design, Web Performance Optimization, Search Engine Optimization, etc. To sum up, this project constitutes learning and practice of diverse knowledge acquired during its execution, as well as consolidation of subjects studied in the degree. In addition, the product developed offers a quality service to the users and favors the sport and the selfpromotion of the climber.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

The history of Software Engineering has been marked by many famous project failures documented in papers, articles and books. This pattern of lack of success has prompted the creation of dozens of software analysis, requirements definition, and design methods, programming languages, software development environments and software development processes all promoted as solving ?the software problem.? What we hear less about are software projects that were successful. This article reports on the findings of an extensive analysis of successful software projects that have been reported in the literature. It discusses the different interpretations of success and extracts the characteristics that successful projects have in common. These characteristics provide Software Project Managers with an agenda of topics to be addressed that will help ensure, not guarantee, that their software project will be successful.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

El objetivo de ésta tesis es estudiar cómo desarrollar una aplicación informática que implemente algoritmos numéricos de evaluación de características hidrodinámicas de modelos geométricos representativos de carenas de buques. Se trata de especificar los requisitos necesarios que debe cumplir un programa para informático orientado a dar solución a un determinado problema hidródinámico, como es simular el comportamiento en balance de un buque sometido a oleaje, de popa o proa. una vez especificada la aplicación se realizará un diseño del programa; se estudiarán alternativas para implementar la aplicación; se explicará el proceso que ha de seguirse para obtener la aplicación en funcionamiento y se contrastarán los resultados obtenidos en la medida que sea posible. Se pretende sistematizar y sintetizar todo el proceso de desarrollo de software, orientado a la simulación del comportamiento hidrodinámico de un buque, en una metodología que se pondrá a disposición de la comunidad académica y científica en la forma que se considere más adecuada. Se trata, por tanto, de proponer una metodología de desarrollo de software para obetener una aplicación que facilite la evaluación de diferentes alternativas de estudio variando parámetros relativos al problema en estudio y que sea capaz de proporcionar resultados para su análisis. Así mismo se incide en cómo ha de conducirse en el proceso para que dicha aplicación pueda crecer, incorporando soluciones existentes no implementadas o nuevas soluciones que aparezcan en este ámbito de conocimiento. Como aplicación concreta de la aplicación se ha elegido implementar los algoritmos necesarios para evaluar la aparición del balance paramétrico en un buque. En el análisis de éste problema se considera de interés la representación geométrica que se hace de la carena del buque. Además de la carena aparecen otros elementos que tienen influencia determinante en éste estudio, como son las situación de mar y las situaciones de carga. Idealmente, el problema sería resuelto si se consiguiera determinar el ángulo de balance que se produce al enfrentar un buque a las diferentes condiciones de mar. Se pretende preparar un programa utilizando el paradigma de la orientación a objetos. Considero que es la más adecuada forma de modularizar el programa para poder utilizar diferentes modelos de una misma carena y así comparar los resultados de la evaluación del balance paramétrico entre sí. En una etapa posterior se podrían comparar los resultados con otros obtenidos empíricamente. Hablo de una nueva metodología porque pretendo indicar cómo se ha de construir una aplicación de software que sea usable y sobre la que se pueda seguir desarrollando. Esto justifica la selección del lenguaje de programación C++. Se seleccionará un núcleo geométrico de software que permita acoplar de forma versátil los distintos componentes de software que van a construir el programa. Este trabajo pretende aplicar el desarrollo de software a un aspecto concreto del área de conocimiento de la hidrodinámica. No se pretende aportar nuevos algoritmos para resolver problemas de hidrodinámica, sino diseñar un conjunto de objetos de software que implementen soluciones existentes a conocidas soluciones numéricas a dichos problemas. Se trata fundamentalmente de un trabajo de software, más que de hidrodinámica. Lo que aporta de novedad es una nueva forma de realizar un programa aplicado a los cálculos hidrodinámicos relativos a la determinación del balance paramétrico, que pueda crecer e incorporar cualquier novedad que pueda surgir más adelante. Esto será posible por la programación modular utilizada y los objetos que representan cada uno de los elementos que intervienen en la determinación del balance paramétrico. La elección de aplicar la metodología a la predicción del balance paramétrico se debe a que este concepto es uno de los elementos que intervienen en la evaluación de criterios de estabilidad de segunda generación que estan en estudio para su futura aplicación en el ámbito de la construcción naval. Es por tanto un estudio que despierta interés por su próxima utilidad. ABSTRACT The aim of this thesis is to study how to develop a computer application implementing numerical algorithms to assess hydrodynamic features of geometrical models of vessels. It is therefore to propose a methodology for software development applied to an hydrodynamic problem, in order to evaluate different study alternatives by varying different parameters related to the problem and to be capable of providing results for analysis. As a concrete application of the program it has been chosen to implement the algorithms necessary for evaluating the appearance of parametric rolling in a vessel. In the analysis of this problem it is considered of interest the geometrical representation of the hull of the ship and other elements which have decisive influence in this phenomena, such as the sea situation and the loading condition. Ideally, the application would determine the roll angle that occurs when a ship is on waves of different characteristics. It aims to prepare a program by using the paradigm of object oriented programming. I think it is the best methodology to modularize the program. My intention is to show how face the global process of developing an application from the initial specification until the final release of the program. The process will keep in mind the spefici objetives of usability and the possibility of growing in the scope of the software. This work intends to apply software development to a particular aspect the area of knowledge of hydrodynamics. It is not intended to provide new algorithms for solving problems of hydrodynamics, but designing a set of software objects that implement existing solutions to these problems. This is essentially a job software rather than hydrodynamic. The novelty of this thesis stands in this work focuses in describing how to apply the whole proccess of software engineering to hydrodinamics problems. The choice of the prediction of parametric balance as the main objetive to be applied to is because this concept is one of the elements involved in the evaluation of the intact stability criteria of second generation. Therefore, I consider this study as relevant usefull for the future application in the field of shipbuilding.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

This paper presents an online C compiler designed so that students can program their practical assignments in Programming courses. What is really innovative is the self-assessment of the exercises based on black-box tests and train students’ skill to test software. Moreover, this tool lets instructors, not only proposing and classifying practical exercises, but also evaluating automatically the efforts dedicated and the results obtained by the students. The system has been applied to the 1st-year students at the Industrial Engineering specialization at the Universidad Politecnica de Madrid. Results show that the students obtained better academic performance, reducing the failure rate in the practical exam considerably with respect to previous years, in addition that an anonymous survey proved that students are satisfied with the system because they get instant feedback about their programs.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

Este trabalho analisa os principais métodos ágeis utilizados em empresas startup, como scrum, extreme programming, kanban e lean, isolando suas práticas e mapeando-as no Kernel do SEMAT para escolher os elementos essenciais da engenharia de software que estão relacionados a cada prática de forma independente. Foram identificadas 34 práticas que foram reduzidas a um conjunto de 26 pelas similaridades. Um questionário foi desenvolvido e aplicado no ambiente de startups de software para a avaliação do grau de utilização de cada determinada prática. Através das respostas obtidas foi possível a identificação de um subconjunto de práticas com utilização acima de 60% onde todos os elementos essenciais da engenharia de software são atendidos, formando um conjunto mínimo de práticas capazes de sustentar este tipo específico de ambiente.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

Este trabalho identifica o Código de Ética e Prática Profissional da engenharia de software como o conjunto de práticas para consideração de fatores humanos na engenharia de software. A seguir, estende o Kernel da especificação Essence, e o utiliza para conduzir a aplicação desse conjunto de práticas. A prova de conceito indica que o conjunto de práticas identificadas não garante a consideração de fatores humanos na engenharia de software. Considerar a ética nas interações existentes na empreitada de engenharia de software não é um simples caso de utilização de checklists como forma de verificar o que deve ser feito para certificar que algo foi realizado. Considerar a ética é mais do que isso. É necessário que todas as pessoas tenham consciência da importância da ética, do respeito de um ao outro e à sociedade.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

El trabajo que aquí se presenta se ha realizado con el objetivo de constatar la necesidad de formación en software libre por parte del profesorado. Este trabajo pretende averiguar el grado de utilización de las TIC por parte de los maestros de primaria de educación musical así como el nivel de conocimiento del software libre.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

This paper studies the use of directories of open access repositories worldwide (DOARW) to search Spanish repositories containing learning objects in the field of building engineering (BE). Results show that DOARW are powerful tools, but deficiencies (indicated in this study) have to be solved in order to obtain more accurate searches, and to facilitate repository-finding for potential users who are seeking learning objects (LOs) for reuse. Aiming to contribute to the promotion of the reuse of Spanish LOs, this study exposes to the academic community all existing Spanish repositories with LOs, and in particular, the repositories that contain LOs in the field of BE. This paper also studies the critical mass of available content (LOs) in the field of BE in Spain. It has been found to be low.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

Interdisciplinary projects in the industry typically require collaboration between professionals from various fields. However, this relationship is not generally addressed in the training offered by university programs, which often ignore this interdisciplinary approach. This paper offers an example of interdisciplinary interaction through joint laboratory activities in the curricula of two very different degree programs, i.e., Multimedia Engineering and Teacher Training in Primary Education. The programs' students formed an interdisciplinary team of multimedia engineers and trainee teachers to develop a Web product for children's cognitive development. The complexity of the task required students to engage in close and strong interdisciplinary cooperation and communication; in turn, they benefited from the synergy offered by collaborative work. The results of this paper, presented from the perspective of the multimedia engineering students, demonstrate a significant increase in their academic performance compared to the control group. This paper shows that university studies can incorporate an interdisciplinary perspective to engineering education without the need to introduce a specific course on the topic, thus avoiding further demands on the curriculum schedule.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

Mode of access: Internet.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

"Sponsored by the American Society for Engineering Education."

Relevância:

90.00% 90.00%

Publicador:

Resumo:

Cover title.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

Software Configuration Management is the discipline of managing large collections of software development artefacts from which software products are built. Software configuration management tools typically deal with artefacts at fine levels of granularity - such as individual source code files - and assist with coordination of changes to such artefacts. This paper describes a lightweight tool, designed to be used on top of a traditional file-based configuration management system. The add-on tool support enables users to flexibly define new hierarchical views of product structure, independent of the underlying artefact-repository structure. The tool extracts configuration and change data with respect to the user-defined hierarchy, leading to improved visibility of how individual subsystems have changed. The approach yields a range of new capabilities for build managers, and verification and validation teams. The paper includes a description of our experience using the tool in an organization that builds large embedded software systems.

Relevância:

90.00% 90.00%

Publicador:

Resumo:

Control Engineering is an essential part of university electrical engineering education. Normally, a control course requires considerable mathematical as well as engineering knowledge and is consequently regarded as a difficult course by many undergraduate students. From the academic point of view, how to help the students to improve their learning of the control engineering knowledge is therefore an important task which requires careful planning and innovative teaching methods. Traditionally, the didactic teaching approach has been used to teach the students the concepts needed to solve control problems. This approach is commonly adopted in many mathematics intensive courses; however it generally lacks reflection from the students to improve their learning. This paper addresses the practice of action learning and context-based learning models in teaching university control courses. This context-based approach has been practised in teaching several control engineering courses in a university with promising results, particularly in view of student learning performances.