반응형
소프트웨어 공학 (Software Engineering)
- 소프트웨어를 개발, 운영, 유지보수하는 과정과 기술을 연구하고 적용하는 학문 및 분야
- 최소의 비용과 개발 기간을 통해 높은 품질의 소프트웨어를 도출하기 위한 모든 수단과 도구들의 총칭
목적
- 소프트웨어 개발 단계별 산출물에 대한 명확한 기록을 유지
- 소프트웨어 품질에 대해 지속적인 검증 시행
- 현대적인 프로그래밍 기술을 지속적으로 적용
원칙
- 소프트웨어 개발 단계별 산출물에 대한 명확한 기록을 유지
- 소프트웨어 품질에 대해 지속적인 검증 시행
- 현대적인 프로그래밍 기술을 지속적으로 적용
소프트웨어 개발 프레임워크 (Framework)
- 모듈 (Module)
- 프로그램을기능별로 분할해 재사용 가능하도록 부품화한 것이다.
- 개발자가 프로그램의 기본 틀을 제공하고 모듈을 활용하여 기능을 구체화한다.
- 라이브러리 (Library)
- 툴킷(Toolkit) 이라고도 하며, 관련 있는 모듈들을 모아놓은 것을 말한다.
- 라이브러리에 속하는 각 모듈은 반드시 독립이진 않는다.
- 표준 라이브러리 : 프로그래밍 언어에 내장
- 외부 라이브러리 : 별도의 설치를 통해 사용 가능
- 디자인 패턴 (Design Pattern)
- 특정 기능에 대한 문제 해결을 위한 추상적인 가이드라인을 제시한 것
- 프로그램의 세부적인 구현 방안을 위해 참조하는 해결 방식을 제시한 것
- 소프트웨어 개발 프레임 워크 (Framework)
- 디자인 패턴에 모듈의 장점 및 기능을 결합하여 실제적인 개발의 틀(Frame)을 제공한다.
- 프레임워크가 프로그램의 기본 틀을 제공하고, 개발자가 기능을 구체화 하는 제어의 역 흐름이 발생한다.
- 프로그램 기반과 구조를 잡아주는 코드의 모임이며, 자연스럽게 특정 디자인 패턴을 유도한다.
- 이미 검증된 프레임워크를 사용함으로써 품질, 예산, 유지 보수에 이점이 있다.
- 프로그램 구성의 복잡도가 감소하여 상호 운용성과 개발 및 변경이 용이해진다.
- 소프트웨어 아키텍처 (Architecture)
- 다수의 프레임워클르 체계적으로 구성하고 설명하는 구조체를 의미한다.
- 소프트웨어의 설계와 업그레이드를 통제하는 지침과 원칙을 제공한다.
- 컴포넌트 (Component)
- 모듈의 형태로 재사용 가능한 확장된 소프트웨어 블럭
- 프레임워크 및 아키텍처가 적용되어 있어 안정적이다.
- 재사용 가능한 소프트웨어 요소
- 소프트웨어의 부분 또는 전체 영역
- 부분적인 코드뿐 아니라 응용된 지식과 데이터 구조
- 개발 이후의 테스트 계획, 문서화 방법 및 절차 등
- 소프트웨어 재사용 방법
- 합성 (Composition) 중심 : 모듈을 조립해 소프트웨어를 완성시키는 블록 구성 방식
- 생성 (Generation) 중심 : 추상적인 명세를 구체화하여 소프트웨어를 완성시키는 패턴 구성 방식
반응형
'자격증 > 정보처리기사' 카테고리의 다른 글
정보처리기사 실기 (23년 2회 기출문제) (0) | 2024.04.20 |
---|---|
정보처리기사 실기 (23년 1회 기출문제) (0) | 2024.04.19 |
정보처리기사 실기 (소프트웨어 종류) (0) | 2023.09.14 |
정보처리기사 기출문제(22년 3월) 정리 (0) | 2023.05.14 |
정보처리기사 기출문제(20년 9월) 정리 (0) | 2023.05.13 |