인공물은 무엇을 의미합니까?


57

사전은 이슈를 다음과 같이 정의합니다.

인공물, 인공물 [ˈɑːtɪˌfækt] n

  1. 도구 나 예술 작품과 같이 사람에 의해 만들어 지거나 주어진 것, 특히 고고 학적 관심의 대상

  2. 가짜 실험 결과와 같은 인공물

  3. (생명 과학 및 관련 응용 프로그램 / 생물학) 세포학 사망, 고정, 염색 등 조직에서 일반적으로 존재하지 않는 조직에서 볼 수있는 구조

이 단어는 artifact종종 소프트웨어 개발, 소프트웨어 개발주기, 노력 추정 등에 나타납니다. 그러나 위의 정의는 그러한 맥락에서 의미가 없습니다.

누군가 소프트웨어 업계의 구체적인 예를 들어이 단어를 설명해 주시겠습니까?


2
p2pnode는 "아티팩트"라는 단어의 정의를 분명히 요구하지 않습니다. 결국 질문에 있습니다. 프로그래밍 컨텍스트에서 단어가 어떻게 사용되는지 묻는 것이 기본적인 질문 일 수 있지만 여전히 주제입니다.
Adam Lear

소프트웨어 개발에서 너무 넓고 얕다는 말이 맞지 않습니다. 그것은 고고학 발굴 장소의 이미지를 연상시킨다. 냄비와 파편.

@Robster, 왜 그렇게 말합니까? 아티팩트 (dll 및 테스트 결과)를 빌드하고 테스트하는 데 사용한다고 들었습니다. 꽤 일반적이고 구체적으로 보입니다.
MetaFight

글쎄, 프로그래밍이나 실행시 아티팩트를 생성하거나 생성 한 것을 호출 할 수있는 것 같습니다.
TheLegendaryCopyCoder

답변:


66

SDLC (소프트웨어 개발 수명주기)에서 아티팩트는 일반적으로 프로세스에 관련된 사람들이 생성 한 "사물"을 말합니다. 설계 문서, 데이터 모델, 워크 플로 다이어그램, 테스트 매트릭스 및 계획, 설정 스크립트 등이 있습니다. 고고학 사이트와 같이 생성되는 모든 것은 인공물 일 수 있습니다.

대부분의 소프트웨어 개발주기에는 일반적으로 다른 사람이보고 공유 할 수 있도록 공유 드라이브 또는 문서 저장소에 누군가가 생성하고 배치해야하는 특정 필수 아티팩트 목록이 있습니다.


2
아티팩트로 언급 한 적이없는 유일한 것은 코드이지만 코드가 아티팩트가 될 수없는 이유는 알 수 없습니다.
Thomas Owens

2
@Thomas Owens : 코드도 아티팩트 일 수 있지만,이 아티팩트에 관심이있는 유일한 사람들은 코더, 때로는 건축가이기 때문에 코드는 아티팩트 일 수도 있습니다 ( "코드와 아티팩트를 백업하십시오!"와 같이). 또한 코드는 소스 제어로 이동하고 다른 아티팩트는 대부분 문서 저장소 또는 위키로 이동해야합니다.
FrustratedWithFormsDesigner

9
아티팩트에는 컴파일 된 바이너리 / 소프트웨어 패키지도 포함될 수 있습니다.
Andy

: 사실 자바 세계에서 메이븐을 사용하는 경우, 예를 들어, 유물 같은 코드를 참조하는 것이 매우 일반적이다 stackoverflow.com/questions/2487485/what-is-maven-artifact
raspacorp

내가 사용한 것 중 가장 많이 들었던 것은 생성 된 코드 나 이진에 관한 것입니다.
Qix

23

Wikipedia 기사 가 꽤 잘 다루고 있다고 생각합니다 .

아티팩트는 소프트웨어 개발 중에 생산되는 많은 유형의 유형의 부산물 중 하나입니다. 일부 아티팩트 (예 : 사용 사례, 클래스 다이어그램 및 기타 UML 모델, 요구 사항 및 디자인 문서)는 기능, 아키텍처 및 소프트웨어 디자인을 설명하는 데 도움이됩니다. 다른 아티팩트는 프로젝트 계획, 비즈니스 사례 및 위험 평가와 같은 개발 프로세스 자체와 관련이 있습니다.


14

그래픽 프로그래밍에서 종종 올바르게 렌더링되지 않은 이미지의 일부를 참조하는 데 사용됩니다. 예를 들어, 드로잉이 완료된 후에도 이전 프레임 또는 뷰의 작은 조각이 여전히 화면에 남아 있으면 아티팩트라고합니다.


1
필자는 그래픽 프로그래밍을 가장 자주하는 의미이지만, OP가 요구 한 의미 (소프트웨어 계획의 맥락에서 용어가 의미하는 의미)와는 관련이 없습니다.
jhocking

4
OP는 " 소프트웨어 업계에서 몇 가지 구체적인 예를 들어이 단어를 설명해 주 시겠습니까?"라고 물었습니다 . 여기에는 제 대답이 포함되어 있습니다.
GrandmasterB

이 맥락에서 "아티팩트"라는 단어는 그래픽 프로그래밍에서보다 일반적으로 사용되어 모든 유형의 생성 된 이미지 (예 : x-ray)의 이미지 이상을 지칭하기 위해 사용됩니다. 참고 : en.wikipedia.org/ wiki / Visual_artifact
yoniLavi

5

아티팩트는 다른 것의 결과로 직접 또는 간접적으로 생성되는 것입니다. 소프트웨어 아티팩트는 프로젝트 소스 또는 리소스로 구성되거나 소스 또는 리소스 간의 상호 작용이 예상치 못한 것으로 나타날 수 있습니다.


4

단어 인공물 은 종종 CMMIISO 9001 과 같은 품질 관리 인증 및 Six Sigma 와 같은 방법론과 관련하여 사용됩니다 . 이와 관련하여 아티팩트 는 소프트웨어 개발 프로세스의 제품 및 부산물을 나타냅니다.

아티팩트는 프로세스 전체에서 수집 및 보관되어 문서화 된 프로세스가 준수되고 있다는 증거로 사용됩니다. 이러한 아티팩트는 주로 인증 감사 중에 유용하지만 아티팩트를 수집 및 보관하면 문제가 발생할 경우 프로세스가 어떻게 또는 왜 실패했는지 쉽게 파악할 수 있습니다.

공정을 개선 할 수있는 방법을 찾기 위해 유물을 측정 및 분석하고, 개선의 증거를 보여주기 위해 더 많은 방법을 측정 한 다음 프로세스가 계속 통제되고 있음을 보여주기 위해 그 후에 지속적으로 측정 할 수 있습니다 (예 : 문제의 메트릭이 특정 범위 내에서 유지됨) .


3

부작용이라는 의미로 사용되는 다른 방법이 있지만 소프트웨어 업계에서 "아티팩트"라는 단어의 주된 용도는 "생성 된 제품"을 의미하는 것입니다. 따라서 개발자가 작성하는 프로그램은 "소프트웨어 아티팩트"입니다.


더 이상 실제로 필요하지 않지만 한 번에 레거시 앱의 인공물 인 데이터를 참조하는 데 사용된다고 들었습니다.
SoylentGray

3

나는 한 프로젝트에서 인공물을 사용한다고 들었습니다. 우리는 그것을 빌드 할 파일을 참조하기 위해 사용했습니다. 그러나 다른 답변을 읽으면 '아티팩트'는 누군가가 특정 프로젝트 특정 객체 유형에 대한 용어가 필요할 때마다 사용되는 변수 용어 인 것 같습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.