시험/정보처리기사-실기
1. 요구사항 확인
pinetree25
2023. 3. 29. 22:02
1. 소프트웨어 개발 방법론
1-1. 소프트웨어 개발 방법론
(1) 소프트웨어 생명주기 모델
요구분석~유지보수까지의 공정을 체계화한 절차
프로세스 : 요구사항분석-설계-구현-테스트-유지보수
모델 종류:
폭포수 모델 | 각 단계를 확실히 마무리 후 다음단계로 넘어감 |
프로토타이핑 모델 | 고객이 요구한 주요 기능 구현하여 피드백 반영해 만들어 감 |
나선형 모델 | 점진적 개발 |
반복적 모델 | 일부분을 반복적 개발해 최종 완성 시킴 |
(2) 소프트웨어 개발 방법론
개발시작 ~ 시스템 사용하지 않는 과정까지의 전 과정을 형상화한 방법론
종류 :
구조적 방법론 | 전체 시스템을 기능에 따라 나눠 개발-> 이를 통합하는 분할과 정봅 접근 방식의 방법론 하향식 방법론 나씨-슈나이더만 차트 |
정보공학 방법론 | 정보 시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론 대형 프로젝트에 유용 |
객체 지향 방법론 | 객체를 기본단위로 시스템을 분석, 설계함 객체, 클래스, 메시지 사용 [구성요소] - 클래스 - 객체 - 메서드 - 메시지 - 인스턴스 - 속성 [객체지향기법] - 캡슐화 - 상속성 - 다형성 - 추상화 - 정보은닉 - 관계성 [객체지향설계원칙 solid] - 단일 책임의 원칙 - 개방 폐쇄 원칙 - 리스코프 치환의 원칙 - 인터페이스 분리의 원칙 - 의존성 역전의 원칙 [객체지향 분석 방법론 종류] - oose (object oriented software engineering) by 야콥슨 : 유스케이스를 모든 모델의 근간으로 활용 - omt (object modeling technolohy) by 럼바우: 객체모델링 -> 동적 모델링 -> 기능모델링(dfd활용) - ood (objext oriented design) by 부치 : 설계 문서화 강조하여 다이어그램 중심 개발 |
컴포넌트 기반 방법론 | 컴포넌트 조립해 하나의 응용프로그램 작성 |
애자일 방법론 | 절차보다 사람이 중심 되어 유연, 신속하게 효율적으로 시스템 개발 [유형] - xp *5가지 가치 용기, 단순성, 의사소통, 피드백, 존중 *12가지 기본 원리 짝 프로그래밍 공동 코드 소유 지속적인 통합 계획세우기 작은 릴리즈 메타포어 간단한 디자인 테스트 기반 개발 리팩토링 40시간 작업 고객 상주 코드 표준 - 스크럼 : 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론 백로그: 요구사항 스프린트: 2-4주 짧은 개발 기간 반복적 수행- 개발품 질 상승 스크럼 미팅: 매일 15분 to-do-list, 데일리 미팅 스크럼 마스터: 프로젝트 리더 스프린트 회고: 스프린트 주기 되돌아보며 규칙 준수 여부, 개선적 확인 및 기록 번 다운 차트: 남아있는 백로그 대비 시간을 표현한 차트 - 린 : 도요타의 린 스스템 품질기법-> 소프트웨어 개발 프로세스에 적용한 방법론 jit(just in time), 칸반 보드 사용 |
제품 개열 방법론 | 공통된 기능을 정의하여 개발 임베디드 소프트웨어 작성하는데 유용 |
1-2. 프로젝트 관리
(1) 프로젝트 관리
주어진 기간 내 최소의 비용으로 시스템 개발
관리 대상 : 계획 관리, 품질 관리, 범위 관리
3대 요소 :
- 사람(인적자원)
- 문제(사용자 입장에서 문제 분석)
- 프로세스 (개발에 필요한 전체적인 작업 계획 및 구조)
(2) 비용산정 모형
분류 | 설명 | 종류 |
하향식 산정 방법 | 전문가가 산정 | -전문가 판단 -델파이 기법 |
상향식 산정 방법 | 세부적 요구사항, 기능에 따라 필요 비용 계산 | -loc (코드 라인 수) : 낙관치, 중간치, 비관치 -man month : 한 사람이 1개월 동안 할 수 있는 일의 양 기준으로 비용 산정 -cocomo 모형 by 보헴: 프로그램 규모에 따라 비용 산정 조직형: 5만 라인 이흐 반분리형: 30만 라인 이하 임베디드형: 30만 라인 이상 -푸트남 모형 : 개발 주의 단개별 요구할 인력의 분포를 가정하는 방식 -기능점수(fp)모형 : |
(3) 일정관리 모델
종류
주 공정법 | ||
pert | ||
중요 연쇄 프로젝트 관리 |
(4) 위험관리
프로젝트에 내재된 위험 요소를 인식하고 그 영향을 분석하여 이를 관리
[종류]
- 알려진 위험
- 예측 가능한 위험
- 예측 불가능한 위험
위험 대응 전략
-회피
-전가
-완화
-수용
2. 현행 시스템 분석
2-1. 현행 시스템 파악
2-2. 개발 기술 환경 정의
3. 요구사항 확인
3-1. 요구사항
3-2.요구사항의 시스템화 타당성 분