▶5주차 필기 내용
Ch05. 시스템 모델링
[시스템 모델링]
-시스템의 추상 모델을 개발하는 프로세스
-각 모델은 시스템의 서로 다르 뷰 or 관점을 나타냄
[모델의 용도]
-요구 공학 프로세스 :상세 요구사항 도출 위해
-설계 프로세스 : 시스템 설명 위해
-구현 후 : 시스템 구조, 동작을 문서화하기 위해
[시스템 모델은 시스템의 완전한 표현 X]
-이해하기 쉽게 자세한 부분은 모델에서 의도적으로 제외 (생략)
-모델은 시스템의 다른 표현이 아닌 시스템의 추상화임
[시스템 관점]
1) 외부(external) 관점
시스템의 컨텍스트 or 환경을 모델링
2) 상호작용(interaction) 관점
시스템과 그 환경 사이의 상호작용(시나리오) or 시스템 컴포넌트 간 상호작용을 모델링
3) 구조(structural) 관점
시스템의 구성이나 시스템에 의해 처리되는 데이터 구조를 모델링
4) 동작(behavioral) 관점
시스템의 동적인 행동과 시스템이 이벤트에 어떻게 반응하는지 모델링
[그래픽 모델 사용 방법]
▸시스템에 대해 토론, 아이디어 도출 용도 (아이디어 스케치용)
- 모델은 불완전할 수 있으며 표기법을 약식으로 사용 가능
- 주로 애자일 기법에서 사용 多
▸기존 시스템 문서화 용도
-모델이 완전할 필요는 X.
-모델이 정확해야 함 O
▸시스템 구현을 생성하는 모델 기반 프로세스의 입력
-소스 코드 생성하는데 사용. 모델이 완전하고 정확해야 함
[UML 다이어그램 유형] (5가지)
액티비티(activity) 다이어그램 | 프로세스나 데이터 처리 관련 액티비티 흐름 (행동 단위 순서도) |
유스케이스(use case) 다이어그램 | 시스템과 환경 간 상호작용 |
시퀀스(sequence) 다이어그램 | 액터와 시스템 간, 시스템 컴포넌트 간 상호작용 시나리오를 표현 |
클래스(class) 다이어그램 | 시스템 객체 클래스들과 클래스들 간의 관계 |
상태(state) 다이어그램 | 시스템 내/외부 이벤트에 대한 반응 (상태 단위 순서도) |
5.1 컨텍스트 모델
[컨텍스트 모델]
-시스템 운영 환경 기술
-시스템의 경계와 시스템과 연동되는 외부 시스템을 보여줌
[비즈니스 프로세스 모델]
-전반적인 업무 흐름 보여줌
-컨텍스트 모델과 함께 사용O
-UML 액티비티 다이어그램으로 표현
5.2 상호 작용 모델
[상호 작용 모델의 용도]
-사용자와 시스템 간 상호작용 모델 : 사용자 요구사항 확인에 도움
-시스템 간 상호작용 모델 : 시스템 간 커뮤니케이션 문제 발생 가능성 해결
-컴포넌트 간 상호작용 모델 :시스템 구조가 성능과 확실성 제공할 수 있는지 이해에 도움
[상호 작용 모델 종류]
유스케이스 다이어그램 | 시스템과 사용자/ 다른 시스템 간 상호작용 |
시퀀스 다이어그램 | 시스템 컴포넌트 간 상호작용 |
[1. 유스케이스 모델링]
[유스케이스]
-시스템 제공 기능
-공통적인 사용자 목표와 관련된 시나리오 집합
[액터]
-시스템과 직접 상호작용하는 모든 것
[연관]
-액터가 유스케이스를 수행
[2. 시퀀스 다이어그램]
5.3 구조 모델
[구조 모델]
-시스템을 구성하는 컴포넌트들과 그들 간의 관계를 보여줌
-시스템 설계 구조를 보여주는 정적 모델
-시스템 실행 시 구성을 보여주는 동적 모델
[1. 클래스 다이어그램]
-소프트웨어 시스템 구성 객체 클래스들의 정적 구조 보여줌
[클래스]
-한 종류의 시스템 객체 단위를 일반적으로 정의
-같은 속성, 메소드, 관계, 의미 가지는 객체 집합에 대한 설명
-객체는 클래스의 인스턴스
[연관]
-클래스 객체 간의 관계
-연결은 연관의 인스턴스
[2. 일반화]
[일반화] generalization
-상속(inheritance)
-Java의 extends
[3. 집합]
[집합] aggregation
-한 객체(전체)가 다른 객체(부분)으로 구성됨
-복합 관계는 집합 관계의 특수한 경우
5.4 동작 모델
[동작 모델]
-시스템이 실행될 때의 동적 행동을 보여줌
-자극(stimulus)에 대한 시스템 반응을 모델링
[2가지 종류의 자극]
-데이터 : 데이터가 오면 시스템에 의해 처리
-이벤트 : 이벤트 발생하면 이에 대해 반응
▶[데이터 흐름도]
-데이터가 처리되는 과정을 보여줌
-액티비티 다이어그램을 이용
▶[상태 다이어그램]
-내부/외부 이벤트에 대한 시스템 반응을 보여줌
[1. 데이터 주도 모델링]
[데이터 주도 모델] : 입력 -> 처리 -> 출력
[데이터 흐름도] : DFD ( Data Flow Diagram )
-자료흐름(객체)와 처리(액티비티)로 구성
[2. 이벤트 주도 모델링]
[이벤트 주도 모델] : 시스템이 외/내부 이벤트(자극)에 반응하는 방식
[이벤트 주도 모델의 구성]
-시스템은 유한 개의 상태(state) 가짐
-이벤트에 의해 시스템 상태 전이됨
[상태 다이어그램]
- 각 상태 별 설명 존재해야함
[컨텍스트 모델]
-시스템 운영 환경 기술
-시스템의 경계와 시스템과 연동되는 외부 시스템을 보여줌
[비즈니스 프로세스 모델]
-전반적인 업무 흐름 보여줌
-컨텍스트 모델과 함께 사용O
-UML 액티비티 다이어그램으로 표현
5.2 상호 작용 모델
[상호 작용 모델의 용도]
-사용자와 시스템 간 상호작용 모델 : 사용자 요구사항 확인에 도움
-시스템 간 상호작용 모델 : 시스템 간 커뮤니케이션 문제 발생 가능성 해결
-컴포넌트 간 상호작용 모델 :시스템 구조가 성능과 확실성 제공할 수 있는지 이해에 도움
[상호 작용 모델 종류]
유스케이스 다이어그램 | 시스템과 사용자/ 다른 시스템 간 상호작용 |
시퀀스 다이어그램 | 시스템 컴포넌트 간 상호작용 |
[1. 유스케이스 모델링]
[유스케이스]
-시스템 제공 기능
-공통적인 사용자 목표와 관련된 시나리오 집합
[액터]
-시스템과 직접 상호작용하는 모든 것
[연관]
-액터가 유스케이스를 수행
[2. 시퀀스 다이어그램]
5.3 구조 모델
[구조 모델]
-시스템을 구성하는 컴포넌트들과 그들 간의 관계를 보여줌
-시스템 설계 구조를 보여주는 정적 모델
-시스템 실행 시 구성을 보여주는 동적 모델
[1. 클래스 다이어그램]
-소프트웨어 시스템 구성 객체 클래스들의 정적 구조 보여줌
[클래스]
-한 종류의 시스템 객체 단위를 일반적으로 정의
-같은 속성, 메소드, 관계, 의미 가지는 객체 집합에 대한 설명
-객체는 클래스의 인스턴스
[연관]
-클래스 객체 간의 관계
-연결은 연관의 인스턴스
[2. 일반화]
[일반화] generalization
-상속(inheritance)
-Java의 extends
[3. 집합]
[집합] aggregation
-한 객체(전체)가 다른 객체(부분)으로 구성됨
-복합 관계는 집합 관계의 특수한 경우
5.4 동작 모델
[동작 모델]
-시스템이 실행될 때의 동적 행동을 보여줌
-자극(stimulus)에 대한 시스템 반응을 모델링
[2가지 종류의 자극]
-데이터 : 데이터가 오면 시스템에 의해 처리
-이벤트 : 이벤트 발생하면 이에 대해 반응
▶[데이터 흐름도]
-데이터가 처리되는 과정을 보여줌
-액티비티 다이어그램을 이용
▶[상태 다이어그램]
-내부/외부 이벤트에 대한 시스템 반응을 보여줌
[1. 데이터 주도 모델링]
[데이터 주도 모델] : 입력 -> 처리 -> 출력
[데이터 흐름도] : DFD ( Data Flow Diagram )
-자료흐름(객체)와 처리(액티비티)로 구성
[2. 이벤트 주도 모델링]
[이벤트 주도 모델] : 시스템이 외/내부 이벤트(자극)에 반응하는 방식
[이벤트 주도 모델의 구성]
-시스템은 유한 개의 상태(state) 가짐
-이벤트에 의해 시스템 상태 전이됨
[상태 다이어그램]
- 각 상태 별 설명 존재해야함
[소프트웨어 공학] 한티 미디어 10판 교재 |
'[전공] 학교 전공 공부 > [학교] 소프트웨어 공학' 카테고리의 다른 글
Ch07. 설계와 구현 (0) | 2022.04.14 |
---|---|
Ch06. 아키텍처 설계 (0) | 2022.04.14 |
Ch04. 요구공학 (0) | 2022.04.08 |
4주차 과제 - [소프트웨어 공학] (0) | 2022.04.02 |
Ch03. 애자일 소프트웨어 개발 (0) | 2022.03.23 |