일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 채팅 프로젝트
- reset
- vue 추가
- 배열 call by value
- deploy.sh
- 클래스 참조
- EL1021E
- CI/CD
- dbeaver 백업/복구
- Quartz dependency
- 환경변수
- 배포 자동화
- firstChild
- Quartz 라이브러리
- git 폴더 모으기
- submit 기본동작
- 테스팅
- document 함수
- 되돌리기
- .ppk
- Node Property
- 깃허브 토큰 생성
- 깃허브 토큰 발급
- 소프트웨어
- Jenkins
- 자바 swing 프로젝트
- AWS 생성
- vue 실행
- 타임리프 참조 오류
- ..gitignore
- Today
- Total
TY blog
소프트웨어 시스템 모델링 본문
1. 시스템 모델링 이란?
- 시스템의 추상(abstraction) 모델을 개발하는 프로세스 이며, 각각의 모델은 시스템의 서로 다른 뷰나 관점을 나타낸다.
- 시스템 모델은 시스템의 완전한 표현이 아니며 이해하기 쉽도록 자세한 부분은 의도적으로 제외된다.
2. UML 다이어그램 유형
1. 유스케이스(Use-case) 다이어 그램 : 시스템과 사용자 간의 상호작용 시나리오 ( 상호작용 모델 )
* 목적 : 시스템의 행동 기능 모델링, 사용자가 어떤 인터페이스를 통하여 시스템에 무엇을 하는지 간단하게 기술
[유스케이스 다이어 그램의 구성요소]
- 유스케이스 : 시스템이 수행, 제공하는 기능이며 공통적인 사용자 목표와 관련된 시나리오의 집합
- 액터 : 시스템 외부에서 시스템과 직접 상호작용 하는 모든 것
- 연관(association) : 액터가 유스케이스를 수행하는 것
- 시나리오 : 서비스에서 기본적으로 할 수 있는 테스트 케이스
- 관계(Relationship) : 2개 이상의 이어진 액터또는 유스케이스 가 서로 상호작용 하는 것
2. 클래스(Class) 다이어그램 : 시스템의 객체 클래스들과 클래스들 간의 관계 ( 구조 모델 )
* 목적 : 소프트웨어 시스템을 구성하는 객체 클래스들의 정적 구조를 보여준다.
- Class : 한가지 종류의 시스템 개체를 일반적으로 정의
- Attribute : 멤버 변수
- Operation : 메소드
- 연관(association) : 클래스 간의 관계 ( 1:1, 1: N...)
[UML 패키지, 접근제한 표기]
public(+) | 모든 접근 허용 |
private(-) | 현재 객체 내에서만 허용 |
protected(#) | 같은 패키지에 있는 객체와 상속관계의 객체들만 허용 |
package(~) | 클래스 식별자 |
일반화(generalization)
- 사물을 분류하고 사물 간의 차이점과 클래스에 초점을 맞출 때 지식을 재사용 ( Java - extends )
집합(aggregation)
- 한 객체(전)가 다른 객체로 구성된다. 클래스 들 간의 연관
추상 클래스 (abstract class)
- 구현이 되지 않은 기능(Operation)을 가진 클래스, 자바문법에서는 클래스를 상속받아 자식 클래스에서 오버라이딩 하여 기능을 재정의 해야 한다.
3. 시퀀스(Sequence) 다이어그램 : 액터와 시스템 간, 시스템 컴포넌트 간 상호작용 시나리오 ( 상호작용 모델 )
* 목적 : 액터와 시스템의 객체들 간의 상호작용과 객체들 간의 상호작용을 모델링하기 위해서 주로 사용
[다이어 그램의 구성요소]
- Object : 객체
- Message : 객체 사이의 커뮤니케이션, 메서드 호출
- return : 메소드 호출 후 돌아오는 값
- Interaction frames : 시나리오의 동작, 조건
[Interaction frames]
alt : alternative [if] | par : parallel |
loop : loop [반복문] | region : critical region |
opt : optional [if] | neg : invalid interaction |
ref : reference [참조 이동] | sd : diagram frame |
Asynchronous Message
- 호출자가 함수를 호출 후 결괏값을 기다리지 않고 자체 메시지를 계속 수행할 수 있는 것
4. 액티비티(Activity) 다이어 그램 : 프로세스나 데이터 처리 관련 액티비티 흐름 ( 동작 모델 데이터 흐름도 )
* 목적 : 유스케이스 시나리오(Business flow) 표현하는 데 사용될 수 있음
- Action : 어떤 일을 하는 것 ( 단위 작업 )
- Activity node : 여러 action으로 구성할 수 있는 작업
- Flow / Edge : action과 연결 ( 다음 흐름도 연결 )
- Decision : 조건마다 다른 액션 수행
- Marge : 흐름도 병합
- Fork : 액션의 병행 기술
- Join : 액션을 기다려 하나의 흐름도를 만듦
* 참고문헌 : (주)한티에듀 소프트웨어공학 제10판
'소프트웨어 공학' 카테고리의 다른 글
소프트웨어 재공학 (0) | 2023.11.07 |
---|---|
소프트웨어 개발 테스팅 (0) | 2023.10.17 |
소프트웨어 아키텍처 설계 (0) | 2023.10.10 |
소프트웨어 요구공학 (0) | 2023.09.19 |
소프트웨어 공학 프로세스 (0) | 2023.09.13 |