본문 바로가기
정보처리기사/소프트웨어 설계

현행 시스템 분석

by jhwannabe 2023. 7. 7.

현행 시스템 분석

현행 시스템 분석의 정의와 목적

  • 현행 시스템이 어떤 하위 시스템으로 구성되어 있는지 파악하는 절차를 의미
  • 현행 시스템의 제공 기능과 타 시스템과의 정보 교환 분석을 파악
  • 현행 시스템의 기술 요소와 소프트웨어, 하드웨어를 파악
  • 목적 : 개발 시스템의 개발 범위를 확인하고 이행 방향성 설정

현행 시스템 파악 절차

  • 1단계 : 시스템 구성 파악 - 시스템 기능 파악 - 시스템 인터페이스 현황 파악
  • 2단계 : 아키텍처 파악 - 소프트웨어 구성 파악
  • 3단계 : 시스템 하드웨어 현황 파악 - 네트워크 구성 파악

시스템 아키텍처

  • 시스템 내의 상위 시스템과 하위 시스템들이 어떠한 관계로 상호작용하는지 각각의 동작 원리와 구성을 표현한 것
  • 단위 업무 시스템별로 아키텍처가 다른 경우 핵심기간 업무 처리 시스템을 기준으로 함
  • 시스템의 전체 구조, 행위, 그리고 행위 원리를 나타내며 시스템이 어떻게 작동하는지 설명하는 틀
  • 시스템의 목적 달성을 위해 시스템에 구성된 각 컴포넌트를 식별하고 각 컴포넌트의 상호작용을 통하여 어떻게 정보가 교환되는지 설명함

 

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

시스템 구성 파악

  • 조직 내의 주요 업무를 기간 업무와 지원 업무로 구분하여 기술
  • 모든 단위 업무를 파악할 수 있도록 하며, 시스템 내의 명칭, 기능 등 주요 기능을 명시
  • 시스템 구성 현황 작성 예
구분 시스템명 시스템 내용
기간 업무 단위 A 업무 기간 단위 업무 A 처리를 위한 A1, A2 등의 기능을 제공
단위 B 업무 기간 단위 업무 B 처리를 위한 B1, B2 등의 기능을 제공
지원 업무 지원 C 업무 지원 업무 C 처리를 위한 C1, C2 등의 기능을 제공

시스템 기능 파악

  • 단위 업무 시스템이 현재 제공하고 있는 기능을 주요 기능과 하부 기능으로 구분하여 계층형으로 표시
  • 시스템 기능 구성도 예
송신 시스템 수신 시스템 연동 데이터 연동 형식 통신 규약 연계 유형 주기
A 단위
업무 시스템
대외 기관
시스템 C
연체 정보 XML TCP / IP EAI 1시간
B 단위
업무 시스템
대외 기관
시스템 D
신용 정보 XML X.25 FEP 수시

인터페이스 현황 파악

  • 현행 시스템의 단위 업무 시스템이 타 단위 업무 시스템과 서로 주고받는 데이터의 연계 유형, 데이터 형식과 종류, 프로토콜 및 주기 등을 명시
  • 데이터 형식 예) XML, 고정 Format, 가변 Format
  • 통신 규약 예) TCP/IP, X.25
  • 연계 유형 예) EAI, FEP
  • 인터페이스 현황 작성 예
시스템명 기능 L1 기능 L2 기능 L3
A 단위 업무 시스템 기능 1 하부 기능 11 세부 기능 111
세부 기능 112
하부 기능 12 세부 기능 121
세부 기능 122
기능 2 하부 기능 21 세부 기능 211
세부 기능 212

EAI (Enterprise Application Integration, 기업 애플리케이션 통합)

  • 기업 내의 컴퓨터 애플리케이션들을 현대화하고, 통합하고, 조정하는 것을 목표로 세원 계획, 방법 및 도구 등을 의미

FEP(Front - End Processor, 전위 처리기)

  • 입력 데이터를 프로세서가 처리하기 전에 미리 처리하여 프로세서가 처리하는 시간을 줄여주는 프로그램이나 하드웨어
  • 여러 통신 라인을 중앙 컴퓨터에 연결하고 터미널의 메시지가 보낼 상태로 있는지 받을 상태로 있는지 검색함. 통신 라인의 에러를 검출

 

소프트웨어, 하드웨어, 네트워크 현황 파악

소프트웨어 구성 파악

  • 시스템 내의 단위 업무 시스템의 업무 처리용 소프트웨어의 품명, 용도, 라이선스 적용 방식, 라이선스 수를 명시함
  • 시스템 구축 시 많은 예산 비중을 차지하므로 라이선스 적용 방식과 보유한 라이선스 수량 파악이 중요
  • 라이선스 적용 방식 단위 : 사이트, 서버, 프로세서, 코어, 사용자 수

하드웨어 구성 파악

  • 각 단위 업무 시스템의 서버 위치 및 주요 사양, 수량, 이중화 여부를 파악
  • 서버 사양 : CPU 처리 속도, 메모리 크기, 하드 디스크의 용량
  • 서버 이중화 : 장애 시 서비스의 계속 유지를 위하여 운영
  • 기간 업무의 장애 대응 정책에 따라 필요 여부가 달라짐
  • 현행 시스템에 이중화가 요구되므로 그에 따른 기술 난이도, 비용 증가 가능성을 파악

네트워크 구성 파악

  • 현행 업무 처리 시스템의 네트워크 구성 형태를 그림으로 표현
  • 장애 발생 시 추적 및 대응 등의 다양한 용도로 활용
  • 서버의 위치, 서버 간 연결 방식 등을 파악
  • 물리적인 위치 관계, 조직 내 보안 취약성 분석 및 대응 방안을 파악

개발 기술 환경 분석

  • 개발 대상 시스템의 플랫폼, OS, DBMS, Middle Ware 등을 분석

 

플랫폼(Platform) 파악

플랫폼

  • 응용 소프트웨어 + (하드웨어 + 시스템 소프트웨어)
  • 다양한 애플리케이션이 작동하는 기본이 되는 운영체제 소프트웨어 의미
  • 종류 : JAVA 플랫폼, .NET 플랫폼, iOS, Android, Windows
  • 기능 : 개발/운영/유지보수 비용의 감소, 생산성 향상, 동일 플랫폼 간의 네트워크 효과

플랫폼 성능 특성 분석

  • 현행 시스템의 사용자가 요구사항을 통하여 시스템 성능상의 문제를 요구할 경우 플랫폼 성능 분석을 통하여 사용자가 느끼는 속도를 파악하고 개선 방향을 제시할 수 있음
  • 특성 분석 항목 : 응답 시간(Response Time), 가용성(Availability), 사용률(Utilization)

플랫폼 성능 특성 분석 방법

  • 기능 테스트(Performance Test) : 현재 시스템의 플랫폼을 평가할 수 있는 기능 테스트를 수행
  • 사용자 인터뷰 : 사용자를 대상으로 현행 플랫폼 기능의 불편함을 인터뷰함
  • 문서 점검 : 플랫폼과 유사한 플랫폼의 기능 자료를 분석

 

현행 시스템의 OS 분석

OS(Operating System, 운영체제) 정의 및 기능

  • HW, SW 자원 관리 및 공통 서비스 제공, 사용자와의 인터페이스 제공
  • 종류 : Windows, Android, iOS, UNIX, LINUX, Mac OS 등

현행 시스템의 OS 분석 항목 및 고려사항

  • 분석 항목 : 현재 정보 시스템의 OS 종류와 버전, 패치 일자, 백업 주기 분석
  • 고려사항 : 가용성, 성능, 기술 지원, 주변기기, 구축 비용(TCO)
  • 현행 환경 분석 과정에서 라이선스의 종류, 사용자 수, 기술의 지속 가능성 등을 고려해야 함
  • 메모리 누수 : 실행 SW가 정상 종료되지 않고 남아있는 증상

오픈소스 라이선스 종류

  • 소스 코드가 공개되어 누구나 특별한 제한 없이 소스를 사용할 수 있으며 대표적으로 LINUX가 있음
  • GNU(GNU's Not Unix) : 컴퓨터 프로그램은 물론 모든 관련 정보를 돈으로 주고 구매하는 것을 반대하는 것이 기본 이념. 예) LINUX
  • GNU GPLv1(General Public License) : 소스 코드를 공개하지 않으면서 바이너리만 배포하는 것을 금지하며, 사용할 수 있는 쉬운 소스 코드를 같이 배포해야 함
  • BSD(Berkeley Software Distribution) : 아무나 개작할 수 있고, 수정한 것을 제한 없이 배포할 수 있음. 단, 수정본의 재배포는 의무적인 사항이 아님. 공개하지 않아도 되는 상용 소프트웨어에서도 사용할 수 있음
  • Apache 2.0 : Apache 재단 소유의 SW 적용을 위해 제공하는 라이선스. 소스 코드 수정 배포 시 Apache 2.0을 포함해야 함. 예) Android, HADOOP

현행 시스템 DBMS 분석

DBMS(DataBase Management System)

  • 종속성과 중복성의 문제를 해결하기 위해서 제안된 데이터베이스 시스템
  • 응용 프로그램과 데이터의 중재자로서 모든 응용 프로그램들이 데이터베이스를 공유할 수 있도록 관리
  • 데이터베이스의 구성, 접근 방법, 관리 유지에 대한 모든 책임을 짐
  • 종류 : Oracle, IBM DB2, Microsoft SQL Server, MySQL, SQ Lite, MongoDB, Redis 등

현행 시스템 DBMS 분석

  • DBMS 종류, 버전, 구성 방식, 저장 용량, 백업 주기, 제작사의 유지보수 여부 가능성을 분석
  • 테이블 수량, 데이터 증가 추이, 백업 방식 등을 분석
  • 논리/물리 테이블의 구조도를 파악하여 각 테이블의 정규화 정도 조인 난이도, 각종 프로시저, 트리거 등을 분석

DBMS 분석 시 고려사항

가용성 장시간 운영 시 장애 발생 가능성, 패치 설치를 위한 재 기동 시간과 이중화 및 복제 지원, 백업 및 복구 편의성 등을 고려
성능 대규모 데이터 처리 성능(분할 테이블의 지원 여부), 대량 거래 처리 성능 및 다양한 튜닝 옵션 지원, 비용 기반 최적화 지원 및 설정의 최소화 등을 고려
기술 지원 제조업체의 안정적인 기술 지원, 같은 DBMS 사용자들 간의 정보 공유 여부와 오픈소스 여부 등을 고려
상호 호환성 설치 가능한 운영체제 종류를 파악하여 다양한 운영체제에서 지원되는지 확인. JDBC, ODBC 등 상호 호환성이 좋은 제품을 선택함
구축 비용 라이선스 정책 및 비용, 유지 또는 관리 비용, 총 소유 비용(TCO)을 고려
728x90
반응형

'정보처리기사 > 소프트웨어 설계' 카테고리의 다른 글

요구사항 확인 기법  (0) 2023.07.08
요구사항 개발  (1) 2023.07.07
SCRUM  (0) 2023.07.07
소프트웨어 개발 방법론  (0) 2023.07.07
소프트웨어 공학의 개념  (0) 2023.07.07