본문 바로가기

학습 기록/정보처리기사

(37)
[실기] 2023년 1회 기출문제 보호되어 있는 글입니다.
[실기] 2020년 1회 실기 기출문제 보호되어 있는 글입니다.
[1. 소프트웨어 설계] 디자인 패턴 디자인 패턴(Design Pattern)이란? : 소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴 : 패턴을 참고해 개발할 경우 효율성, 유지보수성, 운용성 등 품질이 향상되고 최적화에 도움이 됨 디자인 패턴 구성요소 1) 패턴의 이름 : 패턴을 부를 때 사용하는 이름과 디자인 패턴 유형 2) 문제 및 배경 : 패턴이 사용되는 분야 또는 배경. 해결하는 문제를 의미 3) 솔루션 : 패턴을 이루는 요소들, 관계, 협동 과정 4) 사례 : 패턴의 간단한 적용 사례 5) 결과 : 패턴을 사용하면 얻게되는 이점이나 영향 6) 샘플 코드 : 패턴이 적용된 원시 코드 디자인 패턴 유형 - 목적 - 1) 생성 : 객체 인스턴스 생성에 관여, 클래스 정의와 객체..
[1. 소프트웨어 설계] 객체지향(구성요소, 기법, 설계 원칙, 분석, 방법론) 객체 지향(Object Oriented) 이란? : 실세계의 개체를 속성과 메서드가 결합한 형태의 객체로 표현하는 기법 객체 지향 구성요소 1) 클래스(Class) : 특정 객체 내에 있는 변수와 메서드를 정의하는 일종의 틀 : 하나 이상의 유사한 객체들을 묶어 하나의 공통된 특성을 표현 : 속성은 변수의 형태로, 행위는 메서드의 형태로 선언 2) 객체(Object) : 물리적/추상적으로 자신과 다른 것을 식별 가능한 대상 : 객체마다 각각의 상태와 식별성을 가짐 : 클래스에서 정의한 것을 토대로 메모리에 할당 3) 메서드(Method) : 클래스로부터 생성된 객체를 사용하는 방법 : 객체가 메시지를 받아 실행해야 할 객체의 구체적인 연산 4) 메시지(Message) : 객체에게 어떤 행위를 하도록 지시..
[1. 소프트웨어 설계] 소프트웨어 아키텍처 소프트웨어 아키텍처(Software Architecture)란? : 여러 가지 소프트웨어 구성요소와 그 구성요소가 가진 특성 중에서 외부에 드러나는 특징, 그리고 구성요소 간의 관계를 표현하는 시스템 구조로, 소프트웨어를 설계하고 전개하기 위한 지침과 원칙 소프트웨어 아키텍처 필요성 : 주요 이해관계자들 간의 관점 조율을 통한 시스템을 최적화 : 비기능적인 요소에 집중해서 만들어지고, 기능적인 요소도 고려 소프트웨어 아키텍처 프레임워크(Software Architecture Framework)란? : 소프트웨어 집약적인 시스템에서 아키텍처가 표현하는 내용 및 이들 간의 관계를 제공하는 아키텍처 기술 표준 소프트웨어 아키텍처 프레임워크 구성요소 2023.08.30 - [학습 기록/정보처리기사] - [1. ..
[1. 소프트웨어 설계] 소프트웨어 아키텍처 패턴 유형 1. 계층화 패턴(Layered Pattern) : 시스템을 계층으로 구분하여 구성하는 패턴 : 각 하위 모듈은 특정 수준의 추상화를 제공, 각 계층은 다음 상위 계층에 서비스를 제공 : 서로 마주보는 두 개의 계층 사이에서만 상호작용이 이루어짐 2. 클라이언트 - 서버 패턴(Client-Server Pattern) : 하나의 서버와 다수의 클라이언트로 구성된 패턴 : 사용자가 클라이언트를 통해 서버에 서비스를 요청하면 서버는 클라이언트에게 서비스 제공 : 서버는 계속 클라이언트로부터 요청을 대기 3. 파이프-필터 패턴(Pipe-Filter Pattern) : 데이터 스트림을 생성하고 처리하는 시스템에서 사용 가능한 단방향 패턴 : 서브 시스템이 입력 데이터를 받아 처리, 결과를 다음 서브 시스템으로 넘..
[1. 소프트웨어 설계] 소프트웨어 아키텍처 4+1 뷰 구성요소 1. 유스케이스 뷰(Usecase View) : 유스케이스 또는 아키텍처를 도출하고 설계하며 다른 뷰를 검증하는데 사용되는 뷰 : 외부 행위자에 의해 인식되는 시스템의 기능 요구사항을 보여주는 데 초점 : 사용자, 설계자, 개발자, 테스트 관점 2. 논리 뷰(Logical View) : 시스템의 기능적인 요구사항이 어떻게 제공되는지 설명해주는 뷰 : 설계자, 개발자 관점 3. 프로세스 뷰(Process View) : 시스템의 비기능적인 속성 : 자원의 효율적인 사용, 병행 실행, 비동기, 이벤트 처리 등을 표현한 뷰 : 개발자, 시스템 통합자 관점 4. 구현 뷰(implementation View) : 개발 환경 안에서 정적인 소프트웨어 모듈의 구성을 보여주는 뷰 : 컴포넌트 구조와 의존성을 보여주고 컴..
[1. 소프트웨어 설계] 소프트웨어 아키텍처 프레임워크 구성요소 1. 아키텍처 명세서(Architectural Description) : 아키텍처를 기록하기 위한 산출물들 : 이해관계자들의 시스템에 대한 관심을 관점에 맞춰 작성한 뷰로 표현 : 개별 뷰, 뷰 개괄 문서, 인터페이스 명세 등 2. 이해관계자(Stakeholder) : 시스템 개발에 관련된 모든 사람과 조직 : 고객, 최종 사용자, 개발자, 프로젝트 관리자, 유지보수자, 마케팅 담당자 등을 포함 3. 관심사(Concerns) : 시스템에 대한 이해관계자들의 서로 다른 의견과 목표 - 사용자 입장 : 기본적인 기능, 신뢰성, 보안, 사용성 등의 품질 - 유지보수자 입장 : 유지보수의 용이성 - 개발자 입장 : 적은 비용과 인력으로 개발 4. 관점(Viewpoint) : 개별 뷰를 개발할 때 토대가 되는 패..