반응형
* 객체지향의 주요 구성요소와 개념 - 객체, 클래스, 캡슐화, 상속, 다형성
* 객체 (Object) : 데이터와 함수를 캡슐화한 하나의 소프트웨어 모듈입니다.
* 클래스 (Class) : 공통된 속성과 연산을 갖는 객체의 집합 / 데이터를 추상화하는 단위입니다.
- 인스턴스 (Instance) : 클래스에 속한 각각의 객체
- 슈퍼클래스 (Super Class) : 특정 클래스의 상위 (부모) 클래스
- 서브클래스 (Sub Class) : 특정 클래스의 하위 (자식) 클래스
* 캡슐화 (Encapsulation) : 데이터와 함수를 하나로 묶는 것입니다.
* 상속 (Inheritance) : 상위 클래스 (부모 클래스)의 모든 속성과 연산을 하위 클래스 (자식 클래스)가 물려받는 것입니다.
* 다형성 (Polymorphism) : 메시지에 의해 객체 (클래스)가 연산을 수행할 때, 하나의 메시지에 대해 각각의 객체 (클래스)가 가지고 있는 고유한 방법 (특성)으로 응답할 수 있는 능력을 의미합니다.
객체지향 방법론의 구성요소 - 객체, 클래스, 메시지
객체지향 방법론의 기본원칙 - 정보은닉, 추상화, 캡슐화, 상속 성, 다형성
* 결함도 (Coupling)
- 모듈 간에 상호 의존하는 정도입니다.
- 두 모듈 사이의 연관관계입니다.
- 결합도가 약할수록 품질이 높고, 강할수록 품질이 낮습니다.
* 결함도 강도 (약 1~강 5)
- 자료 결함도 Data
- 스탬프 결함도 Stamp
- 제어 결함도 Control
- 외부 결함도 External
- 공통 결함도 Common
- 내용 결함도 Content
* 응집도 강도 (약 1~강 7)
- 우연적 응집도
- 논리적 응집도
- 시간적 응집도
- 절차적 응집도
- 교환적 응집도
- 순차적 응집도
- 기능적 응집도
- 모듈의 독립성은 결함도와 응집도에 의해 측정
- 독립성을 높이면 / 모듈의 결함도 1을 약하게, 응집도 2를 강하게, 모듈 크기 작게
* 공통모듈 명세 기법
* Correctness 정확성
- 시스템 구현 시 해당 기능이 필요하다는 것을 알 수 있도록 정확히 작성
* Clarity 명확성
- 해당 기능을 이해할 때, 중의적으로 해석되지 않도록 명확하게 작성
* Completeness 완전성
- 시스템 구현을 위해, 필요한 모든 것 기술
* Consistency 일관성
- 공통 기능들 간 상호 충돌이 발생하지 않도록 작성
* Traceability 추적성
- 기능에 대한 요구사항의 출처, 관련 시스템 등의 관계를 파악할 수 있도록 작성
* 효과적인 모듈 설계 방안
- 결함도는 줄이고, 응집도는 높여서, 모듈의 독립성과 재사용성을 높입니다.
- 복잡도와 중복성을 줄이고, 일관성 유지합니다.
- 모듈 제어 영역 안에서 그 모듈의 영향 영역을 유지시킵니다.
- 모듈의 기능은 예측 가능해야 하며, 지나치게 제한적이면 안됩니다.
- 유지보수가 용이해야 합니다.
- 모듈 크기는 시스템의 전반적인 기능과 구조를 이해하기 쉬운 크기로 분해합니다.
- 하나의 입구, 하나의 출구를 갖도록 합니다.
- 인덱스 번호나 기능 코드들이 전반적인 처리 논리 구조에 예기치 못한 영향을 끼치지 않도록 모듈 인터페이스를 설계해야 합니다.
* 코드 주요 기능
- 식별, 분류, 배열
*코드의 종류 (Code)
순차 코드 (Sequence Code) |
자료의 발생 순서, 크기 순서 등 일정 기준을 최초의 자료로부터 차례로 일련번호를 부여하는 방법 = 순서 코드, 일련번호 코드 |
블록 코드 (Block Code) |
코드화 대상 항목 중에서 공통성이 있는 것 끼리 블록으로 구분, 각 블록 내에서 일련번호를 부여하는 방법 = 구분코드 |
10진 코드 (Decimal Code) |
코드화 대상 항목을 0~9까지 10진 분할 하고, 다시 그 각각에 대해 10진 분할 하는 방법을 필요한 만큼 반복하는 방법 = 도서 분류식 코드 |
그룹 분류 코드 (Group Classification Code) |
코드화 대상 항목을 일정 기준에 따라 대분류, 중분류, 소분류 등으로 구분하고 각 그룹 안에서 일련번호 부여 |
연상 코드 (Mnemocnic Code) |
코드화 대상 항목의 명칭이나 약호와 관계있는 숫자나 문자, 기호를 이용하여 코드 부여하는 방법 |
표의 숫자코드 (Significant Digit Code) |
코드화 대상 항목의 성질 (길이, 넓이, 부피, 지름, 높이)의 물리적 수치를 그대로 코드에 적용시키는 방법 = 유효 숫자 코드 |
합성 코드 (Combined Code) |
필요한 기능을 하나의 코드로 수행하기 어려운 경우, 2개 이상을 코드를 조합하여 만드는 방법 |
* 디자인 패턴 (Design Pattern) - GoF (Gang of four) 디자인 패턴
* 인터페이스 요구사항 검증 방법
* 요구사항 검토 (Requirements review)
* 동료검토 (Peer Review)
- 요구사항 명세서 작성자가 명세서 내용을 직접 설명, 동료가 이를 들으면서 결함을 발견하는 형태의 검토방법
* 워크 스루 (Walk Through)
- 검토 회의 전, 요구사항 명세서를 미리 배포, 사전 검토 후 짧은 검토회의를 통해 결함을 발견하는 검토방법
* 인스펙션 (Inspection)
- 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서를 확인하면서 결함을 발견하는 형태의 검토방법
* 프로토타이핑 (Prototyping)
- 사용자의 요구사항을 정확히 파악하기 위해, 실제 설계될 소프트웨어에서 대한 견본품을 만들어 최종 결과물 예측합니다.
* 테스트 설계
- 요구사항을 테스트할 수 있도록 작성되어야 하며, 이를 테스트 케이스 (Test Case)를 생성하여 이후에 요구사항이 현실적으로 테스트 가능한지 검토합니다.
* CASE (Computer Aided Software Engieering) 도구 활용
- 일관성 분석 (Consistency Analysis)을 통해 요구사항 변경사항의 추적 및 분석, 관리하고, 표준 준수 여부를 확인합니다.
* 미들웨어 (Middleware) 종류
* DB (Date Base)
- 데이터베이스 벤더에서 제공하는 클라이언트에서 원격의 DB와 연결하기 위한 MW, 2-tier 아키텍처
* MOM (Message Oriented Middleware)
- 메시지 지향 미들웨어는 메시지 기반의 비동기형 메시지를 전달하는 방식의 MW
- 이기종 분산 데이터 시스템의 데이터 동기를 위해 많이 사용합니다.
* TP-monitor (Transaction Processing Monitor)
- 트랜잭션 처리 모니터는 온라인 트랜잭션 업무에서 트랜잭션을 처리 및 감시하는 MW
- 사용자 수가 증가해도 빠른 응답 속도를 유지해야 하는 업무에 사용 (항공기, 철도 예약)
* ORB (Object Request Broker)
- 객체 요청 중개인은 객체 지향 미들웨어로, 코바(Cobba) 표준 스펙을 구현한 mw
* WAS (Web Application Server)
- 웹 애플리케이션 서버는 동적인 콘텐츠를 처리하기 위해 사용되는 mw
- 웹 환경 구현
- HTTP 세션 처리를 위한 웹서버 기능과 미션-크리티컬 한 기업 업무까지 JAVA, EJB 컴포넌트 기반으로 구현 가능
끝까지 읽어주셔서 감사합니다!
반응형
'이슈' 카테고리의 다른 글
정보처리기사 필기 문제 유형 분석 (13) (3) | 2022.07.10 |
---|---|
정보처리기사 필기 문제 유형 분석 (12) (3) | 2022.07.06 |
정보처리기사 필기 문제 유형 분석 (10) (4) | 2022.06.12 |
정보처리기사 필기 문제 유형 분석 (9) (1) | 2022.06.10 |
정보처리기사 필기 문제 유형 분석 (8) (8) | 2022.05.25 |