[정보처리기사 실기] 1장 요구사항 확인 - 소프트웨어 개발 방법론
2022. 4. 4. 17:42ㆍ정보처리기사/실기
728x90
반응형
소프트웨어 개발 방법론
소프트웨어 생명 주기 모델 ( Software Development Life Cycle : SDLC)
(1) 개념
시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차 -> 작업 프로세스 모델화
(2) 모델 프로세스
요구사항 분석 | 요구사항 고려 후 제품에 부합하는 요구와 조건을 결정 기능과 제약 조건, 목표 등을 사용자와 명확히 정의 |
기능 요구사항 비기능 요구사항 |
설계 | 수행 방법을 논리적으로 결정하는 단계 | 시스템 구조설계 프로그램 설계 사용자 인터페이스 설계 |
구현 | 특정 언어를 사용해 프로그램 개발 언어, 기법, 스타일, 순서 등 결정 |
인터페이스 개발 자료 구조 개발 오류 처리 |
테스트 | 예상과 실제 결과를 검사하고 평가하는 단계 | 단위, 통합, 시스템, 인수 테스트 |
유지보수 | 설치된 후 일어나는 모든 활동 | 예방, 완전, 교정 적응, 유지보수 |
(3) 모델 종류
- 폭포수 모델
- 단계를 확실히 마무리 지은 후 다음 단계로 넘어감
- 가장 오래된 모델
- 선형 순차 모형, 고전적 생명주기
- 적용과 성공 사례가 많다
- 정의와 산출물이 명확
- 요구사항 변경 어려움
- 검토 -> 계획 -> 분석 -> 설계 -> 구현 -> 테스트 -> 유지보수
- 프로토파이핑 모델
- 주요 기능을 프로토타입으로 구형, 피드백을 반영해 만드는 모델
- 공동의 참조 모델 제공
- 구현 단계의 구현 골격
- 나선형 모델
- 점진적으로 완벽한 시스템
- 계회 및 정의 -> 위험 분석 -> 개발 -> 고객 평가
- 반복적 모델
- 병렬적으로 개발 후 통합, 반복적으로 개발해 점증적 완성
- 요구 사항 일부 혹은 제품의 일부를 반복적 개발해 완성
소프트웨어 개발 방법론
(1) 소프트웨어 개발 방법론
개발 전 과정에 지속적으로 적용할 방법
(2) 종류
- 구조적 방법론
- 기능에 따라 나누어 개발, 이를 통합하는 분할과 정복
- 프로세스 중심 하향식 방법론
- Nassi-Shneiderman 차트 사용
- 도형식 표현법, 제어 논리구조 표현, 시각적으로 명확히 식별
- 정보 공학 방법론
- 관리절차와 작업 기법을 체계화한 방법론
- 대형 프로젝트를 수행하는 체계적인 방법론
- 객체 지향 방법론
- 객체라는 기본 단위로 시스템 분석 및 설계
- 복잡한 현실 세계를 시스템에 적용하는 방법론
- 객체, 클래스, 메시지 사용
- 컴포넌트 기반 방법론
- SW 구성하는 컴포넌트를 조립해 하나의 새 응용 프로그램 작성
- 개발 기간 단축으로 생산성 향상
- 확장성
- 재 사용성
- 애자일 방법론
- 사람이 중심, 유연하고 신속하게, 신속 적응적 경량 개발 방법론
- 개발 과정의 어려움을 극복하기 위해 적극적 모색 방법론
- 제품 계열 방법론
- 제품에 적용하고 싶은 공통 기능을 정의 개발
- 임베디드 소프트웨어 작성에 유용
- 종류
- 영역 공학 : 영역 분석, 설계 자산을 구현하는 영영
- 응욕 공학 : 제품 요구분석, 설계, 제품을 구현하는 영역
(3) 애자일
절차보다는 사람이 중심, 유연하고 신속하게 적응 효육적으로 개발 -> 신속 적응적 경량 개발 방법론
개발 기간 짧고 신속, 폭포수와 대비되는 방법 즉시 피드백 받아 유동적 개발
기존 개발 방법론의 한계를 극복하기 위해 등장
(3) - 1 등장 배경
- 소프트위에 개발 환경 변화 : 트렌드가 모바일로 변경, 시장 적시성과 잦은 배포의 중요성 부각
- 기존 개발 방법론의 한계 : 문서와 절차 방식은 대응이 어렵다, 빠르게 효육적 개발해야 한다.
(3) - 2 애자일 유형
- XP : 의사소통 개선과 즉각 피드백 -> SW 품질 향상, 1 ~ 3주 반복 개발 주기
- 5 가치
- 용기, 단순성, 의사소통, 피드백, 존중
- 12 기본 원리
- 짝 프로그래밍, 공동 코드 소유, 지속적인 통합, 계획 세우기, 작은 릴리즈, 메타포어, 간단한 디자인, 테스트 기반 개발, 리팩토링, 40시간 작업, 고객 상주, 코드 표준
- 5 가치
- SCRUM : 매일 짧은 시간의 팀을 위한 프로젝트 관리 중심 방법론
- 개념
- 백로그 : 제품과 프로젝트 요구사항
- 스프린트 : 반복 수행으로 개발질 향상
- 스크럼 미팅 : 매일 15분 정도 미팅, 데일리 미팅
- 스크럼 마스터 : 프로젝트 리더, 문제 인지 및 해결하는 사람
- 스프린트 회고 : 되돌아보며 규칙 준수, 개선점 확인 및 기록
- 번 다운 차트 : 백로드 개비 시간을 그래픽적으로 표현, 백로그는 수직 시간은 수평
- 개념
객체 지향 분석 방법론
(1) 객체 지향 분석
요구사항을 분석해 요구된 문제와 관련된 모든 클래스, 속성과 연산, 관계 정의 모델링
(2) 종류
- OOSE : Jacobson : 유스케이스를 모든 모델의 근간으로 활용, 분석 설계 구현 단계로 구성, 기능적 요구사항 중심
- OMT : Rumbaugh : 그래픽 표기법 이용 모델링, 객체 -> 동적 -> 기능 -> 객동기
- 객체 모델링 : 정보 모델링, 요구하는 객체 찾고 관계 정의 ER 다이어그램으로 만드는 과정까지 모델링, 객체 다이어그램
- 동적 모델링 : 제어 흐름, 동작 순서 등 동적인 행위 표현, 상태 다이어그램
- 기능 모델링 : 자료 흐름을 중심으로 처리 과정 표현, 자료 흐름도(DFD)
- OOD : Booch : 문서화 강조, 분석과 설계의 분리 X, 객체 모델의 설계 시 적용
비용산정, 일정관리 모형
비용산정 모형
(1) 비용산정 모형
규모파악을 통해 자원 소요 시간 파악 -> 계획 수립을 위한 비용 산정
(2) 분류
- 하향식 선정 방법 : 전문가에게 비용 산정 & 여러 전문가와 조정자 통해 산정
- 전문가 판단, 델파이 기법
- 상향식 선정 방법 : 세부 요구 사항과 기능에 따라 비용 계산
- 코드 라인 수(LOC), Man Month, COCOM, 푸트남 모형, 기능점수(FP) 모형
(3) 종류
- LoC 모형 : 원시 코드 라인 수의 낙관치, 중간치, 비관치로 예측, 측정이 쉽고 이해가기 쉽다.
- 예측치 = ( 낙관치 + 4 * 중간치 + 비관치) / 6
- 낙관치 : 가장 적게 측정된 코드
- 중간치 : 측정된 모든 코드 라인의 평균
- 비관치 : 가장 많이 측정된 코드
- Man Month : 한 사람이 1개월 간 하는 양
- Man Month = LoC / 월간 생산량
- 프로젝트 기간 = Man Month / 인원
- COCOMO : 보헴이 제안 프로그램 규모에 따라 산정, 노력으로 산정, 강도 분석 및 비용 견적의 유연성이 높아 개발비 견적 널리 통용
- 유형
- 조직형 (Organic) : 소규모 일괄 처리나 과학 기술, 비즈니스 자료 처리 개발
- 5만 라인 이하의 개발
- 반 분리형 (Semi-Detached) : 단순형과 임베디드의 중간형, 트랜잭션 처리나 DB 관리 인터프리터
- 30만 라인 이하의 개발
- 임베디드형 (Embedded) : 초대형 규모 트랜잭션 처리나 운영체제, 실시간 처리 시스템
- 30만 라인 이상의 개발
- 조직형 (Organic) : 소규모 일괄 처리나 과학 기술, 비즈니스 자료 처리 개발
- 유형
- PUTNAM : 단계별 인력의 분로를 가정, 생명주기 예측 모형
- 시간에 따른 함수로 표현 Rayleigh-Norden 곡선의 노력 분포 기초
- 기능점수 (FP) : 인자별로 가중치를 부여하고, 요인별 가중치를 합상
- 기능점수 = 총 기능점수 * [ 0.65 + (0.1 * 총 영향도)]
일정관리 모델
(1) 일정관리 모델
프로젝트가 일정 기한 내에 적절하게 완료될 수 있게 관리
(2) 종류
- 주 공정법 (CPM) : 순서가 얽혀 있는 프로젝트의 일정 계산, 모든 제약사항을 배제 시작과 끝을 나타내는 노드와 노드 간을 연결 통해 공정 계산 -> 액티비티 표기법
- PERT : 비관치, 중간치, 낙관치 3점 추정 방식을 통해 일정 관리
- 중요 연쇄 프로젝트 관리 (CCPM) : 주 공정 연쇄법으로 자원 제약 사항 고려해 일정 작성
728x90
반응형
'정보처리기사 > 실기' 카테고리의 다른 글
[정보처리기사 실기] 2장 화면 설계 - UI 설계 (0) | 2022.04.18 |
---|---|
[정보처리기사 실기] 2장 화면 설계 - UI 요구사항 확인 (0) | 2022.04.17 |
[정보처리기사 실기] 1장 요구사항 확인 - 분석 모델 확인하기 (0) | 2022.04.17 |
[정보처리기사 실기] 1장 요구사항 확인 - 요구사항 확인 (0) | 2022.04.17 |
[정보처리기사 실기] 1장 요구사항 확인 - 현행 시스템 분석 (0) | 2022.04.05 |