정보처리기사/정보 시스템 구축 관리

테일러링과 프레임워크

jhwannabe 2023. 8. 12. 22:08

소프트웨어 개발 방법론 테일러링(Tailoring)의 개념

  • 기존 개발 방법론의 절차, 기법, 산출물 등을 프로젝트 상황에 맞게 수정하는 작업
  • 소프트웨어 개발 방법론 테일러링 수행 절차
    • 프로젝트 특징 정의
    • 표준 프로세스 선정/검증
    • 상위 레벨 커스터마이징
    • 세부 커스터마이징
    • 테일러링 문서화

소프트웨어 개발 방법론 테일러링 시 고려사항

내부적 요건
(내부 기준)
- 납기/비용 : 개발 소프트웨어의 납기일과 개발 비용
- 구성원 능력 : 개발에 참여하는 구성원 개개인의 능력
- 목표 환경 : 시스템의 개발 환경 및 유형이 서로 다른 경우
- 고객 요구사항 : 프로젝트의 생명주기 활동 측면에서 개발, 운영, 유지보수 등 프로젝트에서 우선적으로 고려할 요구사항이 서로 다른 경우
- 프로젝트 규모 : 사업비, 참여 인력, 개발 기간 등 프로젝트의 규모가 서로 다른 경우
- 보유 기술 : 프로세스, 방법론, 산출물, 인력의 숙련도 등이 다른 경우
외부적 요건
(외부 기준)
- 법적 제약사항 : 프로젝트별로 적용될 IT Compilance 서로 다른 경우 테일러링이 필요
- 표준 품질 기준 : 금융, 제조, 의료 업종별 표준 품질 기준이 상이하므로 방법론의 테일러링이 필요

소프트웨어 개발 방법론 테일러링 기법

  • 프로젝트 규모와 복잡도에 따른 테일러링
  • 프로젝트 구성원에 따른 테일러링
  •  팀 내 방법론 지원에 따른 테일러링
  • 자동화에 따른 테일러링

라이브러리(Library)의 개념

  • 단순 활용 가능한 도구들의 집합을 의미
  • 프로그래머가 어떠한 기능을 수행하기 위해서 도움을 주는 또는 필요한 것을 제공해주는 역할을 함

소프트웨어 프레임워크(Framework)의 개념

  • 비슷한 유형의 응용 프로그램들을 위해 재사용이 가능한 아키텍처와 협력하는 소프트웨어 산출물의 통합된 집합
  • 특정 클래스의 재사용뿐만 아니라 응용 프로그램을 위한 핵심 아키텍처를 제공하여 설계의 재사용을 지원함

프레임워크와 라이브러리의 차이점

  • 프레임워크는 전체적인 흐름을 자체적으로 가지고 있어 프로그래머는 그 안에서 필요한 코드를 작성함
  • 라이브러리는 프로그래머가 전체적인 흐름을 가지고 있어 라이브러리를 자신이 원하는 기능을 구현하고 싶을 때 가져다 사용할 수 있음

소프트웨어 개발 프레임워크의 개념

  • 소프트웨어 개발을 도와주는 재사용이 가능한 클래스와 패턴의 집합
  • 소프트웨어 개발의 효율성을 높이고 소프트웨어 품질ㅇ르 높이기 위한 반제품 성격의 소프트웨어
  • 소프트웨어의 틀과 구조를 결정하고, 이를 바탕으로 개발된 개발자의 코드를 제어함

소프트웨어 개발 프레임워크 적용 시

개발 용이성 - 공통 기능은 프레임워크가 제공함
- 패턴 기반 개발과 비즈니스 로직에만 집중한 개발이 가능함
시스템 복잡도 감소 - 시스템의 복잡한 기술은 프레임워크에 의해 숨겨짐
- 미리 잘 정의된 기술 셋을 적용할 수 있음
이식성 - 플랫폼 연동을 프레임워크가 제공함
- 플랫폼의 독립적인 개발이 가능함
품질 보증 - 검증된 개발 기술과 패턴에 따른 개발이 가능함
- 개발자의 경험과 능력 차이를 줄여줌
운영 용이성 - 소프트웨어 변경이 용이함
- 비즈니스 로직 및 아키텍처 파악이 용이함
개발 코드 최소화 - 공통 컴포넌트와 서비스를 활용함
- 반복적인 코드 개발을 최소화함
변경 용이성 - 잘 구조화된 아키텍처를 적용함
- 플랫폼에 독립적
설계 및 코드의 재사용성 - 프레임워크의 서비스와 패턴을 재사용함
- 이미 개발된 컴포넌트를 재사용함

스프링 프레임워크(Spring Framework)

  • 자바 플랫폼을 ㅇ뤼한 오픈소스 애플리케이션 프레임워크
  • 동적인 웹 사이트 개발을 위해 여러 가지 서비스를 제공함
  • 전자정부 표준 프레임워크의 기반 기술로 사용됨
  • 스프링 프레임워크의 주요 모듈
    • 제어 반전 컨테이너
    • 관점 지향 프로그래밍 프레임워크
    • 데이터 액세스 프레임워크
    • 트랜잭션 관리 프레임워크
    • 모델-뷰-컨트롤러(MVC) 패턴
    • 배치 프레임워크

전자정부 표준 프레임워크

  • 공공부문 정보화 사업 시 플랫폼별 표준화된 개발 프레임워크를 말함
  • 공공기관의 웹 서비스 개발 시 사용을 권장하고 있음
  • 전자정보 표준 프레임워크 적용시 기대효과
    • 전자정부 서비스 품질 향상
    • 정보화 투자 효율성 향상
    • 국가 정보화 투자 효율성 제고
    • 중소 SI 업체 경쟁력 확보
    • 선진 국가정보화 추진 기반 환경 제고

닷넷 프레임워크(.NET Framework)

  • Microsoft사에서 개발한 윈도우 프로그램 개발 및 실행 환경
  • 네트워크 작업, 인터페이스 등의 많은 작업을 캡슐화하였고, 공통 언어 런타임(CLR : Common Language Runtime) 가상 머신 위에서 작동함
  • 오픈소스 버전으로 닷넷 코어가 있음
728x90
반응형