이전과 같이 종이에 문제를 푸는 식이 아니기 때문에, 컴퓨터용 싸인펜이 필요없고 점수와 합격 여부도 바로 나온다.
물론 이 점수가 확정은 아니다. 문제의 오류 여부에 따라 수정될 가능성이 있긴 하지만....확률은 거의 희박하다.
어쨌든 점수가 바로 나와서 합격 여부를 알 수 있다는 점이 좋다.
개인적으로 수학도 집합부분 열심히 공부했던 사람으로써ㅋㅋㅋㅋ 1과목은 80점대로 높은 점수를 얻어 평균을 올린 점이 합격에 도움을 주지 않았나 싶다. 3,5 과목은 확실히 소홀했던 것 같고... 나머지 2과목의 계산문제(정렬, 트리순회 알고리즘), 4과목의 코딩문제에 힘을 쏟았는데 이 전략이 잘 맞았다 생각한다. 오히려 무조건 맞을 수 있는 문제가 이러한 연산 문제인 것 같음....말장난이 제일 헷갈리고 어려웠다ㅜㅜ
같은 날 친구랑 함께 시험을 봤는데, 시험 이후 문제에 대해 이야기를 나누니 겹치는 문제가 없었다(?) 이말인 즉슨, 컴퓨터로 보기 때문에 시험 문제를 문제은행 식으로 여러 버전을 랜덤으로 보는 것 같음.
처음에는 문제 순서를 바꾼 줄 알았는데 아예 내가 푼 문제를 보지 못했다는 걸 듣고 버전이 여러개 일 수 있겠다는 생각을 했다.
특히나 4과목이 SQL, Java, Python, C언어 문제 등 여러가지 언어 문제가 있는데, 친구는 대부분 Python 문제로 나왔고, 나는 한개정도만 나오고 대부분 C 아니면 Java 였다... 어떤식으로 나올지 모르니 잘 봐두는게 좋겠다.
나느 5과목이 점수가 잘 안나왔는데 헷갈리는 문제가 너무 많았다. 단어를 영문으로 표기하거나, "안", "못" 이런 글자 하나로 갈리는 문제가 꽤 있어서 풀이하는 데에 오래 걸렸음. 5과목 때문에 끝까지 남아서 풀었다.
시간은 150분으로 넉넉했고, 화면 우측 상단에 남은 시간이 써있어서 좋았다.
화면은 우측에 OMR처럼 체크가 되는 부분이 있고, 좌측에 문제가 나온다. 문제도 격자를 두어 한 페이지에 많이 볼지, 아니면 한문제씩 볼지 등 설정할 수 있고, 글자 크기도 확대 축소 등이 가능하다. 문제푸는 사람에 따라 눈이 나쁠수도 있을텐데 여러모로 고려를 했다는 점이 좋았다.
마지막에 답 제출버튼 클릭하면 "제출하시겠습니까?" 문구가 총 2번 뜬다.
여러번 확인 후 [예] 버튼을 두번 눌러 제출했다.
제출하고 바로 점수가 나와서 그런지 나가시는 분들의 여러모로의 탄성과 한숨을 들을 수 있던 것이 킬포...
- 계속해서 다음단계가 떨어지는 모양새 - 이전단계로 돌아갈 수 없음. - 각 단계를 그만큼 확실하게 진행하고 검토하고 승인한 뒤 다음단계로 넘어가야함. - 가장 전통적인 방법(고전적 생명주기 모형) - 두개 이상의 과정을 병행하지 않고 한번에 하나씩만. - 순서 : 타당성 검토-계획-요구분석-설계-구현-시험-유지보수(타계요설구시유) - 선형적 방식일 때, 요구사항이 아주 명확할 때 사용
2) 프로토 타입
- 사용자의 요구사항에 정확히 맞추기 위해 시제품(prototype)으 만들어서 최종 결과물 예측함. - 폭포수 모델 단점 보완(폭포수 모델로 개발이 완료되고 오류가 발생한 경우) - 순서 : 요구 수집-빠른설계-프로토타입 구축-고객평가-조정-구현(요설프고조구)
3) 나선형 모형
- 폭포수+프로토타입+위험분석 기능 추가 - 나선형처럼 여러번 개발 과정을 거쳐서 점진적으로 결과 완성 - 위험 관리 및 최소화 가능 - 추가되는 요구사항 반영 가능. - 순서 : 계획-위험분석-개발-평가 를 반복함 - 문제는 관리가 어렵다
4) 애자일 모형
- 민첩하게 고객의 요구사항 변화에 대응한다. 일정한 주기를 가지고 반복 개발 - 고객과의 소통 - 스프린트 단위의 개발 주기 반복 - 고객의 우선순위애 따라 개발진행 - 애자일 기반 소프트웨어 개발 모형 * 스크럼(Scrum) - 팀 중심으로 백로그(backlog)라는 요구사항 우선순위에 따라 계속해서 스프린트끝나면 회고하고 회의하고 함. * XP(eXtreame Programming) - 고객이 적극 참여해서 단위별 릴리즈를 하고, 특정 기능을 위한 스파이크 테스트를 하여 조금씩 배포.
중요가치 : 의사소통, 단순성, 용기. 존중, 피드백
방법 : 짝프로그래밍, 공동코드소유, 테스트주도개발. 전체팀, 계속적통합, 디자인개선/리팩토링, 소규모릴리즈)
*칸반(Kanban), Lean, 크리스탈(Crystal), ASD(Adaptive Software Development), FDD(Feature Driven Development),DSDM(Dynamic System Development),DAD(Disciplined Agile Delivery) 등
2. 시스템 파악
-> 시스템의 개발 범위와 개괄적 틀
- 구성(업무 시스템별 기능 및 담당) - 기능(어떤걸 만들어야하는지) - 인터페이스(규약-프로토콜, 데이터형식 등) - 아키텍쳐(구조-주요업무를 기준으로 각시스템 동작원리 및 구성) - 소프트웨어 - 하드웨어 - 네트워크(구성 및 물리적 위치 구성도 작성하면 유지보수에 활용됨)
원하는 서비스에 대한 설명 및 운영에 필요한 제약조건을 쓴다. 기능은 뭐고, 품질이나 제약사항은 어떻고, 사용자랑 개발자 사이의 합의 내용을 작성
1) 순서
도출-분석-명세-확인 요구사항 수집 후 분석해서 내용정리, 문서화한 뒤 고객한테 검토 요청함 이 때 확인 시 프로토타입을 주기도 하고, 모델을 논리적으로 검증하거나 테스트를 하기도 함.
2) 요구사항 분석
- 자료 흐름도 (DFD: Data Flow Diagram) 요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법
- 자료 사전 (DD: Data Dictionary) 자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것
= 자료의 정의: is composed of + 자료의 연결: and ( ) 자료의 생략: Optional [ | ] 자료의 선택: or { } 자료의 반복: Iteration of * * 자료의 설명: Commant
- 자동화도구 CASE 종류 SADT (Structured Analysis and Design Technique) SREM (Software Requirements Engineering Methodology) = RSL/REVS PSL (Problem Statement Language) PSA (Problem Statement Analyzer) TAGS (Technology for Automated Generation of Systems)
- 문서화도구 HIPO (Hierarchy Input Process Output) 트리 구조로 된 하양식 계층을 보여주는 도표이다. 가시적(visual,목차)
총체적(overView,개요)
세부적(detail,내용)
3) 요구사항 검증
- 워크 스루(Walk Through) : 검토회의 전에 요구사항 명세서를 미리 배포하여 사전 검토한 후 짧은 검토 회의를 통해 오류를 조기에 검출하는데 목적을 두는 요구사항 검토 방법 - 인스펙션(Inspection) : 전문가 또는 팀이 검사하여 오류를 찾아내는 검토 방법 - 동료검토(Peer Review) : 2~3명 리뷰
5. UML(Unified Modeling Language)
객체지향 모델링 언어로 시스템 분석, 설계 시 고객과 대화하기 위해 만들어짐. 그림으로 되어있음.
- 구조적 다이어그램(정적모델링) -클객컴배복패 클래스(클래스 사이의 관계와 속성, 제약조건 표시) 객체(특정 시점의 객체간의 관계 표시) 컴포넌트(기능을 하는 한 컴포넌트간의 관계 표시) 배치(결과물의 위치를 어떻게둘지 표시) 복합체구조(여러개 섞여있으면 내부는 어떤지 표시) 패키지(이 모든 것들을 그룹해서 그들간의 관계 표시)
- 행위 다이어그램(동적모델링) - 유시커상활상타 유스케이스(사용자관점에서 사용 사례를 기준으로 작성한 것, 요구사항 분석 시 사용) 시퀀스/순차(시간의 흐름에 따라 객체들끼리 메시지 주고받는거 표시) 커뮤니케이션(시퀀스가 메시지만 쓴다면 얘는 메시지와 관계까지 포함) 상태(변화에 따라 어떻게 바뀌는지 표시) 활동(시스템이 어떤 기능 수행할 때 조건이나 처리흐름 표시) 상호작용 개요(상호작용할 때 제어 흐름 표시) 타이밍(언제 하는지 시간제약 표시)
* 럼바우 객체지향 분석 기법(객체, 상태 다이어그램 사용함) * E-R다이어그램(개체, 관계, 속성)
6. UI(사용자 인터페이스)
-> 사용자와 시스템 간의 소통을 도와주는 장치
1) 분야
- 제어(정보 제공과 전달을 위한 물리적 제어) - 구성(콘텐츠의 상세적인 표현과 전체적인 구성) - 기능(모든 사용자가 편리하고 간편하게 사용하도록 하는 기능)
- 직관성 : 누구나 쉽게 이해하고 사용 가능해야 함 - 유효성 : 사용자의 목적을 정확하고 완벽하게 달성해야 함 - 학습성 : 누구나 쉽게 배우고 익힐 수 있어야 함 - 유연성 : 사용자의 요구사항을 최대한 수용하고 실수 최소화 해야 함
5) 한국 웹 컨텐츠 접근성 지침(KWCAG)
=> 웹 접근성 : 장애인도 비장애인과 동등하게 접근할 수 있게끔 하는 접근성 지침
- 인식의 용이성 : 대체 텍스트, 멀티미디어 대체 수단, 명료성,
- 운용의 용이성 : 광과민성 발작 예방(빛조심), 쉬운 내비게이션
- 이해의 용이성 : 가독성
- 견고성 : 문법 준수, 접근성
- 네비게이션필요(사이트맵, 메뉴바 등)
6) UI 설계 도구
- 와이어프레임(Wireframe) : 화면 단위로 대략적인 레이아웃을 구성 -> 더 실체화되면 그게 목업 - 목업(Mockup) : 실제화면과 유사한 형태로 만드는 단계, 껍데기, 기능 x - 스토리보드(Story Board) : 와이어프레임에 콘텐츠의 이동경로 작성, 메뉴얼(작업 지침서) - 프로토타입(Prototype) : 가라 데이터 넣고 테스트 - 유스케이스(Use Case) : 사람 도형 다이어그램에 사용자 요구사항 표시 및 내용 작성
7) 소프트웨어 품질 요구사항(기신사효유이)
- 기능 : 적절한 기능이 정확하게 + 호환, 보안 (적절,정확,호환,상호운용,보안,간결) - 신뢰 : 고장이 나도 상관없어! (성숙,회복,고장허용) - 사용 : 얼마나 쉽고 편한지 (이해,학습,운용,친밀) - 효율 : 한정된 시간, 자원으로 많은 일처리 (시간, 자원) - 유지보수 : 개선 및 확장에 관계된 부분 (분석,변경,시험,안정) - 이식: 서로 다른 환경에서 SW가 정상적으로 작동하는지(적용,설치,대체,공존)
*** 국제표준 ISO/IEC 9126 또는 25010 / 테스트절차 포함 ISO/IEC 12119
8) 감성공학
- HCI : 사람이 더 편하게 시스템을 사용할 수 있게 하는 학문. 최적의 UX(사용자경험)이 목표.
- 감성공학은 인간친화적인 시스템 개발 목표
7. 소프트웨어 아키텍처
->소프트웨어 기본구조 및 구성요소들 간의 관계 표현
1) 기본 원리
- 모듈화: 부품별
- 추상화: 각 요소 공통부분을 묶는거 *** 제과자 (제어, 과정, 자료)
- 단계적 분해 : 추상화 반복할수록 뭉탱이로 분해 가능
- 정보은닉: 캡슐안에 뭐가 있는지 모르는 것처럼 정보 은닉 가능
2) 설계 단계
설계 목표 설정 - 시스템 타입 결정(대화형, 이벤트형 등) - 아키텍처 패턴 적용 - 서브시스템 구체화 - 검토
정보처리기사 실기 준비를 위해 개정된 2020년도부터 2022년까지의 문제를 집중적으로 분석해보기로 했다.
일단은 어떻게 출제하는지를 봐야하니 각 유형별로 우선 나눠봤다. (기사퍼스트 가답안 쪽에 출제영역까지 표시해두었길래 참고함. 정확하지 않을 수 있음)
=> 문제 하나씩 뜯어본게 아니라 정확하지 않을 수 있습니다.
정보처리기사 실기 코딩문제 개정판 출제내역 분석
일단 코딩문제가 제일 많다. 직접 코딩해서 결과값을 쓰거나 SQL의 경우 단어를 작성하거나, 관련 용어를 주관식으로 설명하는 것도 있었다. 코딩문제가 대충평균 7문제정도 출제된다고 보면 된다. 주로 SQL, JAVA, C, 간혹 Python 정도 출제가 되는데코딩문제만 다 맞아도 대략35점은 먹고들어가는 것!그러니 60점 커트라인을 넘으려면나머지 이론 문제에서 5문제만더 맞추면 된다!
그다음이응용 SW기술 활용,애플리케이션 테스트 관리순일 것 같다.서버프로그램 구현과데이터 입출력 구현도도 꾸준히 1문제씩은 나오는 추세이고...대충 이정도가 기출이라고 생각하고 이것부터 보면 될듯? 나머지 흰색은 사실 단어 싸움이라 잘 모르겠다.
따라서 SQL과 C프로그래밍 등으로 나눠서 코딩영역부터 조져해보기로 함.
최근 들어서는 비중이 더 높아졌다. 따라서 코딩문제를 안풀어볼 수가 없다. 그동안 코딩문제도 아리까리했던 과거를 뒤로하고 코딩문제를 달달달 외워보고자 한다. 나오는 문제 스타일이나 기출로 충분히 익숙해질만한 문제 유형이니까.