자격증 공부/정보처리기사

정보처리기사 실기요약 1. 요구사항 확인 (1/2)

남건욱 2023. 6. 26. 21:58
반응형
본글에 앞서 작성한 내용은 내가 중요하다고 생각했던 내용만 정리되어 있다. 
나의 주관적인 생각이므로 정처기 실기를 공부하려고 한다면 본글은 되돌아보는 용도로 사용했으면 좋겠다.
정처기 공부를 하며 직접 필기로 작성하였던 내용을 글로 작성한 게시글이다.

소프트웨어 생명주기 (SDLC, Software Development Life Cycle)

- 시스템의 요구분석부터 유지보수까지 전공정을 체계화한 절차

- 시스템이 개발될 때부터 운용과 유지보수를 거쳐 생애를 마칠 때까지 어떤 순서를 밟는지에 대한 작업프로세스를 모델화 한 것

 

 

소프트웨어 생명주기모델 프로세스 (요설구테유)

- 1. 요구사항 분석 / 기능요구사항, 비기능 요구사항

- 2. 설계 / 시스템 구조설계, 프로그램 설계, 사용자인터페이스 설계

- 3. 구현 / 인터페이스 개발, 자료구조 개발, 오류처리

- 4. 테스트 / 단위테스트, 통합테스트, 시스템테스트, 인수테스트 (단통시인)

- 5. 유지보수 / 예방, 완전, 교정, 적응, 유지보수

 

 

소프트웨어 생명주기 모델 종류 (폭프나반)

- 폭포수 모델, 프로토타이핑 모델, 나선형 모델, 반복적 모델

나선형 모델 : 점진적 위험 감소

반복적 모델 : SDLC모델 병행

 

 

나선형 모델절차 (계위 개고)

- 계획 및 정의, 위험분석, 개발, 고객평가

 

 

소프트웨어 개발 방법론

- 소프트웨어 전 개발과정에 지속적으로 적용할 수 있는 방법, 절차, 기법

- 소프트웨어를 하나의 생명체로 간주하고 소프트웨어 개발의 시작부터 시스템을 사용하지 않는 과정까지의 전 과정을 형상화 한 방법론

 

 

컴포넌트 (Component) - 원하는 데이터 베이스와 소프트웨어의 개발된 모듈 단위

 

 

소프트웨어 개발 방법론 종류

- 구조적 방법론 : 하향식, 전체시스템을 기능에 나누어 개발 후, 이를 통합하는 분할과 정복 접근방식

- 정보공학 방법론 : 관리절차, 작업기법을 체계화. 개발주기를 이용해 대형프로젝트를 수행

- 객체지향 방법론 : 객체라는 기본단위로 시스템 분석 및 설계, 복잡한 현실을 사람이 이해하는 방식

- 컴포넌트 기반 방법론 : 컴포넌트를 조립하여 하나의 새로운 응용프로그램을 작성. 생산성, 확장성이 높아짐, 재사용 가능

- 애자일 방법론 : 절차보다는 사람이 중심. 변화에 유연하고 신속적응, 효율적

- 제품계열 방법론 : 특정제품에 적용하고 싶은 기능을 정의하여 개발. 임베디드 소프트웨어 작성에 유용하다.

 

 

애자일 방법론 (XP, 린, 스크럼)

- 절차보다는 사람이 중심이 되어 변화에 유연, 신속하게 적응하며 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발 방법론

- 개방기간이 짧고 신속. 폭포수모형에 대비되며 개발과 함께 즉시 피드백을 받아서 유동적으로 개발할 수 있다.

 

 

XP (eXtreme Programming)

- 의사소통 개선, 즉각적 피드백으로 소프트웨어 품질을 높이기 위한 방법론.

- 1~3주의 반복 개발주기, 5가지 가치와 12개의 실천항목 존재

- 5가지 가치 : 용기, 단순성, 의사소통, 피드백, 존중

- 12가지 기본원리 : 테스트 기반개발(TDD) - 작성해야 하는 프로그램에 대한 테스트를 먼저 수행 한 뒤 이를 통과할 수 있도록 실제 프로그램의 코드를 작성.

- 리팩토링 : 프로그램의 기능을 바꾸지 않으면서 중복제거, 단순화 등을 위해 시스템을 재구성한다는 원리

 

 

스크럼 (SCRUM)

- 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론.

- 백로그, 스프린트, 스크럼 미팅, 스크럼 마스터, 스프린트 회고, 번다운 차트

백로그 : 요구사항

스프린트 : 2~4주

스크럼 미팅 : 매일 15분

번다운 차트 : 남아있는 백로그 대비시간

 

 

린 (LEAN)

- 도요타의 린 시스템 품질기법을 소프트웨어 개발 프로세스에 적용해서 낭비요소를 제거하여 품질을 향상한 방법론

- 7가지 원칙 : 낭비제거, 품질 내재화, 지식창출, 늦은 확정, 빠른 인도, 사람존중, 전체최적화

 

 

객체지향 (Object Oriented) 개념

- 객체지향은 실세계의 개체를 속성과 메서드가 결합된 형태의 객체로 표현하는 기법

 

 

객체지향 구성요소(클객메메인속)

- 클래스, 객체, 메서드, 메시지, 인스턴스, 속성

 

 

객체지향 기법 (캡상다추정관)

- 캡슐화, 상속성, 다형성, 추상화, 정보은닉, 관계성

 

 

오버로딩 - 매개변수의 유형, 개수를 다르게 하여 같은 이름의 메서드를 여러 개 가지는 기법

오버라이딩 - 상위클래스에서 정의한 일반메서드의 구현을 하위클래스에서 무시하고 재정의 할 수 있는 기법

 

 

객체지향 설계원칙 (SOLID)

- 단일책임의 법칙(SRP) : 하나의 클래스는 하나의 목적을 위해서 생성, 클래스가 제공하는 모든 서비스는 하나의 책임을 수행하는데 집중되어 있어야 한다는 원칙

- 개방폐쇄 원칙(OCP) : 소프트웨어 구성요소 (컴포넌트, 클래스, 모듈, 함수)는 확장에는 열려있고, 변경에는 닫혀있어야 한다는 원칙

- 리스코프 치환의 원칙(LSP) : 서브타입(상속받은 하위클래스)은 어디서나 자신의 기반 타입(상위클래스)으로 교체할 수 있어야 한다는 원칙

- 인터페이스 분리의 원칙(ISP) : 한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 말아야 한다는 원칙. 특정기능에 대한 인터페이스는 그 기능과 상관없는 부분이 변해도 영향을 받지 않아야 한다는 원칙

- 의존성 역전의 원칙(DIP) : 실제 사용관계는 바뀌지 않으며, 추상을 매개로 메시지를 주고받음으로써 관계를 최대한 느슨하게 만드는 원칙

 

 

객체지향 분석의 개념 (OOA - Object Oriented Analysis)

- 사용자의 요구사항을 분석하여 요구된 문제와 관련된 모든 클래스(객체), 속성과 연산, 관계를 정의하여 모델링하는 기법

 

 

럼바우의 객체지향 분석 절차 (객동기)

- 객체모델링, 동적모델링, 기능모델링

동적 : Dynamic 

기능(정적) : Functional

객체 : Object

 

 

데이터 흐름도 (DFD - Data Flow Diagram)

- 데이터가 각 프로세스를 따라 흐르면서 변환되는 모습을 나타낸 그림

 

 

자료사전 (DD- Data Dictionary)

- 자료요소, 자료요소들의 집합, 자료의 흐름, 자료저장소의 의미, 그들 간의 관계, 관계값, 범위, 단위들을 구체적으로 명시하는 사전

 

 

프로젝트 관리의 개념

- 주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템을 개발하기 위한 전반적인 활동

- 3대 요소 (3P) : 사람, 문제, 프로세스

 

 

비용산정

- 하향식 : 전문가 판단, 델파이 기법

- 상향식 : 코드라인수, Man Month, COCOMO모형, 푸트남 모형, 기능점수(FP) 모형

 

 

비관치 - 가장 많이 측정된 코드라인수

중간치 - 측정된 모든 코드라인의 평균

낙관치 - 가장 적게 측정된 코드라인수

예측치 -  (O + 4M + P) / 6 

O : 낙관치

M : 중간치

P = 비관치

 

 

Man Month 모형

- Man Month = Loc / 월간 생산성

- 프로젝트기간 = Man Month / 인력

 

 

COCOMO 유형

- 조직형 (Organic Mode) : 소규모 5만 라인 이하

- 반 분리형 (Semi-Detached Mode) : 중간 30만 라인 이하

- 임베디드형 (Embedded Mode) : 초대형 규모 30만 라인 이상

 

 

일정관리 모델 종류

- 주 공정법 (CPM)

- PERT

- 중요연쇄 프로젝트 관리

 

 

주 공정 (임계경로)

- 프로젝트의 시작에서 종료까지 가장 긴 시간에 걸리는 경로를 의미한다

 

 

위험대응 전략

- 회피, 전가, 완화, 수용

 

 

현행시스템 파악

- 현행시스템이 어떤 하위시스템으로 구성되어 있고, 제공 기능 및 연계정보는 무엇이며 어떤 기술요소를 사용하는지 파악하는 것

 

 

 

 

 

 

 

 

 

 

반응형
프로필사진

남건욱's 공부기록