소프트웨어 개발 방법론

SDLC ?

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

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

요구사항 분석 : 요구와 조건을 결정하는 단계

설계 : 시스템 명세 단계에서 정의한 기능을 실제 수행할 수 있도록 수행방법을 논리적으로 결정하는 단계

구현 : 실제 프로그램 작성 단계

테스트 : 검사하고 평가

유지보수 : 시스템이 인수되고 설치된 후 일어나는 모든 활동

SDLC 모델 종류

폭포수 모델 : 마무리를 지은후 다음단계로 넘어가는 모델

프로토타이핑 모델 : 고객의 피드백을 반영하여 소프트웨어를 만들어가는 모델

나선형 모델 : 위험을 최소화

절차: (계위개고) 계획 및 정의 - 위험 분석 - 개발 - 고객 평가

반복적 모델

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

구조적 방법론 : 전체 시스템을 기능에 따라 나누어 개발, 이를 통합하는 분할과 정복 접근 방식의 방법론

정보공학 방법론 : 정보시스템 개발에 필요한 \ 절차와 작업 기법 체계화한 방법론

객체 지향 방법론 : 객체라는 기본 단위로 \ 시스템을 분석 및 설계하는 방법론

컴포넌트 기반 방법론(약술) : 소프트웨어를 구성하는 컴포넌트를 조립하여 \ 새로운 응용 프로그램 작성하는 방법론

애자일 방법론 : 절차보다는 사람이 중심이 되어 유연하고 신속하게 적응하면서 효율적으로 시스템 개발하는 방법론

애자일 방법론 유형

XP : 의사소통 개선, 즉각적 피드백으로 소프트웨어 품질을 높이기 위한 방법론

가치

짝 프로그래밍 : 개발자 둘이서 짝으로 코딩

지속적인 통합 CI : 매일 여러번씩 소프트웨어를 통합하고 빌드해야한다는 원리

메타포어 : 공통적인 이름 체계와 시스템 서술서를 통해 \ 고객과 개발자간 의사소통 원활

TDD 태스트 주도 개발(약술) : 작성해야하는 프로그램에 대한 테스트를 먼저 수행하고 \ 이 테스트를 통과할 수 있도록 실제 코드 작성

리펙토링 : 프로그램 기능 바꾸지 않으면서 \ 중복제거 , 단순화 등을 위해 시스템 재구성

목적 : 소프트웨어를 보다 이해하기 쉽고\ 쉽게 수정할 수 있도록 만드는 것

:

도요타의 시스템 품질기법을 소프트웨어 개발 프로세스에 적용 \ 낭비요소를 제거하여 품질을 향상시킨 방법론

스크럼 :

매일 정해진 시간 , 장소에서 \ 짧은 시간 개발을 하는 팀을 위한 \ 프로젝트 관리 중심 방법론

*스크럼 마스터

스크럼 프로세스, 프로젝트 리더로 팀이 스크럼을 효과적으로 활용할 수 있도록 보장하는 역할

*스프린트

2~4주의 짧은 개발 기간으로 반복적 수행을 통해 개발품질 향상

*번 다운 차트

남아있는 백로그 대비 시간을 그래픽적으로 표현한 차트

람바우 데이터 모델링 (객동기)

객체 모델링 (Object) = 정보 모델링 (Information) : 시스템에서 요구하는 객체를 찾고 \ 객체간의 관계를 정의하여 \ ER 다이어그램을 만드는 과정 까지

동적 모델링 (Dynamic) : 시간의 흐름에 따라 \ 동적인 행위를 표현하는 모델링

기능 모델링 (Functional) : 프로세스의 자료 흐름(DFD)을 중심으로 \ 처리과정을 표현하는 모델링

비용산정방식

프로젝트 개발 시간과 계산식

프로젝트 기간 = 인월(MM) / 인력

Man Month(일월) : 한 사람이 1개월동안 할 수 있는 일의 양

MM = LOC / 생산성 (개발자 월평균 x라인 개발)

LoC : 코드 라인 수의 낙관치, 중간치, 비관치를 측정하여 예측치를 구하는 방식

COCOMO : 프로그램 규모에 따라 비용 산정

 Oragnic mode

 반 분리형

 내재형

Putnam : 소프트웨어 개발주기 단계별로 \ 요구할 인력의 분포 가정

기능점수FP : 요구기능 증가시키는 인자별로 가중치 부여 \ 가중치 합산하여 총 기능 점수 계산

델파이 기법 (약술)

전문가의 경험적 지식을 통한 \ 문제해결 및 미래예측을 위한 기법

일정 관리 기법

주 공정법CPM :

여러 작업들의 수행 순서가 얽혀 있는 프로젝트 일정 계산 기법

임계 경로의 소요 기일 (가장 긴 시간이 걸리는 경로)

*PERT :

낙관치, 중간치 , 비관치의 3점 추정방식을 통해 일정 관리

중요 연쇄 프로젝트 관리 CCPM :

주 공정 연쇄법

*PERT 차트

프로젝트에 필요한 전체 작업의 상호관계를 표시하는 네트워크로 작업들 간의 상호 관련성, 결정경로, 경계시간, 자원할 담당을 알 수 있는 차트

*간트 차트

시간선 차트