소프트웨어 디자이너 시험은 오전과 오후로 나뉘어 진행됩니다.
오전 시험은 다양한 범위의 문제가 출제됩니다.
C와 C++를 사용할 수 있지만 문제가 어렵지 않고 어셈블리 언어는 테스트하지 않습니다. 특히 오후에는 소프트웨어 공학 이론을 숙지하고 더 많은 시험을 치르는 것이 좋습니다. 운영 체제, 컴파일 원리 및 컴퓨터 과학과 관련된 기타 이론이 있습니다.
개요는 다음과 같습니다 :
소프트웨어 디자이너 강의 계획서
I. 시험 설명
1. 시험 요구 사항 :
(1) 마스터 데이터 표현, 산술 및 논리 연산,
(2) 관련 응용 및 이산 수학의 기본 지식 습득,
(3) 컴퓨터 아키텍처, 다양한 주요 구성 요소의 다양한 주요 구성 요소의 성능 및 기본 작동 원리,
(4) 운영 체제 및 프로그래밍 언어의 기초를 습득하고 컴파일러의 기초를 이해합니다.
(5) 일반적으로 사용되는 데이터 구조와 일반적으로 사용되는 알고리즘에 익숙합니다.
(6) 데이터베이스, 네트워크 및 멀티미디어의 기초에 익숙합니다.
(7) C 프로그래밍 언어 및 C++를 숙달합니다, 자바, 비주얼, 베이직, 비주얼 C++ 중 하나,
(8) 소프트웨어 엔지니어링, 소프트웨어 프로세스 개선, 소프트웨어 개발 프로젝트 관리의 기초를 숙지하고
(9) 소프트웨어 설계의 방법과 기술을 숙지하고
(10) 일반적으로 사용되는 정보 기술 표준, 보안 및 관련 법규의 기초를 숙지하고
(11)
.(11) 정보 기술 및 컴퓨터 응용 프로그램의 기초를 이해하고
(12) 컴퓨팅 분야의 영어 자료를 올바르게 읽고 이해할 수 있습니다.
2. 본 시험에 합격 한 자격을 갖춘 인력은 소프트웨어 개발 프로젝트 관리 및 소프트웨어 엔지니어링의 요구 사항에 따라 소프트웨어를 설계하고, 프로그램 설계 사양 및 기타 해당 문서를 작성하고, 프로그래머가 프로그램 작성 및 디버깅을 조직 및 안내하고, 소프트웨어를 최적화 및 통합하고, 시스템 전체 설계 요구 사항을 충족하는 고품질 소프트웨어를 개발하고, 엔지니어링 분야에서 실질적으로 전문적인 수준으로 작업 할 수있는 능력을 갖출 수 있습니다.
(1) 컴퓨터 및 소프트웨어 공학 지식, 시험 시간은 150분, 필기 시험,
(2) 소프트웨어 설계, 시험 시간은 150분, 필기 시험
3. 시험 과목은 다음과 같습니다.
시험 범위
시험 과목 1: 컴퓨터 및 소프트웨어 공학 지식
1.컴퓨터 과학 기초
1.1 수 체계와 그 변환
진수, 십진수, 16진수 및 기타 일반적인 소수 체계와 서로의 변환.
1.2 데이터의 표현
숫자 표현(원본, 보수, 시프트 코드 표현, 정수 및 실수의 내장 표현, 정밀도 및 오버플로)
숫자가 아닌 표현(문자 및 한자 표현, 소리 표현, 이미지 표현)
검사 방법 및 체크섬 코드(패리티 검사 코드, 해몬드 검사 코드, 순환 중복 검사 코드)
p>
1.3 산술 및 논리 연산
컴퓨터에서 이진수로 연산하는 방법
논리 대수의 기본 연산 및 논리 식의 단순화
1.4 수학적 기초
명제, 술어 및 형식 논리의 기초
일반적으로 사용되는 수치 계산 (오류, 행렬 및 행렬식, 근사 방정식, 근사 방정식 풀이, 보간, 수치 적분)
배치와 조합, 확률 이론의 응용, 응용 통계 (데이터의 통계 분석)
기본 연산 방법 (예측 및 의사 결정, 선형 프로그래밍, 네트워크 다이어그램, 시뮬레이션)
1.5 일반 데이터 구조
배열 (정적 배열, 동적 배열), 선형 테이블, 체인 목록 (단방향 체인 목록, 양방향 체인 목록, 순환 연결 테이블), 큐, 스택, 트리(이진 트리, 검색 트리, 균형 트리, 트레일 트리, 트레일 트리, 힙), 그래프 등을 정의, 저장 및 조작할 수 있습니다.
해싱(스토리지 주소 계산, 충돌 처리)
1.6 공통 알고리즘
분류 알고리즘, 검색 알고리즘, 수치 계산 방법, 문자열 조작 방법, 데이터 압축 알고리즘, 재귀 알고리즘, 그래픽 연관 알고리즘.
알고리즘과 데이터 구조의 관계, 알고리즘 효율성, 알고리즘 설계, 알고리즘 설명(순서도, 의사 코드, 의사 결정 테이블), 알고리즘 복잡성.
2. 컴퓨터 시스템의 지식
2.1 하드웨어 지식
2.1.1 컴퓨터 시스템의 구성, 아키텍처 분류 및 특성
CPU와 메모리의 구성, 성능 및 기본 동작
일반 입출력 장치 및 통신 장치의 성능과 동작의 기본 원리
.
I/O 인터페이스의 기능, 종류 및 특성
I/O 제어 모드(인터럽트 시스템, DMA, I/O 프로세서 모드)
CISC/RISC, 파이프라이닝, 멀티프로세서, 병렬 처리.
2.1.2 스토리지 시스템
기본 캐시 스토리지 시스템의 작동 원리
가상 메모리의 기본 작동 원리, 다중 레벨 스토리지 시스템의 비용 효율성.
RAID 유형 및 특성
2.1.3 보안, 신뢰성 및 시스템 성능 평가의 기초
진단 및 내결함성
시스템 신뢰성 분석 및 평가
컴퓨터 시스템의 성능 평가 방법
2.2 소프트웨어에 대한 지식
2.2.1 운영체제에 대한 지식
p p>운영 체제 커널(인터럽트 제어), 프로세스 및 스레드의 개념.
프로세서 관리(상태 전환, * * * 공유 및 뮤텍스, 시간 공유, 선점, 교착 상태)
스토리지 관리(주 메모리 보호, 동적 연결 할당, 분할, 페이징, 가상 메모리)
장치 관리(I/O 제어, 의사 디호밍)
파일 관리(파일 디렉토리, 파일 구성, 액세스 방법, 액세스 제어, 복구 처리)
작업 관리(작업 스케줄링, 작업 제어 언어, 다중 채널 프로그래밍)
한자 처리, 멀티미디어 처리, 인간-컴퓨터 인터페이스
네트워크 운영체제 및 임베디드 운영체제 기초
운영체제 구성
2.2.2 프로그래밍 언어 및 언어 처리 프로그램에 대한 지식
어셈블리-컴파일-해석 시스템의 기본 지식 및 작동 원리
프로그래밍 언어의 기본 구성 요소: 데이터, 연산, 제어 및 전송, 프로시저(함수) 호출.
다양한 프로그래밍 언어의 주요 특징과 응용
2.3 컴퓨터 네트워크에 대한 지식
네트워크 아키텍처(네트워크 토폴로지, OSI/RM, 기본 네트워크 프로토콜)
전송 매체, 전송 기술, 전송 방법 및 전송 제어기
일반 네트워크 장치 및 다양한 통신 장치
클라이언트/. 서버 아키텍처, 브라우저/서버 아키텍처.
랜 토폴로지, 액세스 제어, 랜 네트워킹, 랜 간 연결, 랜-WAN 연결.
인터넷 기본 및 응용
네트워크 소프트웨어
네트워크 관리
네트워크 성능 분석
2.4 데이터베이스 지식
데이터베이스 관리 시스템의 기능 및 특징
데이터베이스 모델(개념 모델, 외부 모델, 내부 모델)
데이터 모델, ER 다이어그램 첫 번째 패러다임, 두 번째 패러다임, 세 번째 패러다임.
데이터 조작(집계 및 관계형 연산)
데이터베이스 언어(SQL)
데이터베이스 제어 기능(동시성 제어, 복구, 보안, 무결성)
데이터 웨어하우스 및 분산 데이터베이스의 기초
2.5 멀티미디어 지식
멀티미디어 시스템의 기초 지식, 멀티미디어의 기본 지식, 멀티미디어 장비 성능 특성, 일반적인 멀티미디어 파일 형식.
간단한 그래픽 및 이미지 파일 처리 방법
오디오 및 비디오 정보의 응용
멀티미디어 애플리케이션 개발 프로세스
2.6 시스템 성능 지식
성능 메트릭(응답 시간, 처리량, 처리 시간) 및 성능 설계.
성능 테스트 및 성능 평가
신뢰성 지표, 계산 및 신뢰성 설계
신뢰성 테스트 및 신뢰성 평가
2.7 컴퓨터 애플리케이션 기본 지식
정보 관리, 데이터 처리, 지원 설계, 자동화 및 제어, 과학적 계산 및 인공 지능에 대한 기본 지식.
통신 서비스에 대한 기본 지식
일반 응용 시스템
3. 시스템 개발 및 운영에 대한 지식
3.1 소프트웨어 엔지니어링, 소프트웨어 프로세스 개선 및 소프트웨어 개발 프로젝트 관리에 대한 지식
소프트웨어 엔지니어링 지식
소프트웨어 개발 수명주기 단계의 목표 및 과제
소프트웨어 개발
소프트웨어 개발 프로젝트 관리에 대한 기본 지식(시간 관리, 비용 관리, 품질 관리, 인적 자원 관리, 리스크 관리 등). 그리고 일반적으로 사용되는 관리 도구.
주요 소프트웨어 개발 방법론(수명주기 접근법, 프로토타입 접근법, 객체지향 접근법, CASE)
소프트웨어 개발 도구 및 환경에 대한 지식
소프트웨어 프로세스 개선에 대한 지식
소프트웨어 품질 관리에 대한 지식
소프트웨어 개발 프로세스 평가 및 소프트웨어 역량 성숙도 평가에 대한 기본 지식
3.2 시스템 분석의 기초
시스템 분석의 목적과 업무
구조화된 방법(데이터 흐름도(DFD), 데이터 사전(DD), 엔티티 관계 다이어그램(ERD), 처리 설명을 위한 구조화된 언어).
통합 모델링 언어(UML)
시스템 사양
3.3 시스템 설계 지식
시스템 설계의 목적과 과제
구조적 설계 방법 및 도구(시스템 흐름도, HIPO 다이어그램, 제어 흐름도)
시스템 구조 설계 전반(전체 레이아웃, 설계 원칙, 모듈 구조 설계
세부 시스템 설계(코드 설계, 데이터베이스 설계, 사용자 인터페이스 설계, 프로세스 설계)
시스템 설계 명세서
3.4 시스템 구현 지식
시스템 구현의 주요 업무
구조화 프로그래밍, 객체지향 프로그래밍, 시각화 프로그래밍
프로그래밍 스타일
프로그래밍 언어의 선택
시스템 테스트의 목적, 유형 및 방법(블랙박스 테스트, 화이트박스 테스트 및 그레이박스 테스트).
테스트 설계 및 관리(오류 곡선, 오류 제거, 수렴, 주입 실패, 테스트 케이스 설계, 시스템 테스트 보고서)
시스템 전환의 기초
3.5 시스템 운영 및 유지보수 지식
시스템 운영 및 관리의 기초
시스템 유지보수 기초
시스템 평가의 기초 기본 지식
3.6 객체지향 개발 방법
객체지향 개발 개념(클래스, 객체, 속성, 캡슐화, 상속, 다형성, 객체간 참조)
객체지향 개발 방법의 장점 및 효과 영역
객체지향 설계 방법(아키텍처, 클래스 설계, 사용자 인터페이스 설계)
객체지향적 구현 방법(프로그래밍 언어 선택, 클래스 구현, 메서드 구현, 사용자 인터페이스 구현, 테스트 데이터 준비)
객체 지향 프로그래밍 언어의 기본 메커니즘(예: C++, Java, Visual, Bsasic, Visual C++)
객체 지향 데이터베이스 및 분산 객체의 개념
4. 보안 지식
보안 기본 개념
컴퓨터 바이러스 및 컴퓨터 범죄 예방.
접근 제어, 침입 방지 및 보안 관리 조치
암호화 및 복호화 메커니즘
위험 분석, 위험 유형, 위험 방지 조치 및 내부 통제
5. 표준화에 대한 지식
표준화 인식, 표준화 개발 및 표준 설정 프로세스.
국제 표준, 국가 표준, 산업 표준 및 기업 표준에 대한 기본 지식
코드 표준, 파일 형식 표준, 보안 표준, 소프트웨어 개발 사양 및 문서 표준에 대한 이해.
표준화 조직
6. 정보화의 기초
정보화 인식
정보화의 글로벌 동향, 국가 정보화 전략, 기업 정보화 전략 및 전술.
관련 법규
원격 교육, 전자상거래, 전자정부에 대한 기본 지식.
기업 정보 자원 관리에 대한 기본 지식
7. 컴퓨터 영어
컴퓨터 기술의 기본 어휘를 습득하고 컴퓨터 분야의 영어 자료를 정확하게 읽고 이해할 수 있다.
시험과목2:소프트웨어설계
1.외부설계
1.1 시스템 요구사항 기술 이해
1.2 시스템 개발을 위한 준비
개발 방법론 선정, 개발 환경 준비, 개발 계획서를 작성할 수 있다.
1.3 시스템 기능 설계
시스템 구조 선정, 각 하위 시스템의 기능 및 인터페이스 설계, 보안 전략, 요구사항 및 실현 방법 설계, 세부 워크플로우 및 데이터 흐름 공식화.
1.4 데이터 모델 설계
ER 모델 및 데이터 모델 설계
1.5 외부 설계 문서 작성
시스템 구성도, 하위 시스템 관계도, 시스템 순서도, 시스템 기능 명세서, 입출력 명세서, 데이터 명세서, 사용자 매뉴얼 프레임워크.
시스템 테스트 요구사항 설계
1.6 설계 검토
2. 내부 설계
2.1 소프트웨어 구조 설계
구성 요소 분해를 기반으로 구성 요소의 기능 사양과 구성 요소 간의 인터페이스를 결정합니다.
미들웨어 및 도구 사용
2.2 입출력 설계
화면 인터페이스 설계, 입출력 검사 방법 및 검사 정보 설계
2.3 물리적 데이터 설계
데이터 특성 분석, 논리적 데이터 구성 및 저장 매체 결정, 기록 형식 및 처리 방법 설계.
논리적 데이터 구조를 물리적 데이터 구조로 대체하고, 용량을 계산하고, 최적화합니다.
2.4 구성 요소 생성 및 재사용
구성 요소 생성 및 재사용의 개념
서브루틴 라이브러리 또는 클래스 라이브러리 사용
2.5 내부 설계 문서 작성
구성 요소 분할도, 구성 요소 간 인터페이스, 구성 요소 처리 지침, 화면 설계 문서, 보고서 설계 문서, 파일 설계 문서, 데이터베이스 설계 문서 작성.
2.6 설계 검토
3. 프로그래밍; 오케스트레이션
3.1 모듈 분할(원칙, 방법, 기준)
3.2 프로그래밍 설계 문서 작성
모듈 명세(기능 및 인터페이스 설명, 프로그래밍 처리 로직 설명, 입출력 데이터 형식 설명)
테스트 요구사항 설명(테스트 유형 및 목표, 테스트 케이스, 테스트 방법)
3.3 프로그래밍 검토
4. 시스템 구현
4.1 컴퓨터 시스템 및 환경의 구성
4.2 적합한 프로그래밍 언어의 선택
4.3 C 프로그래밍 언어 및 C++, Java, Visual 등 모든 프로그래밍 언어에 대한 지식 프로그래머가 프로그래밍 및 테스트와 필요한 최적화를 수행할 수 있도록 프로그래밍 언어 및 기타 프로그래밍 언어에 대한 지식.
4.4 시스템 테스트
프로그래머에게 모듈 테스트 및 수락을 교육합니다.
시스템 통합 테스트 환경과 테스트 도구를 준비합니다.
테스트 데이터 준비
테스트 보고서 작성
5. 소프트웨어 엔지니어링
소프트웨어 수명 주기 모델(폭포수 모델, 나선형 모델, 분수 모델) 및 소프트웨어 비용 모델.
소프트웨어 요구사항 정의하기(시스템 목표, 구성, 기능, 성능, 제약 조건)
소프트웨어 요구사항을 기술하는 방법(기능 계층 모델, 데이터 흐름 모델, 제어 흐름 모델, 데이터 지향 모델, 객체 지향 모델 등)
6.
소프트웨어 요구사항을 정의하는 방법(구조적 접근, 객체 지향 분석)
소프트웨어 설계(분석 및 통합, 단계적 개선, 추상화, 정보 숨김)
소프트웨어 설계 방법(구조적 설계 접근, 잭슨 접근, 워니어 접근, 객체 지향 설계 접근)
프로그래밍(구조화된 프로그래밍, 객체 지향 프로그래밍 객체지향 프로그래밍)
소프트웨어 테스트의 원리와 방법
소프트웨어 품질(소프트웨어 품질 특성, 소프트웨어 품질 관리)
소프트웨어 프로세스 평가 및 소프트웨어 역량 성숙도 평가의 기본 방법.
소프트웨어 개발 환경 및 개발 도구(분석 도구, 설계 도구, 프로그래밍 도구, 테스트 도구, 유지보수 도구, 사례 연구)
소프트웨어 엔지니어링 동향(구성 요소 중심, 통합 모델링 언어(UML))
소프트웨어 프로세스 개선 모델 및 방법