본문 바로가기

건강정보

정보처리기사 필기 문제 유형 분석 (3)

반응형

안녕하세요. 소복냥 입니다.
벌써 3번째 시간입니다. 지속적으로 6월말 접수이기 때문에 시간 나는대로 복기할 생각입니다.

* 럼바우(Rumbaugh) 객체지향 분석 기법

* 객체 모델링 (Object Modeling)

  • 객체 다이어그램을 이용합니다.
  • 정보 모델링이라고도 합니다.
  • 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정합니다.
  • 가장 중요하며 가장 선행되는 단계입니다.

* 동적 모델링 (Dynamic Modeling)

  • 상태도를 이용합니다.
  • 시간의 흐름에 따른 객체들 사이의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위를 표현합니다.

* 기능 모델링 (Functional Modeling)

  • 자료 흐름도(DFD)를 이용합니다.
  • 다수의 프로세스들 간의 자료 흐름을 중심으로 처리 과정을 표현합니다.
  • 어떤 데이터를 입력하면 어떤 결과를 구할 것인지 표현합니다.

* 설계 순서

1. 입출력 결정
2. 자료 흐름도 작성 (기능 의존 관계 서술)
3. 기능의 내용을 상세히 기술
4. 제약사항을 결정하고 최소화

* 객체지향 설계 5원칙 (SOLID)

* 단일 책임 원칙 (SRP, Single Responsibility Principle)

객체는 단 하나의 책임만 가져야 합니다.

* 개방 폐쇄의 원칙 (OCP, Open Closed Principle)

소프트웨어의 요소는 기존의 코드에 대해 확장에는 열려있으나 변경에는 닫혀있어야 합니다.

* 리스코프 치환 원칙 (LSP, Liskov Substitution Priciple)

프로그램의 객체는 정확성을 깨뜨리지 않으면서 하위 타입인 인스턴스로 바꿀 수 있어야 합니다.

* 인터페이스 분리 원칙 (ISP, Interface Segregation Principle)

인터페이스를 특정 클라이언트에 특화되도록 분리시키라는 설계 원칙 입니다.

* 의존관계 역전 원칙 (DIP, Dependency Inversion Principle)

추상화에 의존하고 구체화에 의존하지 말아야 합니다.

* UML (Unified Modeling Language)

* 통합 모델링 언어

* 시스템을 모델로 표현해주는 대표적인 모델링 언어

  • 사물 (Things) 구조, 행위, 그룹, 주석 등.
  • 관계 (Relationships) 의존 관계, 연관 관계, 일반화 관계 등.
  • 다이어그램 (Diagrams) 객체 다이어그램, 클래스 다이어그램, 시퀀스 다이어그램 등.

* Requirement Specification (요구사항 명세서) - 문서

  • 요구사항 명세는 분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것을 의미 합니다.
  • 기능 요구사항을 빠짐없이 기술합니다.
  • 비기능 요구사항을 필요한 것만 기술합니다.
  • 구체적인 명세를 위해 소단위 명세서 (Mini-Spec)가 사용될 수 있습니다.

* 애자일 방법론 (Agile)

절차나 문서보다 사람과 업무자체를 중요시하여 유연하고 신속한 개발을 추구하는 방법론.

* 특징

  • 절차와 도구보다 개인과 소통을 중요하게 생각합니다.
  • 문서화보다는 소프트웨어가 잘 실행되는 것에 가치를 둡니다.
  • 계획보다는 효과적인 변경 대응에 중심을 둡니다.
  • 고객과의 피드백을 중요하게 생각합니다.

* EVI (Enterprise Application Integration)

엔터프라이즈의 미들웨어를 인프라로 하여 다양한 이질적 기업환경 (애플리케이션, 데이터, 플랫폼 및 네트워크 등)을 통합하여 하나의 시스템으로 관리 운영할 수 있는 유기적인 시스템

* 소스코드 품질분석 도구

* 정적 분석

  • 작성한 소스 코드를 실행하지 않고 코딩 표준이나 코딩 스타일, 결함 등을 확인하는 코드을 분석합니다.
  • 비교적 애플리케이션 개발 초기의 결함을 찾는데 사용되고, 개발 완료 시점에서는 개발된 소스코드의 품질을 검증하는 차원에서 사용됩니다.
  • 동적 분석 도구로는 발견하기 어려운 결함을 찾아내고, 소스코드에서 코딩의 복잡도, 모델 의존성, 불일치성 등을 분석 가능합니다.

* 동적 분석

  • 작성한 소스코드를 실행하여 코드에 존재하는 메모리 누수, 스레드 결함 등을 분석합니다.
  • 동적 분석 도구 : Avalanche, Valgrind.

* 검증 (Validation) 검사 기법

* 알파 검사

  • 개발자의 장소에서 사용자가 개발자 앞에서 행해지며, 오류와 사용상의 문제점을 사용자와 개발자가 함께 확인하면서 검사하는 기법입니다.

* 트리

  • Preorder Traversal (전위 순회) : Root -> Left -> Right
  • Inorder Traversal (중위 순회) : Left -> Root -> Right
  • Postorder Traversal (후위 순회) : Left -> Right -> Root

* 테스트

* 테스트 오라클

  • 테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참값을 입력하여 비교하는 기법 및 활동을 말합니다.
  • 종류에는 참, 샘플링, 휴리스틱, 일관성 검사가 존재합니다.

* 테스트 케이스 (Test Case)

  • 테스트를 위한 설계 산출물로, 응용 소프트웨어가 사용자의 요구사항을 준수하는지 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과로 구성된 테스트 항목의 명세서 입니다.

* 테스트 시나리오 (Test Scenario)

  • 테스트 수행을 위한 여러 개의 테스트 케이스의 집합으로 테스트 케이스의 동작 순서를 기술한 문서이며, 테스트를 위한 절차를 명세한 문서 입니다.

* 테스트 데이터 (Test Data)

  • 컴퓨터의 동작이나 시스템의 적합성을 시험하기 위해 특별히 개발된 데이터의 집합으로서 프로그램의 기능을 하나씩 순번에 따라 확실하게 테스트할 수 있도록 조건을 갖춘 데이터 입니다.





끝까지 읽어주셔서 감사합니다!




정보처리기사 필기 문제 유형 분석 (2)

안녕하세요. 소복 냥입니다. 지난 시간에 이여 정보처리기사 필기 문제 유형별 분석을 해보도록 하겠습니다. 1. 관계형 데이터 모델 릴레이션 ( relation ) - 테이블 수 (표) 속성 ( attribute ) - 행 튜플

160326.tistory.com



반응형