정보처리기사/DB

애플리케이션 성능 개선 1. 클린 코드 (Clean Code) - 잘 작성되어 가독성이 높고, 단순하며, 의존성을 줄이고, 중복을 최소화하여 깔끔하게 잘 정리된 코드 2. 클린 코드 작성의 원칙 작성 원칙 설명 가독성 이해하기 쉬운 용어를 사용 단순성 한 번에 한 가지 처리만 수행 의존성 최소 영향도를 최소화 중복성 제거 중복된 코드를 제거 추상화 클래스/메서드/함수에 대해 동일한 수준의 추상화를 구현 3. 리팩토링 - 기능을 변경하지 않고 복잡한 소스 코드를 수정, 보완하여 가용성 및 가독성을 높이는 기법 4. 리팩토링의 목적 유형 설명 유지보수성 향상 복잡한 코드의 단순화, 소스의 가독성 향상 유연한 시스템 SW 요구사항 변경에 대한 유연한 대응 생산성 향상 정제 및 최적화된 소스의 재사용 품질 향상..
애플리케이션 성능 분석 1. 애플리케이션 성능 측정 지표 지표 설명 처리량 (Throughput) 주어진 시간에 처리할 수 있는 트랜잭션의 수 응답 시간 (Response Time) 사용자 입력이 끝난 후, 애플리케이션의 응답 출력이 개시될 때까지의 시간 경과 시간 (Turnaround Time) 사용자가 요구를 입력한 시점부터 트랜잭션을 처리 후 그 결과의 출력이 완료할 때까지 걸리는 시간 자원 사용률 (Resource Usage) CPU 사용량, 메모리 사용량, 네트워크 사용량
애플리케이션 개선 조치사항 작성 1. 결함 심각도 - 애플리케이션에 발생한 결함이 어떤 영향을 미치며, 얼마나 치명적인지를 나타내는 척도 분류 설명 치명적(Critical) 결함 기능 or 제품의 테스트를 완전히 방해, 데이터 손실, 시스템 충돌 주요(Major) 결함 기능이 기대와 다르게 동작 보통(Normal) 결함 일부 기능 부자연스러움, 사소한 기능 오작동 경미한(Minor) 결함 사용상의 불편함 유발, UI 잘림 단순(Simple) 결함 사소한 버그, 미관상 좋지 않음
애플리케이션 테스트 결과 분석 1. 결합 분석 방법 결합 분석 방법 설명 구체화 (Specification) 결함을 발생시킨 입력값, 테스트 절차, 환경을 명확히 파악 고립화 (Isolation) 어떤 요소가 결함 발생에 영향을 미치는지 분석 일반화 (Generalization) 결함 발생에 영향을 주는 요소를 최대한 일반화 시키는 방법
애플리케이션 테스트 수행 1. 목(Mock) 객체 - 객체지향 프로그램에서 독립적인 컴포넌트 테스트를 위해서 스텁의 객체지향 버전인 목 객체가 필요 2. 목 객체 유형 유형 설명 더미 개체 객체만 필요하고 기능까지는 필요하지 않은 경우 테스트 스텁 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구 테스트 드라이버 테스트 대상 하위 모듈을 호출, 파라미터 전달, 모듈 테스트 수행 후 결과 도출 테스트 스파이 테스트 대상 클래스와 협력하는 클래스 가짜 객체 실체 협력 클래스의 기능을 대체해야 할 경우, 사용 3. 통합 테스트 - 비점증적인 방식 - 빅뱅 방식 : 모든 모듈을 동시에 통합 후, 테스트 - 점증적인 방식 - 하향식 테스트 : 위에서 아래로. 테스트 스텁 필요 - 상향식 테스트 : 아래..
애플리케이션 테스트 시나리오 작성 1. 테스트 레벨 종류 종류 설명 단위 테스트 (Unit Test) - 구현이 진행되면서 수행하는 테스트. 서브루틴 등을 테스트 통합 테스트 (Integration Test) - 모듈 간 인터페이스, 컴포넌트 간의 상호 작용을 검증하는 테스트 시스템 테스트 (System Test) - 단위 시스템 기능이 시스템에서 정상 수행 되는지를 검증하는 테스트 - (기능적 요구사항/비기능적 요구사항) 인수 테스트 (Acceptance Test) - 요구사항이 만족했는지 확인하기 위한 테스트 - 알파 테스트 : 사용자가 개발자 환경에서 수행하는 테스트 - 베타 테스트 : 실제 환경에서 일정 사용자에게 SW를 사용하게 하고 피드백을 받는 테스트 2. V 모델
애플리케이션 테스트 케이스 작성 3 1. 정적 분석 - 자동화된 도구를 이용하여 산출물의 결함을 검출하거나 복잡도를 측정(도구) 2. 리뷰 - SW의 다양한 산출물에 존재하는 결함을 검출하거나 프로젝트의 진행 상황을 점검하기 위한 활동으로 전문가가 수행(사람) 3. 리뷰의 유형 유형 설명 동료 검토 (형식적) - 2~3명이 진행하는 리뷰의 형태 - 요구사항 명세서 작성자가 설명하고, 이해관계자들이 설명을 들으면서 결함을 발견 인스펙션 (형식적) - 저작자 외의 다른 전문가 or 팀이 검사하여 문제를 식별하고 문제에 대한 올바른 해결을 찾아냄 워크스루 (비형식적) - 검토 자료를 회의 전에 배포해서 사전 검토한 후 짧은 시간동안 회의를 진행하는 형태 4. 경험 기반 테스트 유형 설명 탐색적 테스트 (Exp..
애플리케이션 테스트 케이스 작성 2 1. SW 테스트 유형 - 프로그램 실행 여부에 따라 동적 테스트와 정적 테스트로 나뉨 - 동적 테스트 : 화이트박스 테스트, 블랙박스 테스트, 경험기반 테스트 - 정적 테스트 : 리뷰, 정적 분석 2. 화이트박스 테스트(White-Box Test) (구조 기반) - 각 응용 프로그램의 내부 구조와 동작을 검사하는 SW 테스트 3. 화이트박스 테스트 유형 (영어도 확인) 유형 내용 구문(문장) 커버리지 (Statement Coverage) - 프로그램 내의 모든 명령문을 적어도 한 번 수행 결정(=선택, =분기) 커버리지 (Decision/Branch Coverage) - 결정 포인트 내의 전체 조건식이 적어도 한 번은 참과 거짓의 결과를 수행 조건 커버리지 (Cond..
애플리케이션 테스트 케이스 작성 1 1. SW 테스트 - 노출되지 않은 숨어있는 SW의 결함을 찾아내는 활동 2. SW 테스트 원리 원리 설명 결함 존재 증명 - 결함의 존재함을 밝히는 활동 완벽 테스팅은 불가능 - 완벽하게 테스팅하려는 것은 불가능 초기 집중 - 개발 초기에 테스팅 시작 - 요르돈의 법칙(눈덩이 법칙) : 개발 초기에 하지 않으면 비용이 증가 결함 집중 - 적은 수의 모듈에서 대다수의 결함이 발견 - 파레토 법칙(Pareto Principle) : 오류의 80%는 전체 모듈의 20%안에서 발견됨 살충제 패러독스 (Pesticide Paradox) - 동일한 테스트 케이스에 의한 반복적 테스트는 새로운 버그를 찾지 못함 정황 의존성 - SW의 성격에 맞게 테스트 실시 오류-부재의 궤변 -..
비즈니스 연속성 계획(BCP) 1. 비즈니스 연속성 계획 관련 주요 용어 주요 용어 설명 BCP (Business Continuity Planning) 재난 및 재해 상황을 대비하여 기업의 비즈니스 연속성을 유지하기 위한 업무 복구에 대한 계획 BIA (Business Impact Analysis) 장애 or 재해로 인한 운영상의 주요 손실을 볼 것을 가정하여 비즈니스 영향 분석 RTO (Recovery Time Objective) 업무중단 시점부터 데이터가 복구되어 다시 정상가동될 때까지의 시간 RPO (Recovery Point Objective) 업무중단 시점부터 데이터가 복구되어 다시 정상 가동될 때, 데이터의 손실 허용 시점 DRP (Disaster Recovery Plan) 재난으로 장기간에 ..
SW 개발 보안 구현 1. 입력 데이터 검증 및 표현 취약점 취약점 설명 XSS (Cross Site Script) 검증되지 않은 외부 입력 데이터가 포함된 웹페이지를 사용자가 열람할 때, 부적절한 스크립트가 실행되는 공격 사이트 간 요청 위조 (CSRF : Cross Site Request Forgery) 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격 SQL 삽입 (SQL Injection) 악의적인 SQL 구문을 삽입하고 실행시켜 정보를 열람, 조작할 수 있는 취약점 공격법
소프트웨어 개발 보안 설계 2 1. 접근 통제 기법 구분 설명 식별 (Identification) 자신이 누구라고 시스템에 밝히는 행위 인증 (Authentication) 주체의 신원을 검증하기 위한 활동 인가 (Authorization) 인증된 주체에게 접근을 허용하는 활동 책임추적성 (Accountability) 주체의 접근을 추적하고 행동을 기록하는 활동 2. 인증 기술 유형 유형 설명 예시 지식기반 인증 사용자가 기억하고 있는지식 ID / 패스워드 소지기반 인증 소지하고있는 사용자 물품 공인인증서 생체기반 인증 고유한 사용자의 생체 정보 얼굴, 지문 특징기반 인증 사용자의 특징을 활용 발걸음, 몸짓 3. 서버 접근 통제 유형 유형 설명 임의적 접근 통제 (DAC : Discretionary Acc..
소프트웨어 개발 보안 설계 1. SW 개발 보안 3대 요소 3대 요소 설명 기밀성 (Confidentiality) 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단 무결성 (Integrity) 정당한 방법을 따르지 않고 데이터가 변경 되지 않으며, 데이터의 정확성 및 완전성과 고의/악의로 변경 or 훼손되지 않음 보장 가용성 (Availability) 권한을 가진 사용자 or 애플리케이션이 원하는 서비스를 지속해서 사용할 수 있도록 보장 ※ SW 개발 보안 용어 용어 설명 자산 조직의 데이터 or 소유자가 가치를 부여한 대상 위협 조직 or 기업의 자산에 악영향을 끼칠 수 있는 시간 or 행위 취약점 위협이 발생하기 위한 사전 조건으로 시스템의 정보 보증을 낮추는 데 사용되는 약점 ..
공통 모듈 구현 1. 모듈 - 하나의 완전한 기능을 수행할 수 있는 독립된 실체 2. 모듈화 - SW의 성능을 향상시키거나 프로그램을 효율적으로 관리할 수 있도록 시스템을 분해하고 추상화하는 기법 3. 모듈화 기법 기법 설명 루틴 SW에서 특정 동작을 수행하는 일련의 코드로서 기능을 가진 명령들의 모임 메인 루틴 프로그램의 주요한 부분. 전체의 개략적인 동작 절차를 표시하도록 만들어진 루틴 서브 루틴 메인 루틴에 의해 필요할 때마다 호출되는 루틴 4. 응집도 (Cohesion) - 모듈의 독립성을 타나내는 정도. 모듈 내부 구성요소간 연관 정도 (낮을수록 나쁜 품질, 높을수록 좋은 품질) 5. 응집도의 유형 유형 설명 우연적 응집도 (Coincidental Cohesion) (가장 낮음) (나쁜 품질) ..
개발환경 구축1. 개발 도구 분류구분설명빌드 도구작성한 코드의 빌드 및 배포를 수행구현 도구개발자의 코드 작성과 디버깅, 수정 등과 같은 작업을 지원테스트 도구코드의 기능 검증과 전체의 품질을 높이기 위해 사용형상 관리 도구개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리 2. 서버 HW 개발 환경구분설명웹 서버- 정적 콘텐츠(CSS, Javascript, Image) 처리 ex) Apache 웹 서버웹 애플리케이션 서버- 동적 콘텐츠(Servlet, JSP) 처리 ex) TomcatDB 서버- 데이터 수집, 저장을 위한 용도 ex) MySQL, Oracle파일 서버- 파일 저장 HW - 물리 저장장치를 활용 ex) HDD, SSD 3. 클라이언트 HW 개발 환경구분설명클라이언트 프로그램설치를..
NewBean
'정보처리기사/DB' 카테고리의 글 목록 (2 Page)