본문 바로가기
정보처리기사/필기

[정보처리기사] Part01-01-1. 현행 시스템 분석

by 채연2 2022. 2. 21.

 

 

 

 

* 현행 시스템 파악

    ▶ 단계 및 각 활동별 주요 특징

        ▷ 구성/기능/인터페이스 파악

            - 시스템 구성 현황 파악

            - 시스템 기능 파악

            - 시스템 인터페이스 현황 파악

        ▷ 아키텍처 및 소프트웨어 구성 파악

            - 아키텍처 파악

            - 소프트웨어 구성 파악

        ▷ 하드웨어 및 네트워크 구성 파악

            - 시스템 하드웨어 현황 파악

            - 네트워크 구성 파악

 

    ▶ 목표시스템 정의 절차 및 산출물

        ▷ 1단계 : 현행 시스템 분석

            1. 현행 시스템 구성/기능/인터페이스 현황 파악 단계

                - 산출물 : 현행 시스템 분석서, 현행 시스템 기능 정의서, 현행 인터페이스 현황 정의서

            2.  현행 시스템 아키텍처 및 소프트웨어 구성 현황 파악 단계

                - 산출물 : 현행 시스템 아키텍처 구성도, 현행 소프트웨어 구성도

            3. 현행 시스템 하드웨어 및 네트워크 구성 현황 파악 단계

                - 산출물 : 현행 하드웨어 구성도, 현행 네트워크 구성도

        ▷ 2단계 : 목표시스템 아키텍처 선정

            - 목표 시스템 소프트웨어 및 시스템 아키텍처 정의

            - 아키텍처 평가

            - 산출물 : 소프트웨어 아키텍처 정의서, 시스템 아키텍처 정의서, 아키텍처 평과 결과서

        ▷ 3단계 : 목표시스템 개발표준 정의

            - 목표시스템 모델링 표준 정의

            - 프로그램 표준 정의

            - 개발환경 표준 정의

            - 산출물 : 모델링 표준 정의서, 프로그램 표준 정의서, 개발환경 표준 정의서

 


① 플랫폼 기능 분석

☞ 소프트웨어 플랫폼 의미. 응용 소프트웨어 프로그램 구동시키는데 쓰이는 하드웨어와 소프트웨어의 결합

☞ 소프트웨어 개발과 운영을 쉽게 하고 한 번 만들어진 소프트웨어는 동일한 플랫폼에서 언제, 어디서 실행시키더라도 손쉽게 구동 될 수 있도록 만들어진 결합체

 

    ▶ 종류

        ▷ 하드웨어 플랫폼

            - 표준 기술 통해 다양한 제품 만들 수 있는 기술 도구

            - x86서버, 메인프레임, 데스크탑

        ▷ 소프트웨어 플랫폼

            - 소프트웨어 쉽게 개발 및 구동 위한 기술 도구

            - 리눅스, 윈도우, 자바, 닷넷, iOS, 안드로이드

        ▷ 서비스 플랫폼

            - 다양한 서비스 제공할 수 있는 기술 환경

            - 페이스북, 인스타그램, 트위터

 

    ▶ 기능

        ▷ 소프트웨어 운영 환경 제공

            - 소프트웨어 구동에 필요한 하드웨어 자원 할당 및 프로세스 관리 기능 등 공통 실행환경 제공

        ▷ 소프트웨어 개발 및 운영 비용 감소

            - 동일플랫폼 활용 시 모듈 재활용, 비용 절감 가능

        ▷ 소프트웨어 개발 생산성 향상

            - 개발 프레임워크 통한 기간 단축, 품질 향상

        ▷ 동일 플랫폼간 네트워크 효과 유발

            - 개발자, 운영자, 사용자 간 커뮤니티 형성

 

    ▶ 기능 특성 확인 방법

        ▷ 기능 테스트

            - 현재 시스템 플랫폼 평가 가능한 기능 테스트 수행

        ▷ 사용자 인터뷰

            - 현재 시스템 사용자 대상으로 플랫폼 기능 불편함 인터뷰

        ▷ 문서 점검

            - 현재 시스템 플랫폼과 유사한 플랫폼 기능 자료 분석


② 플랫폼 성능 분석

    ▶ 플랫폼 성능 특성 알아야 하는 이유

        - 현재 시스템에 구성된 플랫폼 성능 분석해야 사용자가 사용하기에 속도가 느린지 빠른지 알 수 있음

        - 사용자 요구사항 중 성능에 대한 요구사항은 현재 시스템 플랫폼 성능 느려서 제기되는 요구사항일 가능성 높음

 

    ▶ 성능 특성 확인 방법

        ▷ 성능 테스트

            - 현재 시스템 플랫폼 대상으로 성능/부하 테스트 수행

        ▷ 문서 점검

            - 현재 시스템 플랫폼과 유사한 플랫폼 성능 자료 분석

        ▷ 사용자 인터뷰

            - 현재 시스템 사용자와의 인터뷰 통해 성능 확인

 

    ▶ 성능 측정 주요 지표

        ▷ 응답 시간 (Response Time)

            - 업무 처리에 소요되는 시간

            - 예 : 평균 응답속도 3초 이내

        ▷ 업무량/처리량 (Throughput)

            - 업무 피크 시간 동안 시스템이 처리해야 하는 단위 시간 당 최대 업무처리 건수

            - 예 : 처리량 500TPS 이상

        ▷ 가용성 (Availability)

            - 시스템이 정상적으로 사용 가능 시간

            - 예 : 가용성 24 X 365 보장

        ▷ 사용률 (Utilization)

            -  CPU, 메모리, 디스크, 네트워크 등 사용 비율

            - 예 : CPU 90% 이하


③ 운영체제 분석

☞ 운영체제는 하드웨어와 소프트웨어 자원 관리하고 컴퓨터 프로그램 위한 공통 서비스 제공하는 소프트웨어

☞ 사용자 편의성을 위한 인터페이스인 동시에 다양한 자원 관리하는 자원 관리자

 

    ▶ 운영체제 역할

        - 시스템 제어하며 컴퓨터와 사용자 간 상호교신 담당

        - 자원 관리하고, 사용자와 컴퓨터 간 인터페이스

        - 제한된 컴퓨터 시스템 자원을 보다 효율적으로 관리하고 운영

 

    ▶ 운영체제 분석

        - 현재 운영 체제 종류, 버전, 패치 일자, 백업 주기 등 분석

        - 운영 체제 종류는 윈도우, 리눅스, 유닉스 등 매우 다양

 

    ▶ 운영체제 종류 및 특징

        ▷ Windows (저작자 : Microsoft)

            - 중소 규모 서버, 개인용 PC, Tablet PC, Embedded System

        ▷ UNIX (저작자 : IBM(AIX), HP(HP_UX), SUM(Solaris))

            - 대용량 처리, 안정성 요구되는 서버, Server, NAS, Workstation

        ▷ Linux (저작자 : Linux Torvalds)

            - 중/대규모 서버

        ▷IOS (저작자 : Apple) 

            - 스마트폰, 태블릿 PC, Music 플레이어 등

        ▷ Android (저작자 : Google)

            - 스마트폰, 태블릿 PC


④ 네트워크 분석

☞ 컴퓨터 네트워크 또는 컴퓨터망은 노드들이 자원 공유할 수 있게 하는 디지털 전기통신망의 하나

☞ 분산되어 있는 컴퓨터를 통신망으로 연결한 것

 

    ▶ 구성요소

        ▷ 호스트 (Host)

            - 최종 사용자가 사용하는 장치로 서버, 컴퓨터, 노트북, 스마트폰 등 의미

        ▷ NIC (Network Interface card)

            - 호스트를 네트워크에 연결시키고 데이터 패킷 전송과 수신 처리하는 장치

        ▷ 미디어 (Media)

            - 네트워크에서 전기적 신호 전달해 주는 매체이며 동축케이블, LAN 케이블, 광케이블 등 있음

        ▷ 허브 (Hub)

            - 여러 대 호스트, 네트워크 장비 연결하는 장치. 상호 간 통신 할 수 있게 데이터 전송 중계

        ▷ 스위치 (Switch)

            - 허브보다 향상된 네트워크 처리 용량과 속도 제공. 데이터 링크 계층에서 동작함

        ▷ 라우터 (Router)

            - 네트워크 간 데이터 전송 위해 최적 경로 설정하여 데이터 전송하는 장치

            - 전송할 데이터 수신 주소 읽어 경로 설정해 주는 교환기 같은 역할을 하며 네트워크 계층에서 동작

 

    ▶ OSI 7 Layer

     - 계층 간 독립성 보장하며 변경이 다른 계층에 영향 주지 않음

     - 각 계층은 다른 계층에 대해 알 필요 없고 자신의 계층에서 정보 감추는 캡슐화 가능

 

        ▷ 응용 계층 (Application Layer)

            - 사용자와 네트워크 간 응용 서비스 연결, 데이터 생성

            - 주요 프로토콜 : HTTP, TELNET, DHCP, DNS, FTP, SSH, SMTP, SNMP

            - 단위 : Data

        ▷ 표현 계층 (Presentation Layer)

            - 데이터 형식 설정과 부호 교환, 암호화, 해독

            - 주요 프로토콜 : MIME, TLS, SSL, JPEG, MPEG, SMB, AFP

            - 단위 : Data

        ▷ 세션 계층 (Session Layer)

            - 응용 프로세스 간 연결 접속 및 동기 제어

            - 주요 프로토콜 : SSH, TLS, RPC

            - 단위 : Data

        ▷ 전송 계층 (Transport Layer)

            - 프로세스 간 논리적 통신 서비스 제공

            - 패킷들의 전송 유효 확인, 실패한 패킷은 재전송하여 신뢰성 있는 통신 보장

            - 주요 프로토콜 : TCP(3-Way Handshaking), UDP, SCTP, RTP

            - 단위 : Segment

        ▷ 네트워크 계층 (Network Layer)

            - 단말 간 시스템끼리 Data 전송하기 위한 최선 통신 경로 선택 제공

            - 주요 프로토콜 : IP, ARP, ICMP, IGMP, IPsec

            - 단위 : Packet

        ▷ 데이터 링크 계층 (Data Link Layer)

            - 인접 시스템 간 데이터 전송, 전송 오류 제어

            - 오류 검출/재전송/흐름 제어

            - 주요 프로토콜 : Ethernet, ATM, PPP

            - 단위 : Frame

        ▷ 물리 계층 (Physical Layer)

            - 통신 회선으로 Data 나타내는 '0'과 '1' 비트 정보를 회선에 내보내기 위한 전기적 변환이나 기계적 작업 담당

            - 주요 프로토콜 : RS-485, RS-232, X25/21

            - 단위 : Bits

 

    ▶ 현재 시스템 네트워크 분석

        - 현재 시스템이 구성된 네트워크 구조 분석

        - 사내 인터넷 데이터 센터 (IDC), 백본망, 라우터, 스위치, 방화벽 등 분석

 

    ▶ OSI 7 Layer 와 TCP/IP 특징 비교

구분 OSI 7 Layer TCP/IP
목적 네트워크 통신 모델 표준 제시 네트워크 통신 구현
계층 7 계층 4 계층
속성 표준 참조 모델 프로토콜 규약
계층


⑤ DBMS 분석

☞ 사용자와 다른 APP, DB 등과 상호 작용하여 데이터 저장하고 분석하기 위한 컴퓨터 소프트웨어

 

    ▶ 기능

        - 데이터 저장과 개발 및 유지보수 측면에서 중복성 통제

        - 다중 사용자 간 데이터 공유

        - 권한 없는 사용자의 데이터 접근 통제

        - 다양한 사용자에게 다양한 형태의 인터페이스 제공

        - 데이터 사이에 존재하는 복잡한 관련성 표현

        - 데이터베이스 무결성 보장

        - 백업과 복구 기능 제공

 

    ▶ 분석 시 주요 고려사항

        ▷ 가용성

            - 시스템 장시간 운영에 따라 발생 가능한 OS 고유 장애 발생 가능성

            - DBMS 결함 등에 따른 패치 설치 관련 재가동, 백업/복구 편의성,  DBMS 이중화 및 복제 등

        ▷ 성능

            - 대규모 데이터 및 대용량 트랜잭션 처리 성능, 튜닝 옵션 지원, 최소화된 설정, 비용 기반 쿼리 최적화 지원 등

        ▷ 상호호환성

            - 설치 가능한 OS 종류, JDBC, ODBC와 같은 인터페이스 호환 등

        ▷ 구축비용

            - 라이선스 정책 및 비용, 유지관리 비용 등

 

    ▶ 주요 유형 및 특징

구성 RDBMS NoSQL
정의 하나의 데이터를 관계로 구조화하여 2차원 테이블 형식으로 저장한 DB 수평적 확장 가능하며 다수 서버들에 데이터 복제 및 분산 저장 가능한 DB
데이터 구성 테이블 문서, Key-Value, Wide-column
스키마 사전정의 스키마 다이나믹 스키마
트랜잭션 정책 ACID
- 원자성 (Atomicity)
- 일관성 (Consistency)
- 독립성 (Isolation)
- 지속송 (Durability)
BASE
- Basically Available
- Soft-State
- Eventually Consistency
확장 방식 수직적 확장 수평적 확장
조회 방식 Sort, Join, Grouping, Index 등 다수 기본적으로 Put/Get 지원
데이터 일관성 강한 일관성 약한 일관성
목표 트랜잭션 보장 집중 가용성 집중
시스템 측면 엄격한 데이터 관리 성능 중시
대표 제품 Oracle, MySql, MS-SQL 등 MongoDB, CouchDB, Redis 등

 

    ▶ 트랜잭션 특성

        ▷ 원자성 (Atomicity)

            - 분해할 수 없는 최소 단위

            - 연산 전체가 성공 또는 실패

            - 한 가지라도 실패할 경우 전체가 취소되어 무결성 보장 (All or Nothing)

        ▷ 일관성 (Consistency)

            - 트랜잭션 실행 성공 후 항상 모순 없이 일관성 있는 DB 상태 보존

        ▷ 고립성 (Isolation)

            - 현재 수행 중인 트랜잭션 완료 시까지 트랜잭션이 생성한 중간 연산 결과에 다른 트랜잭션 접근 불가

        ▷ 영속성 (Durability)

            - 성공 완료된 트랜잭션 결과는 영구적으로 DB에 저장됨

 

    ▶ 논리/물리 테이블 구조 파악

        - 각 테이블 정규화 정도, 조인 난이도 파악

        - 각종 프로시저, JOB, 트리거 등 분석


* 가상화 기능 분석

☞ 물리적으로 분산된 시스템을 논리적으로 통합하거나, 하나의 시스템을 논리적으로 분할하여 자원 효율적으로 사용하는 기술

☞ 프로세서, 메모리, 스토리지, 네트워크 포함하며, 이들로 구성된 서버나 장치들 가상화함으로써 높은 수준의 자원 사용율과 분산 처리 능력 제공

 

    ▶ 유형

        ▷ 서버 가상화

            - 서버 물리적 자원을 추상화. OS 또는 APP이 가상화 계층 통해 자원 접근

            - 종류 : 호스트 가상화, 반가상화, 전가상화, 하이퍼바이저 가상화, 컨테이너 가상화

        ▷ 스토리지 가상화

            - 물리적인 스토리지를 논리적인 스토리지로 추상화

            - 종류 : 호스트 기반, 스토리지 장비 기반, 네트워크 기반 방식

        ▷ 네트워크 가상화

            - 물리적인 네트워크 자원을 논리적인 단위로 가상화

            - 종류 : VLAN, VPN, Channel Bonding, 가상 NIC

        ▷ 데스크탑 가상화

            - 데스크탑 컴퓨팅환경을 서버에서 제공하는 가상화

            - 종류 : SBC(Server-Based Computing), VDI (Virtual Desktop Infrastructure)

 

    ▶ 하이퍼바이저 방식 가상화와 컨테이너 방식 가상화 비교

구분 하이퍼바이저 방식 가상화 컨테이너 방식 가상화
개념 공유 자원 관리하는 하이퍼바이저 통해 가상머신 생성하여 가상화하는 방식 하이퍼바이저 없이 리눅스 컨테이너 기술 바탕으로 응용 프로그램을 격리된 상태에서 실행하는 가상화 방식
이식성 가상머신단위로 이동, 복제, 생성되는 모놀리딕(Monolithic) 구조 응용 프로그램 단위로 실행에 필요한 모든 환경이 포함되어 배포되는 마이크로서비스(Micro-Service) 구조
효율정 하이퍼바이저 게스트 OS의 성능 오버헤드 존재 서버 OS 커널 공유하므로 필요한 만큼 유연하게 자원 사용 가능
용량 Gbyte 단위 용량 가상머신 실행 Mbyte 단위 컨테이너 이미지 실행
안정성 독립된 가상머신들로 안정적인 운영 가능 - OS 커널 공유하므로 하이퍼바이저 방식에 비해 장애 영향 받음
- 컨테이너 오케스트레이션 플랫폼으로 해결

    ▶ 장점

        ▷ 물리시스템 통합

            -  여러 대 물리적 시스템을 하나의 논리적 가상머신으로 통해 관리 가능

        ▷ 하드웨어 종속성 해결

            - 하드웨어를 가상화하여 제공하기 때문에 특정 모델이나 업체에 종속되지 않음

        ▷ 리소스 효율성 증가

            - 일반적인 서버 시스템은 리소스 20% 미만 밖에 사용하지 않아 낭비 많음

            - 가상화 이용할 경우 70% 이상 사용 가능해 효율성 증가됨

        ▷ 구축비용 절감

            - 유휴장비 또는 자원 활동도 낮은 서버에 가상 시스템 구성하고 네트워크 가상으로 구성함으로서 물리적 제약 극복하고 시스템 구매 비용 절감됨

 

    ▶ 가상화 시스템 분석

        ▷ 시스템 장비 구성 분석

            - 하드웨어, 소프트웨어, 네트워크 등 가상화 시스템 유형별 내역 분석

        ▷ 기능 요구사항 분석

            - 시스템이 제공해야 하는 기능이나 사용자가 수행해야 하는 기능 분석

        ▷ 테스트 요구사항 분석

            - 시스템이 제대로 운영되는가를 테스트하고 점검하기 위한 요구사항 분석

        ▷ 보안 요구사항 분석

            - 정보 자산의 기밀성, 무결성, 가용성 확보 위해 시스템 데이터 및 기능, 운영 접근 요구사항 분석


⑦ 클라우드 컴퓨팅 분석

☞ 네트워크 통해 가상화된 컴퓨터 시스템 리소스 요구하는 즉시 서비스 형태로 제공하는 방식

 

    ▶ 서비스 유형

        ▷ IaaS

            -  제공 기능 : 인프라 서비스

            - 가상화 기술, 네트워크 기술 통해 물리적인 컴퓨팅 자원 분할, 통합, 관리하는 가상머신 환경 서비스 제공

        ▷ PaaS

            -  제공 기능 : 플랫폼 제공 서비스

            - 가상 OS, 프로그래밍 언어 실행 환경, DB, 웹 서버 등 자원 및 개발도구 제공

        ▷ SaaS

            -  제공 기능 : 온디맨드(on-demand) 서비스

            - 클라우드 상에서 응용 소프트웨어와 DB 등 제공

            - 구글 Docs, 네이버 클라우드, Dropbox 등

 

    ▶ 서비스 종류

        ▷ 사설 클라우드 (Private Cloud)

            - 기업 내부 데이터 센터에 클라우드 구축

            - 내부 가상화 시스템에 S/W, 데이터 저장 관리

            - 데이터 보안 장점

        ▷ 공용 클라우드 (Public Cloud)

            - 클라우드 업체가 제공하는 서비스를 비용 지불하고 이용

            - 하드웨어, SW 등 사용한 만큼 비용 지불하여 사용, 확장성 

        ▷ 하이브리드 클라우드 (Hybrid Cloud)

            - 사설, 공용 클라우드 모두 사용

            - 공용 클라우드 사용 시 보안 문제와 사설 클라우드 사용 시 비용 문제 해결

 

    ▶ 시스템 분석

        ▷ 클라우드 컴퓨팅 시스템 기능 분석

            - IaaS, PaaS, SaaS 등 제공방식 및 Private, Public, Hybrid 등 구축 방식에 따른 제공 기능 분석

        ▷ 표준 요구사항 분석

            - 하이퍼바이저 호환성, 범용 OS 제공 및 기존 업무 시스템 연계 위한 API 제공 기능 분석

        ▷ 멀티텐넌시 및 안정성, 확장성 요구사항 분석

            - 다수 사용자 동시 접속 시 동작 보장하는 멀티텐넌시 환경 지원여부 확인

            - 안정적인 서비스 수준 보장하는 서비스 수준협약(SLA) 제공 여부 확인

            - 부하에 따라 탄력적으로 시스템 자원 확장되는지 확인

        ▷ 보안 요구사항 분석

            - 모든 데이터가 클라우드 저장소에 집중됨에 따라 네트워크 장애, 해킹 등 보안 대책 요구사항 분석

        ▷ 비용 요구사항 분석

            - 클라우드 서비스 구축 및 유지 관리에 소요되는 비용 요구사항 분석


⑧ 비즈니스 융합 분석

☞ 비즈니스 : 재화나 서비스 등 유무형 가치 제공하고 그에 상응하는 대가 보상받는 등 영리 목적으로 행하는 모든 활동

☞ 비즈니스 모델 : 고객 가치 창출하고 시장에서 성공적인 경쟁 하기 위해 고안된 조직 목표, 전략, 프로세스, 기술 등 포함하는 요소들의 구성체

☞ 비즈니스 융합 : 산업 또는 시장 간 경계 허물고 ICT등을 통한 새로운 전달방식 도입함으로써 비즈니스 모델 적용범위를 확대시키는 것 의미

 

   ▶ 유형

        ▷ 제품 융합

            - 2가지 이상 제품 기능과 속성 하나로 모음

        ▷ 서비스 융합

            - 2가지 이상 서비스 기능과 속성 하나로 모음

        ▷ 제품과 IT 융합

            - 기존 제품에 IT 부품 또는 자재, SW 등 추가

        ▷ 서비스와 IT 융합

            - 기존 서비스에 IT 부품 또는 자재, SW 등 추가

        ▷ 제품의 서비스화

            - 제품에 자사 또는 타사 서비스 부가하여 서비스 제공

        ▷ 서비스의 제품화

            - 서비스를 제품화 또는 장비, 기기로 전환

        ▷ 제품과 서비스 통합

            - 사용자 요구에 부합하는 시스템 또는 솔루션

 

   ▶ 비즈니스 융합 분석

        ▷ 고객 분석

            - 비즈니스 모델 상에서 사업자에게 수익 제공하는 참여자 식별하고 분석

        ▷ 제품 및 서비스 분석

            - 비즈니스 모델 상에서 자사가 제공하는 상품 또는 서비스 식별 및 분석

            - 비즈니스 융합 참여자 간 제공하는 서비스와 제공받는 서비스 식별 및 분석

        ▷ 사업구조 분석

            - 상품 및 서비스 제공자, 소비자 등 참여자 간 관계와 구조 식별 및 분석

 

 

 

 

 

320x100

댓글