SW개발방법론 테일러링
소프트웨어 개발 프레임워크
소프트웨어 개발 프레임워크의 개념
- 소프트웨어 개발에 공통적으로 사용되는 구성 요소와 아키텍처를 일반화하여 손쉽게 구현할 수 있도록 여러 가지 기능들을 제공해 주는 반제품 형태의 소프트웨어 시스템
- 프레임워크
- 사전적으로 뼈대, 골조를 의미하며 소프트웨어에서는 특정 기능을 수행하기 위해 필요한 클래스나 인터페이스 등을 모아둔 집합체
- 프레임워크
- 프레임워크의 주요 기능에는 예외 처리, 트랜잭션 처리, 메모리 공유, 데이터 소스 관리, 쿼리 서비스, 로깅 서비스, 인증 서비스 등
프레임워크 특징
- 특정 개념들의 추상화를 제공하는 여러 클래스와 컴포넌트로 구성
- 추상적인 개념들이 문제를 해결하기 위해 같이 작업하는 방법 정의
- 컴포넌트들의 재사용이 가능
- 높은 수준에서 패턴들을 조작
종류
1. 스프링 프레임워크(Spring Framework)
- JAVA 플랫폼을 위한 오픈 소스 경량형 애플리케이션 프레임워크
- J2EE에서 제공하는 대부분의 지능을 지원
- DB처리를 위한 JDBC, iBatis, Hibernate, JPA 등 라이브러리와 연동 지원
- 전자정부 표준 프레임워크의 기반이 되는 기술
2. 전자정부 표준 프레임워크
- 우리나라의 공공부분 정보화 사업 시 효율적인 정보시스템 구축을 지원하기 위해 필요한 기능 및 아키텍처를 제공하는 프레임워크
- 개발 프레임워크의 표준 정립으로 응용 소프트웨어의 표준화, 품질 및 재사용성의 향상을 목적으로 함
- 오픈 소스 기반의 범용화가 되고 공개된 기술으 활용함으로써 특정 업체의 종속성을 배제하고 사업별 공통 컴포넌트의 중복 개발 방지
3. 스트럿츠 프레임워크 STRUTS Framework
- JAVA기반의 JSP만을 위한 프레임워크
- 다양한 운영체제에서 활용 가능
- 오픈소스이기 때문에 개발에 필요한 부분을 수정하여 사용
- UI기반의 프레임워크
4. 닷넷프레임워크(.NET Framework)
- Windows 프로그램 개발 및 실행 환경을 제공하는 프레임워크
- Microsoft 사에서 통합 인터넷 전략을 위해 개발
- 코드 실행을 관리하는 CLR(Common Language Runtime)이라는 가상머신 상에서 작동
- 메모리 관리, 유형 및 메모리 안전성, 보안, 네트워크 작업 등 여러가지 서비스를 제공
5. 앵귤러 JS(Angular JS)
- 자바스크립트 기반의 프레임워크
- 앵귤러 JS의 데이터 모델은 단순 자바스크립트 객체로 재사용이 쉬운 정적인 UI컴포넌트로 구성
- 코드의 길이를 더욱 단순화
- HTML, CSS 개발자와 자바스크립트 개발자를 명확하게 분리
6. 장고 프레임워크(Django Framework)
- Python으로 작성된 오픈 소스 웹 애플리케이션 프레임워크
- MVC(Model-View-Controller)패턴 기반 프레임워크
- ORM(Object Relational Mapping)기능 지원
- 수윈 DB관리를 위해 프로젝트를 생성하면서 관리자 기능을 제공
- 쉬운 URL 파싱 기능 지원