소프트웨어 공학 2장

Hyun·2024년 9월 20일
0

2.1. UML의 이해

UML(Unified Modeling Language)

  1. 구조 다이어그램 (Structual Digaram) : 클래스, 객체, 복합 구조, 배치, 컴포넌트, 패키지
  2. 행위 다이어그램 (Behavioral Diagram) : 활동, 유스케이스, 상태(머신)
  3. 상호작용 다이어그램 (Interaction Diagram) : 순차, 통신, 타이밍
  • UML: 객체지향 시스템 개발 분야에서 가장 우수한 모델링 언어
    SW를 코딩하기 앞서 표준화되고 이해되기 쉬운 방법으로 SW를 설계함으로써 타인과 효율적으로 의사소통할 수 O

UML의 특징

: 객체 지향 설계를 위한 표준 언어
1. 시각화 언어: 시각적인 그래프 형태 -> 오류 없는 원활한 의사소통
2. 명세화 언어: 분석, 설계, 구현 단계의 각 과정에서 필요한 모델을 명세화
3. 문서화 언어: 시스템 아키텍처와 모든 상세 내역을 문서화하는 역할

UP, UML, Usecase(=쓰임새), Actor

  1. UP(Unified Process)? 객체 지향 시스템을 개발하기 위한 UML에 기반한 SW 개발 프로세스
  2. UML(Unified Modeling Language)? 시스템 개발 과정에서 객체지향 시스템의 결과물을 시각화(가시화), 명세화 문서화하기 위해 사용되는 모델링 언어(그래픽 언어)
    -> Usecase 와 Actor 등에 대한 그래픽 표현을 제공
  3. Actor? 시스템과 상호작용하는 인간 또는 시스템
  4. Usecase? Actor에게 가치 있는 결과를 제공하기 위하여 시스템이 수행하여야 하는 일련의 활동 / 시스템의 기능적인 요구사항의 표현

2.2. 유스케이스 다이어그램

2.2.1. 사용자 액터 (User Actor)

: 시스템을 사용하는 사람(역할)

액터와 유스케이스의 관계는 화살표로 나타냄,
시스템 액터, 주요 액터, 보조 액터, 프록시 액터 등이 있음

  1. 액터 식별 (필요한 액터를 찾아야 함)
  2. 액터 이름 (사용자 액터의 이름은 구체적인 역할을 나타내게 정함)
  3. 시스템 액터 (시스템 이름을 사용해 이름을 정함)
  4. 액터 목록 (어떤 일을 하는지 파악 위해)

2.2.2. 유스케이스 (Usecase)

: 사용자가 시스템을 통해 사용하고 싶은 기능, 실제로 코딩할 수 있을 만큼 작은 단위의 기능

  1. 유스케이스 식별 (후보 유스케이스 선정, 업무에서 유스케이스 도출 -> 정련 과정을 통해 최적화된 유스케이스 결정)
  2. 유스케이스 검증 ( 수작업으로 이루어지는 것 X, 액터가 원하는 최종 결과만 나타내는지, 액터가 수행하는지, 유스케이스 내의 이벤트 흐름 전체를 액터가 사용하는지)
  3. 유스케이스 이름 (사용자 관점에서 이해할 수 있는, 동사형 명사, 최종 목적)
  4. 유스케이스 목록

2.2.3. 관계

  1. 액터 -> 유스케이스 관계
    : 연관 ( association) 관계, 방향성을 갖는 실선으로 표현 (제어의 흐름을 나타냄)
    제어하는 주체에서 출발해 제어받는 대상으로 연관 방향이 결정된다.
  • 시스템 액터도 유스케이스 제어의 주체가 될 수 있다.
  1. 유스케이스 -> 액터 관계
    : 통보 기느이 유스케이스 수행 결과를 액터에게 알려줌
    통보 기능이 시스템 내에서 이루어져야 한다.
  2. 유스케이스 -> 시스템 액터 관계
    : 다른 시스템에게 요청을 보내거나 상호작용을 하는 경우
  3. 액터의 일반화 관계
    : 일반화 Genralization (개별적인 것에서 공통적인 특징을 뽑아 이름을 붙인 것)
    일반화 될수록 추상화가 되고 반대는 구체화가 된다. (특수화 specification)
    일반화 개념은 액터 사이에 먼저 적용할 수 있다.
  4. 액터 간의 연관 관계
    : 액터가 또 다른 액터를 통해 유스케이스를 이용할 때
  5. 포함 관계
    : 유스케이스의 일부 기능이 다른 유스케이스에서도 공통으로 필요하다면 이를 별도 유스케이스로 만든 뒤 호출해 사용,
    기본 유스케이스 -> 피포함 유스케이스
    점선을 사용하고, 스테레오 타입으로 <<include>> 라고 표기한다.
  • 피포함 유스케이스(included): 공통으로 사용하기 위해 만들어 놓은 별도 유스케이스
    (2개 이상의 유스케이스에서 사용할 수 있는 공통 부분(이벤트 흐름)으로 만들어야 하고 다른 유스케이스에서 사용하지 않는 기능이라면 포함 관계를 만들지 X
  • 기본, 기준 유스케이스(basic, based): 피포함 유스케이스를 호출하는 유스케이스
  1. 확장 관계
    : 특정 조건이 발생하면 확장 유스케이스를 수행하고 다시 기준 유스케이스를 수행한다.
    점선 화살표로 표기하고 방향은 기준 유스케이스 쪽으로 향한다.
    <<extend>>라는 스테레오 타입을 사용한다.

0개의 댓글

관련 채용 정보