IT 자격증/정보처리기사

[정처기] 실기-1과목 소프트웨어 구축

SOIT 2024. 6. 24. 15:29

 

소프트웨어 공학

소프트웨어 공학이란?

- 품질 높은 소프트웨어를 효율적으로 개발하기 위한 학문이다.

 

소프트웨어 공학의 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: 정젇)

- 엔터프라이즈 서비스 버스

 

 

 

 

 

 

 

 

 

728x90