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