작년 정보처리기사 자격증을 취득하면서 공부했던 내용들이 참 많았던 것 같다. 그 당시에는 2주 정도의 시간만을 두고 빠르게 훑어본다는 느낌으로 타이핑을 했었는데 돌이켜보니 정말 많은 자료가 쌓여있는 것을 발견할 수 있었다.
이에 다른 사람들에게 도움이 되고자 일종의 시리즈물로 작성하여 필자는 어떤 것을 어떻게 틀렸는지를 공유하는 시간을 가져보도록 하자.
자료 공유 이후 개인적으로 만든 서브노트도 공개발행할 생각이다(23년 1월 중순 이후). 필자가 틀린 내용들을 질의응답 형식으로 만든 알찬 노트이니 해당 노트 또한 시험에 많은 도움이 되기를 바란다.
소프트웨어 생명주기 모델
- 시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차
- 시스템이 개발될 때부터 운용과 유지보수를 거쳐 생애를 마칠 때까지 어떠한 순서를 밟는지에 대한 작업 프로세스를 모델화한 것
소프트웨어 생명주기 모델의 단계
1. 요구사항 분석
- 다양한 이해관계자의 상충할 수도 있는 요구사항을 고려하여 새로운 제품이나 변경된 제품에 부합하는 요구와 조건을 결정하는 단계
2. 설계
- 시스템 명세 단계에서 정의한 기능을 실제 수행할 수 있도록 수행 방법을 논리적으로 결정하는 단계
3. 구현
- 설계 단계에서 논리적으로 결정한 문제 해결 방법을 특정 프로그래밍 언어를 사용하여 실제 프로그램을 작성하는 단계
4. 테스트
- 시스템이 정해진 요구를 만족하는지, 예상과 실제 결과가 어떤 차이를 보이는지 검사하고 평가하는 단계
5. 유지보수
- 시스템이 인수되고 설치된 후 일어나는 모든 활동
방법론의 종류
1. 구조적 방법론
- 전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합하는 분할과 정복 접근 방식의 방법론
2. 정보공학 방법론
- 정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론
- 개발 주기를 이용해 대형 프로젝트를 수행하는 체계적인 방법론
3. 객체지향 방법론
- 객체라는 기본 단위로 시스템을 분석 및 설계하는 방법론
- 복잡한 현실 세계를 사람이 이해하는 방식으로 시스템에 적용하는 방법론
4. 컴포넌트 기반 방법론(CBD)
- 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 응용 프로그램을 작성하는 방법론
5. 애자일 방법론
- 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발 방법론
- 개발 과정의 어려움을 극복하기 위해 적극적으로 모색한 방법론
6. 제품 계열 방법론
- 특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론
- 임베디드 소프트웨어를 작성하는 데 유용한 방법론
XP의 12가지 가치
1. 짝 프로그래밍
- 개발자 둘이서 짝으로 코딩하는 원리
2. 지속적인 통합
- 매일 여러 번씩 소프트웨어를 통합하고 빌드해야 한다는 원리
3. 메타포어
- 공통적인 이름 체계와 시스템 서술서를 통해 고객과 개발자 간의 의사소통을 원활하게 한다는 원리
4. 테스트 기반 개발(TDD)
- 작성해야 하는 프로그램에 대한 테스트를 먼저 수행하고, 이 테스트를 통과할 수 있도록 실제 프로그램의 코드를 작성한다는 원리
5. 리팩터링
- 프로그램의 기능을 바꾸지 않으면서 중복제거, 단순화 등을 위해 시스템 재구성을 한다는 원리
이외에도 공동 코드 소유, 계획 세우기, 작은 릴리즈, 간단한 디자인, 40시간 작업, 고객 상주, 코드 표준이 있다.
델파이 기법
- 전문가의 경험적 지식을 통한 문제 해결 및 미래예측을 위한 기법으로 전문가 합의 법이라고도 한다.
비용 산정 방식의 종류
1. LoC
- 소프트웨어 각 기능의 원시 코드 라인 수의 낙관치, 중간치, 비관치를 측정하여 예측치를 구하고 이를 응용하여 비용을 산정하는 방식
2. Man Month
- 한 사람이 1개월 동안 할 수 있는 일의 양을 기준으로 프로젝트 비용을 산정하는 방식
3. COCOMO
- 보헴이 제안한 모형으로 프로그램 규모에 따라 비용을 산정하는 방식
4. 푸트남(Putnam)
- 소프트웨어 개발 주기의 단계별로 요구할 인력의 분포를 가정하는 방식
5. 기능점수(FP)
- 요구 기능을 증가시키는 인자별로 가중치를 부여하고, 요인별 가중치를 합산하여 총기능의 점수를 계산하여 비용을 산정하는 방식
일정 관리 기법의 종류
1. 주 공정법(CPM)
- 여러 작업들의 수행 순서가 얽혀 있는 프로젝트의 일정을 계산하는 방법
2. PERT
- 일의 순서를 계획적으로 정리하기 위한 수렴 기법으로 비관치, 중간치, 낙관치의 3점 추정방식을 통해 일정을 관리하는 기법
3. 중요 연쇄 프로젝트 관리(CCPM)
- 주 공정 연소법으로 자원 제약사항을 고려하여 일정을 작성하는 기법
'개발 > 자격증 공부' 카테고리의 다른 글
정보처리기사 오답 정리(6. 논리, 물리 데이터 저장소) (0) | 2022.12.25 |
---|---|
정보처리기사 오답 정리(5. UI 설계) (0) | 2022.12.23 |
정보처리기사 오답 정리(4. UI 요구사항 확인) (0) | 2022.12.21 |
정보처리기사 오답 정리(3. 요구사항 확인) (0) | 2022.12.19 |
정보처리기사 오답 정리(2. 현행 시스템 분석) (0) | 2022.12.17 |