TIl. 148 CASE 란 무엇인가?

조윤식·2022년 9월 19일
0

1. CASE의 정의

Computer Aided Software Engineering
(컴퓨터 지원 소프트웨어 공학)

시스템 개발 방법론들의 자동화를 지원하는 소프트웨어 도구를 제공하여 반복 작업을 줄이고 문서 작성과 개발팀 간 협업을 도우며,
PC 기반에서 운영된다.

2. CASE의 개념

자동화 도구와 방법론 모두를 지칭한다

요구분석, 설계, 개발, 유지보수 전반을 지원한다
개발 도구와 방법론이 결합된 것이다
통합된 자동화 도구를 제공해주는 기술이다
표준화된 개발 환경 구축 및 문서 자동화 기능을 제공한다

자동화된 일관성 분석을 제공하는 CASE 도구를 사용할 수 있다
모든 단계에 걸쳐 일관된 방법론을 지원한다
정형회된 구조 및 방법으로 생산성 향상을 구현하는 공학기법이다

작업 과정 및 데이터를 공유해 커뮤니케이션을 증대한다
분산된 환경에서 다양한 이해 관계자가 공동 작업을 할 수 있다
대규모 시스템 구축 업무를 효율적으로 수행할 수 있다
객체 지향 시스템뿐만 아니라 구조적 시스템 구축에도 사용된다

테스트 연계 및 결함 관리의 기능을 제공한다
요구사항 명세서를 검토하고 형상 관리를 할 수 있다

3. CASE의 구성 요소

상위부

원하는 결과를 얻기 위한 명령 입력 부분이다

중위부

입력된 결과를 처리하는 부분이다
데이터베이스의 통계적 정보를 의뢰한다

후위부

처리된 결과를 출력하느 부분이다
데이터베이스

다양한 정보를 체계적으로 제공하는 데이터베이스 부분이다

4. CASE의 특징

소프트웨어 생명주기의 전 단계를 연결한다

CASE의 툴(Tool)은 비싸다
하지만 소프트웨어를 개발할 수 있는 기간이나 인력을 줄일수 있어
전체 개발 비용은 감소한다

CASE는 스스로 동작하는 것이 아니므로 분석가의 지원이 필요하다

CASE의 툴(Tool)간의 호환성이 없다

컴파일러나 인터프리터 같은 언어 번역 프로그램은 지원하지 않는다

5. CASE의 주요 기능

소프트웨어 생명 주기 전 단계의 연결
다양한 소프트웨어 개발 모형 및 그래픽 지원

6. CASE의 분류

상위(Upper) CASE
문제를 기술하고 계획하며 요구 분석과 설계 단계를 지원한다
하위(Lower) CASE
코드의 작성과 테스트, 문서화 과정을 지원한다
통합(Total) CASE
소프트웨어 생명 주기에 포함되는 전체 과정을 지원한다

7. CASE 사용의 이점

소프트웨어 개발 기간 단축 및 비용 절감

개발자들이 반복적인 업무에서 벗어날 수 있다
개발을 신속하게 할 수 있어 개발 기간이 단축된다
모든 것이 그림으로 표현 되어 있어 정보 공유가 쉽다
생산성 및 재사용성 향상

구조적인 것들을 그대로 활용할 수 있다
소프트웨어의 점진적 개발이 가능하다
프로토타입이나 프로그램의 개발 및 유지 보수가 용이하다
개발 주기의 표준화

요구 정보를 추출하고 분석하는 것을 도와준다
요구사항 변경 사항을 추적하고 분석 및 관리할 수 있다
표준 준수 여부를 확인할 수 있다
다양한 소프트웨어 개발 모형을 지원한다
개발 기법의 상용화

그래픽을 지원한다
분산된 환경에서 다양한 이해관계자가 공동 작업 할 수 있다
시스템 구축 업무를 효율적으로 수행할 수 있다
품질 향상 및 유지보수 용이

수정이 용이하며 정확화다
자동화된 검사를 통해 품질이 향상된다
테스트 연계 및 결함 관리 등의 기능을 제공한다
프로그램의 유지보수가 간편하다

profile
Slow and steady wins the race

0개의 댓글