본문 바로가기

정처기

2022년 04월 24 필기 기출 문제

 

1과목 : 소프트웨어 설계

1.

순차 다이어그램 : UML 다이어그램의 종류

*행위 다이어그램 -> 동적

*수직 방향의 시간흐름을 나타냄

*회귀 메세지, 제어 블록으로 구성

 

2. 

MOM :메세지 지향 미들웨어

*비동기형 메세지를 전달하는 미들웨어

*즉각적인 응답보다는 느리고 안정적인 응답을 필요

*온라인 업무보다는 이기종 분산 시스템의 동기를 위해 사용

*메세지 큐를 사용

 

3. 

익스트림 프로그래밍 : 애자일 방법론 중 하나

*구동 원리 : 상식적인 원리 + 경험 최대로 끌어올리기

*구체적인 실천 방법을 정의, 개발 문서보다는 소스코드에 중점

 

4. 

유스케이스

액터 : 시스템과 상호작용하는 외부요소

*유스케이스 : 시스템이 수행하는 작업이나 기능

*구성요소 간의 관계

-연관

-확장

-포함

-일반화

 

5.

요구사항 문석

기능적 vs 비기능적

기능적 : 시스템이 실제로 어떻게 동작하는지에 관점

비기능적 : 성능, 보안, 품질, 안전성 등으로 실제 수행에 보조적인 요구사항

 

6.

정보공학 방법론

Entity-RelationShip Diagram

UML 다이어그램 종류

-Package Diagram

-Deployment Diagram

-State Trasition Diagram

 

7.

미들 웨어

*클라이언트와 서버간의 통신을 담당하는 시스템 소프트웨어

*시스템 간의 표준화된 연결을 도와주는 소프트웨어

*표준화된 인터페이스를 이용해 시스템간의 데이터 교환에 있어 일괄성을 제공

*운영체제와 애플리케이션 사이에서 중간 매개 역할을 하는 다목적 소프트웨어

 

8.

UI 설계 지침

-사용자 중심

-일관성 : 버튼이나 조작방법을 사용자가 기억하기 쉽게 설계

-단순성

-결과 예측 가능

-가시성 : 주요기능을 메인 화면에 노출하여 쉬운 조작이 가능해야함

-표준화 : 디자인을 표준화하여 기능 구조와 선행학습 이후 쉽게 사용 가능해야함

-접근성 : 다양한 계층 수용

-명확성 : 사용자가 개념적으로 쉽게 인지

-오류 발생 해결 : 사용자가 오류에 대한 상황을 정확하게 인지할 수 있어야 함.

 

9.

다형성

오버로딩 : 같은 이름의 메소드를 중복 정의

오버라이딩 : 상속관계에서 발생, 슈퍼클래스의 메서드를 서브 클래스에서도 동일한 메서드를 재정의

 

10. 인터페이스

* 소프트웨어에 의해 간접적으로 제어되는 장치와 소프트웨어를 실행하는 하드웨어

* 기존의 소프트웨어와 새로운 소프트웨어를 연결하는 소프트웨어

* 순서적 연산에 의해 소프트웨어를 실행하는 장치

 

11. 객체

* 상태, 동작, 고유 식별자를 가진 모든 것

* 필요한 자료구조와 이에 수행되는 함수들을 가진 하나의 독립된 존재

* 객체의 상태는 속성값에 의해 정의

 

12.

Encapsulation(캡슐화) : 서로 관련성이 많은 데이터들과 연산들을 묶는다.

Class(클래스) : 하나 이상의 유사한 객체들을 묶는다.

Association(연관) : 2개 이상의 사물이 서로 관련

 

13.

에자일 프로세스

:개발 프로젝트 기간을 짧은 주기로 나눠 반복적인 개발을 하는 것이 특징

고객 관점의 효율적이고 민첩한 변화 대응을 중시

*애자일 선언문* -> 기억할 것

 

14. 

컴포넌트

: 프로그래밍에 있어 재사용이 가능한 각각의 독립된 모듈

*특정 기능 수행을 위해 독립적으로 분

 

15.

GOF 디자인  패턴

-생성, 구조, 행동 패턴으로 구분

*구조 패턴 : 구조를 통해 확장성을 꾀하는 패

-어댑터, 브릿지, 컴포지트, 데코레이터, 퍼싸트, 플라이웨이트, 프록세 ( 다 암기해야함 )

*생성 패턴 : 객체를 생성하는 것에 대한 패턴

-추상 팩토리, 비럳, 팩토리 메소드, 프로토타입, 싱글톤

*행위 패턴 : 행위의 변경, 수정 등을 위한 패턴

-역할 사슬, 커맨드, 인터프리터, 이터레이터, 미디에어터, 메멘토, 옵저버, 상태, 전략, 템플릿 메소드, 비지터

 

16. 

피드백

시스템의 상태와 사용자의 지시에 대한 효과를 보여주어 사용자가 명령에 대한 진행 상황과 표시된 내용을 해석할 수 있도록 도와주는 개념 

 

17.

UI의 종류

CLI : 텍스트 형태 인터페이스

GUI : 마우스로 선택하여 작업하는 그래픽 환경 인터페이스

NUI : 사용자의 말이나 행동으로 기기 조작하는 인터페이스

OUI : 모든 사물과 사용자 간의 상호작용을 위한 인터페이스

 

18.

소프트웨어 모델링

* 모델링 작업의 결과물은 다른 모델링 작업에 영향을 줌.

* 구조적 방법론에서는 DFD, DD 등을 사용하여 요구 사항의 결과를 표현한다.

* 객체지향 방법론에서는 UML 표기법을 사용한다.

* 소프트웨어 모델을 사용할 경우 개발될 소프트웨어 대한 이해도 및 이해 당사자 간의 의사소통 향상에 도움이 된다.

 

19.

유스케이스 다이어그램

* 액터 : 시스템과 상호작용하는 모든 것 <중요>

 

20.

MVC : 소프트웨어 아키텍처 모델의 종류

* 사용자 인터페이스를 담당하는 계층의 응집도를 높일 수 있고, 여러 개의 다른 ui를 만들어 그 사이에 결합도를 낮출 수 있다.

* 한 개의 모델에 대해 여러 개의 뷰를 만들 수 있다. (서브 시스템의 핵심 기능과 데이터를 보관(

* 대화형 어플리케이션에 적합함.

* 제어는 모델에 명령을 보냄으로써(전달자) 모델의 상태를 변경할 수 있다.

 

2과목 : 소프트웨어 개발

21. 통합 테스트

*상향식 통합 테스트 

: 프로그램의 하위 모듈에서 상위 모듈 방향으로 통합, 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터가 필요.

*하향식 통합 테스트

: 상위 모듈에서 하위 모듈 방향으로 통합, 깊이 우선 통합법, 넓이 우선 통합법 사용

초기부터 사용자에게 시스템 구조를 보여줘야함

 

22. 이진 검색 방법

이진 검색 방법은 알고리즘 때 하도 많이 해서 패스~