정보

    • 업무명     : 정보처리기사 실기 : 1강 요구사항 확인 (현행시스템 분석하기)

    • 작성자     : 이상호

    • 작성일     : 2020-05-05

    • 설   명      :

    • 수정이력 :

     

     

     내용

    [현행 시스템 파악]

    [1] 현행 시스템 파악의 개요
    • 1. 현행 시스템 파악의 정의 및 목적 

      • (1) 현행 시스템 파악의 정의

        • 현행 시스템이 어떤 하위 시스템으로 구성되어 있는지, 제공하는 기능이 무엇인지, 다른 시스템들과 어떤 정보를 주고받는지, 어떤 기술요소를 사용하고 있는지, 사용하고 있는 소프트웨어 및 하드웨어는 무엇인지, 네트워크는 어떻게 구성되어 있는지 등을 파악하는 활동이다.

      • (2) 현행 시스템 파악의 목적

        • 이를 통하여 향후 개발하고자 하는 시스템의 개발범위 및 이행방향성 설정에 도움을 주는 것이 목적이다.

    • 1. 현행 시스템 파악 절차

      • 아래와 같이 3단계로 구분하여 수행해야 할 활동들에 대하여 기술한다.

      • (1) 1단계 

        • 현행 시스템의 구성, 기능, 인터페이스 현황을 파악하는 단계

      • (2) 2단계 

        • 현행 시스템의 아키텍처 및 소프트웨어 구성 현황을 파악하는 단계

      • (3) 3단계 

        • 현행 시스템의 하드웨어 및 네트워크 구성 현황을 파악하는 단계

     

     

    [2] 현행 시스템 구성/기능 및 인터페이스
    • 1. 현행 시스템 구성 현황

      • (1) 현행 시스템 구성 현황의 정의

        • 현행 시스템 구성 현황은 조직의 주요 업무를 처리하는 기간 업무와 이를 지원하는 지원 업무로 구분하여 기술한 것이다.

      • (2) 현행 시스템 구성 현황 작성 시 고려 사항

        • 각 업무에 속하는 단위 업무 정보시스템들의 명칭, 주요 기능들을 명시함으로써 조직 내 존재하는 모든 정보시스템의 현황을 파악하도록 한다.

    • 2. 기능 현황

      • (1) 기능 현황의 정의

        • 단위 업무 시스템이 현재 제공하고 있는 기능을 기술한 것이다.

      • (2) 기능 현황 작성 시 고려 사항

        • 단위 업무 시스템에서 제공하는 기능들을 주요 기능과 하부 기능으로 구분하여 계층형으로 표시한다.

    • 3. 인터페이스 현황

      • (1) 인터페이스 현황의 정의

        • 단위 업무 시스템이 다른 단위 업무 시스템과 주고받는 데이터의 종류, 데이터 형식, 프로토콜, 연계유형, 주기 등을 명시한 것이다.

      • (2) 인터페이스 현황 작성 시 고려 사항

        • 중요한 고려 사항으로는 어떤 형식(format)으로 데이터를 주고받는지(XML, 고정 포맷,가변 포맷 등), 어떤 통신규약(TCP/IP, X.25 등)을 사용하고 있고, 연계유형(EAI, FEP 등)은 무엇인지 등이 있다.

     

    [3] 현행 시스템 아키텍처 및 소프트웨어
    • 1. 현행 시스템 아키텍처 구성도

      • (1) 현행 시스템 아키텍처 구성도의 정의

        • 기간 업무를 수행하기 위하여 계층별로 어떠한 기술 요소들을 사용하고 있는지 최상위 수준에서 그림으로 표현한 것이다.

      • (2) 현행 시스템 아키텍처 구성도 작성 시 고려 사항

        • 단위 업무 시스템별로 아키텍처가 다른 경우에는 가장 핵심이 되는 기간 업무 처리 시스템을 기준으로 한다.

     

     

    • 2. 소프트웨어 구성도

      • (1) 소프트웨어 구성도의 정의

        • 단위 업무 시스템의 업무 처리를 위해 설치되어 있는 소프트웨어들의 제품명, 용도, 라이선스 적용 방식, 라이선스 수를 명시한 것이다.

     

     

    • (2) 소프트웨어 구성도 작성 시 고려 사항

      • 시스템 구축 시 인프라 구축 비용에서 하드웨어 비용뿐만 아니라 소프트웨어 비용이 적지 않기 때문에, 상용 소프트웨어의 경우에는 라이선스 적용 방식의 기준(사이트, 서버, 프로세서, 코어(core), 사용자 수 등)과 보유한 라이선스 수량 파악이 중요하다.

     

    [4] 하드웨어 및 네트워크
    • 1. 하드웨어 구성도

      • (1) 하드웨어 구성도의 정의

        • 단위 업무 시스템들이 어디에 위치하고 있는 서버에서 운용되고 있는지 서버의 주요 사양(CPU 처리 속도, 메모리 크기, 하드디스크의 용량 등)과 수량, 이중화가 적용되어 있는지 여부를 명시한 것이다.

     

     

    • (2) 하드웨어 구성도 작성 시 고려 사항

      • 이중화는 기간 업무의 서비스 기간, 장애 대응 정책에 따라 필요성 여부가 결정되며, 현행 시스템에서 이중화가 적용된 경우에는 목표 시스템에서도 이중화가 필요한 경우가 대부분이며, 이에 따라 인프라 구축 기술 난이도 및 비용 증가 가능성이 존재한다.

         

     

    • 2. 네트워크 구성도

      • (1) 네트워크 구성도의 정의

        • 업무 처리 시스템들이 어떠한 네트워크 구성을 가지고 있는지 그림으로 표현한 것이다.

     

    • (2) 네트워크 구성도 작성 시 고려 사항

      • 네트워크 구성도의 작성을 통해 서버의 위치, 서버 간의 네트워크 연결 방식을 파악할 수 있다. 

      • 네트워크 구성도는 조직 내 서버들의 물리적인 위치 관계 파악, 조직 내 보안 취약성 분석 및 대응, 네트워크 장애 발생 추적 및 대응 등의 다양한 용도로 활용될 수 있다. 

     

    [개발 기술 환경 정의]

    [1] 개발 기술 환경
    • 개발 기술 환경을 정의할 때  고려할 사항을 [그림]과 같이 운영체제, DBMS, 미들웨어, 오픈 소스 순으로 살펴본다.

    • 본 학습에서는 모든 미들웨어에 대하여 기술하지는 않으며 자주 사용되는 웹 애플리케이션 서버(WAS: Web Application Server)를 선정할 경우 고려해야 할 사항에 대해서 기술하고, 오픈 소스 사용 시 주의해야 할 내용과 저작권 관련 정보를 제시한다.

       

     

    • 1. 운영체제 주요 특징 및 고려 사항

      • (1) 운영체제의 정의

        • 운영체제(OS: Operating System)는 하드웨어와 소프트웨어 리소스를 관리하고 컴퓨터 프로그램을 위한 공통 서비스를 제공하는 소프트웨어를 의미한다. 관련 사이트 참고 (https://en.wikipedia.org/wiki/Operating_system)

      • (2) 운영체제의 종류 및 특징

        • 주요 운영체제로는 마이크로소프트 윈도우즈(Microsoft Windows), 유닉스(UNIX), 리눅스(Linux), 아이오에스(iOS), 안드로이드(Android) 등이 있다.

           

     

    • 자바 가상 머신(JVM: Java Virtual Machine)은 다양한 하드웨어 및 운영체제에서 자바 (Java) 언어로 작성된 애플리케이션을 수행하기 위한 사양(JVM Specification)의 구현체 (Implementation)를 의미한다. 

    • 오라클(Oracle)이 자바(Java) 상표를 소유하고 있으며, 핫 스팟(Hotspot) 구현체와 클래스 라이브러리(Class Library) 구현체를 배포하고 있다. 아 이비엠(IBM)의 J9, 오라클(Oracle)의 JRockit(이전 BEA System 제공) 등 벤더별로 여러 자바 가상 머신(JVM: Java Virtual Machine) 구현체를 배포하고 있다.

    • 관련 사이트 참고(https://en.wikipedia.org/wiki/Java_virtual_machine)

    • (3) 고려 사항 

      • 정보시스템 구축 시 운영체제 관련 요구사항을 식별할 때 고려해야 할 사항은 다음과 같다.

     

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

    • (나) 유지 및 관리 비용 측면에서는 윈도즈(Windows) 기반 시스템이 강점을 가진다.

    • (다) 안정적이고 신뢰할 수 있으며 대용량 처리를 위해서는 유닉스(UNIX) 기반 시스템 이 선호되고 있다.

    • (라) 32bit 운영체제는 4GB 메모리까지 액세스 가능(사용자 메모리는 2GB)하지만, 64bit 운영체제에서는 4GB 이상의 메모리에 액세스 가능하며 구체적인 한계는 운영체제의 종류 및 버전에 따라 다양하다.

    • (마) 시스크(CISC: Complex Instruction Set Computer) 설계 방식이 적용된 인텔의 x86 아키텍처 기반 칩을 사용하고 있는 하드웨어는 윈도즈(Windows)나  리눅스(Linux) 를 운영체제로 설치할 수 있으며, 리스크(RISC: Reduced Instruction Set Computer) 설계 방식이 적용된 칩들은 유닉스(UNIX) 운영체제를 설치한다.  

    • (바) 에이치피(HP)와 인텔(Intel)이 협력해서 만든 아이테니엄 아키텍처(IA: Itanium Architecture)-64 칩은 여러 운영체제를 지원한다.

    • (사) 리스크(RISC) 설계 방식이 적용된 암(ARM) 칩은 스마트폰이나  태블릿에  주로 채용되고 있으며, 아이오에스(iOS), 안드로이드(Android) 등의 운영체제를 지원하고 있다. 

    • 관련 사이트 참고(https://en.wikipedia.org/wiki/Complex_instruction_set_computing) 

     

    • 2. DBMS 주요 특징 및 고려 사항

    • (1) DBMS의 정의 사용자, 다른 애플리케이션, 데이터베이스와 상호 작용하여 데이터를 저장하고 분석하기 위한 컴퓨터 소프트웨어 애플리케이션으로, 데이터베이스 생성, 조회, 변경 등의 관리가 주요 기능이다. 

    • 관련 사이트 참고(https://en.wikipedia.org/wiki/Database)

     

    • (3) 고려 사항

      • 정보시스템 구축 시 DBMS 관련 요구사항 식별을 위하여 고려할 사항은 다음과 같다.

     

    • 3. 미들웨어의 주요 특징 및 고려 사항

      • (1) 미들웨어의 정의

        • 운영체제와 소프트웨어 애플리케이션 사이에 위치하는 미들웨어(Middleware)는 소프트웨어 애플리케이션에게 운영체제가 제공하는 서비스를 추가 및 확장하여 제공하는 컴퓨터 소프트웨어를 말한다. (https://en.wikipedia.org/wiki/Middleware) 여기에서는 미들웨어 중 웹 애플리케이션 서버(WAS: Web Application Server)에 대해서 알아본다.

      • (2) 웹 애플리케이션 서버(WAS: Web Application Server)의 정의

        • 동적인 웹 사이트, 웹 애플리케이션, 웹 서비스의 개발을 지원하기 위하여 설계된 소프트웨어로서 데이터 접근, 세션 관리, 트랜잭션 관리 등을 위한 라이브러리를 제공하고 있다. 

        • 관련 사이트 참고(https://en.wikipedia.org/wiki/Web_application_framework)

    • (3) 웹 애플리케이션 서버(WAS: Web Application Server)의 종류 및 특징

     

    • (4) 고려 사항

      • 정보시스템 구축 시 웹 애플리케이션 서버(WAS: Web Application Server) 관련 요구사항 식별을 위하여 고려할 사항은 다음과 같다.

     

    • 4. 오픈 소스 사용에 따른 고려 사항 

      • (1) 오픈 소스의 정의 

        • 오픈 소스(Open Source)는 소스 코드를 공개해 누구나 특별한 제한 없이 그 코드를 보 고 사용할 수 있는 오픈 소스 라이선스를 만족하는 소프트웨어를 말한다. 

      • (2) 오픈 소스 사용 시 고려 사항 

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

        • 라이선스의 종류 등 자세한 내용은 한국저작권위원회의 OLIS 사이트(https://www.olis.or.kr) 를 참조한다. 

        • 어떠한 오픈 소스를 사용해야 라이선스의 문제가 없을지 판단이 어려운 경우에는 전자정부 표준 프레임워크에서 사용 중인 오픈 소스 소프트웨어를 참조할 수 있다.

     

    [3] 시스템 용량산정 방법  
    • 시스템을 구축하기 위하여 필요한 하드웨어 규모는 부록에 제시한 한국정보통신기술협회 의 “정보시스템 하드웨어 규모산정 지침” TTAK.KO-10.0292 관련 내용을 참조하여, CPU 용량, 메모리 용량, 디스크 용량을 산정할 수 있다. 

     

    [수행] 개발 기술 환경 요구사항 파악하기
    • [1] 기술 환경 정의를 위한 자료를 수집한다. 

      • 1. 수집할 자료의 목록을 정하고, 자료를 수집하기 위하여 현행 시스템 담당자가 제시 한 자료와 면담 기록에 필요 자료의 존재 여부를 파악한다.

      • 2. 시스템 사용 현황 파악을 위하여 와 표와 같은 자료를 조사한다.

     

    • [2] 조사 자료 분석 및 개발 기술 환경을 결정한다.

      • 1. 조사한 자료를 이용하여 운영체제, DBMS, 웹 애플리케이션 서버(WAS: Web Application Server) 등을 결정한다.

     

    • 2. 조사한 자료를 이용하여 시스템 용량을 산정한다. 수집 및 분석된 온라인 트랜잭션 처리(OLTP: Online Transaction Processing), WEB/WAS 기초 자료 조사 항목의 값을 시스템 용량산정 엑셀 파일에 입력하여 CPU, 메모리, 디스크 용량을 계산한다. 

      • (1) CPU 용량산정 

      • (가) OLTP/Batch/데이터베이스 서버 온라인 트랜잭션 처리(OLTP: Online Transaction Processing)/일괄작업(Batch)/데이터베이스 서버의 CPU 용량을 산정하기 위한 구체적인 CPU 용량 산정 절차는 다음과 같다.

     

     

    • (나) WEB/WAS 서버의 CPU 용량을 산정

     

    • (2) 서버의 메모리를 산정

     

    • (3) 시스템의 디스크 용량을 산정

     

    • 위의 절차대로 시스템 용량을 산정할 수 있도록 한국정보화진흥원에서는 엑셀(Excel) 파일을 제공하고 있다. 

    • 아래는 이 파일의 온라인 트랜잭션 처리(OLTP) 서버의 CPU 용량산정 시트(Sheet)이다. WEB/WAS 용량산정, 메모리 용량산정, 디스크 용량산정 시트도 제공하고 있다.

     

    • [3] 요구사항 정의서, 목표 시스템 구성도에 반영한 후 검토한다. 

      • 1. 운영체제, DBMS, 웹 애플리케이션 서버(WAS: Web Application Server), 시스템 용량 산정 결과를 요구사항 정의서, 목표 소프트웨어 구성도, 목표 하드웨어 구성도에 결과를 반영하여 수정한다. 

      • 2. 팀별로 작성된 산출물 최종 결과를 발표하면, 다른 팀은 의견을 제시한다. 

      • 3. 다른 팀의 검토 의견을 반영하여 산출물을 수정한다. 

     

    [연습문제 1]

    • 현행 시스템 파악의 정의가 아닌 것은? 

      • 현행 시스템이 어떤 하위 시스템으로 구성되어 있는지를 파악하는 활동이다.

      • 제공하는 기능이 무엇인지, 다른 시스템들과 어떤 정보를 주고받는지, 어떤 기술요소를 사용하고 있는지를 파악하는 활동이다.

      • 사용하고 있는 소프트웨어 및 하드웨어는 무엇인지, 네트워크는 어떻게 구성되어 있는지 등을 파악하는 활동이다.

      • 현행 시스템을 운용하는 사람들을 파악하는 활동이다.

     

    [연습문제 2]

    • 현행 시스템 파악 절차 중 수행해야 할 활동들을  3단계로 구분한다. 다음 중 1단계에 해당하는 것은?

      • 구성, 기능, 인터페이스 현황

      • 아키텍처 및 소프트웨어 구성 현황

      • 하드웨어 및 네트워크 구성 현황

      • 전체현황

     

     참고 문헌

    [논문]

    • 없음

    [보고서]

    • 없음

    [URL]

    • 없음

     

     문의사항

    [기상학/프로그래밍 언어]

    • sangho.lee.1990@gmail.com

    [해양학/천문학/빅데이터]

    • saimang0804@gmail.com

     

     

     

    본 블로그는 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기