2022년 정보처리기사 실기를 준비하면서 실기를 정리하면서 공부하려고 포스팅으로 정리해보고자 만들고 있습니다.
정보처리기사 실기시험 출제 경향
정보시스템 등의 개발 요구 사항을 이해하여
각 업무에 맞는 소프트웨어의 기능에 관한 설계, 구현 및 테스트를 수행에 필요한 지식을 함양합니다.
1. 현행 시스템 분석 및 요구사항 확인(소프트웨어 공학 기술의 요구사항 분석 기법 활용)
2. 데이터 입출력 구현(논리, 물리데이터베이스 설계, 조작 프로시저 등)
3. 통합 구현(소프트웨어와 연계 대상 모듈간의 특성 및 연계 모듈 구현 등)
4. 서버프로그램 구현(소프트웨어 개발 환경 구축, 형상 관리, 공통 모듈, 테스트 수행 등)
5. 인터페이스 구현(소프트웨어 공학 지식, 소프트웨어 인터페이스 설계, 기능 구현, 구현검증 등)
6. 화면설계(UI 요구사항 및 설계, 표준 프로토 타입 제작 등)
7. 애플리케이션 테스트 (테스트 케이스 설계, 통합 테스트, 성능 개선 등)
8. SQL 응용(SQL 작성 등)
9. 소프트웨어 개발 보안 구축(SW 개발 보안 설계, SW개발 보안 구현 등)
10. 프로그래밍 언어활용(기본 문법 등)
11. 응용 SW기초 기술 활용(운영체제, 데이터베이스 활용, 네트워크 활용, 개발환경 구축 등)
12. 제품 소프트웨어 패키징(제품 소프트웨어 패키징, 제품소프트웨어 매뉴얼 작성 , 버전 관리등 )
현행 시스템 및 요구사항 확인1
다이어그램(유스케이스, 클래스, 시퀀스, 커뮤니케이션, 상태, 패키지)
유스케이스 다이어그램
- 유스케이스 다이어그램은 사용자와 다른 외부 시스템들이 개발돌 시스템을 이용해 수행할 수 있는 기능을 사용자의 관점에서 표현한 것이다.
- 유스케이스 구성요소
유스케이스의 포함(include) / 확장(extend)관계
- 포함관계 : 2개 이상의 유스케이스에 공통적으로 적용되는 기능을 별도로 분리하여 새로운 유스케이스로 만든 경우, 원래의 유스케이스와 새롭게 분리된 유스케이스와의 관계를 포함관계라고 함.
- <<include>>라고 표기
- 확장관계 : 유스케이스가 특정 조건에 부합되어 유스케이스의 기능이 확장될 때, 원래의 유스케이스와 확장된 유스케이스와의 관계를 확장관계라고함
- <<extends>>라고 표기
클래스 다이어그램(class diagram)
- 클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현한 것이다.
- 클래스 다이어그램 구성요소
시퀀스 다이어그램(Sequence diagram)
- 시퀀스 다이어그램은 시스템이나 객체들이 메세지를 주고받으며 상호작용하는 과정을 그림으로 표현한 것이다.
- 시퀀스 다이어그램 구성요소
커뮤니케이션 다이어그램
- 시스템이나 객체들이 메세지를 주고받으며 상호작용하는 과정에서 객체들간의 연관을 그림으로 표현한 것이다.
- 커뮤니케이션 다이어그램 구성요소
상태 다이어그램(state diagram)
- 객체들 사이에서 발생하는 이벤트에 의한 객체들의 상태 변화를 그림으로 표현한 것이다.
- 상태다이어그램 구성요소
패키지 다이어그램(Package diagram)
- 유스케이스나 클래스 등의 요소들을 그룹화한 패키지간의 의존관계를 표현한 것
- 패키지다이어그램 구성요소
구조적방법론/객체지향 방법론/컴포넌트 기반 방법론
구조적 방법론
- 정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리(Process)중심의 방법론이다.
- 이해가 쉽고 검증이 가능한 프로그램 코드를 생성하는 것이 목적
- 구조적 방법론의 개발 절차
객체지향 방법론
- 현실의 개체(Entity)를 기계의 부품처럼 하나의 객체(Object)로 만들어, 소프트웨어 개발 시 객체들을 조립하여 필요한 소프트웨어를 구현하는 방법론
- 구조적 기법의 문제점으로인한 소프트웨어 위기의 해결책으로 채택됨
- 객체지향 방법론의 개발 절차
컴포넌트 기반 방법론
- 기존 시스템이나 소프트웨어를 구성하는 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만드는 방법론이다.
- 컴포넌트 재사용이 가능하여, 시간과 노력을 절감한다.
- 컴포넌트 기반 방법론의 개발 절차
소프트웨어 재사용/CASE/LOC기법/수학적 선정기법/COCOMO 소프트웨어 개발유형
소프트웨어 재사용
- 이미 개발되어 인정받은 소프트웨어를 다른 소프트웨어 개발/유지에 사용하는 것
- 합성중심 : 소프트웨어 부품, 블록을 만들어 끼워맞춰 소프트웨어를 완성시키는 방법으로, 블록 구성 방법이라고 함
- 생성중심 : 추상화 형태로 써진 명세를 구체화하여 프로그램을 만드는 방법으로 패턴 구성방법이라고 함
CASE(Computer Aided Software Engineering)
- 소프트웨어 개발과정에서 사용되는 요구 분석, 설계, 구현, 검사 및 디버깅 과정 전체 또는 일부를 컴퓨터와 전용 소프트웨어 도구를 사용하여 자동화하는 것이다.
- CASE 주요기능
- 소프트웨어 생명주기 전 단계의 연결
- 다양한 소프트웨어 개발모형 지원
- 그래픽 지원
LOC 기법(source Line Of Code, 원시 코드 라인 수)
- 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법이다.
- 노력(인월) = 개발기간 x 투입인원 = LOC / 1인당 월평균 생산 코드 라인 수
- 개발비용 = 노력 X 단위비용(1인당 월평균 인건비)
- 개발기간 = 노력 / 투입인원
- 생산성 = LOC / 노력
COCOMO 소프트웨어 개발 유형
1) 조직형(Organic Mode)
2) 반분리형(Semi-Detached Mode)
3) 내장형(Embedded Mode)
댓글