기본개념, 원칙, 실용지침에 대해 알아보자.
목표
1) 각 유스케이스에 대한 명세서를 바탕으로 분석 수준의 클래스 모델을 작성하는 것을 목표로 한다
2) 성능, 신뢰도, 안전성 등의 비기능적 요구사항은 고려되지 않고 기능적 요구사항만을 고려한다.
3) 시스템이 동작될 운영체제, 미들웨어, 프레임웍 등의 플랫폼이 고려되지 않는다.
★ 분석 클래스 모델
분석 클래스 모델을 구성하는 분석 클래스들은 그 역할에 따라서 분류됨
경계 클래스(boundary class)
시스템과 외부 액터와의 상호작용을 전담하는 클래스이다
시스템의 기능 중에서 입력과 출력만을 전담하는 클래스이다
제어 클래스(control class)
시스템이 실제로 제공하는 비즈니스 로직 및 제어 로직을 전담하는 클래스이다.
엔티티 클래스(entity class)
시스템이 유지해야 하는 persistent 데이터를 관리하는 기능을 전담하는 클래스이다.
Persistent 데이터는 시스템이 종료되어도 그 값이 유지되어야 하는 데이터를 말하며 파일 또는 데이터베이스 등으로 구현된다
1. 클래스는 시스템을 구성하는 실체로서 외부 입력으로부터 출력을 산출하는 실질적인 기능을 제공한다.
2. 시스템의 기능은 경계 클래스, 제어 클래스, 엔티티 클래스를 통하여 제공된다.
★ 분석 클래스의 표현법
1) 경계 클래스
액터와의 상호작용을 제공하는 클래스이다.
ex)
Tip.about UI Class
UI 클래스는 사용자와의 인터페이스를 위한 각 화면에 해당된다.
UI 클래스 간의 관계는 사용자 인터페이스 화면 간의 관계를 표현한다.
2) 제어 클래스
유스케이스의 비즈니스/제어 로직을 제공한다.
경계 클래스를 통하여 입력 받은 값을 정의된 요구사항에 따라서 적절한 출력 값을 산출하는 기능을
제공한다.
ex)
Tip. 제어 클래스 간의 관계 요약
3) 엔티티 클래스
- 분석 단계에서는 영속적인 데이터를 도출하여 엔티티 클래스로 표현한다.
- 엔티티 클래스는 영속적인 정보의 관리 기능을 제공하는 클래스이다.
ex)
★ 여러 화면 사이에 공유되는 정보는 세션 클래스로서 표현한다.
★ UI 클래스 및 관계는 유스케이스 시나리오를 바탕으로 분석하도록 한다
★ 시스템 액터 별로 SI 클래스를 정의한다
★ UI 클래스를 상세화
- 속성
'Study > Education' 카테고리의 다른 글
[소프트웨어 공학] 3. 소프트웨어 개발 프로세스 개요 (2) | 2012.09.18 |
---|---|
[소프트웨어 공학] 2. 소프트웨어 공학의 개요 (2) | 2012.09.17 |
분석/설계/모델링 교육2일차(유즈케이스) (0) | 2012.09.14 |
분석/설계/모델링 교육 2일차(모델링) (0) | 2012.09.14 |
분석/설계/모델링 교육 1일차(모델링) (0) | 2012.09.13 |