전체 글 251

78~80. 데이터 모델의 구성 요소 - 개체, 속성, 관계(A)

개체의 정의, 특징 데이터베이스에 표현하려는 것, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체 무형의 정보, 독립적으로 존재 그 자체로도 구별 가능 유일한 식별자에 의해 식별 가능 Entity 개체명 선정방법 및 지정 방법 자료 흐름도(DFD)를 통해 업무 분석 수행 시 자료 흐름도의 자료 저장소를 이용 해당 업무에서 사용하는 용어 단수 명사 사용 모든 개체명은 유일해야 함 속성의 정의, 특징 데이터베이스를 구성하는 가장 작은 논리적인 단위 속성의 수 : 디그리, 차수(Degree) 속성의 종류 기본 속성 : 업무 분석을 통해 정의한 속성(자동차명) 설계 속성 : 설계 과정에서 도출한 속성(자동차코드) 파생 속성 : 다른 속성으로부터 계산, 변형을 받아 발생한 속성(계산값) 기본키 속성 ..

76. 데이터베이스 설계(A)

데이터베이스 설계 시 고려사항 무결성(연산 후에도 제약 조건 만족) 일관성(응답이 처음부터 끝까지 변함 X) 보안(불법 데이터 노출 또는 변경으로부터 보호) 효율성(응답시간 단축, 시스템의 생산성, 저장 공간 최적화) 회복 확장 데이터베이스 설계 순서 요구 조건 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현 개념적 설계(정보 모델링, 개념화) 개념 스키마 모델링, 트랜잭션 모델링 병행 수행, E-R 다이어그램 작성, 개념 스키마 설계 논리적 설계(데이터 모델링) 특정 DBMS가 지원하는 논리적 자료 구조로 변환시키는 과정 개념 스키마 평가 및 정제, 종속적인 논리적 스키마 설계, 트랜잭션의 인터페이스 설계, 테이블 설계 물리적 설계(데이터 구조화) 디스크 등의 물리적 저장장치에 저..

74. 인터페이스 구현 검증(A)

인터페이스 구현 검증 도구 인터페이스 단위 기능과 시나리오 등을 기반으로 하는 통합 테스트가 필요 xUnit(단위 테스트 프레임워크), STAF, FitNesse, NTAF(Naver 테스트 자동화 프레임워크), Selenium(웹 어플리케이션 테스트 프레임워크), watir(Ruby 사용) 인터페이스 구현 감시 도구 APM을 사용해 감시 웹 애플리케이션의 트랜잭션, 변수값, 호출 함수 등을 조회하고 분석 스카우터(Scouter), 제니퍼(Jennifer)

72. 인터페이스 보안(A)

인터페이스 보안 기능 적용 분석한 인터페이스 기능과 보안 취약점을 기반으로 인터페이스 보안 기능을 적용 네트워크 영역 : 데이터 탈취 및 변조 위협을 방지하기 위해 네트워크 트래픽에 대한 암호화 설정, IPSec, SSL, S-HTTP 등의 다양한 방식으로 적용 애플리케이션 영역 : 애플리케이션 코드 상의 보안 취약점을 보완하는 방향 데이터베이스 영역 : 데이터베이스, 스키마, 엔티티의 접근 권한과 프로시저, 트리거 등 데이터베이스 동작 객체의 보안 취약점에 보안 기능 적용 데이터 무결성 검사 도구 시스템 파일의 변경 유무를 확인, 파일이 변경되었을 경우 관리자에게 알려주는 도구 Tripwire, AIDE, Samhain, Claymore, Slipwire, Fcheck

70. 인터페이스 구현 (B)

인터페이스 구현 송, 수신 시스템 간의 데이터 교환 및 처리를 실현해 주는 작업 데이터 통신을 이용한 방법, 인터페이스 엔티티 방법 데이터 통신을 이용한 인터페이스 구현 데이터 포맷을 인터페이스 대상으로 전송, 수신 측에서 파싱하여 해석하는 방식 JSON이나 XML 형식의 데이터 포맷을 사용하여 인터페이스 구현 JSON : 속성 - 값 쌍으로 이루어진 데이터 객체를 전달 XML : 특수한 목적을 갖는 마크업 언어 AJAX : 자바 스크립트 등을 이용하여 클라이언트와 서버 간에 XML 데이터 교환 및 제어, 비동기 기술 인터페이스 엔티티를 이용한 인터페이스 구현 인터페이스 엔티티를 이용한 인터페이스 구현은 인터페이스가 필요한 시스템 사이에 별도의 인터페이스 엔티티를 두어 상호 연계하는 방식 테이블의 구조는..

67. 모듈 연계를 위한 인터페이스 기능 식별(B)

EAI(Enterprise Application Integration) 기업 내 각종 애플리케이션 및 플랫폼 간의 정보 전달, 연계, 통합 등 상호연동 가능하게 해주는 솔루션 비즈니스 간 통합 연계성, 시스템 간의 확정성 향상 Point-to-Point : 기본적인 애플리케이션, 1:1 연결 Hub&Spoke : 단일 접점 허브 시스템으로 데이터를 전송하는 중앙집중형 Message Bus : 애플리케이션 사이 미들웨어, 대용량 처리 Hybrid : Hub&Spoke + Message Bus, 데이터 병목 현상 최소화 ESB(Enterprise Service Bus) 애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스 제공 솔루션 서비스 중심의 통합 애플리케이션과의 결합도를 약..

65. 애플리케이션 성능 개선(A)

소스 코드 최적화 스파게티 코드 : 코드의 로직이 꼬여 있는 코드 외계인 코드 : 아주 오래되거나 참고문서 또는 개발자가 없어 유지 보수가 어려운 코드 클린 코드 작성 원칙 가독성 단순성 의존성 배제 중복성 최소화 추상화 소스 코드 품질 분석 도구 정적 분석 도구 : 작성한 소스 코드 실행하지 않고 코딩 표준, 스타일, 결함 확인 자료흐름이나 논리 흐름 분석 코딩의 복잡도, 모델 의존성, 불일치성 분석 pmd, cppcheck, SonarQube, checkstyle, ccm 동적 분석 도구 : 작성한 소스 코드를 실행하여 메모리 누수, 스레드 결함 분석 Avalanche, Valgrid

64. 복잡도(A)

복잡도 시스템이나 시스템 구성 요소 또는 소프트웨어의 복잡한 정도를 나타내는 말 정밀한 테스트를 통해 미리 오류 제거 측정 방법 : LOC(Line of Code), 순환 복잡도 시간 복잡도 알고리즘의 실행시간, 프로세스가 수행하는 연산 횟수를 수치화 빅오 표기법 : 최악 세타 표기법 : 평균 오메가 표기법 : 최선 O(1) : 입력값에 관계 없이 일정하게 문제 해결(스택 삽입, 삭제) O(log₂n) : 문제 해결에 필요한 단계가 입력값 또는 조건에 의해 감소(이진 트리, 이진 검색) O(n) : 입력값과 1:1 관계(for문) O(nlog₂n) : 힙 정렬, 2-Way 합병 정렬 O(n²) : 삽입 정렬, 쉘 정렬, 선택 정렬, 버블 정렬, 퀵 정렬 O(2ⁿ) : 피보나치 수열 순환 복잡도 프로그램의..

63. 애플리케이션 성능 분석(B)

애플리케이션 성능 측정 지표 처리량(Throughput) 응답 시간(Response Time)(전달 시간~응답 도착시간) 경과 시간(Turn Around Time)(작업 의뢰시간 ~ 처리 완료시간) 자원 사용률(Resource Usage) 성능 테스트 도구 애플리케이션 성능 측정을 위해 부하나 스트레스를 가하면서 성능 측정 점검 JMeter, LoadUI, OpenSTA 시스템 모니터링 도구 애플리케이션 실행되었을 떄 시스템 자원의 사용량 확인하고 분석하는 도구 Scouter, Zabbix 애플리케이션 성능 저하 원인 분석 애플리케이션 DB에 연결하기 위해 Connection 객체를 생성하거나 쿼리를 실행하는 애플리케이션 로직에서 많이 발생 커넥션 풀 크기 작게 설정, 미들웨어 사용 한후 종료 X -> ..