뻑큐넷에 올라와 있는 정보처리기사 출제 기준(2023.1.1. - 2025.12.31)을 기본으로 공부할 예정이다.
벼락치기지만 이전에 너무 서둘렀다가 작은 점수 차이로 미끄러진 기억이 있으므로 차근차근 하지만 바쁘게 정리하며 공부하려고 한다. 마지막 기회인 만큼 이번엔 제발..
1. 현행시스템 분석하기
1. 개발하고자 하는 응용소프트웨어에 대해 이해를 높이기 위해, 현행 시스템의 적용현황을 파악함으로써 개발 범위와 향후 개발될 시스템으로의 이행방향성을 분석할 수 있다.
2. 개발하고자 하는 응용소프트웨어와 관련된 운영체제, 데이터베이스 관리 시스템, 미들웨어 등의 요구사항을 식별할 수 있다.
3. 현행 시스템을 분석하여, 개발하고자 하는 응용소프트웨어가 이후 적용될 목표 시스템을 명확하고 구체적으로 기술할 수 있다.
현행시스템 파악이란?
현행 시스템이 어떤 하위 시스템으로 구성되어 있고, 제공 기능 및 연계 정보는 무엇이며 어떤 기술 요소를 사용하는 지를 파악하는 활동
현행 시스템 파악 절차
1단계: 구성 / 기능 / 인터페이스 파악
2단계: 아키텍처 및 소프트웨어 구성 파악
3단계: 하드웨어 및 네트워크 구성 파악
* "구 기 인 / 아 소 / 하 네"로 암기
소프트웨어 아키텍처( Software Architecture)란?
여러 가지 소프트웨어 구성요소와 그 구성요소가 가진 특성 중에서 외부로 드러나는 특성, 구성요소 간의 관계를 표현하는 시스템의 구조나 구조체
소프트웨어 아키텍처 프레임워크 구성요소 (9가지)
아키텍처 명세서(Architectural Description)
이해 관계자(Stakeholder)
관심사(Concerns)
관점(Viewpoint)
뷰(View)
근거(Rationale)
목표(Mission)
환경(Environment)
시스템(System)
소프트웨어 아키텍처 4+1 뷰
고객의 요구사항을 정리해 놓은 시나리오를 4개의 관점에서 바라보는 소프트웨어적 접근 방법
-> 유스케이스 사용
구성요소: 유스케이스 뷰 + 논리뷰, 프로세스뷰, 배포뷰, 구현뷰 (유논프배구)
* 유스케이스란?
시스템이 액터에게 제공해야 하는 기능.
시스템 요구사항이자, 사용자 입장에서 바라본 시스템의 기능.
소프트웨어 아키텍처 패턴 유형
계층화 패턴(Layered Pattern)
클라이언트- 서버 패턴(Client-Server Pattern)
파이프-필터 패턴(Pipe-Filter Pattern)
브로커 패턴(Broker Pattern)
모델-뷰-컨트롤러 패턴(MVC; Model View Controller Pattern)
소프트웨어 아키텍처 비용 평가 모델 종류
SSAM(Software Architecture Analysis Method)
변경 용이성과 기능성에 집중.
평가가 용이하여 경험이 없는 조직에서도 활용 가능한 비용 평가 모델
ATAM(Architecture Trade-off Analysis Method)
아키텍처 품질 속성을 만족시키는지 판단 및 품질 속성들의 이해 상충관계까지 평가하는 모델
CBAM(Cost Benefit Analysis Method)
ATAM 바탕의 시스템 아키텍처 분석 중심으로 경제적 의사결정에 대한 요구를 충족하는 비용 평가 모델
ADR(Active Design Review)
소프트웨어 아키텍처 구성요소 간 응집도를 평가하는 모델
ARID(Active Reviews for Intermediate Designs)
전체 아키텍처가 아닌 특정 부분에 대한 품질요소에 집중하는 비용 평가모델
디자인 패턴(Design Pattern)
개념: 소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴
유형:
- 목적: 생성, 구조, 행위
- 범위: 클래스, 객체
종류:
- 생성 패턴: Builder, Prototype, Factory Method, Abstract Factory, Singleton
- 구조 패턴: Bridge, Decorator, Facade, Flyweight, Proxy, Composite, Adapter
- 행위 패턴: Mediator, Interpreter, Iterator, Template Method, Observer, State, Visitor, Command, Strategy, Memento, Chain of Responsibility
운영체제(Operating System)
개념: 사용자가 컴퓨터를 좀 더 쉽게 사용하기 위해 지원하는 소프트웨어
종류:
- PC: 윈도즈(Windows), 유닉스(Unix), 리눅스(Linux)
- 모바일: 안드로이드(Android), IOS
네트워크(Network)
개념: 컴퓨터 장치들의 노드 간 연결(데이터 링크)을 사용하여 서로에게 데이터를 교환할 수 있도록 하는 기술
OSI 7계층(Layer)
네트워크 통신에서 생긴 여러 가지 충돌 문제를 완화하기 위해 국제 표준화 기구(ISO; International Standardization Organization)에서 제시한 네트워크 기본 모델
- 응용 계층(Application Layer): 사용자와 네트워크 간 응용서비스 연결, 데이터 | 프로토콜: HTTP, ETP
- 표현 계층(Presentation Layer): 데이터 형식 설정과 부호교환, 암/복호화 | 프로토콜: JPEG, MPEG
- 세션 계층(Session Layer): 연결 접속 및 동기제어 | 프로토콜: SSH, TLS
- 전송 계층(Transport Layer): 신뢰성 있는 통신 보장 | 프로토콜: TCP, UDP
- 네트워크 계층(Network Layer): 단말 간 데이터 전송을 위한 최적화된 경로 제공 | 프로토콜: IP, ICMP
- 데이터링크 계층(Data Link Layer): 인접 시스템 간 데이터 전송, 전송 오류 제어 | 프로토콜: 이더넷
- 물리계층(Physical Layer): 0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환 | 프로토콜: RS-232C
DBMS(Database Management System)
DBMS는 데이터베이스라는 데이터의 집합을 만들고, 저장 및 관리할 수 있는 기능들을 제공하는 응용 프로그램
현행 시스템 분석 시 고려사항
- 성능 측면: 가용성, 성능, 상호 호환성
- 지원 측면: 기술 지원, 구축 비용
기출 문제
2020년 2회
문제 1. 다음 보기가 설명하는 패턴을 쓰시오.(영문 Full-Name으로 작성하시오)
[보기] 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에 연락이 가고 자동으로 내용이 갱신되는 방법으로 일대다의 의존성을 가지며 상호작용하는 객체 사이에서는 가능하면 느슨하게 경합하는 디자인을 사용해야 한다.
더보기
답: Observer
문제 2. Linux 운영체제 위에서 구동하며 휴대폰 전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어 - 사용자 인터페이스 그리고 표준 응용 프로그램(웹 브라우저, 이메일 클라이언트, 단문 메시지 서비스 (SMS), MMS) 등을 포함하고 있는 소프트웨어 스택이자 리눅스 모바일 운영체제로 개발자들이 자바와 코틀린 언어로 응용 프로그램을 작성할 수 있게 했고, 컴파일된 바이트 코드를 구동할 수 있는 런타임 라이브러리를 제공하는 운영체제는 무엇인지 쓰시오.
더보기
답: 안드로이드(Android)
2020년 4회
문제 1. 목적에 따른 디자인 패턴의 유형에는 생성, 구조, ( )이 / 가 있다. 괄호 ( ) 안에 알맞은 유형을 쓰시오.
더보기
답: 행위
'정보처리기사' 카테고리의 다른 글
[정보처리기사 실기] 2일차 디자인 패턴 암기 (1) | 2023.04.12 |
---|