App/소프트웨어공학
[소프트웨어공학] 02 UML
건망망고
2024. 4. 21. 11:54
02 UML
01 UML의 이해 (Unified Modeling Language)
시스템이 상호작용하는 측면, 시스템 전체 구조 측면, 컴포넌트 간의 관계 등을 시각적으로 볼 수 있게 나타낸 도면
02 유스케이스 다이어그램
- 액터
- 액터의 종류
- 사용자 액터 : 시스템을 사용하는 사람(역할)
- 유스케이스와의 관계는 → 화살표 이용해 표현, 액터에서 유스케이스 방향으로
- 시스템 액터 : 해당 프로젝트의 개발 범위에는 속하지 않지만 데이터를 주고 받는 등 서로 연동되는 또 다른 시스템
- 주요 액터 : 시스템에게 작업의 실행을 요구하는 능동적 입장의 액터
- 보조 액터 : 유스케이스로부터 요청을 받거나 메세지를 전달받아 수동적으로 작업
- 프록시 액터 : 액터와 시스템의 중간 위치에서 무언가를 대신해주는 액터, 접근 권한이 부여된 경우에만 프록시액터가 됨
- 액터 식별
- 액터 이름
- 액터 목록 : 액터가 시스템을 사용해 어떤 일을 하는지 이해하는데 도움이 된다
- 유스케이스 : 사용자가 시스템을 통해 사용하고 싶은 기능
- 유스케이스 식별
- 유스케이스 검증
- 유스케이스 이름
- 유스케이스 목록
- 관계
- 액터 → 유스케이스 관계
- 유스케이스 → 액터 관계
- 유스케이스 → 시스템 액터 관계
- 액터의 일반화 관계
- 액터 간의 연관 관계
- 포함 관계
- 확장 관계
03 클래스 다이어그램
소프트웨어의 기본 구성인 시스템에서 사용하는 클래스를 정의하고 클래스들이 서로 어떻게 연결되어 있고 어떤 역할을 하는지 다이어그램으로 표현
- 클래스 이름
- 속성
- 매서드
- 가시성
04 순차 다이어그램
실행 시점에 객체들이 어떻게 상호동작하는지를 메시지 순서에 초점을 맞춰 나타낸 것 - 시간순서에 따라
- 객체
- 객체 생명선
- 메시지
- 동기 메시지
- 비동기 메시지
- 재귀 매시지
- 답신 메시지
- 다이어그램과 시나리오의 1:1 대응
- 시나리오 분할
05 통신 다이어그램
객체 간의 상호작용관계에 주목
- 링크
06 활동 다이어그램
흐름도와 모양 비슷, 객체의 행위를 나타낸다는 것
- 시작/종료 상태, 활동
- 분기와 병합
- 동기화 막대 : 동시처리의 시작과 끝
- 신호
- 구획면
07 상태 다이어그램
객체의 상태는 이벤트 발생이나 시간에 흐름에 따라 바뀌는데 이러한 객체의 상태를 나타낸 것
- 상태(state) : 객체가 존재할 수 있는 조건
- 전이(transacion) : 객체의 상태가 바뀌는 것
- 이벤트(event) : 객체의 상태를 바뀌게 하는 자극
08 컴포넌트 다이어그램
구현 관점에서 정적 모델링을 할 때 사용하는 것으로 어떤 실행 모듈이 존재하고 이들이 서로 어떤 연관성이 있는지의 종속 관계를 나타낸다 → 사용자에게 논리적 또는 물리적 시스템의 구조를 볼수있게 해줌
- 컴포넌트 : 시스템을 구성하는 물리적인 요소로 프로그램 코드를 포함<<library>> : DLL 같은 정적 또는 동적 객체 라이브러리<<file>> : 원시코드를 포함하는 파일
- <<table>> : 데이터베이스 테이블
- <<executable>> : 실행파일(.exe)
- 인터페이스 : ex> 등록()
- 의존 관계 : 서로 영향을 주고받는 관계 (점선 화살표)
- 컴포넌트 대상 정의 : 무엇을 컴포넌트로 할지
- 컴포넌트 찾기 : 컴포넌트 다이어그램에 포함할 컴포넌트를 식별
- 컴포넌트 배치 : 배치하고 이름 붙여주기
- 의존 관계 정의 : 컴포넌트 간 의존 관계 정의
09 배치 다이어그램(deployment diagram)
하드웨어 자원을 명시적으로 정의해 시스템의 물리적인 요소를 모델링하고 노드간의 관계를 나타낸다
노드 - 시스템을 구성하는 처리장치로 실행파일 수준의 컴포넌트가 탑재된 하드웨어
연습문제