요구사항 관리 도구 세트는 CASE(Computer Aided Software Engineering)의 뜻과 함께 분석 기법을 구분하는 문제다. CASE가 개발 자동화 도구라는 점, 자료흐름도·상태 다이어그램이 어느 모델링에 속하는지, 럼바우 기법과 Coad와 Yourdon 방법의 절차가 중심이다.
CASE는 소프트웨어 개발 과정을 자동화하거나 지원해 생산성을 높이는 도구와 방법론을 말한다. 개발 도구와 개발 방법론이 결합된 개념으로, 시스템 개발의 일부 또는 전체를 자동화하는 것이 핵심이다. 정형화된 구조와 메커니즘을 적용해 공학적 접근으로 소프트웨어 품질과 생산성을 높이는 기법이기도 하다. 명세화·설계·코딩·테스트 같은 여러 단계를 돕는 그래픽 도구와 자동화 프로그램, 문서화 및 다이어그램 작성 기능이 여기에 포함된다.
럼바우(Rumbaugh) 객체지향 분석 기법은 객체 모델링, 동적 모델링, 기능 모델링으로 나뉜다. 이 가운데 자료흐름도(DFD)는 데이터가 어떻게 변환되고 이동하는지, 프로세스들의 처리 과정이 어떻게 흐르는지를 나타내는 기능 모델링에 쓰인다. 동적 모델링에는 객체의 상태 변화를 다루는 상태 다이어그램이 활용된다. 럼바우 기법에 블랙박스 분석 모델링은 포함되지 않는다.
Coad와 Yourdon 방법은 E-R 다이어그램을 사용해 객체의 행위를 모델링한다. 객체 식별, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의, 연산과 메시지 연결 정의의 과정으로 구성된다. UML의 순차 다이어그램은 객체 간의 동적 상호작용을 시간 순서대로 모델링하는 도구이므로 정적 구조를 표현한다고 보면 틀린 설명이 된다.
모델링은 개발 단계부터 유지보수까지 소프트웨어 생명주기 전반에서 활용된다. 특정 단계에만 한정되는 활동이 아니다.
예제
선지 판단은 자료흐름도(DFD)를 럼바우 기법의 기능 모델링으로 연결하는지, 객체의 상태 변화를 다루는 다이어그램을 상태 다이어그램으로 보는지, 객체 식별·구조 식별·주제 정의·속성과 인스턴스 연결 정의·연산과 메시지 연결 정의의 절차를 Coad와 Yourdon 방법으로 짝지었는지, 럼바우 기법에 블랙박스 분석 모델링이 없다고 보는지, 순차 다이어그램을 정적 구조가 아니라 시간 순서의 동적 상호작용으로 읽는지에서 갈린다.
대표 기출 3문항
CASE(Computer Aided Software Engineering)에 대한 설명으로 거리가 먼 것은?
개발도구와 개발 발명품이 결합된 것이다.
시스템 개발과정의 일부 또는 전체를 자동화하는 것이다.
유지보수성을 높이기 위해 기존 소프트웨어를 재구성하고 새로운 기술을 적응시키는 것이다.
정형화된 구조 및 메커니즘을 소프트웨어 개발에 적용하여 소프트웨어 생산성 향상을 구현하는 공학기법이다.
정답과 해설 보기
정답 ③ · CASE에 대한 설명 중 거리가 먼 것을 찾는 문제이다. CASE는 소프트웨어 개발 과정의 일부 또는 전체를 자동화하는 도구와 방법론을 결합한 공학 기법으로, 정형화된 구조와 메커니즘을 개발에 적용하여 생산성을 향상시키는 것이 목적이다.
CASE는 개발 자동화 및 생산성 향상 도구이며, 기존 소프트웨어 재구성은 리엔지니어링의 정의이다.
Rumbaugh의 모델링에서 상태도와 자료흐름도는 각각 어느 모델링과 관련이 있는가?
상태도--기능 모델링, 자료흐름도--동적 모델링
상태도--객체 모델링, 자료흐름도--기능 모델링
상태도--객체 모델링, 자료흐름도--동적 모델링
상태도--동적 모델링, 자료흐름도--기능 모델링
정답과 해설 보기
정답 ④ · 럼바우(Rumbaugh)의 객체지향 모델링 기법은 크게 객체 모델링, 동적 모델링, 기능 모델링으로 구성됩니다. 객체 모델링은 객체 다이어그램(클래스 다이어그램)을 사용하여 시스템의 정적 구조를 파악하고, 동적 모델링은 상태도(State Diagram)를 통해 시간의 흐름에 따른 객체의 동적인 행위와 상태 변화를 나타냅니다.
상태도는 객체의 시간적 변화인 동적 모델링을, 자료흐름도는 처리 흐름인 기능 모델링을 나타낸다.
CASE(Computer Aided Software Engineering)에 관한 설명으로 거리가 먼 것은?
소프트웨어 공학의 여러 작업들을 자동화하는 것이다.
소프트웨어 수명주기의 어느 부분을 지원하느냐에 따라 organic case, semi-detached case, embeded case로 분류할 수 있다.
소프트웨어 시스템의 문서화 및 명세화를 위한 그래픽 기능을 제공한다.
자료흐름도 등의 다이어그램을 쉽게 작성하게 해주는 소프트웨어도 CASE 도구이다.
정답과 해설 보기
정답 ② · CASE에 관한 설명 중 거리가 먼 것을 고르는 문제이다. CASE는 소프트웨어 공학의 분석, 설계, 구현, 테스트 등 여러 작업을 자동화하고 지원하는 도구로서, 문서화와 명세화를 위한 그래픽 기능을 제공하며 자료흐름도 같은 다이어그램 작성을 돕는 소프트웨어도 CASE 도구에 포함된다.