일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Swift 디자인패턴
- swift문법
- 애플 디벨로퍼 아카데미 21주차 회고
- OS
- Swift 기능
- 애플 디벨로퍼 아카데미 후기
- ObservableObject
- 제앱소
- 데이터베이스 공부
- useReducer
- 치지직
- 애플 아카데미 후기
- iOS 개발 오류
- global soop
- apple developer academy 후기
- Apple Developer Academy @ POSTECH
- sqoop
- 앱 비교 프로젝트
- SWIFT
- 데이터베이스
- ObservedObject
- react
- 네이버 부스트캠프
- 운영체제
- 네이버 치지직
- 숭실대
- StateObject
- Swift 문법
- 소프트웨어분석및설계
- 애플 디벨로퍼 아카데미
- Today
- Total
사과하는 제라스
[소프트웨어 분석 및 설계] 8. Functional and Data Components 본문
[소프트웨어 분석 및 설계] 8. Functional and Data Components
Xerath(제라스) 2022. 11. 12. 16:09목차
소프트웨어 설계에서의 SW 컴포넌트를 얘기할 거임.
크게 1. Functional Component 2. Data Component가 있음.
Functional Component
: 타깃 시스템에 대한 특정한 기능을 제공하는 기능적 응집 단위임.
ex. 차 대여 관리 시스템에서는...
- User Profiler
- Inventory Manager
- Reservation Manager
- Rental Manager
- Payment Hander
Data Component
: 지속적인 데이터 모음을 관리하는 응집 단위임.(기능별이 아니라...!)
ex. 차 대여 관리 시스템에서는...
- User Profile
- Reservation
- Rental
- Payment
-> 이처럼 Data Component는 정말 데이터 셋 그 자체를 다루는 단위임.
UML에서의 Component
: 잘 정의된 Interface가 담긴 Module. 자기 포함 유닛이자, 시스템의 대체가능하고 물리적인 부분임.
- <<component>> 라는 키워드를 써서 표기함.
Functional Component
Functional Component는 어떻게 구성될까?
1) 관련된 Use Case들끼리 묶음
2) m<=n을 만족하는 n개의 use case에 대한 m개의 Functional component를 만듦
3) Functional component는 use case 보다 더 큰 범주임.
4) Functional Component의 이름은 명사형으로 지음 ex. Inventory Manager, Rental Manager, Payment Handler
- 반면, 그 안에 포함된 use case는 동사형으로 지음.
이렇게 만들어진 Funtional Component는 <control layer>>에 모두 포함되어 실행됨.
Interface of Component
1) UML에서는 인터페이스를 <<interface>>와 함께 쓰임.
2) 인터페이스는 class나 component에 대한 프로토콜임.
-> method의 시그니쳐 / method에 대한 기능적 설명임.
3) 클래스는 인터페이스를 구체화함(implement).
4) 인터페이스에는 attribute가 없음
5) 인터페이스는 다른 인터페이스를 확장할 수 있음.
Interface Realization
Provided Interface / Required Interface
Provided Interface(제공 인터페이스)
컴포넌트가 기능을 구현하고 외부에 이에 대한 서비스 및 기능을 제공하는 것
외부의 다른 컴포넌트/클래스는 이 인터페이스를 통해 이 컴포넌트/클래스와 상호작용을 함.
Required Interface(요구 인터페이스)
컴포넌트가 정상적으로 동작하기 위해 필요로 하는 기능 및 서비스
이것을 구현하는 외부의 컴포넌트가 필요하고, 외부 컴포넌트 입장에서는 이것은 제공 인터페이스임
Data Component
1) 관련있는 클래스들의 집합임.
2) 가까운 관계에 있는 클래스들을 하나의 컴포넌트로 묶음.
3) 하지만 그 관련있는 정도에 따라 하나의 Data Component로 묶을 수도 있고 아닐 수도 있음.
Data Component의 할당
Component Layer
결론적으로 Functional Component와 Data Component의 차이를 알아둬라!!
'대학 전공 공부 > 소프트웨어 분석 및 설계' 카테고리의 다른 글
[소프트웨어 분석 및 설계] 10. SW Architecture Design (0) | 2022.12.15 |
---|---|
[소프트웨어 분석 및 설계] 9. Design Patterns (0) | 2022.12.15 |
[소프트웨어 분석 및 설계] 1. 소프트웨어 분석 및 설계 (0) | 2022.10.27 |
[소프트웨어 분석 및 설계] 7. State Machine Diagram(상태 머신 다이어그램) (0) | 2022.10.27 |
[소프트웨어 분석 및 설계] 5. 시퀀스 다이어그램(Sequence Diagram) (0) | 2022.10.27 |