Está en la página 1de 23

Arqueología

de Software
Fichas de trabajo
Plan de trabajo
Diseño de investigación
Asunto o idea sobre el que desea
investigar
● Qué es la arqueología de software y para qué es útil
● Porque se realiza la analogía con la ciencia tradicional de la arqueología
● Etapas de la arqueología de software
● Herramientas útiles en la arqueología de software
● Cuál es la relación entre el mantenimiento y la arqueología de software
Tema delimitado
Utilidad de la arqueología de software para la investigación de sistemas en
etapa de mantenimiento.
Título tentativo
Arqueología de software
Pregunta central (problema)
¿De qué manera la arqueología de software nos ayuda a entender un sistema a
partir de los artefactos de software que dejaron sus creadores?
Hipótesis (o respuesta tentativa)
La arqueología de software es el proceso de analizar diferentes artefactos de
software (código fuente, bases de datos, interfaces de usuario, etc.) a través de
técnicas y herramientas de ingeniería inversa para obtener modelos que nos
permitan entender la estructura y comportamiento de un sistema, así como
también los procesos de negocio a los cuales da soporte dentro de la
organización.
Objetivo general
Explicar cómo nos puede ayudar la arqueología de software en el
mantenimiento de un sistema que no conocemos.
Objetivos específicos
● Establecer el acuerdo de que los Devs pasamos más tiempo manteniendo código de otros.
● Explicar porqué es útil la arqueología de software cuando nos enfrentamos al mantenimiento de un sistema que no
conocemos y está pobremente documentado.
● Explicar porque la arqueología tradicional ofrece una buena analogía para las actividades que uno realiza cuando
investiga el software que desarrollaron otras personas.
● Describir las fases de la arqueología de software
○ Planificación
■ Determinar la problemática a investigar
■ Plantear objetivos generales y específicos para la investigación
■ Plantear hipótesis
○ Trabajo de campo
■ Prospección arqueológica
■ Excavación
○ Trabajo de laboratorio
■ Laboratorio sucio
■ Laboratorio seco
○ Publicación
Esquema de contenidos
1. El mantenimiento de software y sus desafíos
2. Arqueología de software como proceso para la investigación de sistemas
pobremente documentados
3. La analogía con la arqueología tradicional
4. Fases, técnicas y herramientas de la arqueología de software
Bibliografía clave
Investigación
bibliográfica
El trabajo de los arqueólogos es investigar los testimonios materiales que han dejado las culturas del
pasado que no tuvieron escritura, porque los historiadores hacen lo propio en los pueblos que tienen

El trabajo de los arqueólogos


historia escrita y los que no han dejado historia escrita es lo que los arqueólogos tienen que investigar
en base testimonios materiales, restos, arquitectura para llegar a reconstruir la historia de estos pueblos
desaparecidos, conocer su estructura social, pensamiento, su desarrollo tecnológico y entregar al mundo
es fascinante historia de los pueblos desaparecidos.
La arqueología es el estudio de las sociedades humanas del pasado a partir de la recuperación y
análisis de sus restos materiales (artefactos útiles y basura) con el objetivo de conocer cómo vivían.

Qué es la Arqueología
Finalidad de la Arqueología de
“…permitir a los programadores hacerse cargo rápidamente de sistemas de software de gran tamaño
que nunca antes habían visto”

Software
Real archeologists investigate several artifacts and situations, trying to understand what they are looking
at, i.e., they must understand the cultural and civilizing forces that produced those artifacts. In the same

El arqueólogo de software
way, a software archeologist analyzes different legacy artifacts such as source code, databases and user
interfaces and then tries "to understand what they were thinking to understand how and why they wore
the code they way they did".

Therefore, the software archeology process consists of analyzing different software artifacts by means of
reverse engineering techniques and tools in order to obtain very abstract models that depict not only the
legacy systems, but also they company and/or the company operation supported by this system, e.g.,
business process models.
Por qué necesitamos una arqueología
de software
https://books.google.com.ar/books?id=a4bFBAAAQBAJ&pg=PA1&dq=software+archeology&hl=en&sa=X&ved=0ahUKEwjSrcOL8Pjh
AhUWIrkGHVEiBI4Q6AEIPTAD#v=onepage&q=software%20archeology&f=false
Herramientas en la arqueología de
Although getting the information by hand is possible, it's tedious and time-consuming. Using a set of tools
reduces the time needed to generate data to help you move forward with development.

software

Etapas de una investigación
Una investigación arqueológica suele implicar distintas fases, cada una de las cuales aplica una variedad de métodos.

Análisis geográfico

arqueológica




Primera instancia en un descubrimiento arqueológico.
La Geografía funciona en Arqueología como un apoyo para el descubrimiento de nuevos hallazgos.
Creación de mapas de zonas de valor para realizar excavaciones
Sistemas para el análisis espacial de información geográfica
■ Sistema vectorial
■ Sistema Raster
○ Generar un modelo que acote la búsqueda de lugares con mayores probabilidades de hallazgo
● Hallazgo
○ Encontrar sitios arqueológicos
■ Prospección: Recorridos por el territorio buscando detalladamente registro arqueológico
■ Pobladores locales informan a los arqueólogos

● Excavación
○ Se establece la cuadrícula: estrategia de excavación para acotar el espacio a investigar
○ Limpiar las primeras capas de sedimento
○ Herramientas: Cucharín, pinceles, pala, balde, nivel y escala
○ Traslado de los fósiles hallados: Embalaje para evitar roturas.
● Laboratorio
○ Sucio
■ Limpieza gruesa del objeto: la primer limpieza del fósil
■ Empezar a determinar patrones, si hay marcas, certificar el grado de conservación de los restos, etc.
○ Seco
■ Estudio a profundidad. Se toman medidas, fotografías, se cargan los datos a un servidor, etc.
■ Determinar la historia de vida
■ Se utilizan equipos de alta tecnología: microscopios electronicos, tomografias, radiografias, etc.
■ Los análisis que se aplicarán depende del hallazgo mismo

● Publicación
Hunt and Thomas claim that archaeology offers a pretty good analogy for the activities that one performs
when tasked with fixing or revising legacy code and, in general, addressing the common problems of

Analogía
trying to understand someone else’s code. The major difference between software archaeology and real
archaeology is that the objects of our efforts do not have to be a thousand years old. They use the
terminology of real archaeology to describe useful techniques for working with someone else’s software.
Business process archeology is the engineering activity that studies the

Business Process Archeology


business processes in an organization by analysing the existing software
artifacts in that organization.
¿Y qué es eso de la prospección? Pues dicho de modo boy scout: peinar el terreno. Estudiar el espacio
de trabajo para hacernos una idea de lo que puede haber (o no).

Prospección arqueológica

También podría gustarte