09
21

프레임워크(Framework)

여러 형태의 컴포넌트들. 개발을 위해 짜여진 뼈대로 각각의 목적에 따라 효율적으로 짜놓은 소프트웨어 환경이다. 

코드 라이브러리, 애플리케이션 인터페이스, 설정 정보 등의 집합으로 재사용이 가능하도록 뼈대를 제공한다.

소프트웨어 프레임워크의 특징

모듈화 : 단위화하는 것. 단일 기능을 갖출 수 있도록 부분적으로 묶어서 처리함. 

재사용성: 모듈을 다양하게 추가, 발전시켜서 다시 사용할 수 있도록 함.

확장성: 별도의 추가적인 설계 없이 확장이 가능한지. 얼마나 쉽게 확장시킬 수 있는지.

제어의 역 흐름: 원래는 개발자들이 통제하는 객체를 프레임워크가 제어한다. 프레임워크가 처리 흐름을 제어하기 때문에 특정한 이벤트가 발생할 때 다형성을 통해 확장된 메소드를 호출한다. 

프레임워크 기대효과

개발 용이성

품질 보증

변경 용이성

유지보수 요이성

재사용성 향상

표준화율 향상

상호 운용성 향상

 

오피스웨어

회사나 단체에서 업무에 사용되는 소프트웨어. 워드프로세서, 프레젠테이션 스프레드시트, 그룹웨어 등

 

ERP

의사결정을 위한 소프트웨어. 기업에서 발생하는 정보를 공유하고 새로

운 정보를 생성하는 등 신속한 의사결정에 도움을 주어 전사적으로 자원을 관리함

SCM

부품공급을 관리하는 소프트웨어.

BI

적시에 의사 결정을 할 수 있도록 지원하는 소프트웨어

CRM

고객 특성에 기초한 마케팅 활동을 지원하는 소프트웨어.

 


 

컴포넌트

부품화된 프로그램 = 모듈

모듈의 집합 = 라이브러리

라이브러리의 집합 = 컴포넌트

컴포넌트는 독립적으로 사용될 수 있다.

 

컴포넌트의 설계

컴포넌트를 설계할 때 협약에 의한 설계를 따르면 이하의 조건이 포함되어야한다

  • 수행하기 위한 선행 조건
  • 결과의 조건이 나와야 한다
  • 항상 만족 되어야하는 조건

ex)이분 검색 

  • 수행하기 위한 선행 조건 = 정렬된 데이터, 데이터 전체 개수가 주어져야한다.
  • 결과의 조건이 나와야 한다 = 검색이 성공해야 한다
  • 항상 만족 되어야 하는 조건 = 알고리즘이 변하면 안됨.

CBD

  • 재사용성 향상
  • 개발기간 단축으로 생산성과 품질 높임
  • 유지보수 비용 최소화
  • 새로운 기능 추가 및 확장이 용이
  • 독립적인 컴포넌트 단위의 관리로 복잡성을 최소화

CBD 산출물 목록

  • 분석 :  사용자 요구사항 정의서, 유스케이스 명세서, 요구사항 추적표
  • 설계 : 클래스 설계서, 사용자 인터페이스 설계서, 컴포넌트 설계에서, 인터페이스 설계서, 아키텍처 설계서, 총괄시험 계획서, 시스템 시험 시나리오, 엔티티 관계 모형 기술서, 데이터베이스 설계서, 통합 시험 시나리오, 단위 시험 케이스, 데이터 전환 및 초기 데이터 설계서
  • 구현 :  프로그램 코드, 단위 시험 결과서, 데이터베이스 테이블
  • 시험 : 통합 시험 결과서, 시스템 시험 결과서, 사용자 지침서, 운영자 지침서, 시스템 설치 결과서, 인수 시험 시나리오, 인수 시험 결과서

*특별히 다른 것만 기억하기

 


소프트웨어 공학(SE)

최소 비용, 최소 노력으로 품질 높은 최적의 소프트웨어를 개발하기 위한 도구와 방법론

 

컴퓨터 공학의 기본 원칙

  • 현대적인 프로그래밍 기술을 적용
  • 지속적인 검증
  • 결과에 관한 명확한 기록
  • 품질 높은 소프트웨어 개발

용어 정리

아키텍처 : 프로그램 설계. 자동차 설계도면

라이브러리:부품화된 프로그램. 자동차 부품

프레임워크: 프로그램 기본 구조. 자동화 프레임

플랫폼 : 프로그램 실행환경. 자동차 고속도로

'CS' 카테고리의 다른 글

[1과목] 소프트웨어 개발 환경  (1) 2022.09.21
[1과목] 소프트웨어의 종류  (1) 2022.09.21
COMMENT