[소프트웨어공학] CASE란?

[소프트웨어공학] CASE란?

소프트웨어공학을 지원하는 방법론/자동화도구
프로그램을 만들어서 팔려고하는데, 그 프로그램을 짜는 형태를 지원해주는 노하우나 프로그램

S/W개발 방법론 + 자동화 도구
ex) 세탁기를 그냥 놔두면 안되고 뭔가를 눌러야 내가 원하는것이 작동되는것처럼 운영되는 프로그램



Computer Aided Soft Engineering

소프트웨어를 개발하는 시점부터 요구 분석, 설계, 개발, 유지 보수에 이르기까지 소프트웨어의 생명 주기 전반을 지원하는 프로그램 또는 소프트웨어 개발을 지원하는 자동화 도구 혹은 방법론의 결합

특징

  • CASE의 툴(Tool)은 가격은 비싸지만 개발 비용은 절감된다.
    • CASE를 도입하므로써 프로그램 개발 비용이 절감된다.
  • CASE는 스스로 동작하는 것이 아니므로 분석가의 지원이 필요하다.
    • 데이터가 있어서 자동으로 되는것이 아니라 명령어나 문법이 필요하다
      • ex) 엑셀처럼 
  • 수정이 용이하며 정확하다
    • ex) 주인공의 이름을 소똥에서 말똥으로 바꾼다.
  • 개발을 신속하게 할 수 있어 개발 기간이 단축된다.
    • ex) 원고를 이용하는것보다 워드 프로세서를 이용하면 빠르다.
  • 생산성이 좋아진다.
  • 재사용성이 높아진다.
    • ex) 이력서를 하나하나 쓰는것보다는 컴퓨터에서 복사하면 편함
  • 자동화된 검사를 통해 품질이 향상된다.
  • CASE 툴(Tool)간의 호환성이 없다.
    • ex) MS word에서 만든 문서를 아래 한글로 호환성
    • CASE 툴이 별로 없기 때문에 굳이 호환성 만들 필요가 없다.


CASE의 분류

상위(Upper) CASE
  • 요구 분석과 설계를 지원한다.

하위(Lower) CASE
  • 코드 작성(구현), 검사(테스트)를 지원한다.

통합(Total) CASE
  • 개발 주기 전 과정을 지원한다.


CASE의 4가지 구성 요소


상위부
  • 원하는 결과를 얻기 위한 명령 입력 부분
중위부
  • 입력된 결과를 처리하는 부분으로 데이터베이스의 통계적 정보를 의뢰한다.
후위부
  • 처리된 결과를 출력하는 부분
다중정보
  • 다양한 정보를 체계적으로 저장하고 있는 데이터베이스의 부분이다.


CASE의 종류

  • 비용 측정 도구 
    • SLIM(Putnam 모형의 근거)
  • 요구 분석용 도구
    • PSL/PSA, SREM, SYSREM
  • 설계 도구
    • DARTS, StateMATE, SSD, STP, ARTFIX
  • 통합 도구
    • TAGS, PROMOD

댓글

댓글 쓰기

이 블로그의 인기 게시물

[Python] # -*- coding: utf-8 -*-를 쓰는 이유

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?