1. SDLC(Software Development Life Cycle) : 시스템의 전 공정을 체계화한 절차
1) SDLC 프로세스
요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 유지보수
2) SDLC 모델(전통적 방법론) 종류
a) 폭포수 모델(Waterfall Model) : S/W 개발 시 각각의 단계를 마무리한 후에 다음 단계로 넘어가는 가장 오래된 모델
- 선형 순차적 모형
- 고전적 생명주기 모형
- 단계 진행 후에 요구사항 변경이 어려움
b) 프로토타이핑 모델(Prototyping Model) : S/W 개발 시 기능을 프로토타입으로 구현하고 고객의 피드백을 반영하여 만들어가는 모델
-요구사항을 분석하고 설계 후 구현 단계에서 피드백을 반영하여 요구사항 분석으로 돌아가 S/W를 개발하는 방식
c) 나선형 모델(Spiral Model) : S/W 개발 시 위험을 최소화하기 위해 점진적으로 개발해 나가는 모델
- 프로세스 : 계획 및 정의 -> 위험 분석 -> 개발 -> 고객 평가
d) 반복적 모델(Iteration Model) : S/W 개발 시 S/W 구축 대상을 나누어 병렬적으로 개발 후 통합 또는 반복적으로 개발하여 점증적으로 완성시키는 모델
2. 구조적 방법론 : 전체 시스템을 기능 단위로 나누어 개발하고 이를 통합하는 분할과 정복 접근 방식의 프로세스 중심의 하향식 방법론
- Nassi-Shnei- derman Chart를 사용 - 논리 구조로 표현하는데 중점을 둔 도형식 표현 방법
3. 정보공학 방법론 : 정보를 기반으로 시스템 개발에 필요한 관리 절차, 작업 기법을 체계화한 방법론
4. 객체지향 분석 방법론(Object Oriented Analysis) : 객체를 기본 단위로 시스템을 분석 및 설계하는 방법론
1) OOSE(Object Oriented Software Engineering)[야콥슨] : 유스케이스를 통하여 기능을 중심으로 요구사항을 모델링하는 방법
2) OMT(Object Modeling Technology)[럼바우] : 그래픽 표기법으로 S/W 구성요소를 객체 -> 동적 -> 기능 모델링을 순서로 모델링하는 방법론
a) 객체 모델링(=정보모델링)(Object, Information) : 객체 다이어그램을 활용하여 객체들 간의 관계를 ER 다이어그램을 만듦
b) 동적 모델링(Dynamic) : 상태 다이어그램을 활용하여 시간의 흐름에 따라 동적인 행위를 표현
c) 기능 모델링(Functional) : 자료 흐름도를 활용하여 자료 흐름을 중심으로 처리 과정을 표현
3) OOD(Object Oriented Design)[부치] : 설계 문서화를 강조로 다이어그램을 중심으로 개발하는 방법론
5. 컴포넌트 기반 방법론 : S/W를 구성하는 컴포넌트들을 조립하여 프로그램을 작성하는 방법론
- 컴포넌트를 활용하여 개발기간이 단축되고 생산성 Up
- S/W 재사용성 Up
6. 애자일 방법론(Agile) : 절차 지향이 아닌 사람이 중심으로 즉시 피드백을 받아서 변화에 유연하고 신속하게 대응을 통해 효율적으로 시스템을 개발하는 방법론
- 기능 중심으로 요구사항을 정의
- 절차보다 소통(피드백)을 중요
- 개발 단위를 작게하여 요구사항 변화에 유연하고 신속하게 대응
1) XP(eXtreme Programming) : 의사소통 개선과 빠른 피드백으로 S/W 품질을 높이기 위한 방법론
a) 5가지 가치 : 용기, 단순성, 의사소통, 피드백, 존중
b) 12가지 기본 원리 :
- 짝 프로그래밍(Pair Programming)
- 공동 코드 소유(Collective Ownership)
- 지속적인 통합(Continous Integration) : 매일 여러번 소프트웨어를 통합하고 빌드해야한다는 XP 원리
- 계획 세우기(The Planning Process)
- 소규모 릴리즈(Small Release)
- 메타포어(상징)(Metaphor)
- 간단한 디자인(Simple Design)
- 테스트 기반 개발(Test Driven Develop) : 테스트를 먼저 수행하고 이 테스트가 통과할 수 있도록 코드를 작성하는 XP 원리
- 리팩토링(Refactrong) : 프로그램의 기능을 바꾸지 않으면서 중복제거, 단순화 등을 통해 시스템의 설계를 향상시킨다는 XP 원리
- 40시간 작업(40 hour Week)
- 고객 상주(On site Customer)
- 코드 표준(Coding Standard)
2) 스크럼(Scrum) : 매일 정해진 시간, 장소에서 짧은 시간 동안 개발을 하는 프로젝트 관리 중심 방법론
- 주요 요소 : 백로그(요구사항), 스프린트(반복 기간), 스크럼 미팅(데일리 미팅), 스크럼 마스터(리더)
3) 린(Lean) : 도요타의 린 시스템 품질 기법을 S/W 개발 프로세스에 적용하여 낭비를 줄여 품질을 향상시키는 방법론
7. 제품 계열 방법론 : 특정 제품에 적용하고 싶은 공통 기능을 정의하여 개발하는 방법론
- 영역공학 : 영역 분석, 영역 설계, 핵심 자산을 구현하는 영역
- 응용공학 : 제품 요구 분석, 제품 설계, 제품을 구현하는 영역
8. 비용 산정 모델 : S/W의 규모를 파악하여 투입 자원, 소요 시간 등 예상을 통해 실행 가능한 계획을 수립하기 위한 비용을 산정하는 기법
1) 비용산정 모델
a) 하향식 산정 방법 : 전문가 판단, 델파이 기법
b) 상향식 산정 방법 :
- LOC(Lines of Code) : 각 기능의 원시 코드 라인 수의 낙관치, 중간치, 비관치를 통해 예측치를 구하여 비용을 산정하는 방법
- Man Month : 한 사람이 1개월 동안 할 수 있는 양을 기준으로 프로젝트 비용을 산정하는 방법
- COCOMO 모형 :
ㄱ) 조직형(기본형, 단순형)(Organic Mode) : 5만 라인 이하
ㄴ) 반분리형(Smei-Detached Mode) : 30만 라인 이하
ㄷ) 임베디드형(Embeded Mode) : 30만 라인 이상
- Putnam 모형 : 생명주기 예측 모형 Rayleigh-Norden 곡선의 노력 분포도를 기초로 산정, SLIM(자동화 도구) 사용
- FP(Function Point) 모형 : 은행권에서 주로 사용하며 인자별 가중치를 부여하여 합산한 기능의 점수를 통해 비용을 산정하는 방식
9. 일정 관리 모델 : 프로젝트가 일정 기한 내에 완료될 수 있도록 관리하는 모델
1) 일정 관리 모델 종류
- 주 공정법(CPM) : 여러 작업들의 수행 순서가 얽혀 있는 프로젝트의 일정을 계산하는 기법
=> CPM에서 임계 경로 기간 계산 : 가장 긴 경로
- PERT(Program Evaluation and Review Technique) : 비관치, 중간치, 낙관치를 통해 일정을 관리하는 기법
- 중요 연쇄 프로젝트 관리 CCPM(Critical Chain Project Management) : 자원제약사항을 고려하여 일정을 작성하는 기법
'자격증 > 정보처리기사' 카테고리의 다른 글
[ 정보처리기사 실기 ] Part 01. 요구사항 확인 - CH02. 현행 시스템 분석하기 (0) | 2022.04.03 |
---|---|
[비전공자] 2022년 1회차 정보처리기사 필기 가채점 합격 후기 및 나만의 공부 방법! (0) | 2022.03.11 |