정보처리기사/필기73 [정보처리기사 필기 요약] 모듈화 (2) - 응집도 (Cohesion) * 응집도(Cohesion) 정보 은닉의 확장된 개념 하나의 모듈이 하나의 기능 수행하는 집적도의 척도 모듈의 독립성 나타내는 개념으로 내부 구성원 간 연관도 의미 클래스 목적에 부합하는 같은 기능 함수들로 구성 함수의 개수가 상대적으로 적으며 오로지 자신이 할 수 있는 책임을 부여받음 하나의 함수에 많은 기능 부여하지 않고 다른 기능 가진 함수와 상호협력 높을수록 좋음 모듈 내부에 독립성 보장 위해 하나의 기능만을 구현하는 것 의미 * 응집도 단계 응집도 내용 기능적 응집도 (Functional Cohesion) - 모듈 내부 모든 기능이 단일한 목적 위해 수행 순차적 응집도 (Sequential Cohesion) - 모듈 내 한 활동으로부터 나온 출력 값을 다른 활동이 사용하는 경우 통신적 응집도 (.. 2021. 3. 4. [정보처리기사 필기 요약] 모듈화 (2) - 결합도 (Coupling) * 결합도(Coupling) 모듈 내부가 아닌 모듈 간 연관도(모듈 간 상호의존성). SW 구조에서 모듈 간 관련성 측정하는 척도 서로 다른 상위 모듈에 의해 호출되어 연관성 없는 서로 다른 기능 수행 자료 전달이 인터페이스 통하므로 인터페이스 복잡성에 의존적 낮은 결합도는 복잡성 감소시킴 (loosely-coupled) 에러 발생 시 오류 전파되어 다른 오류 원인이 되는 리플 효과(Ripple Effect) 최소화 해야함 * 결합도 단계 결합도 내용 자료 결합도 (Data Coupling) - 모듈 간 인터페이스로 전달되는 파라미터 통해서만 모듈 상호 작용 발생 스탬프 결합도 (Stamp Coupling) - 모듈 간 인터페이스로 배열이나 오브젝트, 스트럭처 등 전달되는 경우 제어 결합도 (Contro.. 2021. 3. 4. [정보처리기사 필기 요약] 모듈화(1) * 모듈화 P/G 구성요소 일부로 관련된 데이터와 함수들 묶여서 모듈 생성. 주로 파일 단위로 구성 * 모듈화 원리 구분 설명 분할과 지배 (Divide & Conquer) - 복잡한 문제를 분해, 모듈 단위로 문제 해결 정보 은닉 (information hiding) - 어렵거나 변경 가능성 있는 모듈을 타 모듈로부터 은닉 자료 추상화 (Data Abstraction) - 각 모듈 자료구조를 액세스하고 수정하는 함수 내 자료구조 표현 내역 감춤 모듈의 독립성 (Module Independence) - 독립성 강한 모듈은 낮은 결합도와 높은 응집도 특징 가짐 * 모듈화 측정 척도 : 모듈화는 공통 모듈 구현 위해 재사용성 강화를 위한 중요한 개념. 모듈은 내부 처리 요소 간 독립성 나타내며 응집도 높을수.. 2021. 3. 3. [정보처리기사 필기 요약] 재사용 * 재사용 : 기존 SW 또는 SW 지식 재활용하여 새로운 SW 개발하는 활동 * 재사용 사례 SW 라이브러리 (Software Library) 코드 재사용의 매우 일반적인 예로서 라이브러리를 사용하는 것 라이브러리 코드 호출하여 작업 실행 가능 라이브러리 사용 단점 : 성능 향상이나 출력 형식 바꾸고자 할 때 세부사항 조절 불가하고, 라이브러리 취득하여 학습 및 설정에 시간과 비용이 든다는 점 디자인 패턴(Design Pattern) 비슷한 문제를 풀기 위한 범용적인 설계 해법. 개별 상황에 따라서 수정 가능 프레임워크 개발자는 일반적으로 타 응용 P/G 및 프레임워크 통해 공통 라이브러리 등 많은 SW 재사용. 개발 언어와 도메인에 따라 다름 2021. 3. 3. [정보처리기사 필기 요약] 개발 환경 구축 및 형상 관리 * 개발환경 구축 : 개발환경 구성 시 요구사항에 대한 명확한 이해를 바탕으로 이에 적합한 개발 도구 및 개발 환경 구축이 이루어져야 함. * 개발 도구 분류 구현 도구 Eclipse, Visual Studio Code, IntelliJ, NetBeans 등 테스트 도구 xUnit, Spring Test 등 형상 관리 도구 CVS, Subversion, Git 등 빌드 도구 Ant, Maven, Gradle 등 * 개발 도구 기능 개발 도구 기능 구현 도구 (Implementation Tool) - 코드 작성과 디버깅, 수정 작업이 가능하며 구현해야 할 SW가 어떤 프로그래밍 언어로 개발되는지에 따라 적합한 구현 도구 선택하여 사용 테스트 도구 (Test Tool) - 코드 기능 검증과 개발 품질 높이기.. 2021. 3. 3. [정보처리기사 필기 요약] 인덱스(INDEX) (3) * 인덱스 스캔 방식 구분 내용 비고 Index Range Scan - 인덱스 루트 블록에서 리프 블록까지 수직적으로 탐색한 후 리프 블록을 필요한 범위만 스캔 Index Full Scan - 수직적 탐색 없이 인덱스 리프 블록을 처음부터 끝까지 수평적으로 탐색하는 방식. - 대게는 데이터 검색 위한 최적 인덱스 없을 때 차선으로 선택 Index Unique Scan - 수직적 탐색만으로 데이터 찾는 스캔 방식 - Unigue 인덱스를 '=' 조건으로 탐색하는 경우 동작 Index Skip Scan - 인덱스 선두 컬럼이 조건 절에 빠졌어도 인덱스 활용하는 스캔 방식 Index Fast Full Scan - Index Full Scan보다 빠른 스캔 방식 - 인덱스 트리 구조 무시하고 인덱스 세그먼트 전.. 2021. 3. 3. [정보처리기사 필기 요약] 인덱스(INDEX) (2) * 해시 인덱스 데이터 신속한 검색 위해 키 값에 해시 함수 적용하여 주소 값 빠르게 계산하고 레코드 저장된 위치 직접 접근하는 방법 (키 값, 주소) 쌍으로 저장하므로 특정 키 값에 대한 검색 방법 중 가장 빠름 구분 설명 버킷(Bucket) - 동일한 해시 주소 갖는 레코드(키와 주소쌍)들이 저장될 메모리 블록 의미. - 버킷 크기에 따라 같은 해시 주소에 저장될 수 있는 레코드 수 결정 슬롯(Slot) - 1개의 해시 레코드 저장할 수 있는 공간 의미. n개의 슬롯이 모여 하나의 버킷을 이룸 충돌(Collision) - 해시 레코드 삽입 시 서로 다른 2개 이상의 데이터가 같은 해시 주소 갖는 현상 동거자(Synonyms) - 해시 함수가 같은 주소로 변환시키는 모든 레코드 오버플로우(Overflo.. 2021. 3. 3. [정보처리기사 필기 요약] 인덱스(INDEX) (1) * 인덱스 데이터 빠르게 찾을 수 있는 수단 테이블에 대한 조회 속도 높여 주는 자료구조 테이블에서 자주 사용되는 컬럼 값 빠르게 검색 가능토록 색인 만들어 놓은 형태 과다한 인덱스 생성은 DB 공간 많이 차지하며 Table Full Scan보다 속도가 느려질 수 있음 테이블 데이터 삽입, 삭제, 변경 수행하는 DML 작업 시 성능 떨어짐 * 인덱스 구조와 장점 인덱스 구성 위해 가장 많이 사용하는 검색 트리 : B-Tree 구조 DB 성능 향상 위한 DB 튜닝 수단으로 가장 일반적인 방법 장점 데이터 검색 위한 SQL 구문 변경 않아도 검색 성능 개선 데이터 검색하기 위한 별도 객체로서 테이블 데이터에 영향 주지 않음 * 인덱스 사용 테이블의 특정 레코드 위치 알려주는 용도로 사용. 이러한 인덱스는 자.. 2021. 3. 3. [정보처리기사 필기 요약] 뷰(View) * 뷰(View) 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 테이블로부터 유도된 이름을 가지는 가상 테이블 기본 테이블처럼 행과 열로 구성되지만 다른 테이블에 있는 데이터를 보여줄 뿐이지 데이터를 직접 담고 있지 않음 아래 그림에서 '테이블 A'와 '테이블 B'는 물리 테이블 의미, '뷰C'는 두 개 테이블을 이용하여 생성한 뷰 의미 * 뷰 특징 저장 장치 내 물리적으로 존재하지 않음 (가상 테이블) 데이터 보정 등 임시적인 작업 위한 용도로 사용 기본 테이블과 같은 형태 구조로 조작이 거의 비슷 삽입, 삭제, 갱신에 제약 따름 논리적 독립성 제공 독자적 인덱스 가질 수 없음 Create View 시스템 권한 이용하여 뷰 생성 데이터 선택적으로 뷰 이용하여 처리 * 뷰 사용 SELECT * F.. 2021. 3. 3. [정보처리기사 필기 요약] 미들웨어 솔루션 * 미들웨어 솔루션 기능적으로 클라이언트와 서버 사이 통신 담당하는 시스템 SW 컴퓨터와 컴퓨터 연결 담당하는 SW로 중간을 의미하는 미들과 SW를 의미하는 웨어의 합성어 유형 설명 및 활용 DB - DB 제품 제작업체에서 제공하는 클라이언트와 DB 연결하기 위한 MW RPC (Remote Precedure Call) - 응용 P/G 프로시저 사용하여 원격 프로시저를 로컬 프로시저처럼 호출하는 방식 MW MOM (Message Oriented Middleware) - 메시지 기반 비동기형 메시지 전달 방식 MW - 서로 다른 이기종 분산 데이터 시스템의 데이터 동기 위하여 주로 사용 TP - 모니터 - 온라인 업무에서 트랜잭션 처리, 감시하는 MW - 사용자 수가 증가해도 빠른 응답 속도 유지해야 하는 .. 2021. 3. 2. 이전 1 ··· 3 4 5 6 7 8 다음