일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Trap
- stride
- AINCAA
- 운영체제
- SJF
- SDLC
- unity
- protection
- 유스케이스
- OWASP
- STCF
- MAC
- frequency-domain spectrum analysis
- 유니티
- Waterfall
- 컴퓨터 네트워크
- polymorphism
- Security
- 메카님
- Unity #Indie Game
- link layer
- MLFQ
- FIFO
- information hiding
- 게임 개발
- DSP
- 게임개발
- 배경 그림
- OSI 7계층
- DP
- Today
- Total
다양한 기록
분석 클래스 모델의 작성 본문
개념 클래스 다이어그램 : 엔티티(수동적인 클래스)만 가짐
분석 클래스 다이어그램 : 제어 + 경계 + 엔티티 클래스 다 가짐
설계 클래스 다이어그램 : 클래스의 속성, 연산, 관계를 나타낸 세부적인 형태
분석 클래스 모델의 작성
- 유스케이스 명세서를 바탕으로 분석 수준의 클래스 모델 작성
- 비기능적 요구사항은 고려하지 않고 기능적 요구사항만 고려
- 운영체제, 미들웨어, 프레임워크 등의 플랫폼을 고려하지 않음
분석 클래스들은 그 역할에 따라 분류
경계 클래스 (boundary class)
- 시스템과 외부 액터와의 상호작용을 전담하는 클래스
- 시스템의 기능 중에서 입력과 출력만을 전담하는 클래스
제어 클래스 (control class)
- 시스템이 실제로 제공하는 비즈니스 로직 및 제어 로직을 전담하는 클래스
엔티티 클래스 (entity class)
- 시스템이 유지해야 하는 영속적인 데이터를 관리하는 기능을 전담하는 클래스
- 영속적인 데이터는 시스템이 종료되어도 그 값이 유지되어야 하는 데이터를 말하며 파일 또는 데이터베이스 등으로 구현
경계 클래스 간의 관계
화면1에서 화면2로 전환됨 사용자는 더이상 화면1을 볼 수 없음 |
|
화면2가 화면1의 한 부분임 | |
화면1 상에서 화면2가 팝업창으로 표시됨 즉, 화면 1도 출력되고 있음 그러나 화면2가 닫히기 전에는 화면1 사용 불가 |
제어 클래스 간의 관계
보조제어클래스가 주제어 클래스의 모든 연산에서 사용된다 | |
보조제어클래스가 주제어클래스의 특정한 연산 속에서만 사용된다 | |
보조제어 클래스가 주제어 클래스 이외의 다른 클래스에서도 사용된다 |
엔티티 클래스 간의 관계는 영속적인 데이터 간의 관계 표현
액터와의 상호작용은 경계 클래스만이 제공해야 함
유스케이스의 비즈니스/제어 로직을 위한 제어 클래스를 정의해야 함
영속적인 데이터 관리를 위한 엔티티 클래스를 정의해야 함
경계 클래스는 비즈니스/제어 로직의 수행 요청을 위해 제어 클래스와 관계를 맺어야 함
제어 클래스는 반드시 하나 이상의 경계 클래스에 의해 이용되어야 함
- 직접적인 이용
- 간접적인 이용
엔티티 클래스는 반드시 하나 이상의 제어 클래스에 의해 이용되어야 함
사용자가 인지할 수 있는 각 화면 별로 UI 클래스 정의
사용자 화면의 구성은 UI 클래스 간의 관계로 표현
유스케이스마다 별도의 제어 클래스 정의
복잡한 유스케이스는 보조 제어 클래스 사용
관련된 여러 유스케이스에 대하여 하나의 제어 클래스 정의 가능
유스케이스 시나리오를 바탕으로 엔티티 클래스 도출
검토 기준
경계 클래스 | 경계 클래스는 액터와의 상호작용을 제공하는 클래스이다 |
액터와의 상호작용을 위한 경계 클래스가 정의되어야 한다 | |
액터와의 상호작용은 경계 클래스만이 제공해야 한다 | |
제어 클래스 | 제어 클래스는 유스케이스의 비즈니스/제어 로직을 제공하는 클래스이다 |
유스케이스의 비즈니스/제어 로직을 위한 제어 클래스가 정의되어 있어야 한다 | |
엔티티 클래스 | 엔티티 클래스는 영속적인 정보의 관리 기능을 제공하는 클래스이다 |
영속적인 데이터 관리를 위한 엔티티 클래스가 정의되어야 한다 |
분석 클래스 간의 관계 | 분석 클래스 간의 관계는 유스케이스 실현을 위한 클래스 간의 관계를 표현한다 |
UI 클래스 간의 관계는 사용자 인터페이스 화면 간의 관계를 표현한다 | |
제어 클래스 간의 관계는 비즈니스/제어 로직 간의 관계를 표현한다 | |
엔티티 클래스 간의 관계는 영속적인 데이터 간의 관계를 표현한다 | |
분석 클래스 간의 협력을 위하여 분석 클래스 간의 관계가 정의되어야 한다 | |
UI 클래스는 비즈니스/제어 로직의 수행 요청을 위해서 하나 이상의 제어 클래스와 관계를 맺어야 한다 | |
제어 클래스는 반드시 하나 이상의 경계 클래스에 의해서 이용되어야 한다 | |
엔티티 클래스는 반드시 하나 이상의 제어 클래스에 의해서 이용되어야 한다 |
1. 액터와 제어 사이에 경계가 끼어야 함
2. 경계와 엔티티 사이에 제어가 끼어야 함
'소프트웨어공학' 카테고리의 다른 글
Generic Software Process Models (Life Cycle Models) (0) | 2024.10.26 |
---|---|
Process in Software Engineering (0) | 2024.10.26 |
클래스 다이어그램 (0) | 2024.10.26 |
분석 단계 개요 (0) | 2024.10.26 |
유스케이스의 조직화 (0) | 2024.10.26 |