소프트웨어 공학
소프트웨어 공학이란?
- 품질 높은 소프트웨어를 효율적으로 개발하기 위한 학문이다.
소프트웨어 공학의 3R
- 역공학: 소스코드를 보면서 역으로 산출물을 내는 것.
- 재공학(소프트웨어의 재공학): 유지보수의 생산성을 위한 것.
- 분석 -> 재구성 -> 역공학 -> 이관
- 재사용: 잘 만들었으니 다시 쓰자.
- 모듈의 독립성을 높이기 위해서 사용
소프트웨어 개발 단계
- 계획: 비용, 일정, 타당성 검사 등
- 분석: 요구사항 분석 - 요구공학(도출-분석-명세-확인)
- 설계: 그림그리는-모델링
- 구현: 모델링된 그림으로 구현을 함(스토리보드)
- 테스트:
- 유지보수:
소프트웨어 개발 방법론
- 폭포수 모델: 순차적
- 프로토타이핑 모델: 시제품을 만드는 것
- 나선형 모델:
- 계획->위험분석->공학적 개발->고객 평가
- V모형: 폭포수 모델 + 테스트에 초점을 맞춘 것
- RAD: 도구를 이용해서 빨리 개발한 것
- 애자일 방법론: 산출물 보다는 동작하는 소프트웨어에 힘을 주자.
- XP:
- 5가지: 의사소통, 용기, 피드백, 존중, 단순성
- 12가지: 짝프로그래밍
- 스크럼:
- 스프린트, 백로그, 매일 10-15분 회의
- 크리스털: 규모에 따른 방법론 제공
- FDD: 기능주도 개발
프로젝트 관리
- 프로젝트 핵심 관리대상: 사함, 문제, 프로세스
- PMBOK: 프로젝트 관리 프로세스 및 지식체계
비용산정
- 하향식: 전문가 판단 기법, 델파이 기법
- 상향식: 원시코드 라인 수, 단계별 노력
- 수학적:
- COCOMO: 조직형(5만이하), 반분리형(30만이하), 내장형(30만이상)
- Putnam: SLIM, Rayleigh-Norden 곡선
- FP(function point): 내부 논리 파일(ILF), 외부 연계 파일(EIF), 외부입력(EI), 외부출력(EO), 외부조회(EQ)
일정산정
- WBS
- CPM 네트워크 작성
- 임계경로 계산
- 간트 차트 표현
플랫폼
- CPND: 인터넷에서 정보를 이용할 수 있는 것
- Contents: 텍스트, 이미지, 오디오, 비디오
- Platform: 웹사이트, 애플리케이션 등
- Network: 통신 시스템
- Device: 스마트폰, 컴퓨터, 태블릿 등
미들웨어
- 원격 프로시저 호출
- 메세지 지향 미들웨어(MOM)
- ORB
- DB 접속 미들웨어
- TP 모니터
- 웹 애플리케이션 서버(WAS: 동적, WEB: 정젇)
- 엔터프라이즈 서비스 버스
'IT 자격증 > 정보처리기사' 카테고리의 다른 글
[정처기] 정보처리기사 실기 Python 편 풀이 해설 (2) | 2024.07.22 |
---|---|
[정처기] 정보처기기사 실기 큰 틀 요약 !! (2) | 2024.07.22 |
[정처기] 실기 (개념, 요약, 문제, 참고 사이트) (10) | 2024.06.24 |
[정처기] 2024년 2회 정보처리기사 필기 합격 후기 (0) | 2024.05.14 |
[정처기] 필기 기출 1 과목 주의 문제 (2020~2023년) (0) | 2024.04.28 |