정보처리기사 필기정리 (소프트웨어 설계)

22년 2회개념 관련 관계: 유스케이스와 액터 간의 상호작용이 있을 경우 확장 관계: 확장 기능 유스케이스와 확장 대상 유스케이스 사이에 형성되는 관계 (단, 조건에 따라 확장될 수도 있고 안될 수도 있음) 포함 관계: 하나의 유스케이스가 다른 유스케이스의 실행을 전제로 할 때 형성되는 관계 일반화 관계: 유사한 유스케이스 또는 액터를 모아 추상화한 유스케이스 정답 3번개념 관련 관계: 유스케이스와 액터 간의 상호작용이 있을 경우 확장 관계: 확장 기능 유스케이스와 확장 대상 유스케이스 사이에 형성되는 관계 (단, 조건에 따라 확장될 수도 있고 안될 수도 있음) 포함 관계: 하나의 유스케이스가 다른 유스케이스의 실행을 전제로 할 때 형성되는 관계 일반화 관계: 유사한 유스케이스 또는 액터를 모아 추상화한 유스케이스 정답 3번개념(POINT:아브콤데파ー풀프)구조 패턴의 종류어댑터(Adapter)서로 다른 인터페이스를 두 클래스를 어댑터 클래스에서 인터페이스를 통일시키고 사용하는 방법브릿지(Bridge)객체에서 동작을 처리하는 구현부와 확장을 위한 추상부를 분리한 패턴컴포지트(Composite)객체를 트리 구조로 구성하고, 개별 객체와 개별 객체를 모아 만든 복합 객체를 다룰 때,모두 같은 방법으로 다루는 패턴 데코레ー타(Decorator)기본 객체에 필요한 기능을 동적으로 유연하게 추가할 수 있는 패턴 파사드(Facade)서브 시스템의 공통적인 기능을 정의 단순화된 상위 레벨의 인터페이스를 정의하는 패턴 파사드 객체를 통해서 복잡한 과정을 사용자가 직접 호출하지 않아도 된 플라이 웨이트(Flyweight)공유 가능한 객체를 사용하고 실제 생성되는 객체의 수를 줄일 수 있는 패턴 프록시(Proxy)객체를 통해서 기본적인 패턴에 접근하고 클래스 앞에 해답하는 패턴의 반 프락시(급)이다22년 1회개념 단일 책임 원칙: 한 클래스는 한 동작만 책임져야 한다. 개방-폐쇄 원칙: 클래스는 확장에 대해서는 개방, 변경에 대해서는 폐쇄적이어야 한다. 리스코프 교체 원칙: 부모반의 행동규약을 자녀반이 위반하지 않는다. (즉, 아이 클래스가 부모 클래스를 대체 가능) 인터페이스 분리 원칙: 클라이언트가 사용하지 않는 인터페이스(메소드) 때문에 영향을 받지 않아야 한다.의존관계 역전의 원칙: 오브젝트에(구체화) 의존하지 말고 인터페이스에(추상화) 의존해야 한다. 정답 2번개념 단일 책임 원칙: 한 클래스는 한 동작만 책임져야 한다. 개방-폐쇄 원칙: 클래스는 확장에 대해서는 개방, 변경에 대해서는 폐쇄적이어야 한다. 리스코프 교체 원칙: 부모반의 행동규약을 자녀반이 위반하지 않는다. (즉, 아이 클래스가 부모 클래스를 대체 가능) 인터페이스 분리 원칙: 클라이언트가 사용하지 않는 인터페이스(메소드) 때문에 영향을 받지 않아야 한다.의존관계 역전의 원칙: 오브젝트에(구체화) 의존하지 말고 인터페이스에(추상화) 의존해야 한다. 정답 2번개념(POINT:츄빌화크프싱그)생성 패턴의 종류 추상 팩토리(Abstract Factory)구체적인 반에 의존하지 않고 서로 관련 있는 객체의 조합으로 구성된 추상 인터페이스를 제공하는 패턴 빌더(Builder) 복잡한 객체를 단계별로 생성할 수 있도록 하는 패턴 public생성자가 없는 것이 특징이며 static에서 정의된 건축업자 클래스를 통해서 원하는 값을 가진 객체를 생성할 수 있는 팩터리 메서드(Factory Method)의 정의 객체에 관한 서브 패턴을 생성하기에 따라서클래스 처리하게 대한 서브 시스템이며어떤 인스턴스를 생성할지는 하위 클래스에서 정의하는 방법 프로토 타입(Prototype)프로토 타입을 통해서 객체를 복제할 수 있는 패턴, 이미 존재하는 오브젝트와 유사한 객체를 만들고 싶은 경우에 사용할 수 있다.신구루톤(Singleton)인스턴스가 하나만 생성되는 패턴( 같은 인스턴스에 상태를 누적 반영)데이터를 공유해야 하는 경우 메모리를 절약해야 하는 경우에 사용할 수 있다. 정답 3번21년 3회개념 1. 의존 관계(Dependency Relationship)두가지 사물 간의 의미적 관계에서 하나의 사물의 명세서가 바뀌면 이를 사용하는 다른 사물에 영향을 미칠 경우 하나의 객체를 일시적으로 사용하는 관계(주로 매개 변수, 메소드가 실행되는 동안에만 그것을 사용할 것이라고는 하나의 사물을 영속적으로 사용하는 관계(주로 매개 변수, 메소드가 실행하는 동안에만 그 객체가 사용되는)3. 일반화된 사물의 관계(일반화된 개념).실체화 관계(Realization Relationship) 한 객체가 다른 오브젝트에 의해서 운영을 하도록 지정하는 것, 객체 지향 개념의 인터페이스와 같은 정답 2번개념 1. 의존관계(Dependency Relationship) 두 사물 간의 의미적 관계에서 한 사물의 명세서가 바뀌면 그것을 사용하는 다른 사물에 영향을 미치는 경우, 한 사물을 일시적으로 사용하는 관계(주로 매개변수, 메서드가 실행되는 동안에만 그것을 사용하는 것을 말하는 한 사물을 영속적으로 사용하는 관계(주로 매개변수, 메서드가 실행되는 동안에만 그 사물이 사용된다) 3. 일반화된 사물의 관계(일반화된 개념). 실체화 관계(Realization Relationship)한 객체가 다른 객체에 의해 오퍼레이션을 수행하도록 지정하는 것, 객체 지향 개념 인터페이스와 같은 정답 2번개념 자료 추상화 : 데이터 상세 구조 숨기기 제어 추상화: 정확한 제어 동작을 정의하는 것이 아니라 원하는 효과를 결정하는 것 과정의 추상화 : 특정 기능을 수행하는 과정을 추상화하는 것 정답 4번개념 자료 추상화 : 데이터 상세 구조 숨기기 제어 추상화: 정확한 제어 동작을 정의하는 것이 아니라 원하는 효과를 결정하는 것 과정의 추상화 : 특정 기능을 수행하는 과정을 추상화하는 것 정답 4번개념 생성 패턴: 객체의 생성과 관련된 패턴(추빌팩-푸싱) 구조 패턴: 프로그램의 구조를 설계하는데 사용되는 패턴(아브콤 데파플프) 행위 패턴: 객체 간의 상호작용 및 책임을 분배하는 방법에 관한 패턴(생성&구조 이외) 행위 패턴은 위와 같이 기억해도 문제가 없을 것으로 보인다. 생성 패턴과 구조 패턴만 정확히 알고 있어도 대부분의 예가 필터링된다. 정답 2번 (인스턴스 복제는 프로토타입 패턴)21년 2회개념 CASE (Computer-Aided Software Engineering) 요구사항 분석을 위한 자동화 툴 상위 CASE와 하위 CASE로 나뉘는 특징 변경사항 추적 가능 유지보수 비용 축소 재사용성 향상 원천기술 구조적 기법 프로토타이핑 기술 자동 프로그래밍 기술 정보 저장 기술 상위 CASE vs. 하위 CASE 기능 다이어그램 표현 지원 모델 오류 검증, 일관성 검증 지원 UI 설계 지원 하위 CASE 기능 정적, 동적 테스트 지원 시스템 생성 지원 소스 코드 생성, 정답 4번째 처리는 일괄 처리 기술 없음21년 1회21년 1회20년 4회20년 4회개념 소프트웨어 아키텍처 패턴 소프트웨어를 설계할 때 참조할 수 있는 전형적인 해결 방법(재사용 가능한 솔루션)타입 계층화 패턴 시스템을 계층으로 구분하여 구성하는 패턴을 서로 마주 보는 두개의 계층 사이에서만 상호 작용을 하는 클라이언트-서버 유형 한 서버와 다수의 클라이언트로 구성된 패턴들이 클라이언트에서 서버에 서비스를 요청하면 서버가 클라이언트에 해당 서비스를 제공하는 서버는 계속 클라이언트에서 요청을 기다리는 파이프-필터 패턴 데이터 스트림을 생성하고 처리 시스템에서 사용 가능한 단 방향 데이터 처리 시스템을 받고,결과를 다음 서브 시스템에 전달하는 과정을 반복 데이터 이동으로 데이터 변환 헤드가 발생할 가능성도 있다.브로커 패턴 분리된 컴포넌트로 구성된 분산 시스템에서 사용되며 이들 컴포넌트는 원격 서비스 실행을 통해서 상호 작용이 가능한 패턴 컴포넌트 간 통신을 조정하는 역할 수행 서버는 제 기능을(서비스)브로커에게 전달, 클라이언트가 브로커에게 서비스를 요청하면 브로커는 클라이언트를 자신의 레지스트리에(서버가 건넨 서비스를 보존하는 곳)한 적합한 서비스로 리다이렉트 모델 뷰), 3개의 대화형 시스템, 어플리케이션·컨트롤러, 컨트롤러, 컨트롤러·뷰ー라ー·컨트롤러·뷰ー라ー·시스템의 3개,뷰(사용자에게 정보 표시), 컨트롤러(유저로부터 요청을 입력하고 처리 모델과 뷰 사이의 전달자 역할)의 각 부분이 다른 컴포넌트에 분리되어 있어 서로 영향을 받지 않고 개발 작업 수행 가능한 여러 뷰가 없으면 안 되는 대화형 애플리케이션 구축에 적합 마스터-슬레이브 패턴 연산, 통신, 조정을 담당하는 마스터와 동기화되는 대상인 슬레이브로 구성되는 패턴 일반적으로 실시간 시스템에서의 사용 품질 속성 변경 용이성, 보안, 사용 편리성(2번째의 테스트·품질·품질·서비스·테스트·품질·테스트·품질·서비스)개념 S/W 설계 타입 상위설계(시스템의 전체적인 설계) 자료구조 설계 아키텍처 설계 인터페이스 설계 프로시저 설계 협약에 의한 설계 하위디자인(내부구조, 동적행위 등을 결정하는 디자인) 모듈 디자인 상위디자인과 하위디자인이 초점을 두는 부분이 다르다. 정답 2번20년 3회개념 미들웨어 컴퓨터와 컴퓨터 간의 접속을 쉽고 안전하게 하여 이에 대한 관리를 지원하는 소프트웨어가 다른 프로토콜, OS, DB과 어플리케이션 간의 통신을 지원하는 미들웨어 솔루션 타입 DB미들웨어 DB솔루션 기업이 제공하는 애플리케이션과 DB간의 통신을 원활하게 함을 목적으로 하는 미들웨어 RPC(원격 프로시저 호출)원격 프로시저를 로컬 프로시저처럼 불러내는 방식의 미들웨어 MOM(메시지 지향 미들웨어)메시지 기반의 비동기형 메시지 전달 방식 미들웨어 서로 다른 이기종 분산 DB시스템의 데이터 동기화 때문에 주로 사용 TP-monitor(트랜잭션 처리 모니터)온라인 업무로 트랜잭션 처리감시하는 미들웨어, 주로 사용자가 많고 안정적이고 즉신 처리가 필요한 업무 프로그램 개발에 많이 사용되는 Legacyware(유산 웨어)기존의 어플리케이션이나 DB기초로 새롭게 업데이트된 기능을 덧붙여때 사용되는 미들웨어 ORB(오브젝트 기반 미들웨어), 코바(CORBA)표준 사양을 구현한 객체 지향 미들웨어 WAS(웹 어플리케이션 서버)서버 계층에 애플리케이션이 동작할 수 있는 환경을 제공하며 안정된 트랜잭션 처리와 관리를 지원하는 미들웨어의 의미를 이해하는 것이 중요하다.정답 2번개념 미들웨어 컴퓨터와 컴퓨터 간의 접속을 쉽고 안전하게 하여 이에 대한 관리를 지원하는 소프트웨어가 다른 프로토콜, OS, DB과 어플리케이션 간의 통신을 지원하는 미들웨어 솔루션 타입 DB미들웨어 DB솔루션 기업이 제공하는 애플리케이션과 DB간의 통신을 원활하게 함을 목적으로 하는 미들웨어 RPC(원격 프로시저 호출)원격 프로시저를 로컬 프로시저처럼 불러내는 방식의 미들웨어 MOM(메시지 지향 미들웨어)메시지 기반의 비동기형 메시지 전달 방식 미들웨어 서로 다른 이기종 분산 DB시스템의 데이터 동기화 때문에 주로 사용 TP-monitor(트랜잭션 처리 모니터)온라인 업무로 트랜잭션 처리감시하는 미들웨어, 주로 사용자가 많고 안정적이고 즉신 처리가 필요한 업무 프로그램 개발에 많이 사용되는 Legacyware(유산 웨어)기존의 어플리케이션이나 DB기초로 새롭게 업데이트된 기능을 덧붙여때 사용되는 미들웨어 ORB(오브젝트 기반 미들웨어), 코바(CORBA)표준 사양을 구현한 객체 지향 미들웨어 WAS(웹 어플리케이션 서버)서버 계층에 애플리케이션이 동작할 수 있는 환경을 제공하며 안정된 트랜잭션 처리와 관리를 지원하는 미들웨어의 의미를 이해하는 것이 중요하다.정답 2번개념 1. 클래스 다이어그램 구성요소 클래스명(Class Name) 속성(Attribute) 연산(Operation) 접근제어자(Access Modifier) 2. 유스케이스 다이어그램 구성요소 유스케이스(Usecase) 액터(Actor) 시스템(System) 3. 시퀀스 다이어그램 구성요소 객체(Object) – 사각형 생명선 – 점선 실행 – 직사각형 메시지 – 화살표 정답 3번20년 1, 2회(통합)개념코드 설계데이터의 분류나 조합을 용이하게 하기 위하여 사물을 표현하는 코드를 설계하는 기법코드 설계의 종류, 연상코드만 보고 대상을 연상할 수 있도록 구성한 코드블록코드 공통성이 있는 것끼리 블록으로 구분하여 각 블록 내에서 일련번호를 부여하는 코드순차코드를 일정한 기준에 따라 순서대로 일련번호를 부여한 코드표의 숫자코드 대상자료의 물리적인 수치인 길이, 넓이, 용량 등을 표시하였다 코드 십진수 중에서 분류법 중 정답 3구분하고 있는개념코드 설계데이터의 분류나 조합을 용이하게 하기 위하여 사물을 표현하는 코드를 설계하는 기법코드 설계의 종류, 연상코드만 보고 대상을 연상할 수 있도록 구성한 코드블록코드 공통성이 있는 것끼리 블록으로 구분하여 각 블록 내에서 일련번호를 부여하는 코드순차코드를 일정한 기준에 따라 순서대로 일련번호를 부여한 코드표의 숫자코드 대상자료의 물리적인 수치인 길이, 넓이, 용량 등을 표시하였다 코드 십진수 중에서 분류법 중 정답 3구분하고 있는개념 HIPO(Hierarchy Input Process Output)시스템 분석 및 설계 문서화할 때 사용되며 수장 다운 소프트웨어 개발을 위한 문서화 툴의 특징 체계적인 문서 관리가 가능 기호 도표 등을 사용하고 쉽게 이해하기 쉬운 기능과 자료 의존 관계를 동시에 표현 가능 변경, 유지 보수가 용이한 시스템의 기능을 고유 모듈로 분할하고 이들 사이의 인터페이스를 계층 구조로 표현한 것을 HIPO도표는 HIPO차트 종류가 가시적인 도표 시스템 전체적인 기능과 흐름을 전체적 처리하고출력에 관한 정보를 제공, 세부적 도표, 총체적 도표에 표시된 기능을 구성하는 기본 요소를 상세히 기술, 세부 내용까지 자세히 볼 필요는 없다.HIPO차트 종류와 톱 다운 소프트웨어 개발을 위한 문서화 툴다는 점만을 잘 기억하면 된다고 본다.정답 가장계속 추가 예정.. (17년도까지)

error: Content is protected !!