O que significa artefato?

57

O dicionário define artefato como:

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

  1. algo feito ou dado forma pelo homem, como uma ferramenta ou uma obra de arte, especialmente um objeto de interesse arqueológico

  2. qualquer coisa feita pelo homem, como um resultado experimental falso

  3. (Ciências da Vida e Aplicações Afins / Biologia) Citologia é uma estrutura vista no tecido após a morte, fixação, coloração, etc., que normalmente não está presente no tecido vivo

A palavra artifactgeralmente aparece em desenvolvimento de software, ciclos de desenvolvimento de software, estimativa de esforço, etc. Mas a definição acima não faz sentido para mim nesse contexto.

Alguém poderia explicar essa palavra dando alguns exemplos específicos da indústria de software?

xyz
fonte
2
O p2pnode claramente não está pedindo a definição da palavra "artefato". Está em questão, afinal. Pedir como a palavra é usada em um contexto de programação pode ser uma pergunta básica, mas ainda está no tópico.
Adam Lear
A palavra está fora de lugar no desenvolvimento de software - muito ampla e superficial. Evoca imagens de escavações arqueológicas; panelas e cacos.
@ Robster, por que você diz isso? Ouvi dizer que ele é usado para construir e testar artefatos (dlls e resultados de teste). Parece bastante comum e bastante específico.
MetaFight
Bem, parece que você pode chamar qualquer coisa produzida ou criada durante a programação ou na execução, como um artefato.
TheLegendaryCopyCoder

Respostas:

66

No ciclo de vida de desenvolvimento de software (SDLC), o artefato geralmente se refere a "coisas" produzidas pelas pessoas envolvidas no processo. Exemplos seriam documentos de design, modelos de dados, diagramas de fluxo de trabalho, matrizes e planos de teste, scripts de configuração, ... como um local arqueológico, qualquer coisa criada pode ser um artefato.

Na maioria dos ciclos de desenvolvimento de software, geralmente há uma lista de artefatos necessários específicos que alguém deve produzir e colocar em uma unidade compartilhada ou repositório de documentos para que outras pessoas visualizem e compartilhem.

FrustratedWithFormsDesigner
fonte
2
Realmente, a única coisa que nunca ouvi falar em artefato é o código, mas não vejo por que o código não pode ser um artefato.
Thomas Owens
2
@ Thomas Owens: o código também pode ser um artefato, mas geralmente é considerado separadamente (como em "certifique-se de fazer backup de seu código e artefatos!"), Porque as únicas pessoas interessadas nesse artefato são codificadores e, às vezes, arquitetos. Além disso, o código entra no controle de origem, a maioria dos outros artefatos deve ir para um repositório de documentos ou um Wiki.
FrustratedWithFormsDesigner
9
Os artefatos também podem incluir binários / pacotes de software compilados.
Andy
Na verdade no mundo Java é muito comum para se referir código como artefato, por exemplo, quando usando Maven: stackoverflow.com/questions/2487485/what-is-maven-artifact
raspacorp
O máximo que ouvi falar é sobre partes de código ou binários gerados .
Qix
23

Eu acho que este artigo da Wikipedia cobre muito bem.

Um artefato é um dos muitos tipos de subprodutos tangíveis produzidos durante o desenvolvimento do software. Alguns artefatos (por exemplo, casos de uso, diagramas de classes e outros modelos UML, requisitos e documentos de design) ajudam a descrever a função, a arquitetura e o design do software. Outros artefatos estão preocupados com o processo de desenvolvimento em si - como planos de projeto, casos de negócios e avaliações de risco.

yoozer8
fonte
14

Na programação gráfica, costuma ser usada para referenciar parte de uma imagem que não foi renderizada corretamente. Por exemplo, se um pequeno pedaço de um quadro ou vista anterior ainda for deixado na tela após a conclusão do desenho, isso seria referido como um artefato.

GrandmasterB
fonte
11
Como eu faço programação gráfica, esse é o significado que aparece para mim com mais frequência, mas isso não está relacionado ao significado que o OP estava perguntando (o que o termo significa no contexto do planejamento de software).
Jhocking
4
O OP perguntou: "Alguém poderia explicar essa palavra dando alguns exemplos específicos da indústria de software ?", O que acho que inclui minha resposta.
GrandmasterB
Só queria acrescentar que a palavra "artefato", neste contexto, é usada de maneira mais geral do que apenas na programação gráfica para se referir a anomalias de imagem em qualquer tipo de imagem gerada (por exemplo, raio-x) - veja: en.wikipedia.org/ wiki / Visual_artifact
yoniLavi
5

Um artefato é algo que é criado direta ou indiretamente como consequência de outra coisa criada. Os artefatos de software podem consistir na fonte ou nos recursos do projeto, ou podem ser representados como manifestações imprevistas das interações entre suas fontes ou recursos.

Jordânia
fonte
4

A palavra artefato é frequentemente usada em relação às certificações de gerenciamento de qualidade como CMMI e ISO 9001 e metodologias como Six Sigma . Nesse contexto, o artefato se refere aos produtos e subprodutos do processo de desenvolvimento de software.

Os artefatos são reunidos e arquivados ao longo do processo para serem utilizados como evidência de que o processo documentado está sendo seguido. Esses artefatos são úteis principalmente durante uma auditoria de certificação, mas coletá-los e arquivá-los também facilita descobrir como ou por que o processo falhou se surgirem problemas.

Os artefatos também podem ser medidos e analisados ​​para encontrar maneiras de melhorar o processo, medidos um pouco mais para mostrar evidências de melhoria e depois medidos continuamente depois para mostrar que o processo permanece sob controle (ou seja, as métricas em questão permanecem dentro de alguns limites especificados) .

Caleb
fonte
3

Eu acho que existem outras maneiras pelas quais o termo é usado que significam mais um efeito colateral, mas o principal uso que vejo da palavra "artefato" na indústria de software é significar "o produto que é criado". Assim, o programa que os desenvolvedores estão escrevendo é um "artefato de software".

jhocking
fonte
Ouvi dizer que ele costumava se referir a dados que não são realmente mais necessários, mas que ao mesmo tempo era um artefato do aplicativo legado.
precisa saber é o seguinte
3

Eu só ouvi o artefato usado em um projeto em que participei: usamos para nos referir aos arquivos lançados por nossa compilação. No entanto, lendo as outras respostas, parece que 'Artefato' é um termo variável, usado sempre que alguém precisa de um termo para algum tipo de objeto específico do projeto.

Marca
fonte