[Sec 1. 소프트웨어 개발 방법론 선정]
- 소프트웨어 공학의 3R
- 역공학(Reverse Engineering) : 개발 단계를 역순으로 추적
- 재공학(Re-Engineering) : 유지보수성 향상, 분석→재구성→역공학→이관
- 재사용(Reuse)
- 재사용 범위 : 함수와 객체 재사용, 컴포넌트 재사용, 애플리케이션 재사용
- 재사용 방법 : 합성 중심(끼워 맞추기), 생성 중심(추상화 형태)
- 소프트웨어 개발 단계 / 소프트웨어 생명주기(SDLC)
- 계획 → 요구사항 분석 → 소프트웨어 설계 → 구현 → 테스트 → 유지보수
- 수정 보수(오류 수정), 적응 보수(환경 변화), 향상 보수(개선), 예방 보수(오류 발생 대비)
- 소프트웨어 개발 방법론
- 구조적 방법론 : 절차지향적인 소프트웨어 개발 방법론
- 데이터흐름도(DFD), 자료사전(DD), 상태전이도(STD), 소단위 명세서(Minispec) 사용
- 폭포수 모델
- 객체지향 개발 방법론 : 현실 세계의 개체를 속성과 메서드의 형태로 표현하는 방법론
- 캡슐화, 정보은닉, 상속, 다형성, 추상화
- 정보공학 방법론 : 기업에서, 데이터 중심의 방법론
- CBD 분석 방법론 : 재사용 가능한 컴포넌트의 개발이나 상용 컴포넌트의 조합을 통해 애플리케이션 개발
- 애자일(Agile) 방법론
- XP(eXtreme Programming) : 의사소통, 피드백, 존중, 용기, 단순성
- SCRUM : 짧은 개발 주기 & 매일 15분 씩 회의
- 구조적 방법론 : 절차지향적인 소프트웨어 개발 방법론
- 소프트웨어 개발 모델
- 폭포수 모델 : 각 단계 순차적 진행, 한 단계 완료 후에야 다음 단계로 이동
- 프로토타이핑 모델 : 주요 기능을 프로토타입으로 먼저 구현하고 점진적 완성
- 나선형 모델 : 위험 관리 및 분석 목적의 점증적 개발 모델
계획 및 요구분석 → 위험 분석 → 개발 → 사용자 평가 → 반복 - RAD 모델 : 매우 짧은 개발 주기, CASE 도구 이용
- V 모형 : 폭포수 모델의 기본 구조에 시스템 검증과 테스트 작업을 강조
단위테스트(동적, 정적) → 통합테스트(상향식, 하향식, 빅뱅, 백본) → 시스템테스트(기능, 비기능) → 인수테스트(알파, 베타) - 4세대 기법 : CASE와 같은 자동화 도구를 사용하여 요구사항 명세로부터 원시코드를 자동으로 생성
- 소프트웨어 개발 비용 계획
- 비용 산정 기법
- 하향식 산정 기법
- 전문가 판단 기법 : 조직 내 전문가
- 델파이 기법 : 여러 전문가의 의견 종합
- 상향식 산정 기법
- 원시 코드 라인 수 기법 : LOC = (낙관치 + 4*중간치 + 비관치) / 6
- 수학적 산정 기법
- COCOMO 기법 : 조직형(5만 라인 이하), 반분리형(30만 라인 이하), 내장형(30만 라인 이상)
- Putnam 기법 : Rayleigh-Norden 곡선
SLIM : Rayleigh-Norden 곡선과 Putnam 예측 모델 기반의 자동화 추정 도구 - 기능 점수 기법(FP)
ESTIMACS : FP 모형을 기반으로 한 자동화 추정 도구
소프트웨어 기능 분류
- 데이터 기능 → 내부논리파일(ILF), 외부 연계 파일(EIF)
- 트랜잭션 기능 → 외부입력(EI), 외부출력(EO), 외부조회(EQ)
- 하향식 산정 기법
- 비용 산정 기법
- 소프트웨어 개발 일정 계획
- WBS : 프로젝트 목표를 달성하기 위한 활동과 업무를 세분화하는 과정
- Network Chart(PERT/CPM) : 전체 프로젝트의 시간 단축이 목표
- PERT : 불확실한 상황에서의 시간 관리에 적합
- CPM : 더 확정적인 상황에서의 시간 관리에 적합 - 임계경로 : 프로젝트를 끝내기 위해 필요한 최소 소요시간, 경로상 가장 오래 걸리는 시간
- 간트 차트 : 프로젝트 일정 계획의 시각적 표현, 바 형태, 일정 관리의 최종 산출물
[Sec 2. 소프트웨어 개발 방법론 테일러링]
- 소프트웨어 테일러링
- 필요성 : 개발환경, 요구사항, 프로젝트 규모, 보유 기술, 법적 제약사항, 표준 품질기준
- 소프트웨어 개발 표준
- ISO/IEC 12207 : 기본 생명주기 프로세스, 지원 생명주기 프로세스, 조직 생명주기 프로세스
- ISO/IEC 15504 (SPICE)
불안정(0) → 수행(1) → 관리(2) → 확립(3) → 예측(4) → 최적화(5) - CMM
초기(1) → 반복(2) → 정의(3) → 관리(4) → 최적화(5) - CMMi
초기(1) → 관리(2) → 정의(3) → 정량적 관리(4) → 최적화(5)
** 3단계는 표준, 4단계는 정량적이라는 단어가 포함되어 있어야 함.
- 소프트웨어 개발 프레임워크
- 특징 : 모듈화, 재사용성, 확장성, 제어의 역흐름
- JAVA 프레임워크 : 전자정부 표준 프레임워크, 스트럿츠, 스프링
- ORM 프레임워크 : iBatis, myBatis, Hibernate
- 자바스크립트 프레임워크 : AngularJS, ReactJS, ExtJS
- 프론트엔드 프레임워크 : Bootstrap, Foundation, MDL
'Data Analysis > 정보처리기사' 카테고리의 다른 글
| [5과목 정보시스템 구축관리] 03. 소프트웨어 개발 보안 구축 (1) | 2024.04.20 |
|---|---|
| [5과목 정보시스템 구축관리] 02. IT 프로젝트 정보시스템 구축관리 (1) | 2024.04.20 |
| [4과목 프로그래밍 언어 활용] 04. 프로그래밍 언어 활용 (0) | 2024.04.20 |
| [4과목 프로그래밍 언어 활용] 03. 네트워크 기초 활용 (1) | 2024.04.19 |
| [4과목 프로그래밍 언어 활용] 02. 운영체제 기초 활용 (1) | 2024.04.19 |