[25년 03차 / 문제풀이] 소프트웨어 개발

개념

 

☐ 소프트웨어 개발 프레임워크(Framework)

 

●  프레임워크의 개념 : 소프트웨어 개발에 공통적으로 사용되는 구성 요소와 아키텍처를 일반화하여 손쉽게 구현할 수 있도록 여러 가지 기능들을 제공해주는 반제품 형태의 소프트웨어 시스템 

●  프레임워크의 특징

- 선행 사업자의 기술에 의존하지 않은 표준화된 개발 기반으로 인해 사업자 종속성이 해소됨

- 프레임워크의 주요 기능 : 예외 처리, 트랜잭션 처리, 메모리 공유, 데이터 소스 관리, 서비스 관리, 쿼리 서비스, 로깅 서비스, 사용자 인증 서비스 등

●  프레임워크의 종류

- 스프링 프레임워크(Spring Framework) : 자바 플랫폼을 위한 오픈 소스 경량형 애플리케이션 프레임워크

- 전자정부 프레임워크 : 우리나라 공공부문 정보화 사업 시 효율적인 정보 시스템의 구축을 지원하기 위해 필요한 기능 및 아키텍처를 제공하는 프레임워크

- 닷넷 프레임워크 (.NET Framework) : Windows 프로그램의 개발 및 실행 환경을 제공하는 프레임워크, Microsoft 사에서 통합 인터넷 전략을 위해 개발함 

●  프레임워크의 특성

- 모듈화(Modularity) : 캡슐화를 통해 모듈화를 강화하고 설계 및 구현의 변경에 따른 영향을 최소화함으로써 소프트웨어의 품질을 향상시킴, 개발표준에 의한 모듈화로 인해 유지 보수가 용이

- 재사용성(Reusability) : 재사용 가능한 모듈들을 제공함으로써 예산 절감, 생산성 향상, 품질 보증이 가능함

- 확장성(Extensibility) : 다형성(Polymorphism)을 통한 인터페이스 확장이 가능하여 다양한 형태와 기능을 가진 애플리케이션 개발이 가능함

- 제어의 역흐름(Inversion of Control) : 개발자가 관리하고 통제해야하는 객체들의 제어를 프레임워크에 넘김으로써 생산성을 향상시킴 

 


 

통합 개발 환경(IDE, Integrated Development Environment)

 

●  IDE의 개념 : 코딩, 디버그, 컴파일, 배포 등 프로그램 개발과 관련된 모든 작업을 하나의 프로그램에서 처리할 수 있도록 제공하는 소프트웨어적인 개발 환경

●  IDE의 특징

- 기존 소프트웨어 개발에서는 편집기(Editor), 컴파일러(compiler), 디버거(Debugger) 등의 다양한 툴을 별도로 사용했으나 현재는 하나의 인터페이스로 통합하여 제공함

- 통합 개발 환경 도구 : 통합 개발 환경을 제공하는 소프트웨어

- 플랫폼, 운영체제, 언어별로 다양하게 존재

●  IDE의 대표적인 기능

- 코딩(Coding) : C, Java 등의 프로그래밍 언어로 프로그램을 작성할 수 있는 환경을 제공

- 컴파일(Compile) : 개발자가 작성한 고급 언어로 된 프로그램을 컴퓨터가 이해할 수 있는 목적 프로그램으로 번역하여 컴퓨터에서 실행 가능한 형태로 변환하는 기능

- 디버깅(Debugging) : 프로그램에서 발견되는 오류나 버그를 찾아 수정하는 기능

- 배포(Deployment) : 소프트웨어를 사용자에게 전달하는 기능 

 


 

 

문제

 

☐ 소프트웨어 개발 프레임워크(Framework)

 

2021년-2차 68번. 프레임워크(Framework)에 대한 설명으로 옳은 것은?

 

① 소프트웨어 구성에 필요한 기본 구조를 제공함으로써 재사용이 가능하게 해준다.
② 소프트웨어 개발 시 구조가 잡혀 있기 때문에 확장이 불가능하다.
③ 소프트웨어 아키텍처(Architecture)와 동일한 개념이다.
④ 모듈화(Modularity)가 불가능하다.



정답 : 1
입력 답 : 2

 



 통합 개발 환경(IDE, Integrated Development Environment)

 

2022년-2차 36번. IDE(Integrated Development Environment) 도구의 각 기능에 대한 설명으로 틀린 것은?

 

① Coding-프로그래밍 언어를 가지고 컴퓨터 프로그램을 작성할 수 있는 환경을 제공
② Compile-저급 언어의 프로그램을 고급 언어 프로그램으로 변환하는 기능
③ Debugging-프로그램에서 발견되는 버그를 찾아 수정할 수 있는 기능
④ Deployment-소프트웨어를 최종 사용자에게 전달하기 위한 기능



정답 : 2
입력 답 : 4