소프트웨어 설계3 - 현행 시스템 분석

혀어어언·2023년 3월 22일
0

현행 시스템 분석

현행 시스템 분석

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

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

현행 시스템 파악 절차

1단계: 시스템 구성 파악 > 시스템 기능 파악 > 시스템 인터페이스 현황 파악
2단계: 아키텍처 파악 > S/W 구성 파악
3단계: 시스템 H/W 현황 파악 > 네트워크 구성 파악

시스템 아키텍처

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

[시스템 아키텍처] < > [소프트웨어 아키텍처] > [소프트웨어 상세 설계]

시스템 구성 파악

  • 조직 내의 주요 업무를 기간 업무지원 업무로 구분하여 기술

  • 모든 단위 업무를 파악할 수 있도록 하며, 시스템 내의 명칭, 기능 등 주요 기능을 명시

  • 시스템 구성 현황 작성 예

구분시스템명시스템 내용
기간업무단위 A업무기간 단위 업무 A처리를 위한 A1, A2 등의 기능 제공
단위 B업무기간 단위 업무 B처리를 위한 B1, B2 등의 기능 제공
지원 업무지원 C업무지원 업무 C처리를 위한 C1,C2 등의 기능 제공

시스템 기능 파악

  • 단위 업무 시스템이 현재 제공하고 있는 기능을 주요기능과 하부기능으로 구분하여 계층형으로 표시
  • 시스템 기능 구성도 예
시스템명기능 L1기능 L2기능 L3
A 단위 업무 시스템기능 1하부 기능 11세부 기능111
하부 기능 11세부 기능112
하부 기능 12세부 기능121
하부 기능 12세부 기능122
기능 2하부 기능 21세부 기능211
하부 기능 21세부 기능212

인터페이스 현황 파악

  • 현행 시스템의 단위 업무 시스템이 타 단위 업무 시스템과 서로 주고받는(inter-face) 데이터의 연계 유형, 데이터 형식과 종류, 프로토콜 및 주기 등을 명시
  • 인터페이스 현황 작성 예
송신 시스템수신 시스템연동 데이터연동 형식통신규약연계 유형주기
A 단위 업무 시스템대외 기관 시스템 C연체정보XMLTCP/IPEAI1시간
A 단위 업무 시스템대외 기관 시스템 D신용 정보XMLX25FEP수시
기업 앱 통합(EAI; Enterprise Application Integration)
  • 기업 내의 컴퓨터 앱들을 현대화, 통합, 조정하는 것을 목표로 세운 계획, 방법 및 도구 등을 의미
전위 처리기(FEP; Front-End Processor)
  • 입력 데이터를 프로세서가 처리하기 전에 미리 처리하여 프로세스가 처리하는 시간을 줄여주는 프로그램이나 하드웨어
  • 여러 통신 라인을 중앙 컴퓨터에 연결
  • 터미널의 메세지가 보낼 상태로 있는 지 받을 상태로 있는 지 검색
  • 통신 라인의 에러 검출함

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

소프트웨어 구성 파악

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

하드웨어 구성 파악

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

네트워크 구성 파악

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

개발 기술 환경 분석

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

플랫폼(Platform)

플랫폼

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

플랫폼 성능 특성 분석

  • 현행 시스템의 사용자가 요구사항을 통하여 시스템 성능상의 문제를 요구할 경우 플랫폼 성능 분석을 통하여 사용자가 느끼는 속도를 파악하고 개선 방향 제시 가능
특성 분석 항목
  • 응답시간(Response Time)
  • 가용성(Availability)
  • 사용률(Utilization)
플랫폼 성능 특성 분석 방법
  • 기능 테스트(Performance Test)
    • 현재 시스템의 플랫폼을 평가할 수 있는 기능 테스트 수행
  • 사용자 인터뷰
    • 사용자를 대상으로 현행 플랫폼 기능의 불편함을 인터뷰
  • 문서 점검
    • 플랫폼과 유사한 플랫폼의 기능 자료를 분석

현행 시스템의 OS 분석

OS의 정의 및 기능
  • HW, SW 자원 관리 및 공통 서비스 제공
  • 사용자와의 인터페이스 제공
현행 시스템의 OS 분석항목 및 고려사항
  • 분석 항목
    • 현재 정보 시스템의 OS 종류와 버전, 패치일자, 백업주기 부석
  • 고려사항
    • 가용성, 성능, 기술지원, 주변기기, 구축비용(TCO)
  • 현행 환경 분석 과정에서 라이선스의 종류, 사용자 수, 기술의 지속 가능성 등을 고려
  • 메모리 누수
    • 실행 SW가 정상 종료되지 않고 남아 있는 증상
TCO(Total Cost of Ownership)
  • 일정 기간 자산 획득에 필요한 직/간접적인 총비용
  • HW/SW구매 비용, 운영 교육, 기술지원, 유지보수, 손실, 에너지 사용 비용
오픈 소스 라이선스 종류
  • 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
HADOOP?
  • 다수의 저렴한 컴퓨터를 하나처럼 묶어 대량 데이터(Big Data)를 처리하는 기술

현행 시스템 DBMS 분석

DBMS(DataBase Management System)

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

현행 시스템 DBMS 분석

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

DBMS 분석 시 고려사항

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

0개의 댓글