2021. 4. 22. 10:55
- 이 단계에서는 소프트웨어 아키텍처가 상세하게 설계된다.
- 입력은 OOA 프로세스에서 나온다.
- OOA와 OOD는 병렬적으로 서로 지원할 수 있다.
- 실제 구현 단계보다 시간이 더 많이 소요되는 경우가 많다.
- 우수한 설계로 구현 및 테스트 소요 시간 단축시킨다.
- 가능한 출력
- 업데이트된 class diagram
- Sequence diagram
- Activity diagram
- 객체 간 인터페이스
- 알고리즘 등에 관한 문서
- 데이터베이스 설계(예: entity-relationship diagram)
- 사용자 인터페이스 설계
- 보안 기능 설계
- 시스템 아키텍처 및 기능을 설명하는 다른 UML 다이어그램
From what to how
- OOA에서는 시스템이 수행해야 하는 작업을 정의한다.
- OOD에서는 시스템의 작동 방식을 정의한다.
- 즉, 프로그래머가 시스템을 구현하는 방법
- 소프트웨어 작성 방식에 대한 상세 구조를 명시한다.
OO Design steps
- 1단계 : use cases 분석
- 2단계: 각 사용 사례에 대한 activity diagrams작성
- 3단계: sequence diagrams 생성
- 4단계: 1-3에 따라 class diagram(s)을 업데이트한다.
- 5단계: 필요한 경우 state diagrams을 업데이트한다.
- 6단계: 반복된다. 위의 각 단계마다 업데이트해야 하는 다른 모델에 대한 정보가 표시된다. 예를 들어 시퀀스 다이어그램의 개체에 지정된 서비스는 클래스 다이어그램의 해당 개체의 클래스에 추가해야 한다.
Activity diagrams
- use cases의 activity 흐름을 나타낸다.
- activity = 시스템의 작동
- 흐름은 다음과 같을 수 있다.
- 순차적
- 분기(다른 경우)
- 동시(여러 스레드/프로세스)
- 시스템에서 보낸 메시지를 표시하지 않다(시퀀스 다이어그램 참조).
- 활동 다이어그램은 OOA 중에 작성한 후 OOD 중에 업데이트할 수 있다.
Syntax
- Action or Activity
- 액션 또는 액션 집합을 나타낸다.
- Control Flow
- 실행 순서를 표시한다.
- Initial Node
- 일련의 행동의 시작을 의미한다.
- Final Node
- 활동의 모든 흐름 중지를 의미한다.
- Decision Node
- 테스트 조건을 표시한다.
Sequence diagram
- use cases에서 object 간의 상호 작용을 설명한다.
- 일련의 메소드는 시간 순서대로 호출된다.
- 객체 간에 전달되는 메시지/데이터(파라미터, 반환 값)
- 관련 물체의 라이프라인
- 물체가 함께 작동하는 방식과 필요할 때 시각화하는 데 적합하다.
- 외부 시스템/개체 포함 가능
Syntax
Updating class diagram
- 다른 도표를 기준으로 클래스 다이어그램의 구조가 업데이트된다.
- 매개 변수 및 반환 값을 포함하여 방법을 상세하게 정의한다.
- 시스템 아키텍처 향상을 위해 다양한 설계 패턴 및 설계 원칙(다음 강의)을 적용할 수 있다.
- 마지막에는 최종 클래스 다이어그램을 사용하여 골격 클래스를 생성할 수 있다.
'학부 > 소프트웨어 엔지니어링' 카테고리의 다른 글
6. Design Patterns 2 | Observer, Command and Decorator (0) | 2021.04.22 |
---|---|
5. Design Patter 1 | Strategy, Singleton, Adapter and Facade (0) | 2021.04.22 |
3. Object-Oriented Analysis(OOA) (0) | 2021.04.22 |
2. Game Development Roles And Process (0) | 2021.04.21 |
1.3. Software Development Proces | Scrum (0) | 2021.04.21 |