맨위로가기

구현

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

구현은 컴퓨터 공학, IT 산업, 정치학, 언어학, 전자 공학 등 다양한 분야에서 사용되는 용어이다. 컴퓨터 공학에서는 규격이나 알고리즘을 프로그래밍 또는 소프트웨어 배치를 통해 시스템을 구축하는 것을 의미하며, IT 산업에서는 소프트웨어나 하드웨어의 사용을 유지 보수하고 지원하는 과정을 포함한다. 정치학에서는 공공 정책을 이행하는 것을, 언어학에서는 형태통사 자질이 굴절을 통해 실현되는 것을, 전자 공학에서는 전자 부품을 인쇄 회로 기판에 조립하는 기술을 의미한다. 구현은 설계와 밀접한 관련을 가지며, 설계는 추상적인 작업인 반면 구현은 구체적인 작업을 통해 기능을 실현한다.

2. 컴퓨터 공학

컴퓨터 공학에서 구현은 추상적인 알고리즘이나 규격서를 실제 작동하는 프로그램이나 시스템으로 만드는 것을 의미한다. 하나의 규격서나 표준에도 다양한 구현이 있을 수 있다.

정보 기술 산업에서 구현은 구매한 소프트웨어나 하드웨어를 고객이 사용할 수 있도록 안내하는 과정을 의미한다. 여기에는 요구 사항 분석, 범위 분석, 사용자 정의, 시스템 통합, 사용자 정책, 사용자 교육 및 제공이 포함된다.[1] 이러한 단계는 프로젝트 관리 방법론을 사용하는 프로젝트 관리자가 감독하며, 소프트웨어 구현에는 비즈니스 분석가, 소프트웨어 구현 전문가, 솔루션 아키텍트 등 여러 전문가가 참여한다.

시스템을 성공적으로 구현하려면 상호 관련된 여러 작업을 적절한 순서로 수행해야 한다. 잘 입증된 구현 방법론을 활용하고 전문적인 조언을 구하는 것이 도움이 될 수 있지만, 구현 프로젝트에 문제를 일으키는 것은 어려운 작업보다는 작업량, 부실한 계획 및 부적절한 자원 배분인 경우가 많다.[1]

2. 1. 소프트웨어 개발

소프트웨어 개발에서 구현은 프로그래밍 언어를 사용하여 알고리즘을 코드로 작성하고, 소프트웨어 개발 도구를 활용하여 프로그램을 만드는 과정을 포함한다. 웹 브라우저는 W3C에서 정한 규격서의 구현을 포함하고 있으며, 소프트웨어 개발 도구는 프로그래밍 언어의 구현을 포함하고 있다.[1]

2. 2. 하드웨어 개발

전자기학 분야에서 구현은 기기나 장치 안에 특정 기능(전기적 기능)을 수행하는 구체적인 전자 부품을 조립하는 것을 의미한다. 예를 들어, 인쇄 회로 기판(PCB)에 전자 부품을 납땜하거나, 케이스에 인쇄 회로 기판과 배선을 조립하는 것이 구현에 해당한다.[1]

영어에서는 "동일한 목적을 위해 여러 요소를 한 곳에 모으는 것"을 "assemble" (어셈블)이라고 한다. 따라서 전자기학 분야의 구현은 "어셈블", "어셈블링"과 비슷한 의미로 사용되기도 한다. 그러나 "어셈블"은 조립 작업, 또는 조립된 물건을 가리키는 좁은 의미이며, 구현은 이보다 넓은 개념인 구현 기술 전반을 가리킨다. 영어에서는 "assemble"과 구분하여 "packaging" (패키징)이라고 부르는 경우가 많다.[1]

3. IT 산업

IT 산업에서 구현(Implementation)은 사용자가 상품을 구매한 후, 구입한 소프트웨어나 하드웨어의 사용을 유지 보수 및 지원하는 과정을 말한다.[3] 이 과정은 요구 분석, 영역 분석, 주문 제작, 시스템 통합, 사용자 정책, 사용자 훈련 및 배달을 포함하며, 프로젝트 관리 방법론을 사용하는 프로젝트 관리자가 감독한다. 소프트웨어 구현에는 비즈니스 분석가, 기술 분석가, 문제 해결 설계자 등 전문가들이 참여한다.[3]

시스템 구현은 높은 수준의 사용자 참여와 경영진의 지원이 필요하다. 사용자가 시스템 설계에 적극적으로 참여하면, 우선순위와 비즈니스 요구 사항에 따라 시스템을 조정하고 결과에 대한 통제 기회를 더 많이 얻게 된다. 또한 변화에 긍정적으로 반응하며, 사용자 지식과 전문 지식을 통합하여 더 나은 솔루션을 만들 수 있다.[3]

하지만 사용자와 정보 시스템 전문가 간의 관계는 서로 다른 배경, 관심사, 우선순위로 인해 문제가 발생할 수 있다. 이를 사용자-설계자 의사소통 격차라고 부르며, 서로 다른 충성도, 문제 해결 접근 방식, 어휘 사용으로 이어진다.[3]

3. 1. 시스템 통합

IT 산업에서 시스템 통합은 사용자가 상품을 구매한 후, 구입한 소프트웨어나 하드웨어의 사용을 유지 보수 및 지원하는 과정을 말한다. 이 과정은 요구 분석, 영역 분석, 주문 제작, 시스템 통합, 사용자 정책, 사용자 훈련 및 배달을 포함한다.[1] 이러한 과정들은 대체로 프로젝트 관리에 관한 지식체계에서 이어져 온 프로젝트 관리 전략을 쓰는 프로젝트 관리자가 감독한다.[1] 소프트웨어 구현은 비즈니스 분석가, 기술 분석가, 문제 해결 설계자, 프로젝트 관리자 등 전문가들이 참여하기도 한다.[1]

시스템을 성공적으로 구현하려면 많은, 상호 관련된 작업을 적절한 순서로 수행해야 한다.[2] 잘 입증된 구현 방법론을 활용하고 전문적인 조언을 구하는 것이 도움이 될 수 있지만, 구현 프로젝트에 문제를 일으키는 것은 특정 작업이 특별히 어렵기보다는 작업의 수, 부실한 계획 및 부적절한 자원 배분인 경우가 많다.[2] 마찬가지로 문화적 문제의 경우에도 원하는 결과를 달성하는 데 방해가 되는 것은 적절한 상담과 양방향 소통의 부족인 경우가 많다.[2]

3. 2. 사용자 지원

IT 산업에서 구현(Implementation)은 사용자가 상품을 구매한 후, 구입한 소프트웨어나 하드웨어의 사용을 유지 보수 및 지원하는 과정을 말한다.[3] 이 과정은 요구 분석, 영역 분석, 주문 제작, 시스템 통합, 사용자 정책, 사용자 훈련 및 배달을 포함한다.[3] 이러한 과정들은 대체로 프로젝트 관리에 관한 지식체계에서 이어져 온 프로젝트 관리 전략을 쓰는 프로젝트 관리자가 감독한다. 소프트웨어 구현에는 비즈니스 분석가, 기술 분석가, 문제 해결 설계자, 프로젝트 관리자 등 전문가들이 참여하기도 한다.[3]

시스템을 성공적으로 구현하려면 많은 상호 관련된 작업을 적절한 순서로 수행해야 한다. 잘 입증된 구현 방법론을 활용하고 전문적인 조언을 구하는 것이 도움이 될 수 있지만, 구현 프로젝트에 문제를 일으키는 것은 특정 작업이 특별히 어렵기보다는 작업의 수, 부실한 계획 및 부적절한 자원 배분인 경우가 많다. 마찬가지로 문화적 문제의 경우에도 원하는 결과를 달성하는 데 방해가 되는 것은 적절한 상담과 양방향 소통의 부족인 경우가 많다.[3]

시스템 구현은 일반적으로 높은 수준의 사용자 참여와 경영진의 지원을 통해 이점을 얻는다. 정보 시스템의 설계 및 운영에 사용자가 참여하면 여러 가지 긍정적인 결과가 있다. 첫째, 사용자가 시스템 설계에 적극적으로 참여하면, 우선순위와 비즈니스 요구 사항에 따라 시스템을 조정할 수 있는 기회와 결과에 대한 통제 기회를 더 많이 얻게 된다. 둘째, 변화 과정에 긍정적으로 반응할 가능성이 더 크다. 사용자 지식과 전문 지식을 통합하면 더 나은 솔루션으로 이어진다.[3]

사용자와 정보 시스템 전문가 간의 관계는 전통적으로 정보 시스템 구현 노력의 문제 영역이었다. 사용자와 정보 시스템 전문가는 서로 다른 배경, 관심사 및 우선순위를 가지는 경향이 있다. 이는 사용자-설계자 의사소통 격차라고 불린다. 이러한 차이점은 조직에 대한 서로 다른 충성도, 문제 해결 접근 방식 및 어휘로 이어진다.[3]

4. 정치학

정치학에서 구현은 정부 정책을 실행하고, 법률을 실제로 집행하는 과정을 의미한다. 구현은 알려진 규모의 활동이나 프로그램을 실행하기 위해 고안된 일련의 특정 활동으로 정의된다.[1] 이 정의에 따르면, 구현 프로세스는 목적 지향적이며 독립적인 관찰자가 구현과 관련된 "특정 활동 집합"의 존재와 강도를 감지할 수 있을 정도로 충분히 자세하게 설명된다. 또한, 구현되는 활동이나 프로그램은 독립적인 관찰자가 그 존재와 강도를 감지할 수 있도록 충분히 자세하게 설명된다.

사회 과학의 구현에 대한 연구는 계획을 구현하는 프로젝트에서 벗어나, 그 프로젝트를 연구 대상으로 삼는다. 루시 수치만의 연구는 그 점에서 핵심적인 역할을 했으며, 공학적 계획 모델과 그 구현이 계획과 관련된 사용자들의 실제 행위와 상황 인지를 설명할 수 없음을 보여주었다.[4] 그녀의 연구는 성공적인 구현에 필요한 모든 것을 상세히 설명하기에 계획이 충분히 구체적일 수 없음을 보여준다. 대신, 구현은 사용자 및 계획 구성 요소의 암묵적이고 암묵적인 자원과 특성을 활용한다.

4. 1. 입법 과정

정치학에서 구현은 공공정책을 이행하는 것을 말한다. 입법부에서는 관료기관에서 일하는 공무원들이 이행해야 할 을 통과시킨다. 이 과정은 규정 제정, 규정 집행, 규정 판결로 이루어진다.[4] 구현에 영향을 미치는 요인은 입법부의 의도, 이행한 관료제의 행정적 수용 능력, 이익 단체의 활동과 경쟁, 대통령이나 행정부의 지원이 있다.

4. 2. 행정 과정

정치학에서 구현은 공공정책을 이행하는 것을 말한다. 입법부에서는 관료기관에서 일하는 공무원들이 이행해야 할 을 통과시킨다. 이 과정은 규정 제정, 규정 집행, 규정 판결로 이루어진다.[1] 구현에 영향을 미치는 요인은 입법부의 의도, 이행하는 관료제의 행정적 수용 능력, 이익 단체의 활동과 경쟁, 대통령이나 행정부의 지원이 있다.[1]

4. 3. 이익 집단과 구현

정치학에서 구현은 공공정책을 이행하는 것을 말한다. 입법부는 관료기관에서 일하는 공무원들이 이행해야 할 을 통과시키며, 이 과정은 규정 제정, 규정 집행, 규정 판결로 이루어진다. 구현에 영향을 미치는 요인으로는 입법부의 의도, 이행하는 관료제의 행정적 수용 능력, 이익 단체의 활동과 경쟁, 대통령이나 행정부의 지원 등이 있다.[1]

5. 언어학

언어학에서 구현(exponence)은 형태통사자질이 굴절을 통해 실현되는 것을 가리킨다.[1] 구현은 유형에 따라 단순구현, 누적구현, 확장구현 따위로 분류된다.

5. 1. 구현의 유형

언어학에서 구현은 형태통사자질이 굴절을 통해 실현되는 것을 가리킨다.[1] 구현은 유형에 따라 단순구현, 누적구현, 확장구현 따위로 분류된다.[1]

6. 전자 공학

전자기학에서 구현은 기기나 장치 안에 전기적인 기능을 수행하는 전자 부품을 조립하는 것을 말한다. 구체적으로 인쇄 회로 기판 등에 전자 부품을 납땜하거나, 케이스에 인쇄 회로 기판과 배선을 조립하는 것이 이에 해당한다.

영어로는 "assemble"(어셈블)이 비슷한 의미로 사용되기도 하지만, 이는 조립 작업이나 조립된 물건을 가리키는 좁은 의미이다. 구현은 이보다 넓은 개념으로, 구현 기술 전반을 가리키며 영어로는 "packaging"(패키징)이라고 불린다.

전자 분야의 구현 기술은 과거 인쇄 회로 기판에 전자 부품을 납땜하는 기술, 즉 스루 홀 실장이나 SMT(표면 실장 기술)을 지칭하기도 했다.

6. 1. 실장 기술

전자 분야의 구현 기술은 전자 부품을 인쇄 회로 기판에 납땜하는 기술이라는 의미로 사용되며, 스루 홀 실장이나 SMT(표면 실장 기술)을 지칭하는 경우가 많았다.[1] 본래 구현 기술은 웨이퍼 상태에서 최종 제품까지 전자 부품 조립 및 구현 전반을 포괄하는 기술이며, 현재는 이러한 이해가 정착되고 있다.[1] 구현 기술은 제품의 무게, 크기, 성능, 비용, 신뢰성에 큰 영향을 미치는 학제적인 기술이다.[1]

인쇄 회로 기판에서의 구현 기술은 고밀도 실장, 고주파 실장, 고온·저온 실장, 무연 납, 난연성, 장기 신뢰성, 플렉시블 실장, 프린터블 실장 등 다양한 세부 분야로 나뉜다.[1]

6. 2. 고밀도 실장

집적도 향상을 목적으로 하는 구현 기술이다. 특히 휴대 기기 분야에서 중요하다. 칩 부품, BGA 등에 의한 소형화, 다핀화와 이에 따른 접합 기술로 구성된다. 납땜에 의한 접합은 소형 부품이 납의 표면 장력으로 떠오르는 '맨해튼 현상'이나, 인접한 핀끼리 납으로 붙어버리는 납 브릿지(→솔더 레지스트) 불량의 대책이 필수적이다.[1] 소형 기기에는 초음파 접합도 많이 사용된다.[1] 최근에는 부품을 적층하여 집적도를 높이는 3차원 실장 기술이 주목받고 있다.[1]

6. 3. 고주파 실장

정보 처리 속도를 높이기 위해, 높은 주파수의 신호를 정확하게 배선에 통과시키는 것을 목적으로 하는 구현 기술이다. 특히 CPU와 메모리 분야에서 중요하다. 신호의 동착성 확보, 노이즈 대책, 불필요한 복사 감소(전자기파 장해) 등이 주요 기술이다.

7. 설계와 구현

설계와 구현은 짝을 이루어 이야기되는 경우가 많다.

어떤 기능을 실현하기 위한 방법이나 틀을 결정하는 추상적인 작업(종이 위에서의 작업이나 모니터 상에서의 작업)을 설계라고 부르고, 그 기능을 실제로 동작시키기 위한 구체화 작업을 구현이라고 부른다.[1]

설계는 기능을 실현하기 위한 요소와 구성에 대해 추상적·이론적으로 표현하는 작업인 반면, 구현은 현실 세계에서 실제로 형태를 만듦으로써 기능을 실현하는 것이기 때문에, 현실에서의 다양한 상황에 영향을 받는다. 따라서 설계에 비해 물리적·비용적·시간적인 영향을 더 직접적으로 받는다.[1]

무언가를 만들어내는 공정으로서, 설계는 상위, 구현은 하위에 위치한다. 다만 현실에서는 이 두 과정이 단순하게 둘로 분리될 수 있는 것은 아니며, 설계와 구현은 긴밀하게 관련되어 있다. 예를 들어, 무언가를 실제로 만들기 위해서는 구현 시의 일도 고려하여 설계하는 것이 일반적이다("구현상의 제약"을 고려한 설계). 또한, 구현 단계에 이르러 당초의 설계가 실현 불가능하다는 것이 판명되어, 공정을 거슬러 올라가 "구현상의 편의"로 설계가 변경되는 경우도 있다.[1]

비교적 단순한 기능의 물건이나 소프트웨어의 경우, 특히 한 개인이 혼자 하는 개발에서는 설계와 동시에 구현까지 진행하는 경우도 있다. 그러나 현재의 (여러 명이 함께 하는 것이 일반적인) 대규모 개발에서는 분업이 진행되어, 설계와 구현의 공정은 상당히 뚜렷하게 구분된다. 제품 개발 모델의 상세는 소프트웨어 개발 방법론의 워터폴 모델, 동시 공학 등을 참조하라.[1]

"설계와 구현"이라는 용어의 대비는 주로 소프트웨어 분야에서 사용된다. 소프트웨어 이외의 분야에서는 "설계와 제조"와 같이, 구현이 아닌 제조가 사용되는 경우가 많다. 소프트웨어 이외의 분야에서 "제조"라고 하지 않고 "구현"이라는 말을 사용하는 것은 "어떤 특정 기능을 실현하는 것"에 주목하는 경우이다.[1]

8. 소프트웨어 분야에서 구현

소프트웨어 개발 (프로그래밍) 분야에서 '''구현'''이란 사양이나 알고리즘을 구체적인 프로그래밍 언어의 프로그램 문으로 실현하는 것(쓰는 것), 즉 프로그래밍을 의미한다.

오픈 컴퓨터 언어파일 형식 등에서는 하나의 사양에 대해 복수의 구현이 존재할 수 있다. 이 구현을 '''구현계''' 또는 '''처리계'''라고도 부른다. 각 처리계는 정의대로 사양을 만족하는 동작을 해야 하지만, 사양의 미비, 해석의 차이, 버그, 독자적인 확장 등으로 인해 동작이 다른 경우도 많으며, 이러한 차이점들은 방언으로서 처리계의 차이에 나타난다. 그러한 차이를 제외하면 처리계는 원칙적으로 "같다"고 생각되는 동작을 하며, 차이는 성능 면에만 나타난다.

참조

[1] 웹사이트 Framework 2: Implementation Stages {{!}} NIRN https://nirn.fpg.unc[...] National Implementation Research Network 2022-01-26
[2] 논문 Artificial Intelligence Implementation in Healthcare: A Theory-Based Scoping Review of Barriers and Facilitators. 2022
[3] 서적 "Management Information Systems: Managing the Digital Firm." Prentice Hall 2010
[4] 서적 Plans and situated actions: The problem of human-machine communication Cambridge University Press
[5] 문서 ASCII.jpデジタル用語辞典



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com