목록정보처리기사 준비 (19)
개발의변화
소프트웨어 생명주기 (SDLC) - 시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차 - 시스템이 개발될 떄부터 운용과 유지보수를 거쳐 생애를 마칠 때까지 어떠한 순서를 밟는지에 대한 작업 프로세스 모델화 1. 요구사항 분석 다양한 이해관계자의 상충할 수도 있는 요구사항을 고려하여 새로운 제품이나 변경된 제품에 부합하는 요구와 조건을 결정하는 단계 2. 설계 시스템 명세 단계에서 정의한 기능을 실제 수행할 수 있도록 수행 방법을 논리적으로 결정하는 단계 3. 구현 문제 해결 방법을 특정 프로그래밍 언어를 사용하여 실제 프로그램을 작성하는 단계 4. 테스트 시스템이 정해진 요구를 만족하는지, 예상과 실제 결과가 어떤 차이를 보이는지 검사하고 평가하는 단계 (단위 테스트, 통합,시스템, 인수,) 5..
데이터베이스 정규화 단계 - 1정규형: 원자 값으로 구성 - 2정규형: 부분 함수 종속 제거 - 3정규형: 이행 함수 종속 제거 - 보이스-코드 정규형(BCNF): 결정자가 후보 키가 아닌 함수 종속 제거 - 4정규형: 다치(다중 값) 종속성 제거 - 5정규형(5NF): 조인 종속성 제거 트랜잭션의 ACID 원칙 - 원자성: 트랜잭션을 구성하는 연산 전체가 모두 정상적으로 실행되거나 모두 취소되어야 하는 상태 - 일관성: 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 하는 성질 - 격리성: 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야 한다는 성질 - 영속성: 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장되어야 하는 성질 분산 데이터베..
데이터베이스 정규화 단계 - 1정규형: 원자 값으로 구성 - 2정규형: 부분 함수 종속 제거 - 3정규형: 이행 함수 종속 제거 - 보이스-코드 정규형(BCNF): 결정자가 후보 키가 아닌 함수 종속 제거 - 4정규형: 다치(다중 값) 종속성 제거 - 5정규형(5NF): 조인 종속성 제거 트랜잭션의 ACID 원칙 - 원자성: 트랜잭션을 구성하는 연산 전체가 모두 정상적으로 실행되거나 모두 취소되어야 하는 상태 - 일관성: 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 하는 성질 - 격리성: 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야 한다는 성질 - 영속성: 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장되어야 하는 성질 분산 데이터베..
SQL 문법의 분류 데이터 정의어(DDL) 데이터 정의어는 데이터를 정의하는 언어 테이블이나 관계의 구조를 생성하는 데 사용 CREATE, ALTER, DROP, TRUNCATE문이 있음 데이터 조작어(DML) 데이터베이스에 저장된 자료들을 입력, 수정, 삭제, 조회하는 언어 SELECT, INSERT, UPDATE, DELETE 문이 있음 SELECT 문은 특별히 질의어(Query)라고 부름 데이터 제어어(DCL) 데이터베이스 관리자가 데이터 보안, 무결성 유지, 병행 제어, 회복을 위해 사용하는 제어용 GRANT, REVOKE WHERE 조건 비교: = , , = 범위: BETWEEN => PRICE BETWEEN 50000 AND 800000 집합: IN, NOT IN => PRICE IN (400..
1단원 상향식 통합 테스트 (Bottom Up Integration Test) 하위 모듈 -> 상위모듈 가장 하위 단계의 모듈부터 통합및 테스트가 수행되므로 스텁은 필요하지 않다 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터는 필요하다 절차 - 하위 모듈을 클러스터로 결합 - 상위 모듈에서 데이터 입출력을 확인하기 위해, 모듈인 드라이버 작성 - 통합된 클러스터 단위로 테스터 하향식 설계 - 통합 검사 시 인터페이스가 이미 정의되어 있어 통합이 간단하다 - 레벨이 낮은 데이터 구조의 세부 사항은 설계초기 단계에서 필요하다 - 깊이 우선 통합법, 넓이 우선 통합법 - 상위 모듈에서는 tc를 사용하기 어렵다 - 상위 모듈에서 하위 모듈 방향으로 통합하면서 테스트하는 기법 자료흐름도 4가지 구성..
21. 정렬된 N개의 데이터를 처리하는데 O(Nlog2N)의 시간이 소요되는 정렬 알고리즘은? ① 선택정렬 ② 삽입정렬 ③ 버블정렬 ④ 합병정렬 선택정렬,삽입정렬,버블정렬: O(n^2) 합병정렬: O(Nlog2N) 선택 정렬(Selection Sort): 선택 정렬은 배열을 순회하면서 최솟값을 선택하여 정렬된 부분과 교환하는 방식으로 동작합니다. 순회 과정에서 최솟값을 선택하기 위해 비교 연산을 수행하며, 선택한 값과 정렬된 부분의 첫 번째 값과 교환합니다. 이 과정을 반복하여 전체 배열이 정렬될 때까지 진행됩니다. 선택 정렬은 구현이 간단하지만 평균적으로 O(n^2)의 시간 복잡도를 가지므로 큰 데이터에 대해서는 비효율적일 수 있습니다. 삽입 정렬(Insertion Sort): 첫번째 번호가 다음 번째..
애플리케이션 패키징 특징 - 사용자 중심, 신규 및 변경 개발 소스를 식별하며, 이를 모듈화하여 상용 제품으로 패키징 - 편의성을 신규/변경 이력 확인 이르 버전 관리 및 릴리즈 노트를 통해 지속적으로 관리, 사용자의 실행 환경 이해 사용자 관점에서의 패키징 고려사항 - 사용자 시스템 환경 정의 - UI 제공 - 관리 서비스 형태로 제공 - 패키징의 변경 및 개선 관리 고려 애플리케이션 배포 도구의 기술 요소 - 암호화 - 키 관리 - 식별 기술\ - 저작권 표현 - 암호화 파일 생성 - 정책 관리 - 크랙 방지 - 인증 애플리케이션 배포 도구 활용 시 고려사항 - 암호화/보안 - 이기종 연동 - 복잡성 및 비효율성 문제 - 최적합 암호화 알고리즘 적용 DRM(Digital Rights Managemen..
단위 모듈 구현 - 기능을 단위 모듈별로 분할하고 추상화하여 성능을 향상시키고, 유지보수를 효과적으로 하기 위한 구현 기법 - 소프트웨어 구조를 이루며, 다른 것들과 구별될 수 있는 독립적인 기능을 갖는 단위 - 인터페이스 모듈, 데이터베이스 접근 모듈 등 통합 구현에 필요한 단위 컴포넌트를 구현한다 구현 단계에서 작업 절차 1. 코딩 계획: 기능을 실제 수행할 수 있도록 수행 방법을 논리적으로 결정하는 단계 2. 코딩: 논리적으로 결정한 문제해결 방법을 특정 프로그래밍 언어를 사용하여 구현하는 단계 프로그래밍 언어 선택 시 개발 정보시스템 특성, 사용자의 요구사항, 컴파일러의 가용성을 고려 3. 컴파일: 작성한 코드를 다른 언어의 코드로 변환하는 단계 4. 테스트: 기능이 요구사항을 만족하는지, 예상과..