정보처리기사 실기 - part 1

Justdo2t·2021년 6월 5일
3
post-thumbnail

06 / 06 추가

합격발표를 받았다!!!!
예상했던 결과긴 하지만 '합격'이라는 단어를 보니깐 또 새로운 느낌을 받았다.

2021년 1회 실기를 준비하면서 어렵거나 까먹을 것 같은 내용들 위주로 정리했던 내용들을 Section으로 나눠서 작성하며 공부할 예정이다.

📍 1장


📌 Section 1 소프트웨어 생명주기

소프트웨어 생명주기란?

  • 소프트웨어를 개발하기 위한 각 과정을 단계별로 나눈 것을 말한다.

폭포수 모형

  • 각 단계를 확실히 매듭짓고, 철저한 검토 후 다음 단계를 진행하는 방법론이다.
  • 고전적 생명 주기 모형이라고도 불린다.

프로토타입 모형

  • 견본품을 만들어 최종 결과물을 예측 가능하다.

나선형 모형

  • 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 개발하는 모형이다.
  • 폭포수 모형 + 프로토타입 모형 + 위험 분석 기능추가
  • 계획 수립 -> 위험분석 -> 개발 및 검증 -> 고객 평가

애자일 모형

  • 요구사항 변화에 빠르고 유연하게 대처할 수 있도록 일정 주기를 반복하며 개발하는 모형이다.
  • 고객과의 소통이 제일 중요하다.
  • 스크럼, XP 등이 있다.

📌 Sec 2 스크럼

구성

  • 제품 책임자 (PO) - 주로 백로그를 작성하며, 이해도가 높고 의사를 결정할 수 있는 사람이 담당한다.
  • 스크럼 마스터 (SM) - 가이드 역할을 한다.
  • 개발팀 (DT) - 둘을 제외한 나머지 인원이 담당한다.

순서

스프린트 계획 회의 -> 스프린트 -> 일일 스크럼 회의(남은 작업을 소멸 차트에 표시) -> 스프린트 검토 회의 -> 스프린트 회고


📌 Sec 3 XP (익스트림 프로그래밍)

XP의 5가지 요소

의사소통, 단순성, 용기, 존중, 피드백

XP 단계

  • 릴리즈 계획 수립 : 개발 완료 시점에 대한 일정을 수립한다.
  • 이터레이션 : 1 ~ 3주 정도 기간동안 개발을 진행한다.
  • 승인 검사 (인수 테스트) : 하나의 이터레이션 안에서 수행한다.
  • 소규모 릴리즈 : 요구사항에 대응하기 위해 릴리즈의 규모를 축소한다.

주요 실천 방법

  • 짝 프로그래밍 (Pair Programming) : 개발에 대한 책임공동으로 나눠 갖는다.
  • 공동 코드 소유 (Collective OwnerShip) : 코드에 대한 권한 및 책임공동 소유한다.
  • 테스트 주도 개발 : 테스트 케이스를 활용한다.
  • Whole Team : 모든 구성원책임감을 가져야 한다.
  • 계속적인 통합 (Continuous Integration) : 모듈 단위의 코드들은 지속적으로 통합된다.

📌 Sec 5

웹 애플리케이션 서버 (WAS) - 동적인 콘텐츠를 처리 위한 미들웨어.


📌 Sec 6 요구사항 정의

기능 요구사항 – 기능 or 수행과 관련된 요구사항.
비기능 요구사항 – 품질이나 제약사항등.
사용자 요구사항 – 사용자 관점에서 본 시스템이 제공해야 할 요구사항.
시스템 요구사항 – 사용자 요구사항의 반대이다.


📌 Sec 7 요구사항 개발 프로세스

도(출) -> 분(석) -> 명(세) -> 확(인)

도출 - 브레인 스토밍 설문 등. SDLC동안 지속 반복
분석 – 이해안되는 것들 거르기. 자료흐름도, 자료사전.
명세 – 요구사항을 문서화.
확인 – 명세서가 잘 작성되었는지 검토.

정형 명세 기법 -> 수학적 기호.간결 하지만 이해하기 어려움.
비정형 명세 기법 -> 자연어 기반. 이해는 쉽지만 간결X


📌 Sec 8 요구사항 분석

구조적 분석 기법
자료 흐름도 (DFD) - 자료의 흐름 및 기능을 도형중심으로 기술. 프로세스, 자료흐름, 자료 저장소, 단말로 구성
자료 사전 (DD) - 자료 흐름도에 있는 자료를 정의하고 기록한 것.
= : ~ 로 구성되어 있다

  • : 그리고(and)
    () : 생략 가능한 자료
    [ ] : 선택 (or)
    { } : 반복

📌 Sec 9 요구사항 분석 CASE / HIPO

CASE (자동화 도구) - 요구사항을 자동 분석하고, 분석 명세서르 기술하는 도구.

  • SADT : SoftTech에서 만든 개발 도구.
  • HIPO – 시스템 실행 과정인 입출력 기능을 표현한 것.

📌 Sec 10 UML – 의사소통이 원활하게 이루어지도록 표준화한 객체지향 모델링 언어.

구성 요소
사물 (Things), 관계, 다이어그램

다이어 그램

구조적 다이어그램

  • 클래스 다이어그램
  • 객체 다이어그램 : 럼바우에서 활용됨
  • 컴포넌트 다이어그램

행위 다이어그램

  • 유스케이스 다이어그램
  • 시퀀스 다이어그램
  • 상태 다이어그램 : 럼바우에서 활용됨
  • 활동 다이어그램
    스테레오 타입
  • <> , <>

📌 Sec 13 유스케이스

구성 요소

  • 시스템 / 시스템 범위 : 사각형
  • 액터 (Actor) : 행위자
  • 유스케이스 : 서비스나 기능
  • 관계 : 관계 (include, extend)

📌 Sec 20 소프트웨어 개발 방법론

  • 구조적 방법론 – 사용자 요구사항을 파악해 문서화하는 처리 중심의 방법론
  • 정보공학 방법론 – 계획, 분석, 설계 등 정형화된 기법들을 적용하는 자료 중심 방법론.
  • 객체지향 방법론 – 객체들을 조립해서 소프트웨어를 구현.
  • 컴포넌트 기반 방법론 – 컴포넌트를 조합해 만드는 방법론.

📌 Sec 21 S/W 공학의 발전적 추세

소프트웨어 재사용

  • 이미 개발돈 소프트웨어를 다른 소프트웨어 개발이나 유지에 사용.
    합성 중심 – 블록을 만들어 끼워 맞추는 방법.
    생성 중심 – 추상화 -> 구체화해 만드는 방법

소프트웨어 재공학

  • 기존 시스템에 새로운 기능을 추가해 소프트웨어 성능 향상.

    CASE

  • SLC 전 단계를 연결하는 자동화 도구.


📌 Sec 23 비용 산정 기법 – 하향식

과거의 경험을 바탕으로 비용을 산정하는 방식

전문가 감정 기법 – 경험 많은 두 명 이상의 전문가가 비용 산정.
델파이 기법 – 위에꺼에서 주관적 편견을 보완하기 위해 더 많은 전문가 초빙.


📌 Sec 24 비용 산정 기법 – 상향식

세부적인 작업 단위별 비용 산정. ex) LOC


📌 Sec 25 수학적 산정 기법

상향식 기법에 속함.

COCOMO 모형

  • LOC에 의한 비용 산정 기법이다.
  • 조직형 : 중 , 소규모의 SW. 5만 라인 이하.
  • 반분리형 : 30만 라인 이하
  • 내장형 : 30만 라인 이상. 초대형 규모 SW

PutNam 모형

  • SLC 전 과정 동안에 사용될 노력의 분포를 예상하는 모형.
    • Rayleigh ,Norden 곡선을 기초로 한다.
      - 생명주기예측 모형 이라고도 불린다.

기능점수 (FP) 모형

  • SW 기능을 높여주는 요인별 기능점수를 구하고 비용을 산정.

비용 산정 자동화 도구

SLIM – Putnam을 기초로 한 자동화 도구.


📌 Sec 26 프로젝트 일정 계획

PERT – 전체 작업의 상호 관계를 표시하는 네트워크. CPM (임계 경로 기법) - 작업에 필요한 소요기간을 예측하는데 사용하는 기법. 간트차트 – 작업 일정을 막대 도표를 활용해 표시하는 일정표.


📌 Sec 28 소프트웨어 개발 표준

소프트웨어 개발 단계에서 수행하는 품질 관리에 사용되는 국제 표준

ISO/IEC 12207

  • ISO에서 만든 표준 SLC 프로세스.

CMMI (시어머니가 가정의 화목함을 감시)

- SW 개발 조직의 업무 능력 및 성숙도를 평가하는 모델

  • 초기 -> 관리 -> 정의 -> 정량적 관리 -> 최적화 (초관정정최)

SPICE

  • 소프트웨어 품질 향상을 위해 평가 및 개선하는 국제 표준
  • ISO/IEC15504

📌 Sec 30 소프트웨어 개발 프레임워크

SW 개발에 공통으로 들어가는 구성요소, 아키텍처를 일반화해 제공하는 반제품형태의 SW.

스프링 프레임워크 – 자바 플랫폼을 위한 프레임워크
전자정부 = 우리나라 공기업용
닷넷 프레임워크 – MicroSoft에서 만듬

프레임워크 특성

모듈화, 재사용성, 확장성, 제어의 역흐름

profile
나긋한 나긋나긋

0개의 댓글