작성 맥락
이 글은 직접 학습하거나 구현하며 남긴 개인 기술 기록입니다. 참고 자료가 있는 경우 본문에 출처를 남기고, 틀린 부분을 발견하면 수정합니다.
소프트웨어 개발 환경 분석
기존 시스템을 새 시스템으로 교체하는 프로젝트에서 가장 먼저 하는 일은 코드를 짜는 게 아니라 “지금 뭐가 돌아가고 있는지”부터 파악하는 것이다. 예를 들어 낡은 사내 회계 시스템을 새로 구축한다고 하면, 기존 시스템이 어떤 기능을 제공하는지도 모른 채 새로 만들면 기존에 있던 세금계산서 발행 기능 하나를 통째로 빠뜨리는 식의 사고가 난다. 이 글은 그 “현행 시스템 파악” 절차를 단계별로 정리한다.
- 현행 시스템 파악
개요
- 현재 운영되는 시스템의 구성 파악
- 파악 대상:
- 기능
- 정보
- 소프트웨어
- 하드웨어
- 네트워크 구성
현행 시스템 파악 절차
1단계
- 시스템 구성
- 기능
- 인터페이스 현황
2단계
- 아키텍처 현황
- 소프트웨어 구성 현황
3단계
- 하드웨어 현황
- 네트워크 현황
시스템 구성 및 기능 파악
업무 구분
- 기간업무
- 주요업무 담당
- 지원업무
- 기간업무 지원 역할
시스템 기능 현황 파악
- 단위업무 시스템이 제공하는 기능 조사
- 계층형 구조로 표현:
- 주요 기능
- 세부 기능
시스템 인터페이스 파악
- 파악 요소:
- 데이터 종류
- 데이터 형식
- 프로토콜
- 연계 유형
- 연계 주기
- 주의: 시스템 인터페이스는 서로 다른 시스템 간의 연결을 의미
현행 시스템 아키텍처 및 소프트웨어 파악
시스템 아키텍처 구성도 파악
- 기술요소의 계층별 구성
- 다중 아키텍처 존재 시 주요 업무 기준으로 파악
소프트웨어 구성도 파악
- 파악 요소:
- 소프트웨어 사양
- 라이선스 방식
- 개수
- 중요성: 소프트웨어 비용의 큰 비중 때문
하드웨어 및 네트워크 파악
하드웨어 파악
- 파악 요소:
- 주요 사양
- 수량
- 이중화 적용 여부(복사 백업)
- 이중화 적용 시 고려사항:
- 목표 시스템에도 구축 필요
- 구축 기술 및 난이도 상승
네트워크 구성도 파악
- 확인 가능 사항:
- 조직 내 서버들의 물리적 위치관계
- 보안 취약성 분석
- 네트워크 장애 발생 추적
- 대응 방안 수립
개발 기술 환경 식별
운영체제
- 역할:
- 리소스 관리
- 공통 서비스 제공
식별 시 고려사항
- 신뢰도
- 성능
- 기술 지원
- 주변 기기
- 구축 비용
DBMS (Database Management System)
- 정의: 데이터 저장, 관리, 상호작용 시스템
주요 DBMS
- Oracle
- MS-SQL
- MySQL
- MongoDB
식별 시 고려사항
- 가용성
- 성능
- 기술 지원
- 상호 호환성
- 구축 비용
미들웨어
- 정의: 소프트웨어와 애플리케이션 사이의 중간 계층
- 특징: 표준화된 인터페이스 제공
식별 시 고려사항
- 가용성
- 성능
- 기술 지원
- 구축 비용
오픈소스 소프트웨어
- 정의: 소스코드(설계도)를 무료로 공개한 소프트웨어
식별 시 고려사항
- 기술의 지속 가능성
- 라이선스 종류 확인:
- 개인용
- 기업용
- 학생용
- 주의: 모든 경우가 무료는 아님
핵심 정리
현행 시스템 파악은 “위에서 아래로” 순서를 따르면 자연스럽다 — ①시스템이 어떤 기능을 제공하는지(기능·인터페이스) → ②그 기능이 어떤 구조 위에서 돌아가는지(아키텍처·소프트웨어) → ③그 구조가 어떤 물리 자원 위에 있는지(하드웨어·네트워크). 마지막으로 운영체제·DBMS·미들웨어·오픈소스 같은 기술 요소를 신뢰도·성능·비용 기준으로 식별하면, 새 시스템이 “무엇을 반드시 유지해야 하는지”와 “무엇을 개선할 수 있는지”를 구분할 수 있는 기초 자료가 완성된다.
댓글이 보이지 않으면 GitHub에 로그인한 뒤 새로고침해 주세요. 공개 댓글은 로그인 상태에서 더 안정적으로 표시됩니다.