밍경송의 E.B

<6> SWModel_UML 2, Package diagram, Sequence diagram, State chart diagram, Compo 본문

CSE/소프트웨어공학

<6> SWModel_UML 2, Package diagram, Sequence diagram, State chart diagram, Compo

m_gyxxmi 2023. 12. 9. 14:39

이 글은 기말고사가 2일 남은 학부생이 기말고사 암기를 위해 작성한 내용입니다... 내용은 지현박교수님의 강의자료를 참고하였음을 밝힙니다...........🎀

 

🎀Package Diagram

: 연관된 클래스들의 집합(패키지) ,, 클래스들을 묶어주는 그런

레고 같다

⚠️ 클래스 뷰 - MVC 아키텍처랑 내용이 동일함! 이름만 다름

1) Entity class
: 시스템의 중심이 되는, 어떤 역할 수행을 위해 필요한 내용을 모델링 (시스템의 내부적인 일을 수행)
 
-추출하는 법

  • 역할을 표현하기 위해 사용된 명사(구) = 후보클래스로 추출
  • 후보 중 문제 영역과 관려 없는 명사, 중복 내용, 단지 언어적 표현의 명사는 제거

2) Boundary class
: 시스템의 내부와 외부환경 사이의 커뮤니케이션을 다룸 (사용자/다른 sys와의 인터페이스 제공)
 
-추출하는 법

  • flow를 기반으로 actor와 sys과의 유저인터페이스 정의 [GUI 메커니즘에 따라 정제]
  • 다른 시스템과의 통신을 지원하기 위해 추가? <-무슨 소리지 [통신 프로토콜에 따라 정제]

3) Control class
: 위의 두 class의 연결고리 역할, 1개 이상의 usecase에서 나타나는 연속적인 behavior를 모델링
 
-추출하는 법

  • 이 클래스는 연결고리 이상의 역할을 하지 X, 
  • 사용은 매우 주관적

 


🎀Sequence Diagram

: 시간 경과에 따라 객체 상호 간 교류 과정을 표현

아래 두 메시지의 차이 : 수신여부와 다음 작업의 관계
  • object(객체) : 사각형
  • 시간 : 수직선 - 위에서 아래로
  • lifeline(생명선) : 각 객체로부터 아래로 뻗어가는 점선
  • activation : 생명선을 따라 내려가는 좁다란 사각형. 객체가 실행되는 소요기간을 나타냄

 
Ex)

 
 
 


🎀Communication(Collaboration) Diagram

: 객체 간의 상호관계를 보여줌.

* 앞 시퀀스 다이어그램은 시간 순의 시나리오를, 커뮤니케이션 다이어그램은 클래스들의 관계파악에 용이

 
Ex)

 
 


🎀Activity Diagram

: 업무 과정의 활동 흐름을 표현/ operation의 알고리즘을 나타내는 데 사용(동적인 측면)
 

 
 
⚠️Swimline : Activity.D 에 역할을 표시함으로써 각 활동의 주체/책임 파악 가능

마름모는 분기

 
 


🎀State Chart Diagram

: 사건/시간에 따라 시스템 객체의 상태 변화 표현 (단일 객체의 상태를 나타냄)

*시스템의 변화를 잡아내기 위한 목적

 
Ex)

 
 


🎀Component Diagram

컴포넌트 : 개발환경 내에서 실제적인 SW 모듈에 대한 구성 (패키지와 관련된)

*패키지와 1:1 관계가 아닐 수 있음

 
Ex)

 
 


🎀Deployment Diagram

: 전체 시스템 구성 요소들의 실제 HW적 배치와 연결상태 표현

 


 
cf. 스테레오 타입을 사용하여 사용자 정의 타입, 아이템 생성 -> UML 확장
*스테레오 타입: 관계, 클래스, 컴포넌트 확장을 위해 사용