SDLC(Software Development Life Cycle)

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/ 0 comments

SDLC(Software Development Life Cycle)

소프트웨어 위기라는 이야기가 나온 지 수 십년이 지났지만, 아직도 소프트웨어는 여전히 품질, 납기 문제와 내재된 결함을 갖고 있다. 이러한 소프트웨어가 갖는 문제점을 해결하기 위해 소프트웨어 개발 프로세스에 소프트웨어 개발 생명주기모델을 도입한다.

SDLC 정의

-      소프트웨어를 개발하기 위한 정의 과정, 개발 과정, 유지보수 과정, 폐기 과정까지를 하나의 연속된 주기로 보고, 효과적으로 수행하기 위한 방법론을 모델화 한다.

-      소프트웨어 공학을 실제 구현하기 위해 사용되는 프레임워크로서 소프트웨어 개발 생명주기 모델이라고도 함

SDLC 등장 배경

-      소프트웨어 위기로 인한 체계적인 소프트웨어 개발 필요

-      소프트웨어 개발을 효과적으로 수행하기 우한 방안 모색

SDLC 필요성

-      소프트웨어를 획득하는 과정에서 나타나는 소프트웨어 위기를 극복하기 위한 방안 필요

-      효과적으로 소프트웨어를 개발하기 위해 표준화된 수행 방법과 절차가 필요

-      고품질의 소프트웨어를 획득하는 데에도 일정 수준이상의 생산성을 확보

SDLC 방법론의 절차

단계 내용
타당성 검토

(Feasibility Study)

-       요구사항을 만족시키기 위한 대안을 분석하는 작업을 수행

-       시스템 구현에 따른 생산성 향상, 향후 비용절감 등 전략적 이익을 결정

요구사항 정리

(Requirment Definition)

-       타당성 검토시 선택된 시스템 개발에 대한 요구사항을 식별, 상세화 하는과정
설계

(Design)

-       고객의 요구사항에 기초하여 프로그램 개발을 위한 사양 작성

-       개발 프로세스에 대한 새로운 요구사항을 관리하기 위한 공식적인 변경관리 프로세스 정의

개발

(Development)

-       프로그래밍을 착수하고, 시스템을 운영할 수 있는 형태를 갖춤

-       다양한 수준의 테스트를 통해 개발 시스템에 대한 검토와 검증이 수행됨

이행

(implementation)

-       새로운 정보시스템에 대하여 운영환경을 구축하고 사용자 인수테스트를 수행
이행 후 검토 -       ROI(Return on investment)와 같은 방법을 이용하여 프로젝트의 투입원가 대비 효과를 분석

-       향후 수행할 타 프로젝트를 위한 Lessons Learned를 정리

SDLC 모델의 분류

구분 내용
폭포수 모델

(Waterfall Model)

-       고전적 라이프사이클 패러다임

-       분석, 설계, 개발 구현, 시험, 유지보수를 순차적으로 접근하는 방법

프로토타이핑 모델

(Prototyping Model)

-       개발 대상인 시스템 주요기능을 초기에 운영모델로 개발하는 것

-       점진적 개발방법(폭포수 모델 단점 보안)

-       일회용, 진화용 시제품

반복적 개발 모델

(Iterative and Incremental Development Model)

  1.   Incremental Development Model

-       폭포수 모델변형으로, 소프트웨어를 구조적 관점에서 하향식 계층구조의수준별 증분을 개발하여 이를 통합하는 방식

  1.   Evolutionary Development Model

-       시스템이 가지는 여러 구성요소의 핵심부분을 개발한 후 각 구성요소를 개선 발전시켜 나가는 방법

RAD기법 모델

(Rapid Application Development)

-       사용자에 주도로 요구사항 정의, 분석, 설계

-       Code Generator에 의한 신속한 시스템 개발 기법

4세대 모형

(4th Generation Technique)

-       CASE 및 자동화도구를 이용하여 요구사항 명세로부터 실행코드를 자동으로 생성할 수 있게 해주는 기법

SDLC 모델의 선정기준

-      수행프로젝트의 규모와 성격에 따른 개발주기 선정 및 개발생명 주기기반의 개발방법론과 관리 방법론을 도입

-      도입된 개발, 관리 방법론과 연계하여 최대한의 생산성 확보 여부를 고려해야 함.

-      개발 소요시간, 비용, 기대 품질을 고려하여 불필요한 작업항목을 최소화하여 진행 할 수 있는 기준을 도입

-      개발 과정의 통제수단과 소프트웨어 산출물 인도 방식에 따라 개발모형을 선정 해야함.

SDLC 문제점

-      RAD 개발 모델과 프로토타입 모델에서는 사용자 참여가 충분하지만, 여타의 개발 모델에서는 사용자의 참여가 미흡하여 소프트웨어 완성 단계에서 품질의 문제가 있을 수 있다.

-      각 진행단계별 진행내용에 대한 점검을 대부분 문서위주로 확인 하는 방식이기 때문에 비효율적인 작업진행 가능성 있음.

-      단계별로 진행 내용을 수행하고 이에 따라서 다음 단계를 진행하기 때문에 전체 생명주기의 진행이늦어질 가능성 있음.

-      지속적으로 발전해서 개발이 필요하거나 계속해서 확장되는 시스템에는 부적합한 모델임.

Leave a Comment

작성하신 댓글은 관리자의 수동 승인 후 게시됩니다.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*