공정, 시스템의 일반적인 모형

 

 

일반적으로 실험은 공정이나 시스템의 수행도를 연구하는 데 이용됩니다. 일반적으로 공정(시스템)의 일반적인 모형은 위의 그림과 같습니다.

 


공정은 입력 요소를 출력 요소로 변환시키는 여러 가지 구성 요인들의 조합으로 나타낼 수 있으며, 한 가지 이상의 관측 가능한 반응 특성을 가지게 됩니다. 공정에 영향을 미치는 무수한 많은 요인들 중 일부는 통제가 가능한 반면 통제가 불가능한 요인들도 있을수 도 있습니다.

이와 같이 통제가 불가능한 요인들을 잡음(Noise)라고 합니다. 실험또한 위와 같은 모형으로 표현할 수 있는 하나의 시스템입니다. 실험 처리의 과정을 거쳐서 데이터의 형태로 얻어지는 출력 요소(반응치)특성치라고 합니다. 우리가 실험을 통해서 달성하고자 하는 목적은 이와 같은 특성치와 이를 생성하는 과정에 관계되는 수많은 요인들에 대하여 다음과 같은 정보를 획득하는 데 있습니다.


 

1. 어떤 요인이 반응 특성치(y)에 유의한 영향을 주는가를 확인하고, 검출된 요인이 반응 특성치에 미치는 영향을 양적으로 파악하는 것

(요인 효과에 대한 검정 및 추정)

2. 유의한 영향을 미친다고 판정된 인자들이 어떤 조건일 때 가장 바람직한 반응 특성치를 얻을 수 있는가를 결정하는 것 (최적 반응 조건의 결정)

3. 반응 특성치(y)에 크게 영향을 미치지 못하는 요인들은 전체적으로 어느 정도 영향을 주고 있는가를

확인하는 것 (오차항의 추정)

여기에는 반응 특성치(y)의 변동을 적게 하면서 통제가 불가능한 변수들(잡음)의 영향을 최소화 할 수 있도록 하는 통제가 가능한 변수(영향변수 x)를 선택하고 그 수준을 결정하는 것이 포함됩니다.

실험이란 옛날부터 있어 왔으나 실험계획이라는 개념이 생겨나기 시작한 것은 19세기 중엽 영국에서의 농업에 관한 실험이 그 발단이였습니다. 그 후에 1923년 Ronald A. Fisher가 난괴법(Randomized block design), 라틴방격법(Latin square design)등의 실험배치 방법을 고안하고, 데이터 해석의 방법으로 분산분석법을 제시하여 실험계획에 통계적인 방법을 도입하였습니다.

 

 

Ronald A. Fisher

 

 

현재는 공업을 중심으로 하여 많은 이론 및 실례가 전개되어 있습니다. 특히, 제조 산업에서 일본과 미국의 초일류 기업들이 신제품 개발과 공정 개선을 위하여 실험계획을 여러 해 동안 사용해 왔고, 그것이 국제 경쟁에서 승리하는 중요한 요인이었다는 것이 알려지면서 실험계획에 대한 관심을 커지고 있습니다.

제조업 프로세스 간트 차트화

우리가 실험이나 조사 또는 시험을 행하는 목적은 어떤 방침이나 방법을 결정함에 있어서 정보를 얻기 위한 것입니다. 기계장치를 어떤 모양으로 설계하면 좋은지, 작업의 방법이나 조합의 방법은 어떻게 해야 하는지, 반응의 조건은 어떻게 해야 하고, 규격이나 공차는 어느 정도로 결정하면 좋은지 등에 관해서 실제로 데이터를 취하여 실증해 보는 것이 실험입니다.

 

시스템 공학은 소프트웨어가 중요한 역할을 하는 복잡한 시스템의 개발과 진화의 모든 관점을 다룹니다. 그러므로 시스템 공학은 소프트웨어 공학과 마찬가지로 하드웨어 개발, 정책, 프로세스 설계, 시스템 설치 등을 다룹니다. 시스템 엔지니어는 시스템을 분석하고 전체 구조를 정의하며 최종 시스템을 만들기 위해서 서로 다른 부분을 통합하는 것을 포함합니다. 그것은 하드웨어, 소프트웨어 등의 시스템 컴포넌트 공학과는 다소 거리가 있습니다.

시스템 공학은 소프트웨어 공학보다 더 오래된 학문입니다. 비행기와 화학 공장 설비와 같은 복잡한 산업 시스템은 백 년 전부터 만들어져 왔습니다. 그러나 시스템에서 소프트웨어의 비율이 증가함에 따라 유스케이스 모델링, 형상 관리와 같은 소프트웨어 공학 기술이 시스템 공학에서도 사용되고 있습니다.

기본적으로 컴퓨터 과학은 컴퓨터와 소프트웨어 시스템이 가지고 있는 이론과 방법을 다루지만, 소프트웨어 공학은 소프트웨어를 생산하는 실제적인 문제를 다룹니다. 물리학이 전자 공학자에게 기본적인 것 처럼, 컴퓨터 과학의 지식은 소프트웨어 엔지니어에게도 기본이 됩니다.

이상적으로 소프트웨어 공학의 모든 것이 컴퓨터 과학의 이론에 의해 토대가 마련되어야 하지만 실제로는 그렇지 않습니다. 소프트웨어 엔지니어는 소프트웨어를 개발하는데 임시방편을 자주 사용합니다. 컴퓨터 과학의 정연한 이론이 소프트웨어 제품에 필요한 복잡하고 실제적인 문제를 늘 적용될 수는 없다는 것입니다.

 

소프트웨어 공학은 시스템 명세화의 초기 단계부터 시작하여 시스템을 사용하기 시작한 후부터 시스템을 유지보수하기까지 소프트웨어 생산의 모든 관점을 다루는 공학적인 학문입니다.

 

1. 공학적 원리

엔지니어는 일이 되도록 합니다. 그들은 적당하다고 생각돠는 이론, 방법, 도구 등을 적용합니다. 그러나 이것들을 선택적으로 적용하고 문제에 적합한 방법과 이론이 없을지라도 문제에 대한 해결을 찾으려고 노력합니다. 엔지니어는 조직상의 제약 조건과 재정적인 측면의 제약 조건에 따라서 일해야 한다는 것을 인식하고 있기 때문에 이러한 제약 조건 내에서 해결책을 찾습니다.

 

2. 소프트웨어 생산의 모든 측면

소프트웨어 공학은 단지 소프트우어 개발의 기술적 프로세스뿐만 아니라 소프트웨어 프로젝트 관리와 같은 활동 그리고 소프트웨어 생산 지원에 필요한 도구, 방법, 이론의 개발과 같은 활동을 포함합니다.

 

일반적으로 소프트웨어 엔지니어는 자신의 작업에 체계적이고 조직적인 방법을 선택하는데, 대게 이것은 고품질의 소프트웨어를 생산하는 가장 효과적인 방법입니다. 그러나 공학은 주어진 환경 내에서 가장 적절하고 더욱 독창적인 비형식적 개발 방법이 어떤 환경에 효과적인지를 찾아내는 것이 전부입니다. 비정형적인 개발은 소프트웨어와 그래픽 설계 기술의 혼합을 요구하는 웹 기반 시스템의 개발에 대하여 특히 적합합니다.

 

많은 사람들은 컴퓨터 프로그램을 소프트웨어와 같은 것이라고 생각합니다. 그러나 조금 더 넓은 의미의 정의를 하자면 소프트웨어는 단순한 프로그램일 뿐만 아니라 프로그램이 올바르게 작동하도록 하는 데 필요한 그와 관련된 모든 문서 및 설치 데이터를 의미합니다.

소프트웨어 시스템은 여러 개의 프로그램과 그 프로그램을 설치하는 데 필요한 설치 파일, 시스템의 구조를 기술한 시스템 문서, 시스템 사용방법과 사용자가 제품의 최근 정보를 내려받기 위한 웹사이트를 기술하는 사용자 문서 등을 포함합니다.

소프트웨어에는 2가지 유형이 있습니다.

1. 일반적인 제품

개발 조직에 의해서 생산된 독립형의 제품으로서 그것을 사고 싶어 하는 어떤 고객에게든지 판매할 수 있습니다. 이러한 유형의 제품은 데이터베이스, 문서 편집기, 프로젝트 관리 도구, 그래픽 패키지 등과 같은 PC용 소프트웨어를 포함합니다.

2. 맞춤형 제품

특정한 고객을 위한 시스템으로서 소프트웨어 개발자는 특정 고객에 대한 소프트웨어를 개발합니다. 이러한 유형의 소프트웨어는 전자 장치에 대한 제어 시스템이나 특정 비즈니스 프로세스를 지원하기 위한 시스템, 항공관제 시스템 등을 포함합니다.

이 2가지의 소프트웨어의 중요한 차이점은, 일반적인 제품은 그 소프트웨어를 개발하는 조직이 소프트웨어 명세화를 제어하지만, 고객용 제품은 그 소프트웨어를 구입하는 조직에 의해서 소프트웨어의 명세서가 개발되고 제어됩니다. 소프트웨어 개발자는 그 명세서에 따라 일을 진행합니다.

그러나 이러한 제품의 차이에 대한 장벽이 점점 허물어져 가고 있습니다. 더 많은 소프트웨어 회사가 일반적인 시스템으로 시작해서 특정 고객에 적합한 것으로 맞추어 가고 있습니다. SAP 시스템과 같은 전사적자원 관리(ERP: EnterpriseResource Planning)시스템이 이러한 기법의 가장 좋은 예입니다. 복잡한 대규모 시스템을 비즈니스 규칙과 프로세스, 필요한 보고서에 관한 정보를 통합한 한 회사에 적용하는 것입니다.

통계학은 자연, 공업, 사회 및 일상생활의 온갖 현상을 연구하기 위하여 불확실성이 내표된 데이터의 선택, 관찰, 분석 및 추정을 통하여 의사결정에 필요한 정보의 획득과 처리방법을 연구하는 의사결정과학 (decision making science)라고 정의할 수 있습니다. 

 

사회가 지속적으로 발전함에 따라서 통계학의 위치는 계속 중요해지고 있습니다. 우리 주위에 발생되는 엄청난 양의 데이터가 매일매일 발생하고 있으며, 이를 분석하여 정보를 얻는 것은 '정보화 시대'를 살아가는 우리들에게 필요 불가결한 요소입니다. 

 

이러한 데이터 분석의 역할을 통계학이 해주며, 정보를 취득하고 불확실성하에서 의사결정을 도우며, 얻어진 정보를 체계적으로 보는 사고의 틀을 제공하고 있습니다.

 

SPC에 사용되는 통계적 수법은 다양합니다. 대표적인 것으로 11가지 수법들이 있습니다.


 

 

1. 평균 및 산포의 측도, 확률분포

- 공정의 원인변수와 결과품질의 평균과 변동의 측정

2. QC(Quality Control, 품질관리)의 7가지 기본도구

- 관리도를 포함한 각종의 그래프, 히스토그램, 산점도 등이 있으며, QC 분임조활동의 기본도구, 관리도는 공정의 안정상태를 체크합니다.

3. 신 QC의 7가지 기본 도구 (연관도법, 계통도법, 매트릭스도법)

- 원인과 결과간의 관계를 도표나 그래프를 사용하여 규명

4. 샘플링법, 샘플링 검사법

- 공정에서 표본(사료)을 추출하는 방법, 표본의 정보로부터 품질 결과를 판정

5. 공정능력조사

- 공정능력지수에 의하여 공정의 안정상태를 파악

6. 통계적 추정 및 가설검정

- 품질이 나빠졌는지 또는 좋아졌는지 등에 대한 추정 및 가설의 검정

7. 상관분석, 회귀분석, 반응표면분석

- 원인과 결과간의 함수관계를 밝히고, 최적조건을 규명

8. 분산분석, 실험계획법, 공분산분석

- 최적의 조건을 알기 위한 실험을 계획하고 데이터를 분석

9. 다변량 분석 (판별분석, 인자분석, 군집분석)

- 변수가 많은 경우에 이들을 분류하거나 속성을 파악

10. 다구찌 (Taguchi)의 품질공학 기법

- 잡음이 있는 경우의 로버스트 실험계획법, 품질산포에 의한 손실 정량화

11. 신뢰성 기법

- 신뢰성 시험, 고장모드 영향분석 (FMEA: failure mode and effects analysis)

'관리'라는 용어는 컨트롤(Control)과 매니지먼트(management)의 의미를 모두 가지고 있습니다.

컨트롤이란 어떤 정해진 목표를 달성하기 위해 표준을 설정한 후 이것에 대비시키면서 행동을 제어하는 활동을 의미합니다.

매니지먼트는 경영이나 품질의 어떤 정해진 목표를 달성하기 위하여, 조직을 만들어 그 활동을 계획하고 지시하고 통제하는 것을 말합니다. 매니지먼트는 컨트롤보다 보다 더 넓은 의미로 해석되는 관리입니다.


 

관리의 구성 요소는 총 4가지로 다음과 같은 단계로 나누어져 있습니다.

1. 목표달성에 필요한 계획(혹은 표준)을 설정한다. (plan)

2. 계획대로 실시한다. (do)

3. 실시한 결과를 검토하고 평가한다. (check)

4. 평가한 결과가 계획에 비해 차이가 있으면 필요한 수정조치를 취한다. (act)

 

 

 

 

 

이러한 단계를 계획(plan) → 실시 (do) → 검토(check) → 조치(act)의 영문의 첫 글자를 따서 간단히 관리의 PDCA 사이클이라고 부릅니다. 좋은 관리 활동은 PDCA 사이클이 계속적으로 돌아가면서 끊임없는 품질개선이 이루어져야 하는 것입니다. 이러한 PDCA 사이클은 데밍사이클이라고 불리기도 합니다.

일반적으로 공정이라고 하면 성형공정, 압출공정, 납땜공정 등과 같은 제조의 한 단계로 인식되고 있습니다.

하지만 공정은 보다 더 넓은 범주의 뜻을 가지고 있습니다. 공정(Process)는 제조, 사무, 서비스 등의 일에서 일정한 투입물(inputs)이 들어가서 요구되는 결과물(output)로 변화시켜 주는 활동(activity)을 수행하는 하나의 시스템을 말합니다.

 

공정에서는 결과물의 품질에 영향을 주는 많은 요인이 작용하게 되며, 이러한 원인을 잘 관리하여 주는 것이 SPC의 주요한 과제가 됩니다. 제조 공정 이외의 공정의 예를 몇 가지 들면 아래의 표와 같습니다.

투입물

활동

결과물

원고

가공되지 않은 데이터

씨, 비료, 토지

음식

판매문의

컴퓨터 처리

통계 처리

농작물 재배

먹고 소화시키는 것

영업판촉활동

문서

정보화된 보고서

농작물

에너지 발생

주문 받음

 

일반적으로 제조공정에서는 투입물로 5M1E { 인력(Man), 기계(Machine), 자재(Material), 방법(Method), 측정(Measurement), 환경(Environment)}가 되고, 또한 환경 (Environment)을 Mother Nature(어머니와 같은 자연)으로 명명하여 6시그마에서는 6M으로 나타내기도 합니다.

 

 

SPC활동으로는 투입물의 재료를 변화시켜주는 것(ex. 가열, 가류, 흡착, 조립, 용접)이 되고, 결과물로는 반제품또는 완제품이 됩니다. 5M1E(6M)를 더 세분화시켜 5M1JPE로 쓸 수도 있습니다. 5M1JPE는 5M1E(6M)에 지그(jig)와 부품(part)를 추가한 것입니다. 그러나 지그는 기계(Machine)에 포함시키고, 부품은 자재(Material)에 포함시킨다면 5M1E(6M)을 사용하여도 충분합니다.

SPC는 통계적 공정관리(statistical process control)의 약자(줄임말)입니다. SPC는 품질, 공정, 관리, 통계확과 관련이 있습니다.


※ 품질(quality)의 의미

품질의 의미를 여러 엔지니어,공학자들과 박사들이 정의하였습니다.

 

"사용되는 제품고객의 기대 어느 정도 충족 시켜 주는가를 나타내는 생산된 제품의 복합적인 특성"

(품질관리 엔지니어 A.V Feigenbaum 1983)

 

"현재와 미래의 고객 요구조건 충족도"

( 품질관리개선 이론의 주창자 E Deming 박사/phD 1986)

 

"제품이 출하된 시점으로부터 성능의 특성치의 변동과 부작용으로 인하여 사회에 끼친 총손실"

(일본의 공학자 Taguchi 1986)

 

- 명시된 요구사항어느 정도 만족시켜 주는가를 나타내는 제품이나 서비스 성능의 총제적 성능

ISO는 국제표준화 기구이며(International Organization of Standardization)을 의미하며, 8402는 문서번호를 의합니다.

 

 


 

품질은 고객만족(Customer satisfcation)의 정도를 나타내는 제품이나 서비스의 총제적 특성입니다.

또한 만들어 지는 단계에 따라 품질을 구분하는데 설계품질(Quality of design), 제조과정에서의 설계와의 적합품질(Quality of conformance), 고객이 사용하는 과정에서의 서비스 품질(Quality of service)로 나누어 생각할 수도 있습니다.

1) 설계 품질

2) 적합 품질

3) 서비스 품질

 

1. 블록 (Block)

- 데이터를 저장하는 단위로, 바디(Body)와 헤더(Header)로 구분이 된다. 바디에는 거래 내용이, 헤더에는 머클해쉬(머클루트)나 논스(Nounce: 암호화와 관련되는 임의의 수) 등의 암호코드가 담겨 있다. 블록은 약 10분 주기로 생성이 되며, 거래 기록을 끌어모아 블록을 만들어 신뢰성을 검증하면서 이전 블록에 연결하여 블록체인 형태를 이룬 체인 형태가 된다.

 

 

2. 블록체인 (Blockchain)

- 블록에 데이터를 담아 체인 형태로 연결, 수많은 컴퓨터에 동시에 이를 복제해 저장하는 분산형 데이터 저장 기술이다. 공공 거래 장부라고도 부른다. 중앙 집중형 서버에 거래 기록을 보관하지 않고 거래에 참여하는 모든 사용자에게 거래 내역을 보내 주며, 거래 때마다 모든 거래 참여자들이 정보를 공유하고 이를 대조해 위조나 변조를 할 수 없도록 되어 있다.

 

 

3. 분산 원장 (Distributed Ledger)

- 분산된 P2P(Peer-to-Peer) 망 내 참여자들이 모든 거래 목록을 지속적으로 갱신하는 디지털 원장으로 중앙 관리자나 중앙 데이터 저장소가 없으며 P2P 망 내 모든 참여자(Peer)가 거래 장부를 공유하여 감시 관리하기 때문에 장부의 위 변조가 불가능합니다.

 

 

 

4. 해시 (Hash)

- 해시(Hash)는 하나의 문자열을, 이를 상징하는 더 짧은 길이의 값이나 키로 변환하는 것이다. 해시는 암호화는 다른 개념인데, 암호가 정보를 숨기기 위한 것이라면 해시는 정보의 위 변조를 확인하기 위한(즉 정보 무결성을 확인하기 위한) 방법이다.

대칭 및 비대칭 암호화 기법과 함께 해시를 사용함으로써 전자서명, 전자 봉투, 전자화폐 등 다양한 전자상거래를 위한 기능을 구현할 수 있다.

 

 

5. 해시 함수 (Hash Function)

- 어떤 데이터를 입력해도 같은 길이의 결과를 도출하는 함수이다. 도출되는 결과가 중복될 가능성이 낮고, 결과 값으로 입력 값을 역으로 추정하기 어렵다. 이 때문에 해시 값을 비교하면 데이터의 변경이 발생했는지 파악할 수 있다.

 

 

 

 

6. 노드 (Node)

- 일반적으로 네트워크에서 노드란 연결 지접을 말하며, 다른 노드로의 데이터 전송을 인식하고 처리하거나 전달할 수 있도록 프로그램이 되어있다. 컴퓨터 네트워크에서 물리적 노드란 네트워크에 붙어서 전송할 정보를 만들고, 통신 채널 상으로 이를 주고받는 활성화된 기기를 말한다.

 

 

7. 논스 (Nonce)

- 논스는 블록을 연결하기 위한 작업 증명에 쓰인다. 새 블록이 만들어졌을 때, 논스 값이 비어있다. 난이도 목표를 만족하는 논스를 찾으면 해당 블록은 유효한 것으로 인정되고 체인으로 연결된다.

 

 


※ 오늘은 "블록체인 기초 용어 part 1" 대하여 알아보았습니다. 다음 번 포스트에는 블록체인에서의 작업에 대한 기초 용어에 대해서 다루어 보겠습니다.

#핀테크 #컴퓨터공학 #블록체인 #블록체인기초용어 #해시함수 #노드 #분산원장 #데이터위변조방지 #거래기록암호화

+ Recent posts