959 resultados para Computer software maintenance
Resumo:
The IDE used in most Smalltalk dialects such as Pharo, Squeak or Cincom Smalltalk did not evolve significantly over the last years, if not to say decades. For other languages, for instance Java, the available IDEs made tremendous progress as Eclipse or NetBeans illustrate. While the Smalltalk IDE served as an exemplar for many years, other IDEs caught up or even overtook the erstwhile leader in terms of feature-richness, usability, or code navigation facilities. In this paper we first analyze the difficulty of software navigation in the Smalltalk IDE and second illustrate with concrete examples the features we added to the Smalltalk IDE to fill the gap to modern IDEs and to provide novel, improved means to navigate source space. We show that thanks to the agility and dynamics of Smalltalk, we are able to extend and enhance with reasonable effort the Smalltalk IDE to better support software navigation, program comprehension, and software maintenance in general. One such support is the integration of dynamic information into the static source views we are familiar with. Other means include easing the access to static information (for instance by better arranging important packages) or helping developers re-locating artifacts of interest (for example with a categorization system such as smart groups).
Resumo:
Software dependencies play a vital role in programme comprehension, change impact analysis and other software maintenance activities. Traditionally, these activities are supported by source code analysis; however, the source code is sometimes inaccessible or difficult to analyse, as in hybrid systems composed of source code in multiple languages using various paradigms (e.g. object-oriented programming and relational databases). Moreover, not all stakeholders have adequate knowledge to perform such analyses. For example, non-technical domain experts and consultants raise most maintenance requests; however, they cannot predict the cost and impact of the requested changes without the support of the developers. We propose a novel approach to predicting software dependencies by exploiting the coupling present in domain-level information. Our approach is independent of the software implementation; hence, it can be used to approximate architectural dependencies without access to the source code or the database. As such, it can be applied to hybrid systems with heterogeneous source code or legacy systems with missing source code. In addition, this approach is based solely on information visible and understandable to domain users; therefore, it can be efficiently used by domain experts without the support of software developers. We evaluate our approach with a case study on a large-scale enterprise system, in which we demonstrate how up to 65 of the source code dependencies and 77% of the database dependencies are predicted solely based on domain information.
Resumo:
Detecting bugs as early as possible plays an important role in ensuring software quality before shipping. We argue that mining previous bug fixes can produce good knowledge about why bugs happen and how they are fixed. In this paper, we mine the change history of 717 open source projects to extract bug-fix patterns. We also manually inspect many of the bugs we found to get insights into the contexts and reasons behind those bugs. For instance, we found out that missing null checks and missing initializations are very recurrent and we believe that they can be automatically detected and fixed.
Resumo:
Software developers are often unsure of the exact name of the API method they need to use to invoke the desired behavior. Most state-of-the-art documentation browsers present API artefacts in alphabetical order. Albeit easy to implement, alphabetical order does not help much: if the developer knew the name of the required method, he could have just searched for it in the first place. In a context where multiple projects use the same API, and their source code is available, we can improve the API presentation by organizing the elements in the order in which they are more likely to be used by the developer. Usage frequency data for methods is gathered by analyzing other projects from the same ecosystem and this data is used then to improve tools. We present a preliminary study on the potential of this approach to improve the API presentation by reducing the time it takes to find the method that implements a given feature. We also briefly present our experience with two proof-of-concept tools implemented for Smalltalk and Java.
Resumo:
In this study, the work and life of Indian IT engineers in Japan engaged in software development were examined through a questionnaire survey. Findings were further supported by comparative analyses with Chinese and Korean software engineers. While Indian IT software engineers appeared rather satisfied with their life overall in Japan, they seemed rather dissatisfied with their work conditions including such things as fringe benefits, the working-time management of the company, levels of salary and bonuses, and promotion opportunities. It was made clear that profiles and perceptions of Indian engineers and those of Chinese and Koreans in Japan were different.
Resumo:
Los sistemas microinformáticos se componen principalmente de hardware y software, con el paso del tiempo el hardware se degrada, se deteriora y en ocasiones se avería. El software evoluciona, requiere un mantenimiento, de actualización y en ocasiones falla teniendo que ser reparado o reinstalado. A nivel hardware se analizan los principales componentes que integran y que son comunes en gran parte estos sistemas, tanto en equipos de sobre mesa como portátiles, independientes del sistema operativo, además de los principales periféricos, también se analizan y recomiendan algunas herramientas necesarias para realizar el montaje, mantenimiento y reparación de estos equipos. Los principales componentes hardware internos son la placa base, memoria RAM, procesador, disco duro, carcasa, fuente de alimentación y tarjeta gráfica. Los periféricos más destacados son el monitor, teclado, ratón, impresora y escáner. Se ha incluido un apartado donde se detallan los distintos tipos de BIOS y los principales parámetros de configuración. Para todos estos componentes, tanto internos como periféricos, se ha realizado un análisis de las características que ofrecen y los detalles en los que se debe prestar especial atención en el momento de seleccionar uno frente a otro. En los casos que existen diferentes tecnologías se ha hecho una comparativa entre ambas, destacando las ventajas y los inconvenientes de unas frente a otras para que sea el usuario final quien decida cual se ajusta mejor a sus necesidades en función de las prestaciones y el coste. Un ejemplo son las impresoras de inyección de tinta frente a las laser o los discos duros mecánicos en comparación con y los discos de estado sólido (SSD). Todos estos componentes están relacionados, interconectados y dependen unos de otros, se ha dedicado un capítulo exclusivamente para estudiar cómo se ensamblan estos componentes, resaltando los principales fallos que se suelen cometer o producir y se han indicado unas serie tareas de mantenimiento preventivo que se pueden realizar para prolongar la vida útil del equipo y evitar averías por mal uso. Los mantenimientos se pueden clasificar como predictivo, perfectivo, adaptativo, preventivo y correctivo. Se ha puesto el foco principalmente en dos tipos de mantenimiento, el preventivo descrito anteriormente y en el correctivo, tanto software como hardware. El mantenimiento correctivo está enfocado al análisis, localización, diagnóstico y reparación de fallos y averías hardware y software. Se describen los principales fallos que se producen en cada componente, cómo se manifiestan o qué síntomas presentan para poder realizar pruebas específicas que diagnostiquen y acoten el fallo. En los casos que es posible la reparación se detallan las instrucciones a seguir, en otro caso se recomienda la sustitución de la pieza o componente. Se ha incluido un apartado dedicado a la virtualización, una tecnología en auge que resulta muy útil para realizar pruebas de software, reduciendo tiempos y costes en las pruebas. Otro aspecto interesante de la virtualización es que se utiliza para montar diferentes servidores virtuales sobre un único servidor físico, lo cual representa un importante ahorro en hardware y costes de mantenimiento, como por ejemplo el consumo eléctrico. A nivel software se realiza un estudio detallado de los principales problemas de seguridad y vulnerabilidades a los que está expuesto un sistema microinformático enumerando y describiendo el comportamiento de los distintos tipos de elementos maliciosos que pueden infectar un equipo, las precauciones que se deben tomar para minimizar los riesgos y las utilidades que se pueden ejecutar para prevenir o limpiar un equipo en caso de infección. Los mantenimientos y asistencias técnicas, en especial las de tipo software, no siempre precisan de la atención presencial de un técnico cualificado, por ello se ha dedicado un capítulo a las herramientas de asistencia remota que se pueden utilizar en este ámbito. Se describen algunas de las más populares y utilizadas en el mercado, su funcionamiento, características y requerimientos. De esta forma el usuario puede ser atendido de una forma rápida, minimizando los tiempos de respuesta y reduciendo los costes. ABSTRACT Microcomputer systems are basically made up of pieces of hardware and software, as time pass, there’s a degradation of the hardware pieces and sometimes failures of them. The software evolves, new versions appears and requires maintenance, upgrades and sometimes also fails having to be repaired or reinstalled. The most important hardware components in a microcomputer system are analyzed in this document for a laptop or a desktop, with independency of the operating system they run. In addition to this, the main peripherals and devices are also analyzed and a recommendation about the most proper tools necessary for maintenance and repair this kind of equipment is given as well. The main internal hardware components are: motherboard, RAM memory, microprocessor, hard drive, housing box, power supply and graphics card. The most important peripherals are: monitor, keyboard, mouse, printer and scanner. A section has been also included where different types of BIOS and main settings are listed with the basic setup parameters in each case. For all these internal components and peripherals, an analysis of their features has been done. Also an indication of the details in which special attention must be payed when choosing more than one at the same time is given. In those cases where different technologies are available, a comparison among them has been done, highlighting the advantages and disadvantages of selecting one or another to guide the end user to decide which one best fits his needs in terms of performance and costs. As an example, the inkjet vs the laser printers technologies has been faced, or also the mechanical hard disks vs the new solid state drives (SSD). All these components are interconnected and are dependent one to each other, a special chapter has been included in order to study how they must be assembled, emphasizing the most often mistakes and faults that can appear during that process, indicating different tasks that can be done as preventive maintenance to enlarge the life of the equipment and to prevent damage because of a wrong use. The different maintenances can be classified as: predictive, perfective, adaptive, preventive and corrective. The main focus is on the preventive maintains, described above, and in the corrective one, in software and hardware. Corrective maintenance is focused on the analysis, localization, diagnosis and repair of hardware and software failures and breakdowns. The most typical failures that can occur are described, also how they can be detected or the specific symptoms of each one in order to apply different technics or specific tests to diagnose and delimit the failure. In those cases where the reparation is possible, instructions to do so are given, otherwise, the replacement of the component is recommended. A complete section about virtualization has also been included. Virtualization is a state of the art technology that is very useful especially for testing software purposes, reducing time and costs during the tests. Another interesting aspect of virtualization is the possibility to have different virtual servers on a single physical server, which represents a significant savings in hardware inversion and maintenance costs, such as electricity consumption. In the software area, a detailed study has been done about security problems and vulnerabilities a microcomputer system is exposed, listing and describing the behavior of different types of malicious elements that can infect a computer, the precautions to be taken to minimize the risks and the tools that can be used to prevent or clean a computer system in case of infection. The software maintenance and technical assistance not always requires the physical presence of a qualified technician to solve the possible problems, that’s why a complete chapter about the remote support tools that can be used to do so has been also included. Some of the most popular ones used in the market are described with their characteristics and requirements. Using this kind of technology, final users can be served quickly, minimizing response times and reducing costs.
Resumo:
Relatório de estágio apresentada para cumprimento dos requisitos necessários à obtenção do grau de Mestre em Sistemas de Informação Organizacionais
Resumo:
Federal Highway Administration, Arlington, Va.
Resumo:
Urban Mass Transportation Administration, Washington, D.C.
Resumo:
Federal Highway Administration, Washington, D.C.
Resumo:
"The Fourth ROLM MIL-SPEC Users Group Conference"--Pref.
Resumo:
Transportation Department, Office of University Research, Washington, D.C.
Resumo:
Texas Department of Transportation, Austin
Resumo:
Transportation Systems Center, Cambridge, Mass.
Resumo:
Mode of access: Internet.