정처기 실기 / 1. 요구사항 확인, 프로그래밍 언어 자체 특징, UML

권나영·2021년 10월 9일

정보처리기사

목록 보기
2/14

객체지향 프로그램 (OOP) 특징 3가지?

(상추다캡정)
: 상속, 추상화, 다형성, 캡슐화, 정보은닉

객체지향 프로그램 구성 요소 3가지?

: 객체, 클래스, 메시지

UML의 구성요소 3가지?

: 사물, 관계, 다이어그램

개발자-사용자간 소통 위한 객체 지향 모델링 언어?

: UML

V8로 빌드된 이벤트기반 자바스크립트 런타임, 서버에서 실행되는 특징을 가지는 기술명?

: Node.js

소프트웨어 개발 방법론

  • 컴포넌트 기반 방법론(CBD) : 컴포넌트를 조립해 하나의 새로운 응용 프로그램 작성
  • 애자일 방법론 : 사람이 중심
  • 제품 계열 방법론 : 특정 제품에 적용하고 싶은 공통된 기능을 정의해 개발, 임베디드

애자일 방법론 유형

  • XP : 의사소통 개선과 즉각적 피드백으로 소프트웨어 품질 높이기 위한
  • SCRUM : 매일 정해진 시간, 장소에서 짧은 시간의 개발
  • LEAN : 낭비 요소 제거

XP 5가지 가치

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

XP 12가지 기본원리

  • 짝 프로그래밍
  • 지속적 통합 (CI)
  • 메타포어 : 공통적인 이름 체계와 시스템 서술서를 통해 고객과 개발자 간 의사소통
  • 테스트 기반 개발 (TDD) : 만들 프로그램에 대한 테스트 먼저 수행, 이 테스트 통과할 수 있도록 실제 프로그램 코드 작성
  • 리팩토링 : 프로그램의 기능은 바꾸지 않고 중복제거, 단순화 등을 위한 시스템 재구성

델파이 기법

전문가의 경험적 지식을 통한 문제 해결 및 미래 예측을 위한 기법

비용 산정 모형 종류

  • COCOMO : 보헴이 제안, 프로그램 규모에 따른 비용 산정
    - 조직형 : 5만 라인 이하
    • 반분리형 : 30만 라인 이하
    • 임베디드형 : 30만 라인 이상
  • 푸트남 : 개발 주기의 단계별로 요구할 인력의 분포를 가정, Rayleigh-Norden 곡선
  • 기능점수 (Function Point)모형 : 요구 기능에 따른 가중치 부여

일정 관리 모델

  • 주 공정법 (CPM) : 여러 작업의 수행 순서가 얽혀 있는 프로젝트의 일정 계싼
    - 주 공정 (critical path) : 프로젝트의 시작에서 종료까지 가장 긴 시간이 걸리는 경로
  • PERT : 일의 순서를 계획적으로 정리하기 위한 수렴 기법, 비관치, 중간치, 낙관치 이용
  • 주 공정 연쇄법 (CCPM) : 자원제약사항을 고려해 일정 작성

소프트웨어 아키텍쳐 4 + 1 뷰

  • 유스케이스 뷰 : 다른 뷰를 검증하는데 사용
  • 논리 뷰 : 기능적 요구사항 설명
  • 프로세스 뷰 : 비기능적 요구사항 설명
  • 구현 뷰 : 모듈의 구성, 컴포넌트 구조, 의존성
  • 배포 뷰 : 어떻게 배치되는가

유스케이스

시스템의 요구사항이자, 사용자의 입장에서 바라본 시스템의 구성

소프트웨어 아키텍쳐 패턴

소프트웨어를 설계할 때 참조할 수 있는 전형적인 해결 방식

소프트웨어 아키텍쳐 패턴 유형

  • 계층화 패턴 : 시스템을 계층으로 구분해 구성
  • 클라이언트-서버 패턴 : 하나의 서버와 다수의 클라이언트
  • 파이프-필터 패턴 : 데이터 스트림을 생성하고 처리
  • 브로커 패턴 : 분리된 컴포넌트들로 이루어진 분산 시스템에서 사용
  • 모델-뷰-컨트롤러 패턴(MVC)
    - 모델 : 핵심 기능과 데이터 보관
    • 뷰 : 사용자에게 정보 표시
    • 컨트롤러 : 사용자로부터 요청 입력 받아 처리

디자인 패턴

  1. 생성 패턴
  • Singleton : 전역 변수를 사용하지 않고 객체를 하나만 생성 하도록, 생성된 객체를 어디에서든지 참조할 수 있도록 하는
  1. 구조 패턴
  • Bridge : 기능의 클래스 계층과 구현의 클래스 계층을 연결, 구현부에서 추상 계층 분리
  • Decorator : 기존에 구현되어 있는 클래스엥서 필요한 기능 추가해 나감
  1. 행위패턴
  • State : 상태에 따라 다르게 처리할 수 있도록 행위 내용 변경

미들웨어

분산 컴퓨터 환경에서 응용 프로그램이 운영되는 환경 간에 원만한 통신이 이루어질 수 잇도로 ㄱ제어

기능적 요구 사항

시스템이 제공하는 기능, 서비스에 대한 요구사항 (기능성, 완전성, 일관성)

정형 기술 검토

  • 동료 검토
  • 워크 스루 : 회의 전 검토 자료 배포
  • 인스펙션 : 전문가
profile
나영

0개의 댓글