일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 숭실대
- SWIFT
- 애플 아카데미 후기
- react
- Swift 문법
- OS
- 운영체제
- apple developer academy 후기
- 데이터베이스
- 제앱소
- global soop
- 앱 비교 프로젝트
- 애플 디벨로퍼 아카데미 후기
- 치지직
- iOS 개발 오류
- 네이버 부스트캠프
- 애플 디벨로퍼 아카데미
- Apple Developer Academy @ POSTECH
- 네이버 치지직
- ObservedObject
- 소프트웨어분석및설계
- 애플 디벨로퍼 아카데미 21주차 회고
- Swift 디자인패턴
- 데이터베이스 공부
- ObservableObject
- useReducer
- sqoop
- swift문법
- StateObject
- Swift 기능
- Today
- Total
사과하는 제라스
[소프트웨어 분석 및 설계] 3. Use Case Diagram 기능 모델링 본문
Use Case Diagram이란?
: 시스템의 외적으로 보이는 Behavior들을 표현하는 다이어그램으로 시스템과 user나 다른 시스템들 간의 상호관계를 묘사함.
-> Actors와 System의 상호관계.
- 드러나는 기능들을 묘사함.
![](http://t1.daumcdn.net/tistory_admin/static/images/xBoxReplace_250.png)
Actor란?
: 주체와 상호작용하는 역할로, 사람 유저, 외적인 HW, 기타 subject들에 의해 실행되는 것들을 나타냄.
ex. Human User, HW Device, System
![](http://t1.daumcdn.net/tistory_admin/static/images/xBoxReplace_250.png)
Active Actor
-> Trigger로서의 역할을 함.
ex. Customer, Staff
Passive Actor
-> External System.
ex. DMV System, CCA System
Use Case
: 시스템의 기능을 묘사하는 것으로 동사 형태임.
- 주로 Procedural 프로그램의 Function이나 OOP의 메소드보다 좀 더 큰 개념임.
Use Case는 어떻게 찾을까...?
- use case는 객체같은 데이터 요소들을 조작하는 함수형태의 unit임.
- 타깃인 객체에 대하여 CRUD에 기반한 기능들을 생각해보면 된다.
![](https://blog.kakaocdn.net/dn/b3o4Gw/btrPCCwuMKi/JkPrjfeVkpGPMpU6yeBcik/img.png)
Use Case 내의 Relationship
1) Generalization(일반화)
![](https://blog.kakaocdn.net/dn/bhbPwT/btrPB222wSt/jkmsvOFxVe8cIDy2dHtwR0/img.png)
구체적인 usecase들을 추상적인 usecase로 일반화를 함.
![](https://blog.kakaocdn.net/dn/bqQVlq/btrPEIhPp2g/knU2dbJMR0A7LdcldUAOtk/img.png)
child Actor는 parent Actor를 상속함.
![](https://blog.kakaocdn.net/dn/na5RA/btrPDBXOJIe/f4LTfhCIwgbmVxPswTjBc1/img.png)
![](https://blog.kakaocdn.net/dn/cAHTj3/btrPDka1Kt5/VlqfVBFMwbiokBkj0bJzdK/img.png)
2) Include
![](https://blog.kakaocdn.net/dn/7uQFK/btrPDAxTtXg/88k8cPzgP5X9AVjHior2M0/img.png)
included되는 기능(로그인 함)은 include를 하는 기능(글 등록)를 하기 위해 반드시 동작되어야 한다는 것.
![](https://blog.kakaocdn.net/dn/bJXsGZ/btrPBrBWM7F/NYaEPPOv5usT2iQjGh2tJ0/img.png)
![](https://blog.kakaocdn.net/dn/cpRGyv/btrPFysjRHt/44gdxx2VPh93YipgEDkxr0/img.png)
3) Extend
![](https://blog.kakaocdn.net/dn/1BeC9/btrPB137GfC/ExiaTzOp4uYi1giUcZi6KK/img.png)
extended 되는 기능(글 등록)은 extend하는 기능(글 첨부)을 선택적으로 수행 할 수 있다는 것.
-> optional behvior + extended behavior
![](https://blog.kakaocdn.net/dn/4p06u/btrPDdQMeI8/Wj3DlU79U4EWJoQ6RqGQ7k/img.png)
![](https://blog.kakaocdn.net/dn/u6TBP/btrPAJvUMlf/KbQYTmNnuXKzawY5ylKFbk/img.png)
Use Case Flow 3가지
1) Main Flow - Fulfill Functionality
2) Alternative Flow - Fulfill Functionality
3) Error Flow - Not Fulfill Functionality
![](https://blog.kakaocdn.net/dn/bu6Im3/btrPFy6WWJz/vHAVj8ECD4kRnIGyLD1MmK/img.png)
![](https://blog.kakaocdn.net/dn/5asEC/btrPBraVItU/helehSEogvWgxq5oQRGXS1/img.png)
![](https://blog.kakaocdn.net/dn/cszjJ7/btrPAJbye6K/BVunfXY9UwhBAzNDoRZGi0/img.png)
![](https://blog.kakaocdn.net/dn/bD0NQT/btrPCCQO4fO/h6vh9U92u9lQGoYaC3zh5k/img.png)
'대학 전공 공부 > 소프트웨어 분석 및 설계' 카테고리의 다른 글
[소프트웨어 분석 및 설계] 7. State Machine Diagram(상태 머신 다이어그램) (0) | 2022.10.27 |
---|---|
[소프트웨어 분석 및 설계] 5. 시퀀스 다이어그램(Sequence Diagram) (0) | 2022.10.27 |
[소프트웨어 분석 및 설계] 4. 클래스 다이어그램(Class Diagram) (0) | 2022.10.26 |
[소프트웨어 분석 및 설계] 2. Essence of OOP (0) | 2022.10.26 |
[소프트웨어 분석 및 설계] 6. Activity Diagram (0) | 2022.10.18 |