시스템 개발이란 시스템을 개발하기 위한 기본적인 접근이나 개념을 기초로 시스템 개발의 라이프사이클에 따라서 유기적이고 체계적으로 시스템을 개발하는 것을 말한다. 따라서 이러한 시스템 개발 절차를 살펴보도록 한다.
[시스템의 개발 단계]
소프트웨어 시스템은 여러 구성요소가 유기적으로 상호 작용하는 시스템이며 일반적으로 하드웨어 및 다른 요소들과 결합된다. 따라서 시스템 전체의 기능과 요구사항의 정의가 선결된 후 그 기능의 일부를 소프트웨어 시스템이 담당한다. 이러한 시스템 개발 과정은 학자에 따라 다양한 형태로 분류되나 일반적으로 문제의 제기 및 계획 시스템 분석 시스템 설계 시스템 구현 시스템 테스트 시스템 실행 시스템 유지 및 보수 단계를 거치게 된다.
[문제의 제기]
사무 작업의 합리화나 능률화 등 여러가지 목적으로 컴퓨터의 도입이 계획되며 시스템화하는 대상 업무는 처음으로 컴퓨터화하는 경우도 있고 현재 사용되고 있는 업무를 다시 능률적으로 활용하려고 하는 경우도 있다. 이러한 환경에서 컴퓨터 이용의 목적을 달성하기 위해 시스템 개발 작업을 시작한다. 따라서 이러한 시스템 개발의 동기는 환경의 변화에 다라 생기는 시스템 내부의 모순을 해결하고 시스템 효율화를 더욱 높이기 위한 것이다.
1.문제의 발생, 발견, 예견
시스템의 개발은 문제의 제기에서 시작된다. 문제의식이 강렬할수록 그 해답이 쉽게 나올 수 있으며, 문제의식이 없는 곳에서는 물론 발전도 없다. 현명하고 날카로운 질문속에 해답이 나오는 것이므로 맨 먼저 풀어야할 문제가 과연 무엇인가를 확인해야 한다. 따라서 문제는 발생되었거나 스스로 발견 해내었거나 일어날 수 있을 것이라고 예견하는 셋으로 전개될 수 있다.
첫째의 발생은 경영체의 외부환경의 변화로 말미암아 일어나며 이에 신속히 효과적으로 대응할 필요성이 내부에서 일어남을 말한다. 흔히 말하는 문제가 터진 것이다.
둘째의 발견은 첫째의 발생이 표면화 되어버리기 이전에 과연 어떠한 문제가 잇느냐를 찾아보는 것이다. 표면화된 후일지라도 그것의 배후에 숨은, 또는 기반에 깔린 진정한, 본질적인 문제가 무엇인가를 밝혀내는 것이다.
셋째의 예견은 가장 소망스러운 것으로서 현재는 설사 큰 문제가 없다 하더라도 앞으로 어떠한 문제에 부딪칠 것인가를 짐작해서 대비를 서두르는 것이다.
문제가 발생된 다음엔 이미 늦기 마련이다. 관리자가 할 일 중 으뜸가는 것은 문제의 발견과 예견일 것이다. 특히 예견함으로써 미래를 선취해나가야 하는 것이 가장 바람직한 것이다.
2.목표의 설정
목표설정단계는 종합시스템과 그 서브시스템의 개괄적이며 기본적인 목표를 설정하는 것으로서 평소의 꾸준한 연구를 바탕으로 한 기본방향의 제시와 시스템을 개량 할 때의 준칙을 미리 마련한 것 등을 포함한 것이다. 개발해야 할 부분시스템이 도달하여야 할 목표는 물론 전체시스템의 기본목표도 함께 검토해야 한다. 어떻게 할 것인가, 즉 분석, 설게에 들어가기 이전에 무엇을 왜 어느수준까지 할 것이가를 분명히 밟혀두는 것이다.
그리고 목표에 대한 끊임없는 재검토가 평소에 이루어져야 한다. 어떤 부분의 시스템화도 전체시스템의 목표와 견주어서 구체적 당면 목표가 세워지게 된다. 이를테면 이번에 실시하는 시스템화는 어떤 목표를 가지고 있느가를 밝히기 위하여 다음과 같은 목표설정 내용을 밝힌다. 목표가 애매한 채, 목적지가 정해져 있지 않은 채 출발해선 안 되겠다.
3.계획의 수립과 관리
시스템화는 전체시스템과 그 안의 각 서브시스템을 항상 활력에 넘치게 하는 일련의 체질 개량 또는 혁신 작업이다. 많은 서로 다른 전문가가 협동하여 한정된 자원을 가지고서 장기간에 걸쳐서 진행하는 과업이므로 이에 관한 기본계획이 반드시 있어야 하며, 이 계획에 의해서 작업의 진행이 관리되어야한다. 따라서 이 계획에는 다음과 같은 계획수립과 관리가 포함된다. 성공적인 시스템개발을 위해서는 신중하고도 구체적인 행동계획이 사전에 마련되어 있고 이에 따라서 진행되어야한다.
4.부분계획과 그 진행관리
앞의 전체적인 기본계획에 의해서 각각의 부문, 즉 서브시스템에 대한 개량 또는 혁신이 진행되는데 이때에도 그 부문을위한 계획이 세워져야 하고 이에 의해서 작업이 관리된다. 그러므로 기본계획에서 정해진 항목들이 보다 구체화된다. 그리고 예정시간표를 짜고 대상범위를 정하며 연구, 참여자의 수와 범위를 정한다. 이 구체적 계획은 관련 부서 책임자의 회의를 통하여 결정될 수 있다. 그 결정 사항은 관련 부문에 있는 모든 사람에게 알려서 협력을 요청하여야한다.
5.개발팀의 구성
개발하기로 결정이 나면 작업팀을 구성한다. 하나의 정식 조직이되 임시적인 조직으로서 발족한다. 이 팀은 여러 전문가로 된 혼성팀이다. 전원이 먼저 개발하고자하는 시스템의 해결해야할 문제의 본질과 범위, 내용, 영향 등에 관한 공통 인식을 가질 필요가 있다. 그리하여 첫 단계의 할 일은 분석과 설계에 대한 기본적인 방침, 방향을 협의해서 정하는 것이다. 작업 목적과 순서, 그리고 분담을 정하고 분석을 하며 곧 이어서 기본설계까지를 맡는다.
[시스템 분석]
일반적으로 분석이란 어떤 행위를 취하기 전에, 해결할 문제에 관하여 연구하는 것이다. 그러나 우리가 분석이다 하면 현행시스템의 실태를 규명하는 데에 그치는 인상이 짙으나 사실은 그보다 최적 안을 찾는 활동이다. 문제를 정리하고 현상을 조사하면서 이상적인 시스템을 구상한 다음 이것을 어렵게하는 제약조건을 가려내어서 적절한 하나의 시험적인 안을 만드는 계속적인 일련의 창조활동이다. 즉 시스템 분석은 시스템 조사에서 얻은 자료를 기초로 해서 사용자의 요구사항을 파악하고 업무를 분석하는 것으로 사용자의 막연한 문제의식이나 요구로부터 시스템이나 소프트웨어의 목적, 수행할 작업 등을 명확히 하여 시스템 분석 명세서를 작성하는 것이다.