3. 정보처리기사 실기 현행 시스템 분석 완전 정리
정보처리기사 실기 현행 시스템 분석 완전 정리
현행 시스템 분석은 새 시스템을 만들기 전에 현재 사용 중인 시스템을 파악하는 작업이다.
정보처리기사 실기에서는 요구사항 확인 영역에서 중요하게 다룬다.
시스템 구성, 기능, 인터페이스, 아키텍처, 소프트웨어, 하드웨어, 네트워크 구성을 함께 분석해야 한다.
1. 정의
1-1. 현행 시스템 분석이란?
현행 시스템 분석은 현재 운영 중인 시스템의 구조와 기능을 파악하는 작업이다.
현행은 현재 사용 중이라는 뜻이다.
시스템은 여러 구성 요소가 모여 하나의 목적을 수행하는 구조다.
따라서 현행 시스템은 현재 회사나 기관에서 실제로 사용하고 있는 업무 시스템을 말한다.
예를 들면 다음이 현행 시스템이 될 수 있다.
- 쇼핑몰 주문 관리 시스템
- 병원 예약 시스템
- 회사 인사 관리 시스템
- 학교 학사 관리 시스템
- 은행 계좌 관리 시스템
- 게시판 관리 시스템
새로운 시스템을 만들거나 기존 시스템을 개선하려면 먼저 현재 시스템이 어떻게 구성되어 있는지 알아야 한다.
이 작업이 현행 시스템 분석이다.
1-2. 쉽게 이해하기
기존 게시판을 새 게시판으로 바꾼다고 가정한다.
바로 새 게시판을 만들면 안 된다.
먼저 기존 게시판을 분석해야 한다.
- 현재 어떤 기능이 있는가
- 회원은 어떤 작업을 할 수 있는가
- 관리자는 어떤 작업을 할 수 있는가
- 게시글 데이터는 어디에 저장되는가
- 파일 업로드 기능은 어떤 방식으로 동작하는가
- 외부 시스템과 연결되어 있는가
- 서버는 몇 대로 구성되어 있는가
- 사용 중인 DBMS는 무엇인가
이런 내용을 파악해야 새 시스템을 안전하게 설계할 수 있다.
2. 필요한 이유
2-1. 기존 업무 흐름을 이해하기 위해 필요하다
시스템은 업무를 처리하기 위해 존재한다.
업무 흐름을 모르면 필요한 기능을 제대로 설계할 수 없다.
예를 들어 병원 예약 시스템을 개선한다고 가정한다.
예약 접수, 진료과 선택, 의사 선택, 시간 선택, 예약 변경, 예약 취소, 문자 알림 흐름을 알아야 한다.
이 흐름을 모르면 중요한 기능을 빠뜨릴 수 있다.
2-2. 기존 시스템의 문제점을 찾기 위해 필요하다
현행 시스템 분석을 하면 현재 시스템의 문제점을 찾을 수 있다.
예를 들면 다음과 같은 문제가 있을 수 있다.
- 화면이 복잡해서 사용자가 쓰기 어렵다.
- 검색 속도가 느리다.
- 데이터가 중복 저장된다.
- 외부 시스템 연동이 자주 실패한다.
- 서버 성능이 부족하다.
- 보안 취약점이 있다.
새 시스템은 이런 문제를 해결하는 방향으로 설계해야 한다.
2-3. 새 시스템 요구사항을 정확히 도출하기 위해 필요하다
요구사항은 사용자가 시스템에 원하는 기능이나 조건이다.
현행 시스템을 분석하면 새 시스템에 필요한 요구사항을 더 정확히 찾을 수 있다.
예를 들어 기존 시스템에 “엑셀 다운로드” 기능이 있다면 새 시스템에서도 필요할 가능성이 높다.
기존 시스템에서 자주 쓰는 기능을 빼면 사용자가 불편해질 수 있다.
2-4. 시스템 전환 위험을 줄이기 위해 필요하다
시스템 전환은 기존 시스템에서 새 시스템으로 바꾸는 작업이다.
전환할 때 기존 데이터, 사용자 계정, 업무 흐름, 외부 연동을 잘못 처리하면 문제가 생긴다.
현행 시스템 분석은 이런 위험을 줄인다.
2-5. 실제 개발에서 해결하는 문제
- 기존 기능을 빠뜨리는 문제
- 업무 흐름을 잘못 이해하는 문제
- 외부 시스템 연동을 놓치는 문제
- 데이터 이전 과정에서 오류가 생기는 문제
- 서버와 네트워크 구성을 잘못 파악하는 문제
- 새 시스템 설계가 실제 운영 환경과 맞지 않는 문제
3. 핵심 개념
3-1. 시스템 구성 분석
시스템 구성 분석은 현행 시스템이 어떤 구성 요소로 이루어져 있는지 파악하는 작업이다.
시스템은 보통 다음 요소로 구성된다.
- 사용자 화면
- 서버 프로그램
- 데이터베이스
- 외부 연동 시스템
- 하드웨어
- 네트워크
- 보안 장비
예를 들어 쇼핑몰 시스템은 상품 관리, 주문 관리, 결제, 배송, 회원 관리, 관리자 기능으로 구성될 수 있다.
3-2. 기능 분석
기능 분석은 현행 시스템이 제공하는 기능을 파악하는 작업이다.
기능은 사용자가 시스템을 통해 수행할 수 있는 작업이다.
게시판 시스템의 기능 예시는 다음과 같다.
- 회원가입
- 로그인
- 게시글 작성
- 게시글 수정
- 게시글 삭제
- 댓글 작성
- 파일 첨부
- 검색
- 관리자 승인
기능 분석을 할 때는 사용자별 기능도 함께 봐야 한다.
예를 들어 일반 회원과 관리자가 사용할 수 있는 기능은 다를 수 있다.
3-3. 인터페이스 분석
인터페이스 분석은 현행 시스템이 다른 시스템과 어떻게 연결되어 있는지 파악하는 작업이다.
인터페이스는 시스템끼리 데이터를 주고받는 연결 방식이다.
예를 들어 쇼핑몰은 다음 시스템과 연결될 수 있다.
- 결제 시스템
- 배송 시스템
- 문자 발송 시스템
- 이메일 발송 시스템
- 본인 인증 시스템
- 외부 로그인 시스템
인터페이스를 빠뜨리면 새 시스템에서 외부 연동이 동작하지 않을 수 있다.
3-4. 아키텍처 분석
아키텍처는 시스템의 전체 구조다.
아키텍처 분석은 시스템이 어떤 구조로 동작하는지 파악하는 작업이다.
예를 들어 웹 시스템은 보통 다음 구조를 가진다.
- 사용자 브라우저
- 웹 서버
- 애플리케이션 서버
- 데이터베이스 서버
아키텍처 분석을 하면 시스템의 전체 흐름과 구성 관계를 이해할 수 있다.
3-5. 소프트웨어 구성 분석
소프트웨어 구성 분석은 현행 시스템에서 사용 중인 소프트웨어를 파악하는 작업이다.
예를 들면 다음을 확인한다.
- 운영체제
- 웹 서버
- WAS
- DBMS
- 프로그래밍 언어
- 프레임워크
- 라이브러리
- 미들웨어
WAS는 Web Application Server의 약자다.
웹 애플리케이션을 실행하는 서버 소프트웨어다.
DBMS는 Database Management System의 약자다.
데이터베이스를 관리하는 소프트웨어다.
3-6. 하드웨어 구성 분석
하드웨어 구성 분석은 현행 시스템에서 사용 중인 물리 장비를 파악하는 작업이다.
하드웨어는 실제로 만질 수 있는 장비다.
예를 들면 다음이 있다.
- 서버
- 스토리지
- 네트워크 장비
- 백업 장비
- 보안 장비
서버의 CPU, 메모리, 디스크 용량도 확인해야 한다.
3-7. 네트워크 구성 분석
네트워크 구성 분석은 시스템이 네트워크상에서 어떻게 연결되어 있는지 파악하는 작업이다.
네트워크는 컴퓨터와 서버가 데이터를 주고받을 수 있도록 연결된 구조다.
확인할 내용은 다음과 같다.
- 서버 위치
- IP 주소
- 방화벽
- 라우터
- 스위치
- 망 분리 여부
- 외부 접속 경로
네트워크 구성을 모르면 시스템 접속 오류나 보안 문제가 생길 수 있다.
3-8. 데이터 구성 분석
데이터 구성 분석은 현행 시스템에서 어떤 데이터를 사용하고 있는지 파악하는 작업이다.
예를 들면 게시판 시스템에서는 다음 데이터를 확인한다.
- 회원 데이터
- 게시글 데이터
- 댓글 데이터
- 첨부파일 데이터
- 권한 데이터
- 로그 데이터
기존 데이터를 새 시스템으로 옮겨야 하는 경우 데이터 구성 분석이 중요하다.
4. 주변 기초 개념
4-1. AS-IS
AS-IS는 현재 상태를 뜻한다.
현행 시스템 분석은 AS-IS를 파악하는 작업이다.
예를 들어 현재 게시판에 검색 기능이 없다면 그것이 AS-IS다.
4-2. TO-BE
TO-BE는 앞으로 만들 목표 상태를 뜻한다.
새 시스템의 개선 방향이다.
예를 들어 새 게시판에는 검색 기능을 추가하겠다고 정하면 그것이 TO-BE다.
4-3. Gap 분석
Gap 분석은 AS-IS와 TO-BE의 차이를 분석하는 작업이다.
현재 상태와 목표 상태의 차이를 파악해서 개선할 부분을 찾는다.
4-4. 업무 프로세스
업무 프로세스는 일을 처리하는 순서다.
예를 들어 주문 업무 프로세스는 상품 선택, 장바구니 담기, 결제, 배송 요청, 배송 완료 순서로 진행될 수 있다.
4-5. 서버
서버는 사용자의 요청을 받아 처리하고 결과를 돌려주는 컴퓨터 또는 프로그램이다.
예를 들어 사용자가 로그인하면 서버가 아이디와 비밀번호를 확인한다.
4-6. 클라이언트
클라이언트는 서버에 요청을 보내는 쪽이다.
웹 브라우저나 모바일 앱이 클라이언트가 될 수 있다.
4-7. 데이터베이스
데이터베이스는 데이터를 체계적으로 저장하는 공간이다.
회원 정보, 주문 정보, 게시글 정보 같은 데이터를 저장한다.
4-8. 미들웨어
미들웨어는 서로 다른 시스템이나 프로그램 사이에서 중간 역할을 하는 소프트웨어다.
예를 들어 애플리케이션과 데이터베이스 사이의 연결을 돕는 소프트웨어가 미들웨어가 될 수 있다.
4-9. 프레임워크
프레임워크는 개발을 쉽게 하기 위해 미리 만들어진 구조와 도구 모음이다.
예를 들어 Spring, Laravel, Django 같은 것이 프레임워크다.
4-10. 라이브러리
라이브러리는 특정 기능을 쉽게 사용하기 위해 만들어진 코드 모음이다.
예를 들어 날짜 계산, 파일 업로드, 화면 슬라이드 기능을 제공하는 코드 묶음이 라이브러리다.
4-11. 로그
로그는 시스템에서 발생한 기록이다.
사용자 접속 기록, 오류 기록, 작업 기록 등이 로그에 저장된다.
4-12. 백업
백업은 데이터를 잃어버리지 않기 위해 복사해 두는 작업이다.
시스템 장애나 실수로 데이터가 삭제될 때 복구하기 위해 필요하다.
5. 실제 흐름
5-1. 현행 시스템 분석 전체 흐름
현행 시스템 분석은 보통 다음 순서로 진행된다.
- 분석 대상 시스템을 정한다.
- 시스템 구성 정보를 수집한다.
- 기능 목록을 정리한다.
- 인터페이스 목록을 정리한다.
- 아키텍처 구조를 파악한다.
- 소프트웨어 구성을 확인한다.
- 하드웨어 구성을 확인한다.
- 네트워크 구성을 확인한다.
- 데이터 구성을 확인한다.
- 문제점과 개선 방향을 정리한다.
5-2. 1단계: 분석 대상 시스템 정하기
먼저 어떤 시스템을 분석할지 정한다.
예를 들어 게시판 시스템, 회원 관리 시스템, 결제 시스템 중 어떤 시스템을 분석할지 정해야 한다.
5-3. 2단계: 시스템 구성 정보 수집
시스템이 어떤 구성 요소로 이루어져 있는지 확인한다.
- 사용자 화면
- 서버
- 데이터베이스
- 외부 연동 시스템
- 관리자 기능
5-4. 3단계: 기능 목록 정리
현재 시스템이 제공하는 기능을 목록으로 정리한다.
기능 목록을 정리하면 새 시스템에서 유지할 기능과 개선할 기능을 구분할 수 있다.
5-5. 4단계: 인터페이스 목록 정리
다른 시스템과 연결된 부분을 정리한다.
예를 들어 결제 API, 문자 발송 API, 이메일 발송 API를 확인한다.
5-6. 5단계: 아키텍처 구조 파악
사용자 요청이 어떤 서버를 거쳐 데이터베이스까지 전달되는지 확인한다.
전체 시스템 구조를 알아야 장애 원인을 찾기 쉽다.
5-7. 6단계: 소프트웨어 구성 확인
사용 중인 운영체제, 웹 서버, WAS, DBMS, 프레임워크, 라이브러리를 확인한다.
5-8. 7단계: 하드웨어 구성 확인
서버 사양, 저장 장치, 백업 장비, 보안 장비를 확인한다.
5-9. 8단계: 네트워크 구성 확인
IP 주소, 방화벽, 라우터, 스위치, 외부 접속 경로를 확인한다.
5-10. 9단계: 문제점과 개선 방향 정리
분석 결과를 바탕으로 현재 시스템의 문제점과 개선 방향을 정리한다.
이 내용은 새 시스템 요구사항을 도출하는 기준이 된다.
6. 예시
6-1. 게시판 시스템 현행 분석 예시
분석 대상: 게시판 시스템
1. 시스템 구성
- 사용자 화면
- 관리자 화면
- 게시글 서버 프로그램
- 게시글 데이터베이스
- 파일 저장 서버
2. 기능
- 회원 로그인
- 게시글 작성
- 게시글 수정
- 게시글 삭제
- 댓글 작성
- 파일 첨부
- 게시글 검색
3. 인터페이스
- 이메일 발송 시스템
- 파일 업로드 서버
- 관리자 인증 시스템
4. 소프트웨어 구성
- 운영체제: Linux
- 웹 서버: Nginx
- WAS: Tomcat
- DBMS: MySQL
- 개발 언어: Java
5. 하드웨어 구성
- 웹 서버 1대
- DB 서버 1대
- 파일 서버 1대
6. 네트워크 구성
- 외부 사용자는 웹 서버로 접속
- 웹 서버는 WAS와 연결
- WAS는 DB 서버와 연결
7. 문제점
- 검색 속도가 느림
- 파일 업로드 실패가 자주 발생
- 관리자 기능 권한 구분이 부족함
6-2. 현행 시스템 분석표 예시
| 분석 항목 | 확인 내용 | 예시 |
|---|---|---|
| 시스템 구성 | 시스템을 이루는 구성 요소 | 웹 서버, WAS, DB 서버 |
| 기능 | 현재 제공하는 기능 | 로그인, 게시글 작성, 검색 |
| 인터페이스 | 외부 시스템과 연결된 부분 | 결제 API, 문자 API |
| 소프트웨어 | 사용 중인 소프트웨어 | Linux, Nginx, MySQL |
| 하드웨어 | 사용 중인 장비 | 서버, 스토리지, 백업 장비 |
| 네트워크 | 시스템 연결 구조 | IP, 방화벽, 라우터 |
7. 코드 또는 설정 설명
7-1. 예시 문서 설명
위 예시는 코드가 아니라 현행 시스템 분석 문서 예시다.
현행 시스템 분석은 실제 코드를 작성하는 단계가 아니다.
현재 시스템의 구성과 문제점을 정리하는 단계다.
7-2. 분석 대상
분석 대상: 게시판 시스템
분석 대상은 현재 분석하려는 시스템을 말한다.
여기서는 게시판 시스템을 분석 대상으로 정했다.
7-3. 시스템 구성
1. 시스템 구성
- 사용자 화면
- 관리자 화면
- 게시글 서버 프로그램
- 게시글 데이터베이스
- 파일 저장 서버
시스템 구성은 시스템이 어떤 요소로 이루어져 있는지 정리한 것이다.
사용자 화면은 일반 사용자가 보는 화면이다.
관리자 화면은 관리자가 사용하는 화면이다.
게시글 서버 프로그램은 게시글 등록, 수정, 삭제를 처리하는 서버 기능이다.
게시글 데이터베이스는 게시글 데이터를 저장하는 공간이다.
파일 저장 서버는 첨부파일을 저장하는 서버다.
7-4. 기능
2. 기능
- 회원 로그인
- 게시글 작성
- 게시글 수정
- 게시글 삭제
- 댓글 작성
- 파일 첨부
- 게시글 검색
기능은 사용자가 시스템에서 할 수 있는 작업이다.
기능 목록을 정리하면 새 시스템에서 유지할 기능과 개선할 기능을 판단할 수 있다.
7-5. 인터페이스
3. 인터페이스
- 이메일 발송 시스템
- 파일 업로드 서버
- 관리자 인증 시스템
인터페이스는 다른 시스템과 연결되는 부분이다.
이메일 발송 시스템은 알림 메일을 보내기 위해 연결될 수 있다.
파일 업로드 서버는 첨부파일 저장을 위해 연결될 수 있다.
관리자 인증 시스템은 관리자 로그인을 확인하기 위해 연결될 수 있다.
7-6. 소프트웨어 구성
4. 소프트웨어 구성
- 운영체제: Linux
- 웹 서버: Nginx
- WAS: Tomcat
- DBMS: MySQL
- 개발 언어: Java
소프트웨어 구성은 시스템에서 사용하는 프로그램과 기술을 정리한 것이다.
운영체제는 서버가 동작하는 기본 환경이다.
웹 서버는 사용자의 웹 요청을 받는 소프트웨어다.
WAS는 웹 애플리케이션을 실행하는 서버 소프트웨어다.
DBMS는 데이터베이스를 관리하는 소프트웨어다.
개발 언어는 프로그램을 작성할 때 사용한 언어다.
7-7. 하드웨어 구성
5. 하드웨어 구성
- 웹 서버 1대
- DB 서버 1대
- 파일 서버 1대
하드웨어 구성은 실제 물리 장비나 서버 자원을 정리한 것이다.
웹 서버는 사용자의 요청을 받는다.
DB 서버는 데이터를 저장한다.
파일 서버는 첨부파일을 저장한다.
7-8. 네트워크 구성
6. 네트워크 구성
- 외부 사용자는 웹 서버로 접속
- 웹 서버는 WAS와 연결
- WAS는 DB 서버와 연결
네트워크 구성은 시스템 구성 요소들이 어떻게 연결되어 있는지 정리한 것이다.
사용자는 웹 서버에 접속한다.
웹 서버는 요청을 WAS로 전달한다.
WAS는 필요한 데이터를 DB 서버에서 조회한다.
7-9. 문제점
7. 문제점
- 검색 속도가 느림
- 파일 업로드 실패가 자주 발생
- 관리자 기능 권한 구분이 부족함
문제점은 현재 시스템에서 개선이 필요한 부분이다.
이 문제점은 새 시스템 요구사항을 정할 때 중요한 기준이 된다.
8. 주의점
8-1. 현행 시스템 분석과 요구사항 분석을 구분해야 한다
현행 시스템 분석은 현재 시스템을 파악하는 작업이다.
요구사항 분석은 새 시스템에 필요한 기능과 조건을 정리하는 작업이다.
| 구분 | 의미 | 예시 |
|---|---|---|
| 현행 시스템 분석 | 현재 시스템 상태 파악 | 현재 게시판 검색 속도가 느리다. |
| 요구사항 분석 | 새 시스템 요구사항 정리 | 게시글 검색은 2초 이내에 처리되어야 한다. |
8-2. 기능만 보면 안 된다
현행 시스템 분석은 기능만 보는 작업이 아니다.
소프트웨어, 하드웨어, 네트워크, 데이터, 인터페이스까지 함께 봐야 한다.
기능만 확인하면 서버 성능 문제나 외부 연동 문제를 놓칠 수 있다.
8-3. 인터페이스를 빠뜨리면 안 된다
외부 시스템 연동은 새 시스템 구축에서 자주 문제가 된다.
결제, 문자, 이메일, 인증, 파일 서버 같은 연결을 빠뜨리면 새 시스템에서 기능이 동작하지 않을 수 있다.
8-4. AS-IS와 TO-BE를 구분해야 한다
AS-IS는 현재 상태다.
TO-BE는 앞으로 만들 목표 상태다.
현행 시스템 분석은 AS-IS를 정확히 파악하는 작업이다.
8-5. 문서와 실제 시스템이 다를 수 있다
실무에서는 문서가 오래되어 실제 시스템과 다를 수 있다.
그래서 문서만 보고 판단하면 안 된다.
실제 운영 화면, 서버 구성, DB 구조, 인터페이스 동작도 함께 확인해야 한다.
8-6. 문제점만 찾고 끝내면 안 된다
현행 시스템 분석은 문제점을 찾는 데서 끝나지 않는다.
문제점을 바탕으로 개선 방향을 정리해야 한다.
개선 방향은 이후 요구사항 도출의 기준이 된다.
9. 요약
현행 시스템 분석은 현재 운영 중인 시스템의 구조와 기능을 파악하는 작업이다.
새 시스템을 만들거나 기존 시스템을 개선하기 전에 반드시 필요하다.
현행 시스템 분석에서는 시스템 구성, 기능, 인터페이스, 아키텍처, 소프트웨어, 하드웨어, 네트워크, 데이터 구성을 확인해야 한다.
AS-IS는 현재 상태이고, TO-BE는 목표 상태다.
현행 시스템 분석을 통해 AS-IS를 정확히 파악해야 새 시스템의 요구사항을 올바르게 도출할 수 있다.
정보처리기사 실기에서는 현행 시스템 분석의 목적, 분석 항목, 각 구성 요소의 의미를 구분해서 이해해야 한다.
10. 핵심 용어 정리
현행 시스템 = 현재 운영 중인 시스템
현행 시스템 분석 = 현재 시스템의 구조, 기능, 구성, 문제점을 파악하는 작업
시스템 = 여러 구성 요소가 모여 하나의 목적을 수행하는 구조
시스템 구성 분석 = 시스템을 이루는 구성 요소를 파악하는 작업
기능 분석 = 현재 시스템이 제공하는 기능을 파악하는 작업
인터페이스 분석 = 다른 시스템과 연결된 부분을 파악하는 작업
인터페이스 = 시스템끼리 데이터를 주고받는 연결 방식
아키텍처 = 시스템의 전체 구조
아키텍처 분석 = 시스템이 어떤 구조로 동작하는지 파악하는 작업
소프트웨어 구성 분석 = 시스템에서 사용하는 소프트웨어를 파악하는 작업
하드웨어 구성 분석 = 시스템에서 사용하는 물리 장비를 파악하는 작업
네트워크 구성 분석 = 시스템 구성 요소들이 네트워크로 어떻게 연결되어 있는지 파악하는 작업
데이터 구성 분석 = 시스템에서 사용하는 데이터를 파악하는 작업
AS-IS = 현재 상태
TO-BE = 앞으로 만들 목표 상태
Gap 분석 = 현재 상태와 목표 상태의 차이를 분석하는 작업
업무 프로세스 = 일을 처리하는 순서
서버 = 사용자의 요청을 처리하고 결과를 돌려주는 컴퓨터 또는 프로그램
클라이언트 = 서버에 요청을 보내는 쪽
데이터베이스 = 데이터를 체계적으로 저장하는 공간
DBMS = 데이터베이스를 관리하는 소프트웨어
WAS = 웹 애플리케이션을 실행하는 서버 소프트웨어
웹 서버 = 사용자의 웹 요청을 받아 처리하거나 WAS로 전달하는 소프트웨어
미들웨어 = 시스템이나 프로그램 사이에서 중간 역할을 하는 소프트웨어
프레임워크 = 개발을 쉽게 하기 위해 미리 만들어진 구조와 도구 모음
라이브러리 = 특정 기능을 쉽게 사용하기 위해 만들어진 코드 모음
로그 = 시스템에서 발생한 기록
백업 = 데이터를 잃어버리지 않기 위해 복사해 두는 작업
방화벽 = 허용되지 않은 네트워크 접근을 막는 보안 장비 또는 소프트웨어
라우터 = 네트워크 사이에서 데이터가 이동할 경로를 정하는 장비
스위치 = 같은 네트워크 안에서 장비들을 연결하는 장비
AD
제휴 광고
일부 링크는 제휴 링크이며, 구매 또는 가입 시 일정 수수료를 받을 수 있습니다.
AD