본문 바로가기
IT관련/JAVA_정리 노트

[ 정보처리기사 ] 소프트웨어 개발방법론 선정 _ SDLC , 소프트웨어 개발방법론

by XoX 2021. 7. 16.
728x90

 

해당내용은 <수제비 정보처리기사> 책을 참고하여 작성된 개인적인 용도의 요약본입니다.

 

Ⅰ소프트웨어 설계

Ⅱ 소프트웨어 개발

Ⅲ 데이터베이스 구축

Ⅳ 프로그래밍 언어 활용

Ⅴ 정보시스템 구축관리

    Chapter 01 소프트웨어 개발방법론 활용

        1. 소프트웨어 개발방법론 선정

        2. 소프트웨어 개발방법론 테일러링

    Chapter 02 IT 프로젝트 정보시스템 구축관리

    Chapter 03 소프트웨어 개발 보안 구축

    Chapter 04 시스템 보안 구축

 


1. 소프트웨어 개발방법론 선정

1) 소프트웨어 생명주기 모델

(1) 소프트웨어 생명주기(SDLC, Software Development Life Cycle) 모델의 개념

시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차

 

(2) 소프트웨어 생명주기 모델 프로세스

  • 구사항 분석: 다양한 이해관계자의 기능 요구사항, 비기능 요구사항을 정의하는 단계
  • : 정의한 기능을 실제 수행할 수 있도록 수행 방법을 논리적으로 결정하는 단계
  • : 특정 프로그래밍 언어로 설계 단계에서 결정한 대로 실제 프로그램을 작성하는 단계
  • 스트: 시스템이 정해진 요구를 만족하는지, 예상과 실제결과가 어떤 차이가 있는지 검사, 평가 단계
  • 지보수: 시스템이 인수되고 설치된 후 일어나는 모든 활동을 수행하는 단계

(3) 소프트웨어 생명주기 모델 종류

  • 포수 모델: 각 단계를 확실히 마무리 지은 후에 다음 단계로 넘어가는 모델
  • 로토타이핑 모델: 고객이 요구한 주요 기능을 프로토타입(시제품)으로 구현해 피드백 반영하며 만들어가는 모델
  • 선형 모델: 위험(계획시 예상 못한 요소)을 최소화하기 위해 점진적으로 개발해 완벽한 시스템으로 나가는 모델
  • 복적 모델: 구축 대상을 나누어 병렬적으로 개발 후 통합하거나 반복적으로 개발하여 점증 완성시키는 모델
구분 폭포수 모델
Waterfall Model
프로토타이핑 모델
Prototyping Model
나선형 모델
Spiral Model
반복적 모델
Iteration Model
절차도
- 획 및 정의
험 분석
발 → 객 평가
-
특징 순차적 접근 프로토타입 개발 위헙분석, 점진적 반복 개발 증분방식 병행 개발
장점 이해가 용이, 관리편리 요구분석 용이, 타당성 검증 가능 위험성 감소와 변경에 유연한 대처 병행 개발로 인한 일정 단축 가능
단점 중간에 요구사항 변경 어려움 프로토타입 폐기에 따른 비용 증가 단계 번복에 따른 관리 어려움 병행 개발에 따른 관리 비용 증가

 

2) 소프트웨어 개발방법론

(1) 소프트웨어 개발방법론 개념

개발방법론은 소프트웨어 개발 전 과정에서 지속적으로 적용할 수 있는 방법, 절차, 기법이다.

※ SDLC는 요설구테유(생명주기)를 할 때, 요구사항  쪼개서 요설구테유를 따로따로 돌릴지, 아니면 쭉할지, 위험분석을 추가해서 할지 등등 그 방식에 대한 모델이고, 개발방법론은 어떻게 개발할지와 관련되어 있다.

 

(2) 소프트웨어 개발방법론 종류

  • 구조적 방법론 : 논리 기술에 중점을 둔 도형식 표현 방법. 시각적으로 명확히 식별하는 데 적합하며 나씨-슈나이더만 차트를 사용한다.
  • 정보공학 방법론: 정보시스템 개발에 필요한 관리절차와 작업 기법을 체계화한 방법론
  • 객체지향 방법론: 객체라는 기본 단위로 시스템을 분석 및 설계하는 방법론
  • 컴포넌트 기반 방법론(CBD): 컴포넌트를 조립해서 새로운 응용 프로그램을 작성하는 방법론. 개발 기간 단축으로 인한 생산성 향상, 새로운 기능 추가가 쉽다는 장점이 있다.
  • 애자일 방법론: 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발방법론. 
  • 제품 계열 방법론: 특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론. 임베디드 소프트웨어(HW에 내장시키는 SW)를 작성하는 데 유용한 방법론. 영역 공학응용 공학으로 구분

 

(3) 애자일과 전통적 방법론 비교

비교대상 애자일 방법론 전통적 방법론
계획수립 유동적 범위 설정 확정적 범위 설정
업무 수행 팀 중심 업무 수행 관리자 주도적 명령과 통제, 개인 단위 업무 수행
개발/검증 반복 주기 단위로 소프트웨어를 개발/검증 분석 - 설계 - 구현 - 테스트를 순차적으로 수행
팀관리 업무 몰입, 팀 평가 경쟁, 개별 평가
문서화 문서화보다는 코드를 강조 상세한 문서화를 강조
성공요소 고객 가치 전달 계획/일정 준수
유형 XP, 스크럼, 린 폭포수, 프로토타입, 나선형

 

728x90
반응형

댓글