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)
: 같은 오퍼레이션이 다른 클래스에서 다르게 동작하는 것을 말하며, 하나의 함수 이름이나 연산자가 여러 목적으로 사용될 수 있는 것을 의미
'정보처리기사 > 정보처리기사 필기' 카테고리의 다른 글
정보처리기사 필기) 시나공 모의고사 정리 - 1과목 소프트웨어 설계 (0) | 2020.08.18 |
---|---|
정보처리기사 필기) 수제비 모의고사 정리 - 2과목 소프트웨어개발 (0) | 2020.08.17 |
정보처리기사 필기 ) 5과목 정보시스템 구축 관리 정리 2 (0) | 2020.08.14 |
정보처리기사 필기 ) 5과목 정보시스템 구축 관리 정리 1 (0) | 2020.08.14 |
정보처리기사 필기 ) 4과목 프로그래밍 언어 활용 정리 (0) | 2020.08.14 |
댓글