CASE

UP!/Software Engineering 2008. 8. 21. 13:59
20 CASE
CASE(Computer Aided Software Engineering)란
- 소프트웨어 수명주기 전 단계에서 사용되는 개발도구와 방법론을 이용하여 시스템 개발자들이 수작업으로 진행하고 있는 분석,
  설계, 구현, 유지보수 과정을 자동화하거나 개발을 지원하도록 하는 시스템을 의미
- 소프트웨어 개발자동화를 지원하는 도구
- 정보 시스템 개발조직의 표준화 지원
- 소프트웨어 공학과정에서 필요로 하는 모든 도구들
 
1  CASE의 출현배경
 1. 소프트웨어의 위기
 2. 신기료 증후군(shoe-maker's syndrome)
 3. 시스템 복잡도 증가 및 의사소통의 어려움 증가
2  CASE의 기능
(1) 체계적인 시스템 기술(記術)능력
(2) 분석기능
(3) 소프트웨어 수명주기 통합․지원
(4) 정보저장 기능
(5) 시스템 구조(system architecture)를 표현하는 기능
 
3  CASE의 분류
3.1  생명주기에 따른 분류
 (1) 상위 CASE:
      ① 기능:
          기능 모형, 분해도, 자료흐름도, 개체관계도, 액션 다이어그램, 프로세스 명세서, 화면 설계, 보고서작성, 자료구조도 등을 작성
      ② CASE 상품예:
          SA, XL, Silverrun, OpenSelect, ER-Win, S-Designer, Bachman, PC-Prism, ISP, Excelerator 등
 (2) 하위 CASE:
      ① 기능:
          데이터베이스의 스키마 생성, 코드생성, 스키마 생성이나 코딩, 문서작성
      ② CASE 상품예:
          Telon, Corvision, Esprit, Yesman, SQL/Windows, Power Builder 등
 (3) 통합 CASE:
      ① 기능: 개발 단계의 전 공정 지원
      ② CASE 상품예: System Architect, Teamwork, ADW, IEF(Information Engineering Facility), PRIDE, Foundation,
                             CASE*Dictionary CASE*Designer, CASE* Generator, Promod, VAXset/DECdesign 등
 
통합 CASE가 가져야할 기능
① 공통된 자료 관리나 공통된 도구접근방법
② 객체 관리 시스템 구축
③ 인터페이스는 일관성 있게 제공
④ 도구들을 제어하는 기법, 기교 구비
 
3.2  기능에 따른 분류
① 개발일정과 자원을 관리하는 프로젝트 관리용
② 실제로 산출물을 생산하는 개발지원용
③ 정보자원의 통합 및 변경사항을 지원하는 정보저장소 (repository) 관리용
④ 프로젝트 관리 및 개발지원을 통합한 체계의 방법론 지원용
 
(1) 프로젝트 관리기능
① 업무 시스템 계획도구(business system planning tool):
② 프로젝트 관리도구(project management tool):
    ․프로젝트 계획도구
    ․요구사항 추적도구
    ․매트릭스와 관리도구
 
(2) 개발지원 도구
① 분석 및 설계도구
② 프로그래밍 도구
③ 지원도구
 
(3) 정보저장소 도구(database or repository)
① 개방된 정보저장소로서 다른 정보저장소와 데이터를 주고받아야 한다.
② 객체나 프로젝트간의 변경 관리기능을 가져야 한다.
③ 보안 관리기능을 가져야 한다.
④ 필요한 때, 필요한 형태의 유틸리티를 사용자가 개발, 사용할 수 있어 야 한다.
(4) 통합환경이나 방법론 지원도구
① 프레임워크 도구: CASE 도구들의 통합 처리능력 제공
 
3.3  지원범위에 따른 분류
① CASE Tool
② CASE Tool Kit
③ CASE Workbench
④ CASE Methodology Companion
 
3.4  통합 정도에 따른 분류
① 단위(stand-alone) CASE
② 통합(file-based integration) CASE
 
3.5  시스템 유형별 분류
① 메인 프레임 기준의 CASE
② UNIX 기준의 CASE
③ PC 기준의 CASE
 
3.6  규모와 가격으로 분류
① 대규모 CASE
② 소형 CASE
 
4  CASE 활용의 장단점
(1) 장점
∙빠르고 정확하게
∙일관성 유지
∙개발 생산성과 효율성 제고
① 그래픽을 이용한 다이어그램 작성도구 사용
② 국제표준화기구에서 정보저장소(repository)간의 데이터 전송 표준화를 추구
③ 소프트웨어 품질 향상, 수정 및 변경요구에 신속 대처 가능
④ 자동화된 코드생성에 의해 개발기간 단축
⑤ 문서화가 쉽다
⑥ 업무의 특성에 따라 단위 CASE를 사용하여 부분별 생산 성 향상을 기할 수 있다.
 
(2) 단점
① CASE마다 다른 점들이 있으므로 통합하는 데 어려움이 있다.
② CASE를 과신하는 경우, 도구에만 의존하여 오류발견이 늦을 수 있다.
③ 여러 CASE의 기능을 파악하고 있는 전문인력 확보하기가 어렵다.
④ 사용자 및 담당자의 교육에 많은 시간이 소요되어 개발부담이 가중된다.
 
5  전 망
(1) CASE TOOL의 보편화:
(2) 일반사용자 컴퓨팅:
(3) 지능형 CASE:
(4) 통합 CASE:
 
6  Nolan의 기술발전 6단계
① 조직 내의 시스템 개발환경의 평가작업
② 비전(vision)의 제시
③ 경영진의 지원약속 및 인식확립
④ 개발환경의 선택
 
7  CASE 툴의 선정기준
(1) 개발방법론 지원
(2) 사용자 인터페이스
(3) 데이터 관리기능
(4) 호환성
(5) 통합성

'UP! > Software Engineering' 카테고리의 다른 글

객체지향 분석과 설계  (0) 2008.08.21
문서화  (0) 2008.08.21
소프트웨어 시험전략  (0) 2008.08.21
S/W 시험  (0) 2008.08.21
DB 설계  (0) 2008.08.21
Posted by 으랏차
,