개발자 '쑥말고인절미'

[정보처리기사] 5과목 정보시스템 구축 관리 335 ~ 338 (테일러링, 프레임워크, 소프트웨어 정의 기술(SDE)) 본문

STUDY/정보처리기사

[정보처리기사] 5과목 정보시스템 구축 관리 335 ~ 338 (테일러링, 프레임워크, 소프트웨어 정의 기술(SDE))

쑥말고인절미 2024. 2. 22. 16:56
  • 335 소프트웨어 개발 방법론 테일러링
  • 336 소프트웨어 개발 프레임워크
  • 337 프레임워크의 특성
  • 338 소프트웨어 정의 기술(SDE, SDx; Software-Defined Everything)

 

  • 소프트웨어 개발 방법론 테일러링
    • 프로젝트 상황 및 특성에 맞도록 정의된 소프트웨어 개발 방법론의 절차, 사용기법 등을 수정 및 보완하는 작업
    • 소프트웨어 개발 방법론 테일러링 작업 시 고려해야 할 사항
      • 1) 내부적 기준
        • 1. 목표환경
          • 시스템의 개발 환경과 유형이 서로 다른 경우 테일러링이 필요함
        • 2. 요구사항
          • 프로젝트의 생명 주기 활동에서 개발, 운영, 유지보수 등 프로젝트에서 우선적으로 고려할 요구사항이 서로 다른 경우 테일러링이 필요함
        • 3. 프로젝트 규모
          • 비용, 인력, 기간 등 프로젝트의 규모가 서로 다른 경우 테일러링이 필요함
        • 4. 보유 기술
          • 프로세스, 개발 방법론, 산출물, 구성원의 능력 등이 서로 다른 경우 테일러링이 필요함
      • 2) 외부적 기준
        • 1. 법적 제약사항
          • 프로젝트 별로 적용될 IT Compliance가 서로 다른 경우 테일러링이 필요함
        • 2. 표준 품질 기준
          • 금융, 제도 등 분야별 표준 품질 기준이 서로 다른 경우 테일러링이 필요함

  • 프레임워크
    • 소프트웨어 개발에 공통적으로 사용되는 구성 요소와 아키텍처를 일반화하여 손쉽게 구현할 수 있도록 여러 가지 기능들을 제공해주는 반제품 형태의 소프트웨어 시스템
    • 선행 사업자의 기술에 의존하지 않은 표준화된 개발 기반으로 인해 사업자 종속성이 해소된다.
    • 프레임워크의 주요 기능에는 예외처리, 트랜잭션 처리, 메모리 공유, 데이터 소스 관리, 서비스 관리, 쿼리 서비스, 로깅 서비스, 사용자 인증 서비스 등이 있다.
    • 종류
      • 1) 스프링 프레임워크(Spring Framework)
        • 자바 플랫폼을 위한 오픈 소스 경량형 애플리케이션 프레임워크
      • 2) 전자정부 프레임워크
        • 우리나라의 공공부문 정보화 사업 시 효율적인 정보 시스템의 구축을 지원하기 위해 필요한 기능 및 아키텍처를 제공하는 프레임워크
      • 3) 닷넷 프레임워크(.NET Framework)
        • Windows 프로그램의 개발 및 실행 환경을 제공하는 프레임워크로, Microsoft 사에서 통합 인터넷 전략을 위해 개발함
    • 특성
      • 1) 모듈화(Modularity)
        • 프레임워크는 캡슐화를 통해 모듈화를 강화하고 설계 및 구현의 변경에 따른 영향을 최소화함으로써 소프트웨어의 품질을 향상시킴
        • 프레임워크는 개발표준에 의한 모듈화로 인해 유지 보수가 용이함
      • 2) 재사용성(Reusability)
        • 프레임워크는 재사용 가능한 모듈들을 제공함으로써 예산 절감, 생산성 향상, 품질 보증이 가능함
      • 3) 확장성(Extensibility)
        • 프레임워크는 다형성(Polymorphism)을 통한 인터페이스 확장이 가능하여 다양한 형태와 기능을 가진 애플리케이션 개발이 가능함
      • 4) 제어의 역흐름(Inversion of Control)
        • 개발자가 관리하고 통제해야 하는 객체들의 제어를 프레임워크에 넘김으로써 생산성을 향상시킴

  • 소프트웨어 정의 기술(SDE, SDx; Software-Defined Everything)
    • 네트워크, 데이터 센터 등에서 소유한 자원을 가상화하여 개별 사용자에게 제공하고, 중앙에서는 통합적으로 제어가 가능한 기술
    • 관련 용어
      • 1) 소프트웨어 정의 네트워킹(SDN, Software Defined Networking)
        • 네트워크를 컴퓨터처럼 모델링하여 여러 사용자가 각각 소프트웨어들로 네트워킹을 가상화하여 제어하고 관리하는 네트워크
        • 하드웨어에 의존하는 네트워크 체계에 비해 보다 효율적으로 네트워크를 제어, 관리할 수 있음
        • 기존 네트워크에는 영향을 주지 않으면서 특정 서비스의 전송 경로 수정을 통하여 인터넷상에서 발생하는 문제를 처리할 수 있음
      • 2) 소프트웨어 정의 데이터 센터(SDDC; Software Defined Data Center)
        • 데이터 센터의 모든 자원을 가상화하여 인력의 개입없이 소프트웨어 조작만으로 관리 및 제어되는 데이터 센터
      • 3) 소프트웨어 정의 스토리지(SDS; Software-Defined Storage)
        • 물리적인 데이터 스토리지(Data Storage)를 가상화하여 여러 스토리지를 하나처럼 관리하거나, 하나의 스토리지를 여러 스토리지로 나눠 사용할 수 있는 기술