ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 개발 기술 환경 정의
    정보처리기사(자격증)/요구사항 확인 2020. 9. 30. 19:55

    개발 기술 환경 시스템 분석

     

    운영체제 현행 시스템 분석

     

    1. 운영체제(Operating System)의 개념

     

     - 컴퓨터 시스템이 제공하는 모든 하드웨어, 소프트웨어를 사용할 수 있도록 해주고, 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스를

     

       담당하는 프로그램이다.

     

    - 사용자가 컴퓨터를 좀 더 쉽게 사용하기 위해 지원하는 소프트웨어이다.

     

    2. 운영체제 현행 시스템 분석

     

     - 운영체제 현행 시스템 분석 시 품질 측면과 지원 측면 등을 고려한다.

     

     운영체제 현행 시스템 분석 시 고려 사항

    운영체제 현행 시스템 분석 시 품질 측면, 지원 측면 등을 고려한다.

    관점 고려 사항 설명
    품질측면 신뢰도 - 장기간 시스템 운영시 운영체제의 장애 발생 가능성
    - 운영체제의 버그로 인한 재기동 여부
    성능 - 대규모 및 대량 파일 작업(배치 작업) 처리
    - 지원 가능한 메모리 크기(32, 64bit)
    지원 측면 기술 지원 - 공급사들의 안정적인 기술 지원
    - 오픈 소스 여부
    주변 기기 - 설치 가능한 하드웨어
    - 다수의 주변 기기 지원 여부
    구축 비용 - 지원 가능한 하드웨어 비용
    - 설치할 응용 프로그램의 라이선스 정책 및 비용
    - 유지 및 관리 비용

     

    운영체제 종류 및 특징

     

     - PC, 모바일 운영체제로 나뉜다.

    구분 종류 저작자  특징
    PC 윈도우즈(Windows) Microsoft 중/소규모 서버, 일반 PC 등 유지, 관리 비용 장점
    유닉스(UNIX) IBM, HP, SUN 대용량 처리, 안정성 높은 엔터프라이즈급 서버
    리눅스(Linux) Linus Tovalds 중/대규모 서버 대상, 높은 보안 성 제공
    모바일 안드로이드(Android) Google 스마트폰, 태블릿PC, 다양한 기기의 호환성 제공
    iOS Apple 스마트폰, 태블릿PC의 높은 보안성과 고성능 제공

    * 리눅스(Linux) 기반 시스템이 하드웨어 및 소프트웨어 소유 비용이 가장 적게 소요된다.

     

     

    네트워크 현행 시스템 분석

     1. 네트워크(Network) 의 개념

     

     - 컴퓨터 장치들의 노드 간 연결(데이터 링크)을 사용하여 서로에게 데이터를 교환할 수 있도록 하는 기술

     

     - 데이터 링크들은 광케이블과 같은 유선 매체 또는 와이파이 와 같은 무선 매체를 통해 확립된다.

     

    2. OSI 7계층(Layer)

     

     - 네트워크 통신에서 생긴 여러 가지 충돌 문제를 완화하기 위해 국제 표준화 기구(ISO : International Standardization Organization)

     

      에서 제시한 네트워크 기본 모델이다.

     

    계층 설명 프로토콜 전송 단위
    응용 계층
    (Application Layer)
    사용자와 네트워크 간 응용서비스 연결, 데이터 생성 HTTP
    FTP
    데이터(Data)
    표현 계층
    (Presentation Layer)
    데이터 형식 설정과 부호교환, 암/복호화 JPEG
    MPEG
    세션 계층
    (Session Layer)
    연결 접속 및 동기제어 SSH
    TLS
    전송 계층
    (Transport Layer)
    신뢰성 있는 통신 보장
    데이터 분할과 재조립, 흐름 제어, 오류 제어 혼잡제어 등을 담당
    TCP
    UDP
    세그먼트(Segment)
    네트워크 계층
    (Network Layer)
    단말 간 데이터 전송을 위한 최적화된 경로 제공 IP
    ICMP
    패킷(Packet)
    데이터 링크 계층
    (Data Link Layer)
    인접 시스템 간 데이터 전송, 전송오류 제어
    동기화, 흐름 제어 등의 전송 기능 제공
    오류 검출/재전송 등 기능 제공
    이더넷 프레임(Frame)
    물리 계층
    (Physical Layer)
    0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환 RS-232C 비트(Bit)

    * 물데네전세표응

     

    네트워크 현행 시스템 분석 방법

    - 현행 시스템이 구성된 네트워크 구조를 네트워크 구성도를 통해 분석

     

    - 네트워크 구성도를 통해 서버 위치, 서버 간 연결 방식을 파악

     

    - 백본망, 라우터, 스위치, 게이트웨이, 방화벽 등을 대상으로 분석한다.

     

    - 네트워크 분석 시 물리적인 위치 관계 파악, 조직 내 보안 취약성 분석 및 대응이 가능

     

    - 네트워크 장애 발생 추적 및 대응 등의 다양한 용도로 활용 가능

     

     

    DBMS 현행 시스템 분석

     

     1. DBMS(Database Management System)의 개념

     

     - 데이터베이스라는 데이터의 집합을 만들고, 저장 및 관리할 수 있는 기능들을 제공하는 응용 프로그램

     

     2. DBMS 기능

     

     - 중복 제어, 접근 통제, 인터페이스 제공, 관계 표현

    기능 설명
    중복 제어 동일한 데이터가 여러 위치에 중복으로 저장되는 현상 방지
    접근 통제 권한에 따라 데이터에 대한 접근 제어
    인터페이스 제공 사용자에게 SQL 및 CLI, GUI 등 다양한 인터페이스 제공
    관계 표현 서로 다른 데이터간의 다양한 관계를 표현할 수 있는 기능 제공
    샤딩/파티셔닝 구조 최적화를 위해 작은 단위로 나누는 기능
    무결성 제약조건 무결성에 관한 제약조건을 정의/검사하는 기능 
    백업 및 회복 데이터베이스 장애 발생 시 데이터의 보존 기능 제공

     

    DBMS 현행 시스템 분석

     

    - 데이터베이스의 가용성, 성능, 기술 지원, 호환성, 구축 비용을 분석

     

    관점 고려 사항 설명
    성능 측면 가용성 장기간 시스템을 운영할 때 장애 발생 가능성
    백업 및 복구 편의성
    DBMS 이중화 및 복제 지원 여부
    성능 대규모 데이터 처리 성능
    대량 거래 처리 성능
    다양한 튜닝 옵션 지원 여부
    비용 기반 최적화 지원 및 설정의 최소화 지원 여부
    상호 호환성 설치 가능한 운영체제 종류
    다양한 운영체제에서 지원되는 JDBC, ODBC
    지원 측면 기술 지원 공급 업체들의 안정적인 기술 지원여부
    다수의 사용자 간의 정보 공유 여부
    오픈 소스 여부
    구축 비용 라이선스 정책 및 비용
    유지 및 관리 비용

     

    미들웨어의 현행 시스템 분석

    미들웨어(Middleware)의 개념

     

     - 미들웨어는 분산 컴퓨팅 환경에서 응용 프로그램과 프로그램이 운영되는 환경 간에 원만한 통신이 이루어질 수 있도록 제어에주는 소프트웨어

     

     - 운영체제와 소프트웨어 어플리케이션 사이에 위치

     

     - 대표적인 미들웨어로는 WAS(Web Application Server)

     

    * WAS(Web Application Server)

     

     - 웹 애플리케이션 서버는 서버계층에서 애플리케이션이 동작할 수 있는 환경을 제공하고 안정적인 트랜잭션 처리과 관리,

     

       다른 이기종 시스템과의 애플리케이션 연동을 지원하는 서버

     

    미들웨어의 현행 시스템 분석

    미들웨어의 가용성, 성능, 기술 지원, 구축 비용을 분석

    관점 고려사항 설명
    성능 측면 가용성 장기간 시스템을 운영할 때 장애 발생 가능성
    안정적인 트랜잭션 처리 능력
    WAS의 버그 등을 개선하는 패치 설치를 위한 재기동 기능 지원 여부
    WAS 이중화 지원 여부
    성능 대규모 데이터 처리 기능
    다양한 설정 옵션 지원 여부
    가비지 컬렉션의 다양한 옵션 기능 여부
    지원 측면 기술 지원 공급 벤더들의 안정적인 기술 지원 여부
    다수의 사용자들 간의 정보 공유 여부
    오픈 소스 여부
    구축 비용 라이선스 정책 및 비용
    유지 및 관리 비용
    총 소유 비용

    퀴즈정리

     

    백본망(Backbone Network)

     

     - 다양한 네트워크를 상호 연결하는 컴퓨터 네트워크의 일부로서, 각기 다른 LAN이나 부분망 간에 정보를 교환하기 위한 경로를 

     

       제공하는 망

     

    라우터(Router)

     

     - 3계층 데이터 패킷을 발신지에서 목적지까지 전달하기 위해 최적의 경로를 지정하고, 이 경로를 따라 데이터 패킷을 다음 장치로 

     

      전달하는 네트워크 장비

     

    스위치(Switch)

     

     - 2계층 장비로서, 동일 네트워크 내에서 출발지에 들어온 데이터 프레임을 목적지 MAC 주소 기반으로 빠르게 전달하는 네트워크 장비

     

    게이트 웨이(Gateway)

     

    - 컴퓨터 네트워크에서 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 네트워크 장비

     

    방화벽(Firewal)

     

     - 외부로부터 불법 침입과 내부의 불법 정보 유출을 방지하고, 내/외부 네트워크의 상호간 영향을 차단하기 위한 보안 시스템

     

    CLI(Commend Line Interface) 

     

     - 명령어를 텍스트로 입력하여 조작하는 사용자 인터페이스

     

    GUI(Graphical User Interface)

     

     - 그래픽 환경을 기반으로 한 마우스나 전자펜을 이용하는 사용자 인터페이스

     

    JDBC(Java Database Connectivity)

     

     - 자바에서 데이터베이스를 사용할 수 있도록 연결해주는 응용 프로그램 인터페이스

     

    ODBC(Open Database Connectivity)

     

     - 데이터베이스를 엑세스하기 위한 표준 개방형 응용 프로그램 인터페이스

     

    가비지 컬렉션(GC : Garbage Collection)

     

     - 메모리 관리 기법의 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요 없게 된 영역을 해제하는 기능

     

    오픈 소스(Open source)

     

     - 소스 코드를 공개해 소프트웨어 혹은 하드웨어 제작자의 권리를 지키면서, 원시 소스 코드를 누구나 열람. 사용할 수 있도록 한

     

     오픈 소스 라이선스를 만족하는 소프트웨어

     

     총 소유 비용(TCO : Total Cost of Ownership)

     

     - 기업이 시간 경과에 따라 지불해야 하는 컴퓨팅 비용을 통합적 관점에서 직접 비용 뿐만 아니라 이와 관련된 숨겨진 비용까지 포함하여

     

       파악하는 기법

     

    고가용성(HA : High Availability)

     

     - 서버와 네트워크, 프로그램 등의 정보시스템이 시스템의 장애에 대응하여 상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질

     

    트랜잭션(Transaction)

     

     - 인가받지 않은 사용자로부터 데이터를 보장하기 위해 DBMS가 가져야하는 특성이자, 데이터베이스 시스템에서 하나의 논리적인

     

       기능을 정상적으로 수행하기 위한 작업의 기본 단위

     

    tpmC(Transaction Processing Performance Council)

     

     - 특정 서버에 대해서 자체 기준으로 테스트를 수행하여 나온 결과 중 1분간 최대 처리건수를 나타낸 수치, 가장 객관적으로 하드웨어의

     

       성능을 나타내는 지표로 사용

     

    OPS(Operation Per Second)

     

     - 초당 처리되는 연산능력을 가리키는 말로 컴퓨터의 성능을 수치로 나타낼 때 사용 되는 단위


    오픈 소스 사용 시 고려 사항

     

     - 오픈 소스를 사용하는 경우에는 라이선스의 종류 , 사용자 수, 기술의 지속 가능성 등을 고려해야 한다.

     

     - 오픈 소스 소프트웨어의 전제 조건인 자유 배포, 소스 코드 공개, 파생작업 허용, 소스 코드 일관성 확보, 차별금지, 라이선스 배포 

     

        포괄적 허용을 고려해야 한다.

     

     

    개발 기술 환경 요구사항 파악

    기술 환경 정의를 위한 자료 수집

    수집 자료 목록 및 조사 항목을 설정

     

     * 기술 환경 정의를 위한 기초 자료 조사 항목 사례

     

    구분 조사 항목 설명
    온라인 트랜잭션 처리(OLTP) 시스템 시스템 구축 형태 단독 시스템, 고가용성 시스템, 
    사용자 수 전체 사용자 수, 동시 사용자 비율, 연간 사용자 증가율
    트랜잭션 수 연간 트랜잭션 수, 1일 평균 트랜잭션 수, 피크타임 트랜잭션 수, 예상 연간 트랜잭션 증가율
    웹/웹 애플리케이션 서버(WEB/WAS)

    시스템 용도 및 서비스 형태 웹 페이지만 제공, 트랜잭션이 빈번하지 않은 웹 서비스
    시스템 구성 형태 1계층, 2계층, 3계층
    접속자 수 평균 / 최고 / 연간 접속자 수, 증가율

    * 현행 시스템 담당자가 제공하는 자료와 인터뷰 기록을 분석한다.

     

     

    조사 자료 분석 및 개발 기술 환경 결정

    - 조사한 자료를 이용하여 운영체제(OS), 데이터베이스(DBMS), 웹 애플리케이션 서버(WAS) 등을 결정한다.

     

    - 조사 자료 분석 시 각 항목별 고려 사항을 반영하여 개발 기술 환경을 결정한다.

     

     - 조사한 자료를 이용하여 시스템 용량을 산정하는 방법

     

     순서 

       

      1. CPU 용량 산정

     

      2. 메모리 용량 산정

     

      3. 디스크 용량 산정

     

     

    요구사항 정의서, 목표 시스템 구성도 반영 및 검토

     

     - 운영체제, 데이터베이스, 웹 애플리케이션 서버 등 시스템 용량 산정 결과를 요구사항 정의서, 목표 소프트웨어 구성도, 목표 하드웨어

     

       구성도에 반영

     

     - 각 팀별로 작성된 산출물을 상호 검토하여 의견 제시

     

     - 다른 팀을 검토의견을 반영하여 산출물을 수정하고 최종 완료

     

     

     

    '정보처리기사(자격증) > 요구사항 확인' 카테고리의 다른 글

    요구사항 - 예상문제  (0) 2020.10.01
    요구사항의 시스템화 타당성 분석  (0) 2020.09.30
    요구사항 확인  (0) 2020.09.30
    예상 문제  (0) 2020.09.30
    현행 시스템 파악  (0) 2020.09.29

    댓글

Designed by Tistory.