오늘은 정보처리기사 공부중 나오게된 CASE에 대한 정의에 대해서 알아보았다.
CASE란 무엇일까?
소프트웨어공학을 지원하는 방법론/자동화도구
프로그램을 만들어서 팔려고하는데, 그 프로그램을 짜는 형태를 지원해주는 노하우나 프로그램
S/W개발 방법론 + 자동화 도구
ex) 세탁기를 그냥 놔두면 안되고 뭔가를 눌러야 내가 원하는것이 작동되는것처럼 운영되는 프로그램
- 상위부
원하는 결과를 얻기 위한 명령 입력 부분
- 중위부
입력된 결과를 처리하는 부분으로 데이터베이스의 통계적 정보를 의뢰한다.
- 후위부
처리된 결과를 출력하는 부분
- 다중정보
다양한 정보를 체계적으로 저장하고 있는 데이터베이스의 부분이다.
case의 특징
- 소프트웨어 개발 과정의 일부 또는 전체를 자동화하기 위한 도구이다.
- 소프트웨어 모듈의 재사용성이 향상된다.
- 표준화된 개발 환경 구축 및 문서 자동화 기능을 제공한다.
- 자동화된 기법을 통해 소프트웨어 품질이 향상된다.
- 작업 과정 및 데이터 공유를 통해 작업자간 커뮤니케이션을 증대한다.
- 소프트웨어 유지보수를 간편하게 수행할 수 있다.
- 소프트웨어 개발 과정에서 사용되는 요구분석, 설계, 구현, 검사, 디버깅 과정 전체 또는 일부를 컴퓨터와 전용의 소프트웨어 도구를 사용하여 자동화하는 것이다.
CASE의 주요 기능
- 그래픽 지원
- 소프트웨어 생명주기 전 단계의 연결
- 다양한 소프트웨어 개발 모형 지원
- 모델들 사이의 모순검사
- 오류검증
- 자료흐름도 등 다이어그램 작성
- 시스템 문서화 및 명세화를 위한 그래픽 지원
CASE의 원천 기술
- 자동프로그래밍 기술
- 분산 처리 기술
- 구조적 기법
- 프로토타이핑 기술
- 정보 저장소 기술
- 일괄처리 기술
CASE 도구의 분류
1) 상위 CASE 도구 : 요구분석, 설계 단계를 지원
- 모델들 사이의 모순 검사 기능
- 모델의 오류검증 기능,
- 자료 흐름도 작성 기능
2) 하위 CASE 도구 : 코드를 작성하고 테스트하며 문서화하는 과정 지원
- 시스템 명세서
- 전체 소스코드 생성 기능
CASE의 종류
- 비용 측정 도구
SLIM(Putnam 모형의 근거)
- 요구 분석용 도구
PSL/PSA, SREM, SYSREM
- 설계 도구
DARTS, StateMATE, SSD, STP, ARTFIX
- 통합 도구
TAGS, PROMOD