본문 바로가기

전체 글111

정보처리기사 : 애플리케이션 설계 애플리케이션의 공통 모듈 설계 1. 설계 모델링의 단계 - 요구 사항 수집: 애플리케이션의 목적과 요구 사항을 정확하게 이해하고, 이를 문서화하여 기록 - 분석: 요구 사항을 분석하여 애플리케이션의 기능과 구조를 이해 - 설계: 애플리케이션의 구조와 동작을 설계. 이 단계에서는 대개 UML(Unified Modeling Language)을 사용하여 클래스, 객체, 상속 등의 요소를 모델링함 - 구현: 설계한 모델을 바탕으로 애플리케이션을 개발 - 테스트: 개발된 애플리케이션을 테스트하여 버그를 찾고 수정 2. 소프트웨어 아키텍처 - 애플리케이션의 구조와 동작을 결정 - 애플리케이션의 성능, 유지보수성, 확장성 등에 큰 영향을 미침 3. 소프트웨어 아키텍처의 요소 - 컴포넌트: 애플리케이션의 기능을 수행하.. 2023. 4. 7.
정보처리기사 : 객체지향 프로그래밍의 접근제한자 1. 접근제한자 - 클래스 내부의 멤버(변수, 메소드)에 대한 외부에서의 접근 범위를 제한하는 역할 - 캡슐화, 정보은닉, 보안 등을 지원 - 안정성, 클래스의 사용성, 유지보수성 향상 2. 종류 1) public (+) - 어떤 클래스에서든 접근 가능한 제한자 - 객체 외부에서 해당 멤버에 직접 접근 가능 2) protected (#) - 같은 패키지에 속한 클래스와 해당 클래스를 상속받은 하위 클래스에서 접근 가능한 제한자 - 객체 외부에서 해당 멤버에 직접 접근할 수는 없으나, 하위 클래스에서는 상속받은 멤버로서 접근 가능 3) private (-) - 해당 클래스 내부에서만 접근 가능한 제한자 - 객체 외부에서 해당 멤버에 직접 접근할 수 없으며, 클래스 내부에서만 접근 가능 4) package-.. 2023. 4. 6.
정보처리기사 : 인덱스, 뷰, 프로시저 1. 인덱스(Index) - 정의 : 데이터베이스에서 테이블에 저장된 데이터를 빠르게 검색할 수 있도록 도와주는 자료구조. - 특징 : 키값과 포인터의 쌍으로 구성되는 데이터 구조로 테이블의 하나 이상의 열(column)에 대해 생성되며, 특정 값으로 테이블을 검색할 때 그 값이 인덱스에 존재한다면 인덱스를 이용하여 빠르게 검색할 수 있음 - 생성 방법 CREATE INDEX 인덱스명 ON 테이블명 (열1, 열2, ...); - 예시 위 쿼리문은 "members" 테이블의 "name" 열에 대한 인덱스를 "idx_name"이라는 이름으로 생성함. 2. 뷰 - 정의 : 데이터베이스에서 특정한 쿼리를 실행한 결과를 하나의 가상 테이블로 만들어서, 사용자에게 쉽게 접근하고 활용할 수 있도록 해주는 기능 - 특.. 2023. 4. 6.
정보처리기사 : 관계형 데이터베이스의 이상 현상과 정규화 1. 관계형 데이터베이스의 이상 현상 - 삽입 이상: 새로운 데이터를 삽입할 때 발생하는 문제, 테이블에 새로운 데이터를 추가하기 위해 필요한 정보들 중 일부가 누락되어 있어서 데이터를 추가할 수 없는 상황 - 삭제 이상: 테이블에서 데이터를 삭제할 때 발생하는 문제, 예를 들어 테이블에서 어떤 데이터를 삭제하면 다른 테이블에서도 해당 데이터를 참조하는 경우가 있는데, 이 경우에는 데이터를 삭제할 수 없는 상황이 발생한다. 이는 참조 무결성 제약 조건이 지켜지지 않아서 발생하는 문제임. - 갱신 이상: 테이블에서 데이터를 갱신할 때 발생하는 문제, 예컨데 어떤 데이터를 수정해야 하는데 그 데이터를 참조하는 다른 테이블에서도 동일한 데이터가 중복되어 있어서 수정을 반영할 수 없는 상황. 이러한 이상현상은 .. 2023. 4. 6.
정보처리기사 : 트랜잭션, 병행제어 기법 1. 트랜잭션 - 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산 2. 트랜잭션의 특징 - 원자성 : 트랜잭션의 연산은 데이터베이스에 모두 반영 완료(Commit)되거나 복구(Rollback)되어야 함 - 일관성 : 성공적으로 실행 완료하면 언제나 일관성있는 데이터베이스 상태로 변환함 - 독립성 : 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없음 - 영속성 : 성공이 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함 3. CRUD분석 - 프로세스와 테이블 간에 CRUD 매트릭스를 만들어서 트랜잭션을 분석하는 것 - 트랜잭션이 몰리는 테.. 2023. 4. 5.