1. Inception
프로젝트 생성
1. Problem Statement
2. Use Case Diagram
3. Flow of Event (scenario)
: 모든 유스케이스에 대해 이벤트 플로우(event flow)를 작성한다.
2. Elaboration
4. Initial Class Diagram
: 시스템 내에 있는 클래스 간 상호작용
▶ Class Stereo Type:
- Entity Class
- Boundary Class
- Control Class
Package Diagram
5. Sequence Diagram
: 유스케이스를 실행하는 기능의 흐름
Communication Diagram
: 시퀀스 다이어그램과 동일한 정보를 보여주지만, 다른 목적을 위해 다른 방식으로 보여준다.
6. Refine Class Diagram
1) Finding Relationships
: Sequence Diagram/Communication Diagram의 메시지 흐름을 통해 relation을 찾을 수 있다.
- Association (연관 관계)
- 패키지 관계
- Aggregation (집합 관계)
- 재귀적 관계
2) Finding Multiplicity(다중성) & Navigation(방향)
- Multiplicity(다중성): Relation에 참여하는 객체의 수를 multiplicity로 추출한다.
- Navigation: 일반적으로 association(연관), aggregation(집합) 관계는 양방향 통신이지만, 특수한 상황의 경우, 단방향으로 제한할 때는 navigation direction으로 표시할 수 있다.
+ 제한 조건(Constraints)
3) Finding Data and Methods
- Operations: 보통, 순서도와 협력도 내의 메시지 흐름이 수신 class의 operation이 된다.
- Attributes: Attribute는 class 정의, 문제 정의서, 일반적인 문제 도메인 관련 지식으로부터 추출한다.
4) Finding Inheritance (상속)
- Generalization (일반화): 여러 class들의 공통된 attribute와 operation을 캡슐화하여, superclass를 정의한다.
- Specialization (특수화): superclass를 세련화할 수 있는 sub-class를 생성한다.
7. Decide Software Architecture
1) Component Diagram: 시스템 내의 컴포넌트들과 그들 간의 관계를 보여준다.
2) Deployment Diagram: 시스템의 물리적인 배치 형태
3. Construction
4. Transition
출처: 이화여자대학교 박지현교수님 소프트웨어공학
'소프트웨어공학' 카테고리의 다른 글
[소프트웨어공학] L9 - Verification, Validation, and Test: Fundamentals of SW Test (0) | 2023.11.13 |
---|---|
[소프트웨어공학] L8 - Model-driven Engineering (0) | 2023.11.13 |
[소프트웨어공학] L7 - Object Oriented Development Process Using UML (0) | 2023.11.12 |
[소프트웨어공학] L6 - Software & System Modeling UML (0) | 2023.11.12 |
[소프트웨어공학] L5 - Architectural Design (0) | 2023.11.05 |