¿Qué significa artefacto?

57

El diccionario define artefacto como:

artefacto, artefacto [ˈɑːtɪˌfækt] n

  1. algo hecho o dado forma por el hombre, como una herramienta o una obra de arte, especialmente un objeto de interés arqueológico

  2. cualquier cosa hecha por el hombre, como un resultado experimental espurio

  3. (Ciencias de la vida y aplicaciones afines / Biología) Citología una estructura que se ve en el tejido después de la muerte, fijación, tinción, etc., que normalmente no está presente en el tejido vivo

La palabra a artifactmenudo aparece en el desarrollo de software, ciclos de desarrollo de software, estimación de esfuerzo, etc. Pero la definición anterior no tiene sentido para mí en ese contexto.

¿Podría alguien explicar esta palabra dando algunos ejemplos específicos de la industria del software?

xyz
fuente
2
p2pnode claramente no está pidiendo la definición de la palabra "artefacto". Está en la pregunta, después de todo. Preguntar cómo se usa la palabra en un contexto de programación puede ser una pregunta básica, pero sigue siendo un tema.
Adam Lear
La palabra está fuera de lugar en el desarrollo de software, demasiado amplia y superficial. Evoca imágenes de sitios arqueológicos de excavación; ollas y fragmentos.
@Robster, ¿por qué dices eso? Escuché que se refería a artefactos de compilación y prueba (dlls y resultados de prueba). Parece bastante común y bastante específico.
MetaFight
Bueno, parece que puedes llamar a cualquier cosa producida o creada durante la programación o durante la ejecución, un artefacto.
TheLegendaryCopyCoder

Respuestas:

66

En el ciclo de vida de desarrollo de software (SDLC), el artefacto generalmente se refiere a "cosas" que son producidas por personas involucradas en el proceso. Los ejemplos serían documentos de diseño, modelos de datos, diagramas de flujo de trabajo, matrices y planes de prueba, guiones de configuración, ... como un sitio arqueológico, cualquier cosa que se cree podría ser un artefacto.

En la mayoría de los ciclos de desarrollo de software, generalmente hay una lista de artefactos específicos requeridos que alguien debe producir y poner en una unidad compartida o repositorio de documentos para que otras personas puedan verlos y compartirlos.

FrustratedWithFormsDesigner
fuente
2
Realmente lo único que nunca he escuchado referido como un artefacto es el código, pero no veo por qué el código no puede ser un artefacto.
Thomas Owens
2
@Thomas Owens: el código también puede ser un artefacto, pero por lo general se considera por separado (como en "¡asegúrese de hacer una copia de seguridad de su código y artefactos!") Porque las únicas personas interesadas en este artefacto son los codificadores y, a veces, los arquitectos. Además, el código pasa al control de fuente, la mayoría de los otros artefactos deben ir a un repositorio de documentos o un Wiki.
FrustratedWithFormsDesigner
99
Los artefactos también pueden incluir binarios compilados / paquetes de software.
Andy
En realidad, en el mundo de Java es muy común referirse al código como artefacto, por ejemplo cuando se usa Maven: stackoverflow.com/questions/2487485/what-is-maven-artifact
raspacorp
Lo más que he escuchado que se usa es en lo que respecta a piezas de código o binarios generados .
Qix
23

Creo que este artículo de Wikipedia lo cubre bastante bien.

Un artefacto es uno de los muchos tipos de subproductos tangibles producidos durante el desarrollo de software. Algunos artefactos (p. Ej., Casos de uso, diagramas de clase y otros modelos UML, requisitos y documentos de diseño) ayudan a describir la función, la arquitectura y el diseño del software. Otros artefactos están relacionados con el proceso de desarrollo en sí, como los planes de proyectos, casos de negocios y evaluaciones de riesgos.

yoozer8
fuente
14

En la programación de gráficos, a menudo se usa para hacer referencia a parte de una imagen que no se procesó correctamente. Por ejemplo, si una pequeña parte de un marco o vista anterior aún permanece en la pantalla después de que se realiza el dibujo, eso se denominaría artefacto.

Gran maestro B
fuente
1
Debido a que hago programación gráfica, ese es el significado que se me ocurre con mayor frecuencia, pero eso no está relacionado con el significado sobre el que preguntaba el OP (lo que significa el término en el contexto de la planificación del software).
jhocking
44
El OP preguntó "¿Podría alguien explicar esta palabra dando algunos ejemplos específicos de la industria del software ?", Que creo que incluye mi respuesta.
GrandmasterB
Solo quería agregar una nota de que la palabra "artefacto" en este contexto se usa de manera más general que solo en la programación de gráficos para referirse a anomalías de imágenes en cualquier tipo de imagen generada (por ejemplo, rayos X) - ver: en.wikipedia.org/ wiki / Visual_artifact
yoniLavi
5

Un artefacto es algo que se crea directa o indirectamente como consecuencia de otra cosa creada. Los artefactos de software pueden consistir en la fuente o recursos de su proyecto, o podrían representarse como manifestaciones imprevistas de las interacciones entre sus fuentes o recursos.

Jordán
fuente
4

La palabra artefacto se usa a menudo en relación con certificaciones de gestión de calidad como CMMI e ISO 9001 , y metodologías como Six Sigma . En este contexto, el artefacto se refiere a los productos y subproductos del proceso de desarrollo de software.

Los artefactos se recopilan y archivan durante todo el proceso para usarse como evidencia de que se está siguiendo el proceso documentado. Tales artefactos son principalmente útiles durante una auditoría de certificación, pero recopilarlos y archivarlos también hace que sea más fácil descubrir cómo o por qué falló el proceso si surgen problemas.

Los artefactos también pueden medirse y analizarse para encontrar formas de mejorar el proceso, medirse un poco más para mostrar evidencia de mejora y luego medirse continuamente después de eso para mostrar que el proceso permanece bajo control (es decir, las métricas en cuestión permanecen dentro de algunos límites específicos) .

Caleb
fuente
3

Creo que hay otras formas en que se usa el término que significa más como un efecto secundario, pero el uso principal que veo de la palabra "artefacto" dentro de la industria del software es para significar "el producto que se crea". Entonces, como, el programa que los desarrolladores están escribiendo es un "artefacto de software".

jhocking
fuente
Escuché que solía referirse a datos que ya no se necesitan realmente, pero que en algún momento fue un artefacto de la aplicación heredada.
SoylentGray
3

Solo escuché artefactos utilizados en un proyecto en el que he estado: lo usamos para referirnos a los archivos que nuestra compilación publicó. Sin embargo, al leer las otras respuestas, parece que 'Artefacto' es un término variable, que se utiliza cuando alguien necesita un término para algún tipo de objeto específico del proyecto.

marca
fuente