Posts List

Translate

2014년 3월 3일 월요일

[DAP, DAsP] 정보 요구 사항 분석, 유즈케이스 다이아그램, 클래스 다이아그램

-- 프로세스 관점의 정보 요구 상세화 --

계층도는 높은 응집도(Cohesion) 및 낮은 결합도(Coupling)를 유지하도록 모듈성을 확보하는 것이 중요
분석의 복잡도와 모호성이 감소되고 분석의 집중력이 향상되어 프로젝트 관리 및 프로세스 유지보수가 용이
프로세스 분해 및 상세화에서 도출한 기본 프로세스별로 등록(C), 조회(R), 변경(U), 삭제(D) 기능을 구분하여 기술

정보 유형별 및 정보 항목별로 전사 관점에서의 통합/분리여부를 검토한다.

-- 분석대상 정의 --

분석 대상 자료

현행 업무를 파악하여 필요한 정보 요구 사항을 도출하기 위해 필요한 관련 자료를 확보하여야 하며, 이에 해당되는 업무 자료는 다음과 같은 자료를 활용한다.

현행 업무 흐름도
현행 업무 설명서
현행 업무 분장 기술서

분석 대상 현행 시스템 관련 자료

현행 시스템과 관련된 문서를 조사 및 수집하고 이를 현행 시스템 수집 문서 목록에 정리한다. 현행 시스템 관련 수집 대상 문서는 다음과 같다.

현행 시스템 구성도
현행 시스템의 분석, 설계 및 개발 보고서
화면, 장표 및 보고서 레이아웃
현행 시스템 테이블 목록 및 테이블 정의서
프로그램 목록
사용자 및 운영자 지침서
시스템 지원 및 유지보수 이력
시스템 개선 요구 사항 등

-- 정보 요구 사항 상세화 -- 

비기능적 정보 요구 사항

시스템이 만족시켜야 하는 제약 조건(기술적 제약 조건, H/W, S/W와 관련된 제약 조건)
시스템이 반드시 만족시켜야 하는 주요 성능 척도(반응 시간, 저장 능력, 동시 처리 능력)
신뢰성, 확장성, 이식성, 보안


유즈케이스 다이어그램

액터(Actor)

정보시스템과 상호작용하는 개인, 그룹, 회사, 조직, 장비 등 정보 서비스를 받는 객체를 말한다.
엑터의 이름은 명확하게 액터의 역할을 나타내는 이름으로 정의한다.

유즈케이스(Usecase)          Extend,  Include,  Communicates

도출된 액터별로 개발 시스템에서 제공해야 하는 기능을 나타낸다.
사건 흐름에 대한 개요을 간략하게 기술한다.
액터(Actor)와 유즈케이스 간의 관계

- 확장(Extend) : 하나의 유즈케이스가 다른 유즈케이스의 행동을 추가함에 따라 나타나는 두 유즈케이스의 관계하나의 유즈케이스가 다른 유즈케이스를 경우에 따라 선택적으로 수행되는 경우에 사용된다.
- 포함(Include) : 하나의 유즈케이스가 다른 유즈케이스를 사용함을 나타내는 두 유즈케이스의 관계를 말한다. 하나의 유즈케이스가 다른 유즈케이스를 반드시 수행하는 경우에 사용된다.
- Communicates : 행위자가 어떤 유즈케이스에 참가함을 나타낸다. 이것은 행위자와 유즈케이스 사이의 유일한 관계이다.

[그림 3-3-10] 유즈케이스 다이어그램

유즈케이스 상세화

유즈케이스의 사건 흐름을 구조화하는 작업으로 모든 선택 또는 대안 흐름을 기술
유즈케이스의 특별 정보 요구 사항을 정의
유즈케이스에는 관련이 있지만 사건 흐름에는 고려되지 않는 정보 요구 사항을 유즈케이스의 특별 요구 사항으로 정의, 이러한 특별한 정보 요구 사항은 비기능적인 정보 요구 사항으로 기술한다. 
사건 흐름을 기술할 때 정상적인 흐름에 대해 먼저 기술한 후 예외사항에 대한 사건흐름을 기술한다.

- 유즈케이스에 대한 개략적인 설명
- 사건 흐름(Flow or Event)
- 사전, 사후 조건
- 비기능적인 정보 요구 사항
- 주된 사건 흐름에 대체될 수 있는 대안 흐름
- 예외 처리 사항

클래스 다이어그램 작성

1) 엔터티 클래스 도출

유즈케이스 모형을 검토하여 문제 영역 내의 개념을 나타내 엔터티 클래스를 도출하여 정의
식별된 클래스에 이름을 부여하고, 간략한 설명을 기술
클래스 이름은 간결하고 업무적 의미를 함축한 단수형 명사로 부여하며, 은어 및 약어 사용은 배제

- 유즈케이스 다이어그램을 조사하여 명사 및 명사구를 후보 객체로 선정
- 의미가 모호한 것은 제거
- 이음동의어 및 동음이의어를 고려하여 선정
- 문제 영역과 관련이 없는 것은 제거
- 유사한 구조와 행위를 가진 객체들을 클래스로 그룹핑

2) 관계 도출 및 클래스 도출

관계란 의미있고 관심있는 연결을 나타내는 클래스간의 관계
클래스간의 집단화 관계를 식별하고 명명
집단화 관계란 전체적인 클래스와 부분적인 클래스의 포함 관계를 표현

3) 속성 정의


속성이란 클래스가 나타내는 객체의 특성을 의미
유즈케이스 다이어그램을 검토하여 클래스를 구성하는 속성을 도출
속성에 대한 이름을 부여하고 간략한 설명을 기술
속성의 이음은 성을 가지고 있는 정보를 명확하게 지정하는 명사로 한다.

댓글 없음 :

댓글 쓰기