[정처기 - SW설계 오답] 오답정리 (SW설계)

0_0·2023년 5월 15일
0

정보처리기사

목록 보기
4/10

[ 기출문제집 01회 ] 2022년 7월 기출

  • 80 / 70 / 55 / 80 / 60
  • 평균 69점

2022년 7월 기출


1. 워크스루(Walkthrough)

: 단순한 테스트 케이스를 이용하여 프로덕트를 수작업으로 수행.

  • 기능이나 동작 이해에 유용.
    • 복잡한 알고리즘 또는 반복, 실시간 동작, 병행 처리 등
  • 사용사례 확장하여 명세 또는, 설계 다이어그램, 원시 코드, 테스트 케이스 등에 적용.
  • 인스펙션(Inspection)
    : 워크스루의 발전 형태.
    • 개발 단계에서 산출된 결과물의 품질을 평가하고, 개선 방법 제시.


5. NUI 인터페이스 (Natural User Interface)

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

  • 제스처(Gesture)
    : 모바일 기기에서 사용하는 행동
    • Tap, Double Tap, Drag, Pan, Press, Flick, Pinch 등


10. SOLID 원칙

: 시스템 변경이나 확장에 유연한 시스템을 설계하기 위해 지켜야 할 규칙.

  • 단일 책임 원칙 (SRP; Single Responsibility Principle)
    : 객체는 단 하나의 책임만 가져야 한다.

    • 응집도 높게, 결합도 낮게 설계
  • 개방-폐쇄 원칙 (OCP; Open-Closed Principle)
    : 기존 코드 변경없이 기능추가 가능하도록 설계해야 한다.

    • 공통 인터페이스를 하나의 인터페이스로 묶어 캡슐화
  • 리스코프 치환 원칙 (LSP; Liskov Substitution Principle)
    : 자식 클래스는 부모 클래스의 행위를 수행할 수 있어야 한다.

    • 자식 클래스는 부모 클래스의 책임을 무시 / 재정의 불가. 확장만 가능.
  • 인터페이스 분리 원칙 (ISP; Interface Segregation Principle)
    : 사용하지 않는 인터페이스와 의존 관계나 영향을 받지 않아야 한다.

    • 인터페이스가 갖는 책임.
  • 의존 역전 원칙 (DIP; Dependency Inversion Principle)
    : 추상성이 낮은 것보다 높은 클래스와 의존 관계를 맺어야 한다.

    • 일반적으로 인터페이스 활용시 이 원칙은 준수된다.


19. 럼바우(Rumbaugh) 분석 기법

: 모든 소프트웨어 구성 요소를 그래픽 표기법을 이용해서 모델링.
= 객체 모델링 기법 (OMT; Object-Modeling Technique)

  • 분석 활동 : 객체 모델링 -> 동적 모델링 -> 기능 모델링 순서

  • 객체 모델링 (Object Modeling)
    : 속성과 연산 식별 및 객체들 간의 관계를 규정하여 객체 다이어그램으로 표시. (=정보 모델링)
    (분석 활동 중 가장 중요, 선행.)

  • 동적 모델링 (Dynamic Modeling)
    : 상태 다이어그램을 이용하여 시간의 흐름에 따른 동적인 행위를 표현하는 모델링.
    (객체들 간의 제어 흐름, 상호 작용, 동작 순서 등)

  • 기능 모델링 (Functional Modeling)
    : 자료흐름도(DFD)를 이용하여 다수의 프로세스들 간의 자료 흐름을 중심으로 처리 과정을 표현.














[ 기출문제집 02회 ] 2022년 4월 기출

  • 80 / 90 / 80 / 85 / 85
  • 평균 84점

2022년 4월 기출


12. 캡슐화 (Encapsulation)

: 데이터(속성)와 데이터를 처리하는 함수를 하나로 묶는 것.

  • 재사용이 용이
  • 인터페이스를 제외한 세부 내용이 은폐 (정보 은닉)
    -> 외부 접근이 제한적
    -> 외부 모듈의 변경으로 인한 파급 효과가 적음.
  • 인터페이스 단순, 결합도 낮아짐.


15. 디자인 패턴의 종류

  • 생성 패턴 (Creational Pattern)
    : 추상 팩토리 (Abstract Factory), 빌더 (Builder), 팩토리 메소드 (Factory Method), 프로토타입 (Prototype), 싱글톤 (Singleton)

  • 구조 패턴 (Structual Pattern)
    : 어댑터 (Adapter), 브리지 (Bridge), 컴포지트 (Composite), 데코레이터 (Decorator), 퍼싸드 (Facade), 플라이웨이트 (Flyweight), 프록시 (Proxy)

  • 행위 패턴 (Behavioral Pattern)
    : 커맨드 (Command), 책임 연쇄 (Chain of Responsibility), 인터프리터 (Interpreter), 반복자 (Iterator), 중재자 (Mediator), 메멘토 (Memento), 옵서버 (Observer), 상태 (State), 전략 (Strategy), 탬플릿 메소드 (Template Method), 방문자 (Visitor)



18. 소프트웨어 모델링

  • 개발될 소프트웨어에 대한 이해도 및 이해 당사자 간의 의사소통 향상에 도움이 된다.
  • 모델링 작업의 결과물은 다른 모델링 작업에 영향을 줄 수 있다.
  • 구조적 방법론 : DFD (Data Flow Diagram), DD (Data Dictionary) 등을 사용.
  • 객체지향 방법론 : UML 표기법을 사용.


20. 모델-뷰-컨트롤러 패턴 MVC Pattern (Model-View-Controller Pattern)

  • 서브시스템을 3개의 부분으로 구조화하는 패턴.

    • 모델 (Model)
      : 서브시스템의 핵심 기능과 데이터를 보관함.
    • 뷰 (View)
      : 사용자에게 정보를 표시함.
    • 컨트롤러 (Controller)
      : 사용자로부터 받은 입력을 처리하고, 처리 결과에 따라 모델의 상태를 갱신함.
  • 각 부분은 별도의 컴포넌트로 분리되어 있음
    -> 서로 영향받지 않고 개발 작업 가능.

  • 여러 개의 뷰를 만들 수 있음.
    -> 대화형 애플리케이션에 적합. (한 개의 모델, 여러 개의 뷰)














[ 기출문제집 03회 ] 2022년 3월 기출

  • 80 / 90 / 80 / 85 / 85
  • 평균 84점

2022년 3월 기출


0개의 댓글