소프트웨어 개발환경 분석

현행 시스템 파악 - Identify the Current System

서로 개발하려는 시스템의 개발 범위를 정확히 판단하기 위해 시스템의 구성과 구성 요소의 기능을 정확히 파악하고 있어야 한다.

  1. 시스템 구성 파악
  2. 시스템 기능 파악
  3. 시스템 인터페이스 파악
  4. 시스템 아키텍처(Architecture) 구성 파악
  5. 소프트웨어 구성 파악
  6. 하드웨어 구성 파악
  7. 네트워크 구성 파악

개발 기술 환경 파악 - Identify the Current Tech Environment

  1. OS(Operation System) - 운영체제
    1. 운영 체제의 개념
      1. 컴퓨터 시스템의 자원들을 효율적으로 관리하는 소프트웨어이다
    2. 고려사항
      1. 가용성(Capability**)** - 소프트웨어가 요구사항에 따라 운영되는 능력
      2. 성능(Performance) - 대규모, 대용량 데이터에 대한 처리 능력
      3. 기술 지원(Technical Support) - 소프트웨어의 기술 지원과 오픈 소스 적용 여부
      4. 주변 기기(Peripherals) - 시스템에 설치 가능한 주변 기기의 정보
      5. 구축 비용(Cost) - 라이선스 비용 및 유지관리 비용
  2. DBMS(Database Management System)
    1. DBMS의 개념
      1. 사용자의 요구에 따라 DB 정보를 관리해주는 관리 시스템
      2. 기존 파일 시스템들의 단점인 종속성과 중복성의 문제를 해결해준다
    2. 고려사항
      1. 가용성(Availability) ****- 데이터 백업 및 복구의 편의성과 이중화 지원 여부
      2. 성능(Performance) - 대용량 트랜잭션(Transaction) 처리 능력과 질의 최적화 지원 여부
      3. 기술 지원(Technical Support) - 소프트웨어의 기술 지원과 오픈 소스 적용 여부
      4. 구축 비용(Cost) - 라이선스 비용 및 유지관리 비용
      5. 상호 호환성(Interoperability) - 설치 가능한 운영체제 및 다른 데이터베이스와의 호환 여부
  3. MiddleWare - 미들웨어
    1. 미들웨어의 개념

      1. 미들(Middle)과 소프트웨어(Software)의 합성어로, 운영체제와 해당 운영체제에서 실행되는 응용 프로그램 사이에서 운영체제가 제공하는 서비스 이외에 추가적인 서비스를 제공하는 소프트웨어이다
      2. 미들웨어는 애플리케이션과 운영 체제 또는 애플리케이션과 네트워크 간의 중간 계층에서 동작하며, 데이터 처리, 통신, 트랜잭션 관리 등을 지원합니다.
      3. 표준화된 인터페이스를 제공하며 시스템 간의 데이터 교환에 일관성을 보장한다
      4. 미들웨어의 종류로는 DBMS, RPC, MOM, TP-Monitor, ORB, WAS 등이 있다
      유형 주요 역할 예시
      DBMS 데이터 저장, 관리, 트랜잭션 처리 MySQL, Oracle, PostgreSQL
      RPC 원격 프로시저 호출 지원 gRPC, XML-RPC
      MOM 메시지 기반의 비동기 통신 RabbitMQ, Apache Kafka
      TP-Monitor 트랜잭션 처리 및 다중 사용자 관리 Tuxedo, IBM CICS
      ORB 객체 간 통신 중재 CORBA
      WAS 동적 웹 애플리케이션 실행 및 관리 Apache Tomcat, WebLogic
    2. 고려사항

      1. 가용성(Availability) ****- 안정적인 트랜잭션(Transaction) 처리와 이중화 지원 여부
      2. 성능(Capability) - 대규모 트랜잭션(Transaction) 처리 능력과 가비지 컬렉션 옵션여부
      3. 기술 지원(Technical Support) - 소프트웨어의 기술 지원과 오픈 소스 적용 여부
      4. 구축 비용(Cost) - 라이선스 비용 및 유지관리 비용
  4. Open Source - 오픈 소스

요구사항 정의

요구사항 정의