[정보처리기사] 현행 시스템 분석과 요구 분석

유지연·3일 전
0

현행 시스템 분석

현행 시스템 분석의 개념

현행 시스템이 어떤 하위 시스템으로 구성되어 있는지 파악하는 절차로, 현행 시스템의 기술요소와 소프트웨어, 하드웨어를 파악한다.

목적: 개발 시스템의 개발 범위 확인, 이행 방향성 설정

시스템 아기텍쳐 system architecture

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

+) 아키텍처 설계과정
설계 목표 설정 ▶️ 시스템 타입 결정 ▶️

현행 시스템 파악 절차

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

1단계)
시스템 구성 파악

  • 조직 내의 주요 업무를 1) 기간업무, 2) 지원업무로 구분하여 기술
  • 모든 단위 업무를 파악하며 시스템 내의 명칭, 기능 등 주요기능 명시

시스템 기능 파악

  • 단위 업무 시스템이 현재 제공하고 있는 기능을 1) 주요기능, 2)하부기능으로 구분하여 계층형으로 표시

인터페이스 현황 파악

  • 현행 시스템의 단위 업무 시스템이 타 단위 업무 시스템과 서로 주고받는 데이터의 연계 유형, 데이터 형식과 종류, 프로토콜 및 주기 명시
    연계유형: EAI, FEP → Front-End Processor
    입력 데이터를 프로세서가 처리 하기 전에 미리 처리하여 프로세서가 처리하는 시간을 줄여주는 프로그램이나 하드웨어 = FEP

2, 3단계)
소프트웨어 현황 파악

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

하드웨어 현황 파악

  • 단위 업무 시스템의 서버 위치 및 주요 사양, 수량, 이중화 여부 파악
  • 서버 이중화는 장애 시 서비스의 계속 유지를 위하여 운영
    → 기간 업무의 장애 대응 정책에 따라 필요 여부 변동
    → 현행 시스템에 이중화가 적용되어 있다면 대부분 목표 시스템에도 요구됨

네트워크 현황 파악

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

개발 기술 환경 분석

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

플랫폼 Platform

플랫폼의 개념

응용 소프트웨어 + (하드웨어 + 시스템 소프트웨어)

응용 프로그램을 실행하기 위한 하드웨어와 시스템 소프트 웨어의 결합으로, 다양한 애플리케이션이 작동하는 데 기본이 되는 운영체제 소프트웨어를 의미한다. 동일한 플랫폼에서 개발된 소프트웨어는 언제, 어디서나 손쉽게 실행될 수 있다.

+) CH1 복습

소프트웨어: 컴퓨터를 동작시키고 어떤 일의 처리 순서와 방법을 지시하는 명령어의 집합인 프로그램 + 프로그램 수행에 필요한 절차, 규칙, 문서의 총칭

소프트웨어의 분류
1) 시스템 소프트웨어: 운영체제, 컴파일러, 로더, 디버거 등과 같이 하드웨어를 관리하고 컴퓨터 자원을 활용하는 소프트웨어
2) 응용 소프트웨어: 엑셀, 파워포인트 등과 같이 사용자가 원하는 목적에 맞게 만들어진 소프트웨어
3) 미들웨어 소프트웨어: 시스템 - 응용 소프트웨어를 연결해주는 중간 단계의 소프트웨어로 데이터베이스 관리 시스템, 웹 서버 등이 있음

플랫폼의 종류

운영체제 플랫폼: Windows, macOS, UNIX, Linux, Andriod, iOS
애플리케이션 플랫폼: Java, .NET Framework, Node.js, Ruby on Rails
클라우드 플랫폼: Amazon Web Service(AWS), Microsoft Azure, GCP
데이터베이스 플랫폼: Oracle, MySQL, MongoDB, MS-SQL
게임 플랫폼: Unity, Unreal Engine, CryEngine
모바일 플랫폼: iOS, Android, Windows Phone
개발자 플랫폼: GitHub, Bitbucket, Gitlab

플랫폼 성능 특성 분석

플랫폼 성능 특성 분석 항목

  • 경과 시간 Turnaround Time
    작업 요청 시점 - 작업 완료 및 결과 반환에 걸리는 시간
  • 사용률 Utilization
    시스템 또는 자원의 활용정도를 나타내는 지표
  • 응답 시간 Response Time
    시스템 또는 서비스가 요청 - 응답 완료에 걸리는 시간
  • 가용성 Availability
    시스템이 중지 없이 지속적으로 사용가능한 시간의 백분율 값
  • 정확성 Accuracy

플랫폼 성능 특성 분석 방법에는 성능 테스트 (Perfromance Test), 사용자 인터뷰, 문서 점검 (플랫폼과 유사한 플랫폼의 기능자료 분석) 등이 있다. 플랫폼 성능 분석을 통해 사용자가 느끼는 속도를 파악하고 개선 방향을 제시할 수 있게 된다.

플랫폼 사용 이점

  • 개발 비용 감소: 기존에 개발된 코드와 도구 재사용 가능
  • 개발 시간 단축: 라이브러리, 프레임워크, 도구 등 사용 가능
  • 안정성 및 보안성 향상: 보안 및 안정성과 관련된 기능이 제공됨
  • 쉬운 유지보수
  • 다양한 플랫폼 지원
  • 커뮤니티 지원

시스템 아키텍처 vs 플랫폼

시스템 아키텍처: 소프트웨어 시스템의 전체 구조 및 요소 간의 관계를 설계하는 것
→ 시스템의 설계 단계에서 수행됨
플랫폼: 하드웨어나 소프트웨어를 실행할 수 있는 플랫폼을 제공하는 소프트웨어, 해당 플랫폼 위에서 소프트웨어를 개발할 수 있고 운영체제, 데이터베이스, 프로그래밍 언어 등 다양한 요소를 포함할 수 있음
소프트웨어 실행 단계에서 사용됨


현행 시스템 운영체제 분석

OS 운영체제 개념 및 종류

HW/SW 자원 관리 및 공통 서비스 제공, 사용자와의 인터페이스 제공
Windows, Android, iOS, UNIX, LINUX, MacOS

OS 분석 항목 및 고려 사항

분석 항목: OS 종류와 버전, 패치 일자, 백업 주기
고려 사항: 가용성, 성능, 기술 지워느 주변기기, 구축비용 (TCO), 메모리누수

  • TCO Total Cost of Ownership
    일정 기간 자산 획득에 필요한 직간접적인 총 비용

현행 시스템 DBMS 분석

DBMS DataBase Management System

종속성과 중복성의 문제를 해겨랗기 위해서 제안된 데이터베이스 시스템으로, 모든 응용 프로그램들이 데이터베이스를 공유할 수 있도록 관리한다. 응용 프로그램과 데이터의 중재자로서 데이터베이스의 구성, 접근 방법, 관리 유지에 대한 모든 책임을 진다.

종류: Oracle, IBM, DB2, Microsoft SQL Sever, MySQL 등

DBMS 분석 항목 및 고려사항

분석 항목: DBMS 종류, 버전, 구성 방식, 저장 용량, 백업 주기, 제작사의 유지보수 여부, 테이블 수량, 데이터 증가 추이, 백업 방식 등

고려 사항)

  • 가용성: 장시간 운영 시 장애 발생 가능성
  • 성능: 대규모 데이터 처리 성능 (분할 테이블의 지원 여부)
  • 기술 지원: 제조업체의 안정적인 기술 지원, DBMS 사용자들 간의 정보 공유 여부
  • 상호 호환성: 다양한 운영체제에서 지원되는지 확인
  • 구축 비용: 라이선스 정책 및 비용, 유지 관리 비용, TCO

요구사항 개발

요구공학 Requirement Engineering

🔽 외워야 될 것들 추가 필기

profile
Keep At It

0개의 댓글