Artefacto (diseño de software)
El término Artefacto, en conexión con el desarrollo de software, está mayormente asociado a métodos o procesos de desarrollo específicos, como el Proceso Unificado. El uso del término pudo haberse originado en estos métodos.
Un artefacto es un producto tangible resultante del proceso de desarrollo de software. Algunos artefactos como los casos de uso, diagrama de clases u otros modelos UML ayudan a la descripción de la función, la arquitectura o el diseño del software. Otros se enfocan en el proceso de desarrollo en sí mismo, como planes de proyecto, casos de negocios o enfoque de riesgos. El código fuente compilado para el testeo se suele considerar un artefacto, ya que el ejecutable es necesario para el plan de testeo.
En ocasiones un artefacto puede referirse a un producto terminado, como el código o el ejecutable, pero más habitualmente se refiere a la documentación generada a lo largo del desarrollo del producto en lugar del producto en sí.
Los artefactos pueden variar en su necesidad de mantenimiento y actualización. Los artefactos que detallan el diseño pretendido para el producto suelen realizarse al principio del proyecto y no necesitan mantenerse, mientras que otros se mantienen a lo largo del ciclo de vida con información que se actualiza durante el desarrollo.