대메뉴 바로가기 본문 바로가기

조사ㆍ연구보고서

조사ㆍ연구보고서 상세보기
제목 데이터베이스 개발을 위한 종합지침서
등록일 1995/02 조회수 14641
첨부파일 94_develop.PDF 파일 94_develop.PDF (다운로드수:6521)
1. 연구의 목적 및 중요성


1) 연구의 목적

본서를 통해 데이터베이스 개발을 위한 지침서를 제시하고자 한다. 여기서 지침서라 함은 "약간 느슨한 (loose) 의미에서의 방법론"을 의미한다. 지침서에는 본격적인 방법론이 담고있는 개발절차의 단계화, 작업의 명세화, 수행방법의 제시, 문서화를 지향하고 있지만 그 기준과 규칙 적용의 엄격성(rigidity )은 요구하지 않는다. 즉, 방법론에서처럼 어떤 작업을 어떤 방법과 도구에 의해 수행하고 그 결과를 특정한 양식에 의해 표현할 것을 반드시 요구하는 것이 아니라, 그러한 사항들이 왜 필요한지를 설명하고 어떠한 작업절차가 이루어져야 하는지를 추천하고 어떠한 곳에 주안점을 둘 것인지를 제안하는 가이드라인적 맥락을 취하고 있다.

현재 DB 개발을 위한 방법론이 아직 잘 정립되어 있지 않는 까닭은 여러가지 관점에 의해 살펴질 수 있다. DB개념과 기술이 워낙 광범위한 분야에서 다양하게 활용되고 있는 것도 표준화되고 일반화된 방법론의 구축을 어렵게 하는 이유 중 하나이다. 또는 몇달이 멀다하고 새로운 피라다임, 이론, 기법이 등장하고 있는 현상으로서도 그 이유를 설명할 수 있다. 이러한 관점에서 본다면 DB 개발과 관련된 다양한 이론, 원리, 절차, 도구, 기법 등을 하나의 방법론으로 완벽하게 취합하는 것은 짧은 시간내에 몇몇 사람의 노력으로는 블가능한 것인지도 모른다.

여기서 제시된 지침서의 목적은 방법론 구축을 위한 하나의 시금석으로 이해되어야 할 것이다. 본서를 통해 여러 사람들의 전문지식과 실무경험에 의한 의견이 모아지고, 비판이 가해지며, 여러 방향에서의 지속적인 연구를 유도함으로써 보다 개선되고 일반적으로 적용될 수 있는 방법론으로 발전해 갈 수 있을 것이다.

2) 연구의 중요성

DB를 개발하고자 할 때 첫번째로 부딪히는 장애는 개발노력과 과정을 효을적으로 진행시킬 수 있는 방법론이 없다는 문제이다. DB 개발을 위한 일반적 방법론이 아직까지 잘 정립되어 있지 않기 때문에 DB마다 또는 개발자마다 나름대로의 개발방법과 노하우를 사용하고 있다. 이러한 현상은 DB 개발의 창의력과 다양성을 고무한다는 점에서는 높이 평가될 수 있다. 그러나 개발자의 개인적 경험이나 자의성이 지나치게 발휘되고 개발과정의 처음과 끝을 일관성있게 가이드할 기준이 결여될 때 다음과 같은 문제점이 발생한다.

언제 무엇을 왜 하는지에 대한 개념이 명료하지 않다. 그러므로 어떤 작업은 중복되고 어떤 작업은 누락된다. 이러한 시행착오를 거치다보면 예산은 초과되고 개발기간은 넘기게 마련이다.


전쟁터에서는 명석한 두 장군보다 어리석은 한 장군이 낫다는 말이 있다. 조금 부족하더라도 일관성있게 일을 추진하는 것이 얼마나 중요한지를 의미하는 말이다. DB 개발에서도 마찬가지다. 각기 전공과 관점이 다른 여러 사람을 모아서 하나의 DB를 성공적으로 개발하기 위해서는 무엇보다 일관성이 필요하다. DB 개발작업을 일관성있게 계획, 관리, 통제하는 기준이 없고 개발팀 내의 권한과 책임이 명료하지 않다면 DB 개발노력이 성공하리라고 기대할 수 없다. 특히 각자의 역할과 기대가 애매모호하므로 인간적인 갈등이 일어나기 쉽고 이러한 인간적 갈등이 프로젝트 추진에 어떠한 악영향을 미치는지는 여러 사례에 의해 입증되고 있다.


가장 심각한 문제 중 하나는 개발된 DB로부터 산출되는 정보의 품질에서 드러난다. 방대한 량의 정보는 흐르고 있으나(information flood) 이용자가 정작 원하는 정보는 찾을 수 없다. 혹은 DB에 담긴 데이타가 정확하지도 완전하지도 않으며, 이용자가 쉽게 이해 할 수 없는 형태로 제공된다. 이럴 경우 이용자는 DB를 외면하기 시작하며, 이용자로부터 외면당하는 DB는 이미 그 존재의의를 상실하고 있는 것이다.


오랜기간에 걸쳐 DB 개발이 완료되고 이용자에게 정보를 제공하는 시점은 끝이 아니라 새로운 시작의 시점이다. DB는 실세계의 변화를 반영하고 이용자의 요구변화를 충족하기 위해 지속적으로 변화해 가야 한다. 그러나 경직된 DB 구조로 인해 이러한 확장과 변화 요구를 수용하지 못한다.
이러한 문제점들을 해결하기 위하여 본 데이터베이스 개발을 위한 종합지침서에 대한 연구는 매우 중요하다.

2. DB 개발 방법론(Methodology)이란?

(1) 방법론은 DB 개발과정과 절차를 단계(stage)화 한다.

DB 개발과정의 처음부터 끝까지를 확인하고 명료한 단계로 구분한다. 그리고 각 단계가 어떠한 순서로 (예: top-down, bottom up) 진행되는지를 명시한다. 이렇게 함으로써 현재 무슨일을 해야하고 앞으로 어떠한 일이 예정되어 있는지를 분명히 할 수 있다.

(2) 각 단계별로 어떠한 작업(task)이 수행되어야 하는지를 명시한다.

DB 개발의 각 단계에서 이루어져야 할 작업이 구조적으로 구분되어 있음으로써 무슨 일을 해야할 지가 분명해지고, 개발팀 내의 역할과 권한이 명료하게 배분된다. 여기서 구조적이라 함은 각자 구분된 작업을 정해진 순서대로 제대로 수행하기만 하면 자연스럽게 전체적인 균형과 조화를 이룰 수 있음을 의미한다. 예기치 않은 시행착오, 불필요한 중복, 또는 누락을 방지할 수 있다.

(3) 특정작업을 수행하는 방법(methods)과 지켜야 할 표준규칙을 제공한다.

방법론은 "어떻게 수행할 것인가(how to do it)?"라는 질문에 대답한다. 즉, 수행되어야 할 작업을 효율적 으로 수행할 수 있는 방법(methods), 기법(techniques), 지침(guidelines), 또는 경험칙(heuristics )를 제시한다. 이러한 제반 노하우를 활용함으로써 DB 개발노력과 자원을 효율적으로 사용할 수 있게 된다. 그리고 특정한 작업마다 반드시 지켜져야 할 규칙을 설정하고 이를 준수하도록 함으로써 오류와 혼란을 방지할 수 있다.

(4) 작업 수행결과의 문서(documentation)화를 요구한다.

각 단계마다 그리고 각 작업마다 산출물로서 작성되어야 할 사항과 그러한 사항과 어떠한 문서양식으로 기록되어야 하는지가 제시된다. 이러한 문서양식의 제시는 다양한 관점을 가진 개발자와 이용자들의 의사 소통매체인 동시에 실제 무엇을 해야하는지를 눈으로 보여주는 예정표로서도 중요한 의미를 지니고 있다. 개발 방법론에서 제시되는 문서양식은 다음과 같은 조건을 갖추어야 한다.

작성자가 아닌 사람이 한눈에 쉽게 이해할 수 있어야 한다.
작성하기 용이하고, 작성 요령과 방법이 명시적이든 암시적이든 제공되어야 한다.
필요한 내용을 완전히 그리고 가장 간단한 형태로 표현할 수 있어야 한다.
가능한 한 정형화된 격식과 일반적으로 적용될 수 있는 구조를 지니고 있어야 한다.
개발이 진척됨에 따라 보완/수정될 수 있는 확장성과 유연성이 있어야 한다.
한 단계의 산출물 문서는 대개 다음 단계의 투입물이 된다. 한 단계가 완료되기 위해서는 앞 단계의 책임자와 뒷 단계의 책임자가 사인을 하고 인수/인계를 한다. 만약 산출물이 문서화되지 않았거나, 사인이 되지 않으면 그 단계가 종료된 것이라 인정되지 않는다. 따라서 문서화는 DB 개발과정의 책임과 권한을 명료하게 하고, 개발진척사항을 나타내는 지표로서의 중요성을 가진다.

(5) 단계를 따라가고 작업을 지원하는 자동화 도구(tool)를 사용한다.

자동화 도구는 방대한 규모의 DB 개발작업을 지원하고 프로젝트를 관리하기 위해서 필수불가결한 것이다. 화면에 나타난 파라메터를 통해 데이타를 입력함으로써 작업계획을 생성하고, 일정관리를 작성하며, 진척보고서를 만들고, 프로젝트 현황을 나타내고, 자원이나 스케쥴 배분계획을 작성하며, 제반 문서(예: Data Flow Diagram, Data Dictionary)를 산출하여 준다. 이러한 일들을 자동화 도구없이 수작업으로 수행한다는 것은 마치 현대전에서 돌도끼로 무장하는 것과 같다. 결론적으로 말하자면 방법론이란 DB 개발과정의 공정화(engineering)를 통하여 다음과 같은 목적을 추구하고 있다.
DB개발작업을 일관성있게 진행하며,
DB개발노력을 효율적으로 관리하며,
개발되는 DB의 품질과 정보가치를 향상한다.