본문 바로가기
학교 공부/소프트웨어공학

소프트웨어 공학 - 주먹구구식 모델, 폭포수(선형 순차적) 모델

by krapoi 2022. 4. 7.
반응형

이번에 알아볼 것은 소프트웨어 개발 프로세스 모델들인데 그중에서도 맨 처음 배운 2가지를 가지고 와봤다.

바로 본론으로 들어가자.

 

먼저 소프트웨어 개발 프로세스에 대해 알아보자.

소프트웨어 개발 프로세스

소프트웨어 개발 프로세스는 Software Development Life cycle 줄여서 SDLC라고도 불린다.

 

1) 프로세스 : 

여기서 프로세스는 일을 처리하는 과정 또는 순서이다.

프로세스의 목적으로는 주어진 일 해결이 있고, 순서가 정해져 수행되는 일련의 절차이기도 하다.

 

 

2) 소프트웨어 개발 프로세스 :

소프트웨어 개발 프로세스의 좁은 의미는 사용자의 요구사항을 SW 시스템으로 구현하기 위한 일련의 활동이다.

넓은 의미로는 절차나 과정 + 도구, 장비 + 참여자 즉, 소프트웨어 개발 목적을 이루는데 필요한 모든 것이다.

 

이제 소프트웨어 개발 프로세스에 대해 알아보았으니, 개발 모델에 대해 알아보자.

 

소프트웨어 개발 프로세스 모델

 

1) 주먹구구식 모델

주먹구구식 모델은 공식적인 가이드라인이나 프프 로세스가 없는 개발 방식이다.

요구 분석 명세서나 설계단계 없이 간단한 기능만 정리하여 개발한다. 개발을 처음 할 때 대부분 이런 식으로 개발을 한다.

일단 코드를 작성해서 제품 완성 후 요구분석, 설계, 유지보수에 대해 생각한다.

주먹구구식 모델의 이미지 화

-단점

  1. 정해진 개발 순서나 각 단계별로 문서화된 산출물이 없어 관리 및 유지보수가 어렵다.
  2. 프로젝트의 전체 범위를 알 수 없다.
  3. 일을 효과적으로 나눠 개발할 수도 없고, 프로젝트의 진행(진척)을 파악할 수 없다.
  4. 계속된 수정으로 인해 프로그램의 구조가 나빠진다.

 

2) 선형 순차적 모델

이 모델은 폭포수 모델이라고도 불리는 모델로, 소프트웨어 프로세스 초기에 개발된 대표적인 모델이다.

절차가 간결하며 이해하기가 쉽다.

 

-장점

  1. 단계별 진척사항에 대한 관리가 용이함.
  2. 유사한 분야의 SW 개발 경험이 많으면 좋은 결과가 가능하다.
  3. 문서를 체계적으로 관리할 수 있다.

-단점

  1. 각 단계는 앞 단계가 완료되어야 가능하다.
  2. 각 단계마다 결과물이 완벽한 수준이어야 다음 단계에 오류를 넘겨주지 않음.
  3. 사용자가 중간에 가시적인 결과를 몰 수 없어 답답함을 느낌.

선형 순차적 모델의 특징 중 하나가 하나의 단계가 끝나면 문서가 나온다는 것이다.

그래서 문서 중심적 모델로도 불린다.

위 단계에서 각각 나오는 문서는 다음과 같다.

 

계획 - 개발 계획서

요구분석 - 요구사항 정의서, 요구사항 명세서

설계 - 설계 설명서

구현 - 모듈별 코드

 

이렇게 2가지의 모듈과 소프트웨어 개발 프로세스에 대해서 알아보았다.

 

반응형