top of page

[펌] SDLC(System Development Life Cycle) 방법론

시스템 개발 생명 주기 (System Development Life Cycle)

SDLC란 PLC(Product Life Cycle)와 같은 의미를 시스템 개발에 적용시킨 것이다.

학자들간에 다소 의견의 차이가 있지만 SDLC의 일반적 형태를 살펴보면 다음과 같다.

“What” → “How” → “Change”

(1) 시스템 분석: 문제의 정의, 타당성 평가, 정보요구능력, 논리적 설계

(2) 시스템 설계: 물리적 시스템 설계, 물리적 DB설계, 프로그램 작성, 지침서 등의 작성

(3) 시스템 실행/유지보수: 변경, 운용, 유지보수, 사후감사

단계

설명

타당성 조사 (Feasibility study)

조직적/경제적/기술적/운영적/동기적 타당성

시스템 분석 (Systems analysis)

조직분석/현재 시스템 분석/시스템 요구사항 분석

시스템 설계 (Systems design)

인터페이스 설계/데이터 설계/프로그램 설계

시스템 구축 (Systems implementation)

하드웨어, 소프트웨어 획득/테스팅/시스템 전환

시스템 운영 (Systems operation)

시스템 유지/보수/개선

1. 타당성 조사

시스템을 개발하기 전에 기술적 타당성을 포함한 시스템 개발의 조직 전반 입장에서의 합, 목적성을 고려하여야 한다. 예를 들어, 종합상사에서 인트라넷에서 구현될 무역업무 지원 시스템을 구축하는 데 있어 교역국의 문서를 한글로 자동번역하는 시스템을 개발하려고 할 경우 우선 기술적으로 타당성이 결여되어 있다고 할 수 있다. 왜냐면 아직 영어 – 한국어의 번역시스템이 기술적으로 완벽하지 못할 뿐 아니라 그 번역 범위를 교역국 모두로 할 경우 현재의 언어변환 정보기술은 그 정도로 발달되어 있지 못하기 때문이다. 이와 같은 기술적 타당성을 비롯하여 그 외 조직적, 경제적, 운영적, 동기적 타당성도 고려되어야 한다.

조직적 타당성은 개발하려는 시스템이 조직의 전략적 비젼/전략/실행계획 등과 관련하여 합 목적성을 가지고 있는 가를 검토하는 것이다. 예를 들어 (실물)유통체인망을 강화하려는 전략을 가지고 있을 경우 (그 전략의 옳고 그름은 논외) 웹을 통한 전자상거래를 구축하는 데 대대적인 투자를 하는 것은 시스템이 조직 전략에 합목적성을 가지고 있다고 할 수 없다.

기존의 유통체인망 강화 전략을 지원하기 위해서는 GPS (Geographic) Positioning Systems)과 같은 수송운반차량의 위치와 물류의 흐름을 통제하는 시스템이 조직 전략에 합목적성을 가질 것이다. 경제적 타당성은 표현 그대로 투자재원 확보, 이익 증가, 회수기간의 적정성 등을 말하여 운영적 타당성은 시스템 개발 후 운영/관리상의 제반 문제(조직적 지원, 예산, 인적 자원)에 관한 타당성을 말한다. 마지막으로 동기적 타당성은 시스템의 최종사용자가 시스템 개발과 운영과정에 적극적으로 참여하려는 동기가 충분한가에 관한 것이다. 이는 가장 평가하기 어려운 정성적(Qualitative) 타당성이기는 하나 시스템의 성공적 활용을 위해서는 시스템 개발의 초기단계부터 면밀히 분석되고 필요하면 계획과 관리를 통하여 최종사용자의 시스템에 대한 동기를 충분히 부여하여야 한다. 대표적으로 시스템 사용자의 동기를 제고하는 방법은 교육이라고 할 수 있다.

2. 시스템 분석

시스템 분석은 사용자가 시스템으로부터 원하는 것을 도출하는 과정으로 이 단계를 거쳐 시스템 요구사항이 결정된다. 우선 시스템 분석은 조직분석, 현재 시스템 분석, 요구사항 분석으로 나눌 수 있다.

분석

내용

조직분석

최종사용자와 조직의 정보에 대한 요구

현재 시스템 분석

현재의 정보시스템의 활동, 자원, 출력물 등 분석

시스템 요구사항 분석

최종사용자의 정보에 대한 요구를 만족시키는 데 필요한 정보시스템의 능력

조직 분석은 시스템이 사용될 조직 전반에 대한 것으로 이를 통하여 시스템 개발시 고려할 사항 혹은 제한점 등을 알아낸다. 예를 들어 인사정보시스템을 개발하는 데 있어 현재 조직의 인사에 관한 의사결정이 매우 폐쇄적이고 임의적으로 이루어지고 있다고 할 경우 (역시 이러한 것의 옳고 그름은 논외) 인사평점 공개와 인사결정 자유토론 게시판 등을 가진 시스템은 그 조직에 맞지 않을 것이다. (물론 우리가 앞에서 배웠듯이 이와 같은 시스템을 통해 그 조직의 인사문화를 바꿀 수는 있을 것이다. 그러나 변화한다고 하는 것은 그러한 조직의 전략이 선행함을 의미한다.)

또한 기존 활용되고 있는 시스템에 대한 분석이 필수적이다. 특히 요즘 들어 시스템 통합이 중요해짐에 따라 기존 시스템의 플랫폼(Platform – 이 용어의 의미가 구체적으로 생각나지 않으면 IT Architecture 강의록을 보십시오!)과 데이터베이스와 호환되는 시스템을 개발하는 것은 유연하고 효율적인 시스템 개발에 절대적이라고 할 수 있다.

시스템 분석 단계의 마지막인 시스템 요구사항 분석은 사용자가 시스템으로부터 원하는 정보 요구를 시스템 분석가가 도출하는 것이다. 이는 사용자 인터페이스 요구사항, 처리사항, 저장사항, 제어요구사항 등으로 이루어져 있다. 구체적인 내용은 다음과 같다.

시스템 요구사항

내용

사용자 인터페이스 요구사항

최종사용자와 조직의 정보에 대한 요구

처리 요구사항

입력을 출력으로 바꾸는데 요구되는 각종 계산, 결정 규칙, 용량, 응답시간에 대한 요구

저장 요구사항

데이터베이스의 구조,, 내용, 규모에 대한 요구

갱신, 조회의 유형 및 빈도에 대한 요구

자료 유지에 대한 길이와 원리에 대한 요구

제어 요구사항

입력, 처리, 출력 및 저장 기능에 대한 정확도, 안전성, 보안성, 유효성에 대한 요구

3. 시스템 설계

이 단계는 시스템 분석단계의 산물인 사용자 요구사항을 만족시킬 수 있는 시스템을 설계하는 것으로 사용자 인터페이스(Interface)설계, 자료설계, 처리설계로 나눌 수 있다. 인터페이스설계는 화면구성, 입출력 양식 등에 대한 설계를 말하고 자료설계는 데이터베이스에 포함되는 파일의 구성과 그 형태에 대한 것이며 처리설계는 제안된 시스템의 프로그램 부분으로 각 모듈의 명세와 각 모듈의 상호작용에 대한 것이다.

4. 시스템 구축

시스템 설계 단계에서 마련된 설계명세(design specification)를 바탕으로 하드웨어와 소프트웨어를 구입 혹은 실제 제작하는 단계가 시스템 구축단계이다. 이 단계는 시스템 구현과 더불어 시스템 테스팅(testing)과 시스템 관련 문서화(documentation)가 이루어진다. 특히 문서화는 하드웨어, 프로그램, 데이터 등에 대한 기록으로 사용자와 개발자, 운영/보수자, 장래 개발자 모두를 위해 필수적이다. 구축단계의 마지막은 시스템 전환(Systems conversion) 활동이다. 시스템 전환 방법은 다음과 같이 나눌 수 있다.

시스템 요구사항

내용

직접전환

일정 시점을 기준으로 종전 시스템을 새로운 시스템으로 전환하는 것

단계전환

상당 기간 신/구 시스템을 동시에 사용하는 것으로 설치와 사용상의 문제점이 해소되면 신 시스템으로 전환하는 것

병행전환

단계전환과 달리 신/구시스템이 결합된 형태로서 시스템을 사용하는 것으로 점점 신시스템의 비율을 올려서 최종적으로 신시스템으로 전환하는 것

5. 시스템의 운영

마지막으로 시스템 구축이 끝나면 시스템 운영단계에 들어 간다. 이는 정상적으로 시스템이 사용자에게 사용될 수 있도록 제반 시스템관리와 운영을 포함한다. 또한 시스템 유지보수(maintenance)를 통하여 사용 중 발생하는 오류 수정과 업무처리 변화와 조직 환경변화에 따라 시스템을 변경하여야 한다.

◇ SDLC의 필요성

1) 시스템의 가변성(可變性)

① 정보시스템도 분석→설계→구현→운영(유지보수)→폐기되는 생명체

② 변화하는 사용자의 요구사항 수용이 요구됨.

2) Project의 진행관리: 시스템 개발 과정을 일련의 단계로 나누고 매 단계마다 Task를 부여하여 이에 대한 최종 산출물을 명시함.

① 개발 과정의 통제

② 사용자의 요구에 맞는 고품질의 시스템 개발

③ 적절한 전문실행자에게 책임 위양

④ 필요한 반복과정의 최소화

⑤ 개발된 시스템의 계속적인 경제성 평가 및 다음 단계의 타당성 검토 → Go/Stop 결정

∴ 시스템 전 수명주기에 걸친 Cost의 최소화, 무형의 S/W시스템의 성공적인 완료.

◇ SDLC의 장/단점

장점

단점

소프트웨어 개발과정에 대한 확실한 통제 가능

대규모 시스템 개발에 적합

문서화 용이

사용자 요구사항의 변경에 적절히 대응하기 어려움 (시스템 개발의 경직성)

SDLC의 후반부에는 사용자의 요구사항을 반영하기 어려움

출처: Zenome’s Lab (네이버블로그)

조회수 0회댓글 0개

Comments

Couldn’t Load Comments
It looks like there was a technical problem. Try reconnecting or refreshing the page.
bottom of page