현행 시스템 분석

백종훈·2021년 4월 11일
0

정보처리기사

목록 보기
1/2

현행 시스템 분석

  • 개발하고자 하는 응용 소프트웨어에 대한 이해를 높이기 위해, 현행 시스템의 적용현황을 파악함으로써 개발범위와 향후 개발될 시스템으로의 이행방향성을 분석할 수 있다.
  • 개발하고자 하는 응용소프트웨어와 관련된 운영체제, 데이터베이스관리시스템, 미들웨어 등의 요구사항을 식별할 수 있다.
  • 현행 시스템을 분석하여, 개발하고자 하는 응용소프트웨어가 이후 적용될 목표시스템을 명확하고 구체적으로 기술할 수 있다.

현행 시스템 파악

현행 시스템 파악이란?

  • 하위시스템 구성요소, 제공 기능, 연계요소 파악
  • 적용 기술요소, 소프트웨어, 하드웨어, 네트워크 구성요소 파악

현행 시스템 파악 목적

  • 향후 개발 시스템 개발 범위
  • 이행 방향 설정에 도움

현행 시스템 파악 절차

1단계 구성 / 기능 / 인터페이스 파악

  • 시스템 구성 현황 파악
    • 조직의 주요 업무를 처리하는 '기간 업무'와 '지원 업무'로 구분하여 파악

    • 각 업무에 속하는 단위 업무 정보시스템의 명칭, 주요 기능을 명시

    • 조직 내 존재하는 모든 정보시스템의 현황 파악 필요

  • 시스템 기능 파악
    • 단위 업무 시스템이 현재 제공하고 있는 기능을 기술

    • 기능들을 주요 기능과 하부 기능으로 구분하여 계층형으로 표시

  • 시스템 인터페이스 현황 파악
    • 단위 업무 시스템과 주고받는 데이터 종류, 데이터 형식, 프로토콜 등 명시
    • Format, 통신규약, 연계유형, EAI, FEP 등 고려하여 작성

2단계 아키텍처 및 소프트웨어 구성 파악

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

3단계 하드웨어 및 네트워크 구성 파악

  • 시스템 하드웨어 현황 파악
  • 네트워크 구성 파악

구성도

  • "현행 시스템 아키텍처 구성도"

기간 업무 수행 기술 요소를 최상위 기준에서 그림으로 표현

단위 업무 시스템별 아키텍처가 상이할 경우 가장 핵심이 되는 기간 업무를 기준으로 작성

  • "소프트웨어 구성도"

단위 업무 시스템의 업무 처리를 위해 설치된 소프트웨어 제품명, 용도, 라이센스 적용 방식, 라이센스 수 등 명시

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

  • "하드웨어 구성도"

서버의 주요 사양, 수량, 이중화 등의 적용 여부 명시

하드웨어 구성도 작성 시 고려사항

  • 기간 업무의 서비스 기간, 장애 대응 정책에 따라 이중화 필요성 여부가 결정

  • 현행 시스템에서 이중화가 적용된 경우에는 목표 시스템에서도 이중화가 필요한 경우가 대부분이며, 이에 따라 인프라 구축 기술 난이도 및 비용 증가 가능성이 존재

  • "네트워크 구성도"

  • 업무처리 시스템들의 네트워크 구성 현황 표현

  • 고려사항 : 네트워크 구성도의 작을 통해 서버의 위치, 서버간의 네트워크 연결 방식을 파악

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


개발 기술 환경 정의 요소

"개발 기술 환경 정의할 때의 고려사항"

운영체제 --> DBMS --> 미들웨어 --> 오픈소스

"운영체제 ( OS, Operating System ) 정의"

  • 하드웨어와 소프트웨어 리소스를 관리하고 컴퓨터 프로그램을 위한 공통 서비스를 제공하는 소프트웨어

"운영체제( OS ) 특징 및 종류"

  • 주요 운영체제는 마이크로소프트 윈도우즈 ( Microsoft Windows ), 유닉해( UNIX ), 리눅스 ( Linux ), 아이오에스( iOS ), 안드로이드 ( Android ) 등
  • 구축 시스템의 용도에 최적화된 운영체제를 선택하여 적용

"정보시스템 구축시 OS 고려사항"

  • 신뢰도
    • 장기간 시스템을 운영할 때 운영체제 고유의 장애 발생 가능성
    • 특정 응용프로그램으로 메모리 누수로 인한 성능 저하 및 재기동
    • 운영체제의 보안상 허점으로 인한 반복적인 패치 설치를 위한 재기동
    • 운영체제의 버그 등으로 인한 패치 설치를 위한 재기동
  • 성능
    • 대규모 동시 사용자 요청 처리
    • 대규모 및 대량 파일 작업 처리
    • 지원 가능한 메모리 크기( 32bit, 64bit )
  • 기술 지원
    • 공급 벤더들의 안정적인 기술 지원
    • 다수의 사용자들 간의 정보 공유
    • 오픈 소스 여부( Linux )
  • 주변 기기
    • 설치 가능한 하드웨어
    • 다수의 주변 기기 지원 여부
  • 구축 비용
    • 지원 가능한 하드웨어 비용
    • 설치할 응용프로그램의 라이선스 정책 및 비용
    • 유지 및 관리 비용
    • 총 소유 비용 ( TCO : Total Cost of Ownership )

DBMS 주요 특징 및 고려사항

"DBMS ( Database Management System) 정의"

  • 사용자, 다른 어플리케이션, 데이터베이스와 상호 작용하여 데이터를 저장하고 분석하기 위한 컴퓨터 소프트웨어
  • 주요 기능 : 데이터베이스 생성, 조회, 변경 등

"DBMS의 종류"

  • Oracle, DB2, Microsoft SQL Server, MySQL, MongoDB 등
  • 각각의 특장점에 따라 비용적인 측면, 사용용도 등을 고려하여 선택
    • 대규모 데이터의 안정적 처리 : Oracle, DB2 등
    • 오픈소스 : MySQL, MongoDB 사용 확대

"정보 시스템 구축 시 DBMS 고려사항"

  • 가용성
    • 장기간 시스템을 운영할 때 장애 발생 가능성
    • DBMS의 버그 등으로 인한 패치 설치를 위한 재기동
    • 백업 및 복구 편의성
    • DBMS 이중화 및 복제 지원
  • 성능
    • 대규모 데이터 처리 성능 ( 분할 테이블의 지원 여부 )
    • 대량 거래 처리 성능
    • 다양한 튜닝 옵션 지원
    • 비용 기반 최적화 지원 및 설정의 최소화
  • 기술 지원
    • 공급 벤더들의 안정적인 기술 지원
    • 다수의 사용자들 간의 정보 공유
    • 오픈소스 여부
  • 상호 호환성
    • 설치 가능한 운영체제 종류
    • 다양한 운영체제에서 지원되는 JDBC, ODBC
  • 구축 비용
    • 라이센스 정책 및 비용
    • 유지 및 관리 비용
    • 총 소유 비용 ( TCO )

미들웨어 주요 특징 및 고려사항

"미들웨어 ( Middleware ) 정의"

  • 운영체제와 소프트웨어 어플리케이션 사이에 위치하는 '미들웨어'는 소프트웨어 어플리케이션에게 운영체제가 제공하는 서비스를 '추가 및 확장'하여 제공하는 컴퓨터 소프트웨어
  • 주요 사례 : 웹 어플리케이션 서버 ( WAS : Web Application Server )

"WAS의 정의"

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

"정보 시스템 구축 시 WAS 고려사항"

  • 가용성
    • 장기간 시스템을 운영할 때 장애 발생 가능성
    • 안정적인 트랜잭션 처리
    • WAS의 버그 등으로 인한 패치 설치를 위한 재기동
    • WAS 이중화 지원
  • 성능
    • 대규모 거래 요청 처리 기능
    • 다양한 설정 옵션 지원
    • 가비지 컬렉션 ( GC : Garbage Collection ) 의 다양한 옵션
  • 기술 지원
    • 공급 벤더들의 안정적인 기술 지원
    • 다시의 사용자들 간의 정보 공유
    • 오픈소스 여부
  • 구축비용
    • 라이센스 정책 및 비용
    • 유지 및 관리 비용
    • 총 소유 비용 ( TCO )

"오픈 소스 ( Open Source ) 정의"

  • 소스 코드를 공개해 누구나 특별한 제한 없이 그 코드를 보고 사용할 수 있는 오픈 소스 소프트웨어 ( OSS , Open Source Software )
  • 자유로운 사용의 강점
  • 시스템 구축 시 적용 여부를 신중하게 결정

"오픈소스 사용 시 고려사항"

  • 라이센스의 종류
  • 사용자 수
  • 기술의 지속 가능성
  • 라이센스 문제에 대한 판단 여부가 어렵다면 ( 전자정부 표준 프레임워크 OSS 참조 )

정리

  1. 현행 시스템 파악

    • 응용 소프트웨어 엔지니어링의 현행 시스템 파악 절차 및 세부 시스템의구성 요소를 도출

    • 구성요소

      • 현행 시스템 아키텍처 구성도

      • 소프트웨어 구성도

      • 하드웨어 구성도

      • 네트워크 구성도

  2. 개발기술 환경 정의

    • 기술 개발 환경에 대한 정의 및 기술 요소별 특징 및 고려사항을 인지

    • 기술 환경 요소

      • 운영체제

      • DBMS

      • 미들웨어

      • 오픈 소스 소프트웨어

profile
개발자입니다.

0개의 댓글