칼럼

[채성수의 소프트웨어 논리] 문제를 이해하려면 필요한 자료 수집이 우선

발행일시 : 2017-02-13 00:10
[채성수의 소프트웨어 논리] 문제를 이해하려면 필요한 자료 수집이 우선

자료의 수집이란 문제가 무엇인지 인식하고 특정한 요구사항의 의도를 제대로 파악하기 위해 필요한 자료를 어떻게 수집할지를 계획하고 실행하는 것이다. 자료 수집은 개인의 주관적 판단보다는 객관적 상황에서 공정하게 자료를 모으는 것이 중요하다. 또한 수집된 자료는 순서대로 일목요연하게 정리해서 쉽게 검색할 수 있도록 준비하는 것이 바람직하다. 문제를 정확히 이해하여 관련 자료를 수집하기 전에 성급하게 해결책을 만들어 내서는 안된다는 원칙도 있다. 문제 해결과정 중에 발생하는 가장 많은 오류는 문제를 제대로 이해하지 못한 상태에서 해결책을 만들어 내기 때문이라고 알려져 있다. 구체적으로 보면 자료 수집은 ‘문제에 관련된 사람은 누구인지?’, ‘문제를 해결할 때 이익을 보는 사람은 누구인지?’, ‘문제가 해결되었을 때 이로운 점은 무엇인지?’, ‘해결을 위하여 어떤 자료가 필요한지?’를 파악하는 과정이라고 할 수 있다.

컴퓨터 기술이 나날이 발전하여 소프트웨어 전문가를 포함한 컴퓨터 전문가들은 ‘알파고’와 같은 인공지능 컴퓨터 기술을 개발하였다. 인공지능이란 말 그대로 사람의 지능처럼 컴퓨터가 스스로 배우고 생각하여 처리할 수 있는 소프트웨어 중심의 컴퓨터이다. 그런데 인공지능이 스스로 배우기 위해서는 사람처럼 학교에 가서 배우는 것이 아니라 컴퓨터가 잘 이해할 수 있는 자료로 만들어서 컴퓨터의 기억장치에 넣어 주어야 한다. 이러한 자료를 만드는 것은 상당히 까다롭고 어려운 일 중의 하나이다. 사전에 정해진 규격대로 만들지 않으면 오류가 나서 엉뚱한 동작을 하거나 멈춰 설 수도 있기 때문이다.

자료는 일정한 기준과 규칙을 가지고 만드는 것이 일반적이다. 자료의 내용에는 나름대로의 의미가 있어야 한다. 자료의 내용도 중요하지만 누가, 언제, 어디서, 어떤 방법으로 수집했는지도 중요한 사항이다. 자료를 표기하는 방법에는 여러 종류가 있다. 현재는 주로 문자, 음성, 부호, 소리, 영상과 같은 것들로 자료를 표기한다. 오늘날 쓰고 있는 대부분의 소프트웨어는 정형적인 자료를 선호한다. 왜냐하면 소프트웨어를 개발하는 대부분의 개발자는 자신이 생각하는 규칙적인 데이터를 처리할 수 있도록 프로그램을 만들기 때문이다. 그러므로 정형적이라는 의미는 규칙적인 모습을 담고 있다고 할 수 있다. 이런 형태의 정형 데이터는 주로 데이터베이스라는 특별한 저장소에 담아서 나중에 다시 활용할 목적으로 보관한다.

반면에 비정형적인 데이터도 많이 있다. 비정형 데이터는 최근 유행하는 카카오톡, 밴드, 페이스북, 트위터 등과 같은 서비스에서 발생하는 데이터가 대표적인데, 일반적인 문서, 이메일, 사진, 음성, 동영상, 메시지와 같은 것들이다. 구글에서 검색한 결과를 보면 정해진 형식으로 나오는 것이 아님을 알 수 있다. 보여지는 것은 정형화된 것처럼 보이지만 실제로 검색한 내용을 소프트웨어로 다시 처리하기에는 아직까지 여러 가지 고려해야 할 측면이 많이 남아있다.

여러 가지 자료 유형 중에서 정형적인 자료로 만들기가 쉬운 것이 문자나 부호 유형의 자료이다. 음성, 소리, 영상은 정형적인 자료로 만들기가 조금 까다로운 편이다. 즉, 자료로 활용하려면 문서나 부호에 비해 복잡한 처리를 거쳐야 한다는 뜻이다. 우리의 일상 생활에서는 수많은 자료가 생성되었다가 없어지게 된다. 그 중에 필요에 의해서 수집되는 엄청 큰 크기의 자료들이 있는데 이러한 자료를 빅데이터라고 부른다. 빅데이터는 대부분 비정형적이다. 그래서 비정형적인 빅데이터를 가공 처리를 하여 정형적인 자료로 만들어야 비로소 인공지능과 같은 소프트웨어가 처리하여 필요한 정보로 가공할 수 있는 것이다.

자료를 수집하는 방법 중에 가장 흔히 쓰이는 방법으로는 인터뷰, 설문조사, 측정, 실험, 발표 자료 수집과 같은 것들이 있다. 인터뷰는 상대방에게 직접 질문을 통하여 자료를 수집하는 방법이며, 설문 조사는 필요한 데이터 항목을 얻을 수 있는 질문을 만들어서 여러 사람들로부터 데이터를 받아 내는 방법이다. 예를 들면 국회의원을 뽑는다면 어떤 후보자를 선호하는 지 사전에 설문을 하여 데이터를 수집한다. 혹은 유행하는 옷을 만들기 위하여 여러 연령대의 사람들에게 설문하여 어떤 색의 옷을 좋아하는지, 어떤 디자인을 좋아하는지를 알아보기도 한다.

측정도 많이 쓰이는 방법이다. 측정은 과학기술이 발전되었을 때 가능한 데이터 수집 방법이다. 조선시대에는 측우기를 설치하여 빗물의 양, 즉 강수량을 측정하여 농사에 활용하였다. 현재, 서울의 한강은 곳곳에 수질 측정기를 설치하여 오염도를 측정해서 수질 관리를 하고 있다. 공기측정기를 서울 시내 곳곳에 설치하여 오염도를 측정하고 공기오염도를 발표한다. 우리나라뿐만 아니라 세계의 여러 나라에서 인공 위성을 띄워서 기상을 관측한다. 기상 관측을 통하여 구름의 양, 태풍의 발생과 이동 경로를 측정하여 일기예보에 활용한다. 측정의 특징은 지속적으로 데이터를 만들어 낼 수 있기 때문에 수집된 데이터를 분석하여 이상현상을 파악할 수 있는 것이다.

과학에서는 실험도 많이 활용된다. 실험은 현실 세계에서의 동일한 상황을 재현하거나, 현실에서 잘 발생하지 않는 상황이나 발생해서는 안 되는 상황에 대한 가상 환경을 만들어서 데이터를 수집하여 분석하기 위한 목적으로 사용된다. 실험을 통하여 자료를 수집하고 데이터를 분석하여 실험의 결과가 어떤 의미가 있는지 파악한다.

발표자료 수집도 데이터를 수집하는 좋은 방법이다. 남들이 만든 데이터를 수집하여 활용하는 것이다. 일상 생활에서는 정부, 연구기관, 대학교 혹은 기업과 같은 곳에서 발표자료를 많이 만들어 낸다. 정부에서는 매년 혹은 정기적으로 경제 성장률과 같은 경제관련지수, 실업률, 고용률 등과 같은 데이터를 발표한다. 기업에서는 월마다, 분기마다 혹은 년마다 그 기업의 매출과 손익에 대한 내용을 발표하여 기업이 어떤 경영 활동을 했는지 발표한다. 때로는 기업이 만든 새로운 제품이나 서비스를 발표하기도 한다.

요즘은 인터넷에 있는 수많은 데이터를 찾아서 필요한 데이터를 수집하기도 한다. 이 인터넷의 데이터는 여러 사람과 단체들이 만들어 놓은 거대한 자료 창고이면서 사람들이 쉽게 찾아 볼 수 있도록 자료 검색 기능을 갖춰 놓은 곳이기 때문이다. 비슷한 곳으로 도서관을 들 수도 있다. 즉 책에서 많은 유용한 데이터를 뽑아 낼 수도 있다.

채성수 chaesungsoo@iabacus.co.kr소프트웨어 개발 전문기업 ㈜ 애버커스 사업총괄 부사장. 엘지전자와 엘지씨엔에스(LG CNS)에서 다년간 컴퓨터 관련 사업을 추진한 전문가이다. 국가 공인 최고 자격인 정보관리기술사로 성균관대 및 서강대에서 컴퓨터 관련 연구를 수행했으며 소프트웨어 공학, 컴퓨터적 사고에 대해서 관심을 갖고 다양한 활동을 하고 있다.

(*이 칼럼은 Nextdaily의 편집방향과 다를 수 있습니다.)
 

© 2017 nextdaily.co.kr 무단전재 및 재배포금지

(주)넥스트데일리 | 등록번호 : 서울 아 01185 | 등록일 : 2010년 03월 26일 | 제호 : 넥스트데일리 | 발행·편집인 : 이선기
서울시 금천구 가산디지털2로 123, 701호ㅣ발행일자 : 2005년 08월 17일 | 대표전화 : 02-6925-6318 | 청소년보호책임자 : 나성률

Copyright © Nextdaily. All Rights Reserved