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