본문 바로가기

정보처리기사/필기73

[정보처리기사] Part02-03-1. 제품 소프트웨어 패키징 * 애플리케이션 패키징 - 개발 완료된 SW를 고객에게 전달하기 위해 패키징, 설치 및 사용 매뉴얼 작성하는 활동 ● 특징 - 개발자가 아닌 사용자 중심 진행 - 신규 및 변경 개발 소스 식별하고 이를 모듈화하여 상용 제품으로 패키징 - 고객 편의 위해 신규/변경 이력 확인하고 이를 버전 관리 및 릴리즈 노트 통해 지속적 관리 - 사용자 실행 환경 이해하고 범용 환경에서 사용 가능토록 일반적인 배포 형태로 분류하여 패키징 진행 ● 사용자 중심 애플리케이션 패키징 * 사용자 실행 환경 이해 - OS, 실행 환경, 시스템 사용, 개발 언어, 고객 사용 방법까지 상세 분석하여 실행 환경 사전 정의 - 다양한 실행 환경 나오면 별도 애플리케이션 패키징 작업 필요 * 고려사항 - 사용자 OS, 시스템 사양(CPU.. 2022. 7. 15.
[정보처리기사] Part02-05-3. 인터페이스 구현 검증 * 설계 산출물 1. 인터페이스 구현 검증 도구 - 인터페이스 구현 검증 위해서는 인터페이스 단위 기능 및 시나리오에 기반한 통합 테스트 필요 - 테스트 자동화 도구 이용해 단위 및 통합 테스트 효율성 높일 수 있음 ▶ 인터페이스 구현 검증 도구 ▷ xUit - Java(Junit), C++(Cppunit) 등 다양한 언어 지원하는 단위 테스트 프레임워크 ▷ STAF - 서비스 호출, 컴포넌트 재사용 등 다양한 환경 지원하는 테스트 프레임워크 ▷ FitNesse - 웹 기반 테스트 케이스 설계/실행/결과 확인 등 지원하는 테스트 프레임워크 ▷ NTAF - Naver 테스트 자동화 프레임워크. STAF + FitNesse ▷ Selenium - 다양한 브라우저 지원 및 개발 언어 지원하는 웹 애플리케이션 .. 2022. 2. 25.
[정보처리기사] Part02-02-2. 통합구현 관리 * IDE(통합 개발 환경; Integrated Development Environment) 도구 ☞ 코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경 제공하는 소프트웨어 ▶ IDE 도구 기능 ▷ 개발 환경 지원 - C++, Java 등 언어 이용하여 애플리케이션 개발할 수 있는 환경 제공해 줌 ▷ 컴파일 및 디버깅 기능 제공 - 코딩 완료되면 컴파일하여 문법에 어긋나지 않는지 확인하고, 오류 발생 시 이를 추적하여 수정할 수 있는 디버깅 기능 제공 ▷ 외부 연계 모듈과 통합 기능 제공 - EAI 등 외부 인터페이스 모듈과 통합 통해 통합 개발 기능 제공 - JDBC 등 통해 DB 연동 통한 통합 개발 기능 제공 - 외부 형상, 배포 관리 기능과 .. 2022. 2. 25.
[정보처리기사] Part02-02-1. 모듈 구현 * 단위 모듈 구현 ☞ SW 개발에 있어 기능 분할하고 추상화하여 성능 향상시키고 유지보수 효과적으로 하기 위한 단위 컴포넌트 별 구현 기법 ☞ 인터페이스 모듈, DB 접근 모듈 등 통합 구현에 필요한 단위에 컴포넌트 구현 1. 단위 모듈 종류 - 상세 설계된 단위 모듈, 환경 변수를 실제 프로그래밍 언어로 구현하는 것 - 화면 모듈, 화면에서 입력받은 데이터 처리 위한 서비스 컴포넌트, 비즈니스 트랜잭션 컴포넌트 2. 단위 모듈 구현 원리 ▶ 단위 모듈 구현 원리 ▷ 정보 은닉 (Information Hiding) - 객체에 대한 구체적인 정보 노출시키지 않도록 하는 기법 ▷ 분할과 정복 (Divide & Conquer) - 복잡한 문제 분해하여 모듈 단위로 문제 해결 ▷ 데이터 추상화 (Data Ab.. 2022. 2. 25.
[정보처리기사] Part02-01-4. 데이터 조작 프로시저 최적화 * 쿼리 성능 측정 ☞ DB에서 프로시저에 있는 SQL 실행 계획 분석하여 시간 오래 걸리는 부분 수정하여 최소 시간으로 원하는 결과 얻도록 프로시저 수정하는 활동 ☞ RDB, 특히 Oracle 쿼리 성능 측정 방법에는 TKPROF 명령어, EXPLAIN PLAN 이 있음 1. SQL 처리 흐름 ▶ SQL 처리 단계 ▷ 구문 분석 (Parsing) - 사용자가 요청한 SQL 문이 실행 계획 있는지 확인 - 실행 계획 있음 : 과거에 사용된 문장이기에 구문 분석할 필요 없이 바로 실행 - 실행 계획 없음 : 옵티마이저는 인덱스 등 분석해 가장 빠르게 검색해 줄 수 있는 실행 계획 찾음 ▷ 실행 (Execution) - 실행 계획 따라 메모리 영역의 DB 버퍼 캐시 영역에 해당 데이터가 있는지 확인 - 버퍼.. 2022. 2. 25.
[정보처리기사] Part01-04-3. 인터페이스 상세 설계 * 내외부 송/수신 인터페이스 시스템 직접 인터페이스 방식 간접 인터페이스 방식 1. 직접 연계 방식 - 일반적으로 중간 연계 매개체가 생략돼 연계 처리 속도 빠르고 구현 단순하며, 개발 비용과 기간 짧음 - 송수신 시스템 사이 결합도 높아 시스템 변경에 민감한 특성 있음 - 보안 위한 암/복호화 처리와 업무 기능 구현을 인터페이스 별로 작성하여 전사 차원 시스템 인터페이스 통합 환경 구축이 어려운 단점 2. 간접 연계 방식 - 연계 서버 활용하여 송/수신 처리와 송/수신 현황 모니터링하고 통제하는 방식 - 서로 상이한 네트워크과 프로토콜 등 다양한 환경 시스템들 연계하고 통합 관리 가능 - 장점 : 인터페이스 변경 시에도 유연하게 대처 가능하고 보안이나 업무 처리 로직 반영 용이 - 단점 : 인터페이스.. 2022. 2. 25.
[정보처리기사] Part01-04-2. 인터페이스 대상 식별 * 시스템 아키텍처 ☞ 시스템이 어떻게 작동하는지를 설명하는 프레임워크 ☞ 시스템 목적 달성 위해 시스템의 각 컴포너트가 무엇이며 어떻게 상호 작용 하는지, 정보가 어떻게 교환되는지를 설명 ◎ 시스템 아키텍처 기본 요구사항 - 시스템 구성 및 동작 원리 표현 - 시스템 구성 요소에 대해 설계 및 구현 지원하는 수준으로 자세히 기술됨 - 구성 요소 간 관계 및 시스템 외부 환경과의 관계 묘사 - 요구 사양 및 시스템 전체 수명 주기 고려 - HW와 SW 포함하는 시스템 전체에 대한 논리적 기능 체계와 그것을 실현하기 위한 구성 방식, 시스템 전체적인 최적화를 목표로 함 1. 시스템 아키텍처 설계 - SW 시스템 아키텍처 설계에 제약을 주는 상위 설계로서의 시스템 아키텍처 설계가 존재하고, SW 아키텍처 제.. 2022. 2. 25.
[정보처리기사] Part01-04-1. 인터페이스 요구사항 확인 * 클래스 설계 ☞ 분석 단계에서 아직 결정되지 않는 클래스 내부 부분 중 구현에 필요한 서비스 인터페이스와 메서드 내부 로직 결정하는 작업 ☞ 클래스 서비스 인터페이스 설계 시 사용자와 구현하는 사람 간 상호 약속 정의한 "협약에 의한 설계" 라는 개념 적용 ☞ 각 객체 상태가 연산(메서드) 호출에 따라 상태 값이 어떻게 변화하는지 살펴보고 상세히 설계해야 함 ▶ 클래스 인터페이스 - 클래스 설계 시 서브 시스템에서 제공하는 서비스는 연산, 파라미터, 타입, 클래스 인터페이스로 정의됨 - 서브 시스템에서 제공하는 서비스 내용은 API 라고 함 - 클래스에서 제공하는 속성 값 범위, 리턴 값 범위 등을 개발자, 사용자, 운영자 등이 공유 가능토록 정의 ◎ 협약에 의한 설계 (Design by Contra.. 2022. 2. 25.
[정보처리기사] Part01-03-2. 객체 지향 설계 * 객체 지향 (Object Orient) ☞ 실세계 개체를 속성과 메소드가 결합된 형태의 객체로 표현하는 개념 ☞ 구현 대상을 하나의 객체로 보고 객체와 객체들 간 관계로 모델링 하는 방법 ☞ 개발 측면에서 SW 위기 해결 위한 대안과 생산성 저하에 따른 재사용성, 확장성 필요에 의해 등장 ☞ 사용 측면에서 컴퓨팅 환경에 대한 보다 많은 기능, 단순성, 사용 편의성 요구가 증대 ◎ 객체 지향 프로그래밍 (Object Oriented Programming) - 컴퓨터 프로그래밍 패러다임 중 하나 - 컴퓨터 프로그램을 명령어 목록으로 보는 시각에서 벗어나 여러 개 독립된 단위(객체)들의 모임으로 파악하고자 함 - 각각의 객체는 메시지 주고 받고, 데이터 처리 가능 - 프로그램을 유연하고 변경 용이하게 만들.. 2022. 2. 25.
[정보처리기사] Part01-03-1. 공통 모듈 설계 * 공통 모듈 ☞ 날짜 처리 위한 유틸리티 모듈 등과 같이 전체 프로그램 기능 중 공통적으로 사용 가능한 모듈 의미 ◎ 모듈화 - SW 성능 향상시키거나 시스템 수정 및 재사용, 유지 관리 용이케 하여 프로그램 효율적으로 관리 가능토록 시스템 분해하고 추상화하는 기법 의미 - 모듈 크기가 과도하게 작은 경우 모듈 개수가 많아져 모듈 간 통합 비용 과다 발생 - 모듈 크기가 과도하게 큰 경우 모듈 간 통합 비용 상대적으로 감소하는 대신 하나의 모듈 개발하는 데 소용되는 비용 커짐 1. 응집도 - 모듈 내부 구성 요소 간 관계 밀접 정도 - 응집도 높을수록 필요한 요소들로 구성되어 짐 - 응집도 낮을수록 요소들 간 관련성 적은 요소들로 구성되어 짐 - 품질 측면에서 가장 높은 품질은 기능적 응집도이며, 가장.. 2022. 2. 25.