2010. 5. 9. 22:57
CASE(Computer-Aided Software Engineering)
CASE의 정의
l SDLC의 전체 과정을 연계시키고, 자동화하고, 통합시키는 소프트웨어 공학을 컴퓨터를 사용하여 실현
l 수많은 소프트웨어 요소들과 사람들이 관련된 크고 복잡한 프로젝트에서, 소프트웨어의 개발을 구조화하고 제어하는데 있어 컴퓨터의 지원을 받는 방법
CASE의 필요성
l 소프트웨어 개발 전 단계에 걸친 표준을 자동화된 내부 통제기능으로 관리 필요성 대두
l 사용자의 참여도 증가를 관리하기 위한 요구사항에 대한 신속한 변경 관리의 실행
l 표준화된 소프트웨어 모듈을 재사용하는 방안과 자동코드 생성으로 생산성 증대
l 문서관리 용이성과 시스템 수정과 유지보수를 간결하게 향상 시키기 위한 방안
CASE 개념의 변천사
컴퓨터 회사들이 하드웨어 제작 과정으로부터 아이디어를 빌려오기 시작한 1970년대에 생기기 시작하였으며, 그것을 소프트웨어 개발에 적용하였다.
연대 |
CASE |
정보기술 |
80년대 초 |
- Computer-Aided Documentation
- Computer-Aided Diagramming
- Analysis And Design Tools |
- 4GL 등장
- 프로토타이핑 개념 |
80년대 중반 |
- Automatic Design Analysis And Checking
- Automatic system Information Repository |
- 통합 프로젝트관리 환경
- 정보공학
- 정보저장소 |
80년대 말 |
- Automatic Code Generation From Design Spec
- Linking Design Automation And Program Automation |
- 객체지향
- 코드생성기
- Integrated Case |
90년대 이후 |
- Intelligent Methodology Driver
- Habitable User Interface
- Reusable As A Development Methodology |
- 인터넷 환경
- Intelligent Case |
CASE의 적용범위
- 소프트웨어 개발 프로세스의 전체 과정을 지원하는 도구
- 도구들 간의 정보 전송이 자연스러움
- 소프트웨어 형상 관리나 품질 보증과 같은 지원 활동 소요비용 절감
- 프로젝트 계획이나 제어를 효율적으로 수행할 수 있음
- 프로젝트 팀원들 간의 팀웍을 잘 이루어갈 수 있음 |
통
합
C
A
S
E |
프로젝트
계획수립 |
상위
CASE |
- 높은 생산성 향상
- 분석, 설계 자료의 효율적인 관리 및 재사용
- 적합한 도구의 선택과 교육이 중요
- 일관성 검증(산출물의 구성과 구성요소에 대한 확인) |
요구분석 | ||||
기본설계 | ||||
자료설계 | ||||
코딩 |
하위
CASE |
- 소프트웨어 생명주기의 나중 단계를 지원
- 프로그래밍 지원도구(컴파일러, 링커, 로더 , 디버거)
- 비주얼 프로그래밍 도구 | ||
테스트 |
CASE 도입 시 고려사항
1. CASE 도입의 목적 명확화
n CASE를 도입하여 해결해야 하는 업무영역에 대한 명확한 정의를 선행해서 도입목적을 명확히 해야 함
n 도입의 목적이 불분명한 경우에는 도입 전과 도입 이후의 효과에 대한 측정방법 부재
2. 시스템 개발에 적용할 방법론을 고려
n 프로젝트를 추진 시에는 적용해야 하는 개발방법론에 따라 CASE를 선정
n 사용하고자 하는 방법론을 지원하는 CASE를 선정해야 프로젝트 진행이 원활
3. 조직 및 구성원에 대한 고려
n CASE 적용에 필요한 인적 수준에 대한 고려가 필요함
n CASE 사용에 필요한 교육시간, 프로젝트 종료 후 인원에 대한 재배치 등의 사항 고려
CASE의 문제점 개선
1. 소프트웨어 개발의 모든 단계가 보다 자연스럽고 완성도 있게 통합될 수 있도록 진행
2. 여러 IT 기술이 통합되는 지능형(Intelligent) CASE로 발전됨
3. 사용하기 편하고 가벼운 개념의 CASE가 주류
4. 값싼 CASE 도구 위주로 발전
CASE의 기술적 방향
1. 정보 저장소의 통합
n 정보 저장소의기능 통합 : 데이터 통합, 정보 공유, 데이터 툴 통합, 데이터 간 통합, 방법론 강제 시행, 문서의 표준화 측면에서 통합 추진
n 정보 저장소 구현 위한 표준의 준수
2. 정보시스템 페러다임과 융화
n 소프트웨어 재사용을 해결하기 위한 방법론인 객체지향 방법론과 CBD 방법론을 지원
n 소프트웨어 품질과 생산성을 향상하기 위해서 개발방법론과 관리방법론이 통합된 CASE
n 좀더 지능화된 Tool로 진화하여 개발절차를 좀더 자동화하여 개발자 중심에서 사용자 중심의 기능으로 개선