정보처리기사 필기) 수제비 모의고사 정리 - 1과목 소프트웨어 설계
본문 바로가기
정보처리기사/정보처리기사 필기

정보처리기사 필기) 수제비 모의고사 정리 - 1과목 소프트웨어 설계

by 코딩하는 핑가 2020. 8. 14.
반응형

1. 객체지향 개발 과정에 대한 설명

* 특징

- 재사용률이 높음, 유지보수 향상

- 사용자 중심, 대화식 프로그램 등 대형 프로젝트 개발에 적합

- 각 개발 단계의 순서가 뚜렷하게 구별되지 않음

- 분석, 설계 및 구현 단계들 사이에 의미적 차이가 크지 않음

- S/W 위기의 해결책으로 채택되어 사용

* 분석 단계

- 클래스, 객체, 속성, 연산들을 표현해서 모형화를 함 (ERD)

- 객체는 인스턴스 화되고, 클래스를 식별

- Rumbaugh 분석 기법을 이용

- 객체의 이름과 상태, 행위들을 개념적으로 파악

* 설계 단계

- 시스템을 구성하는 객체, 속성, 연산을 인식하는 것이 가장 중요

- 객체는 순차적, 동시적으로 구현할 수 있음

- 서브 클래스와 메시지 특성을 세분화

- 객체들을 클래스로 정의하고 상관관계를 상속단계로 정의

- 객체를 속성과 연산으로 정의, 접근 방법을 구체화

* 구현 단계

- 정의된 클래스들에 대해 특정 언어를 이용하여 1:1로 정의

* 테스트 단계

- 단위(Class) 테스트, 통합 테스트, 검증과 시스템 테스트

 

2. 정형 기술 검토(FTR)의 지침 사항

* 정형 기술 검토 (FTR; Formal Technical Review)

- S/W의 개발 산출물 대상 요구사항 일치 여부, 표준 준수 및 결함 발생 여부를 검토하는 정적 분석 기법 

* 지침 사항

- 제품의 검토에만 집중

- 문제 영역을 명확히 표현

- 참가자의 수를 제한하고 사전 준비 강요

- 논쟁이나 반박 제한

 

3. CORBA 인터페이스 정의 언어

- IDL

cf) 참고

- C, C++, 자바, COBOL ADL

  : 아키텍처 기술언어. 소프트웨어 품질과 정확성을 증진하기 위해 소프트웨어 아키텍처를 모형화하고 분석하는 수단 제공

- CSL

  : 제어 시뮬레이션 언어

- UML

  : 객체지향분석과 설계를 위한 모델링 언어

 

4. UML 확장모델 - <<extend>>

* A 유스케이스를 수행하는 도중에 특정 조건을 만족하면 B 유스케이스 수행

 

5. 객체지향 시스템 테스트의 설명

- 클래스에 대한 테스트 시 필요로 하는 객체의 상태를 고려해야함

- 클래스 클러스터 차원에서 상속, 캡슐화, 동적 바인딩, 다형성 등의 이유로 관계가 맺어진 클래스들의 집합은 한 덩어리로 간주하여 연결 관계를 확인

- 서브 클래스를 테스트할 때 부모 클래스의 테스트 케이스를 재사용할 수 있음

- 클래스 차원에서 메서드 상호 간, 메서드와 데이터 멤버 간의 연결 관계의 정확성을 확인해야 함 

 

6. 요구사항 품질 속성

- 기능성(functionality)

  : 요구분석명세서가 "어떻게"보다 "무엇을"에 관점을 두고 기술되어야 함

- 명확성(unambiguity)

  : 요구사항이 모든 이해관계자에 의해 한가지 의미로 해석되어야 함

- 완전성(completeness)

  : 기능, 성능, 속성, 인터페이스, 설계 제약 등에 관한 모든 시스템 요구사항이 포함되어 있어야 함

- 일관성(consistency)

  : 요구사항들이 서로 모순되지 않아야 함

 

7. 애자일 선언문

- 프로세스와 도구보다 개인과 그들의 협업에 더 가치를 둠

- 포괄적인 문서화보다 제대로 작동하는 소프트웨어에 더 가치를 둠

- 계약 협상보다 고객과의 협력에 가치를 둠

- 계획에 따르기보다는 변화에 대응하는 것에 더 가치를 둠

 

8. 디자인 패턴

* Adapter

- 이미 만들어져 있는 클래스를 사용하고 싶지만, 인터페이스가 원하는 방식과 일치하지 않을 때,

- 또는 관련성이 없거나 예측하지 못한 클래스들과 협동하는 재사용 가능한 클래스를 생성하기를 원할 때 사용

- Structural Pattern

- 호환성이 없는 클래스들의 인터페이스를 다른 클래스가 이용할 수 있도록 변환해주는 패턴

 

9. 비기능 요구사항

- 예산의 제약, 조직의 정책, 다른 소프트웨어와 하드웨어 시스템과의 상호 운영성, 안정성 규칙과 프라이버시 보호법과 같은 사용자의 필요에 의해 발생

- 요구사항과 목표를 혼합한 문서를 사용하여 비기능적 요구사항 표현

- 시스템에서 제공되는 서비스나 기능에 대한 제약

* 기능적 요구사항

- 시스템이 제공해야하는 서비스와 시스템이 특정 입력에 대해 어떻게 반응하는지, 시스템이 특정 상황에서 어떻게 동작해야 하는지에 관한 사항

 

10. 객체지향 개념

- 정보은닉(Information hiding)

  : 모듈 안에 있는 자료구조와 메서드에 사용된 알고리즘을 외부에서 직접 변경할 수 없고, 공개 인터페이스로 정의된 메서드를 통해서만 접근할 수 있는 것을 의미

- 포함관계(Composition)

  : 전체 객체에 전속되어 독립된 객체로 존재할 수 있는 부분 객체도 있는데 이와 같은 관계

- 리스코프 교체 원칙(LSP; Liskov Substitution Principle)

  : 부모 클래스와 자식 클래스 사이의 행위가 일관성이 있어야 한다는 의미

- 다형성(Polymorphism)

  : 같은 오퍼레이션이 다른 클래스에서 다르게 동작하는 것을 말하며, 하나의 함수 이름이나 연산자가 여러 목적으로 사용될 수 있는 것을 의미

 

cafe.naver.com/soojebi

반응형

댓글