반응형
안녕하세요. 소복냥 입니다.
벌써 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)
- 컴퓨터의 동작이나 시스템의 적합성을 시험하기 위해 특별히 개발된 데이터의 집합으로서 프로그램의 기능을 하나씩 순번에 따라 확실하게 테스트할 수 있도록 조건을 갖춘 데이터 입니다.
끝까지 읽어주셔서 감사합니다!
반응형
'건강정보' 카테고리의 다른 글
정보처리기사 필기 문제 유형 분석 (5) (4) | 2022.05.19 |
---|---|
정보처리기사 필기 문제 유형 분석 (4) (2) | 2022.05.17 |
정보처리기사 필기 문제 유형 분석 (2) (3) | 2022.05.13 |
정보처리기사 필기 문제 유형 분석 (1) (5) | 2022.05.11 |
[미국 ETF] SPY S&P 500 추종 분석 (10) | 2022.05.05 |