sw가 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건등을 나타냄. 개발에 참여하는 이해관계자 들의 의사소통을 원활하게 도와줌
요구사항 유형 : 기능, 비기능, 시스템, 사용자
도출 elicitation - 요구사항 수집, 효율적인 의사소통이 중요, SDLC 동안 반복
ex) 인터뷰, 설문, 브레인스토밍, 워크샵, 유스케이스, 프로토타이핑
분석 analysis - 이해되지 않는 부분을 발견하고 걸러냄, 타당성 조사
명세 specification - 요구사항을 분석 후, 문서화
확인 vaildation - 요구사항 명세서가 정확하고 완전하게 작성되었는지 검토
시스템 개발자와 고객간의 의사소통 원활을 위해 표준화 한 대표적인 객체지향 모델링 언어
구성요소 : 사물, 관계, 다이어그램
사물 - 구조사물(클래스, 유스케이스, 컴포넌트), 행동사물, 그룹사물(패키지), 주해사물(노드)
관계 (직접그리기)
(1) 연관
(2) 집합
(3) 포함
(4) 일반화
(5) 의존
(6) 실체화
다이어그램
1) 구조적 다이어그램
클래스 - 속성, 클래스 사이의 관계 표현, 시스템 구조 파악 후 구조상의 문제점 도출 가능
객체 - 인스턴스를 특정 시점의 객체와 객체사이의 관계로 표현
컴포넌트 - 컴포넌트간의 인터페이스를 표현, 구현단계에서 사용
배치 - 물리적 요소들의 위치를 표현, 구현 단계에서 사용
복합체구조
패키지
2) 행위 다이어그램
유스케이스 - 사용자의 요구를 분석, 모델링 작업에 사용
시퀀스 - 객체들이 주고받는 메시지를 표현
커뮤니케이션 - 객체들이 주고받는 메시지 표현, 객체들간의 연관까지 표현
상태 - 클래스의 상태변화 혹은 다른객체와의 상호작용에 따라 상태변화를 표현
활동 - 시스템이 어떤기능을 수행하는지 객체의 조건에 따른 처리의 흐름을 순서에 따라 표현
상호작용 개요
타이밍
사용자와 외부시스템들이 개발될 시스템을 이용해 수행할 수 있는 기능을 사용자 관점에서 표현한 것
외부요소와 시스템간의 상호작용 확인가능 / 요구사항 분석 / 시스템 범위 파악
유스케이스 구성요소
시스템, 시스템 범위 - 내부,외부 구분위해 사각형으로 묶어 시스템범위 표시
액터 - 이름 구체적 x
ex) 주액터 : 이득을 얻는 대상, 주로 사람, 시스템의 왼쪽
부액터 - 시스템에 거비스를 제공하는 외부시스템
유스케이스 - 사용자가 보는 관점에서 액터에게 제공하는 서비스 또는 기능을 표현한 것, 타원으로 표현
관계 - (포함 include , 확장 extends : 특정 조건에 부합해 기능이 확장)
사용자의 관점에서 시스템이 수행하는 기능을 처리흐름에 따라 표현, 하나의 유스케이스 안에서 발생하는 복잡한 처리의 흐름을 명확하게 표현
구성요소
액션 - 더이상 분해 X
액티비티 - 몇 개의 액션으로 분리 O
제어흐름 - 흐름을 표현
노드 - 시작, 종료, 조건판단, 병합, 포크, 조인
스윔레인 - 액티비티 수행을 담당하는 주체를 구분
시스템을 구성하는 클래스, 클래스의 특성인 속성과 오퍼레이션, 속성과 오퍼레이션에 대한 제약조건, 클래스 사이의 관계를 표현한 것 / 시스템 구성요소를 문서화 하는데 사용
클래스는 각각 객체들이 갖는 속성과 오퍼레이션(동작)을 표현한다.
이름 - 반드시 명시
속성 - 클래스의 상태나 정보 표현
오퍼레이션 - 함수
접근제어자 - public(+) / private(-) / protected(#) / package(~)
제약조건 - 중괄호{} 이용
관계 - 연관. 집합, 포함, 일반화(extends), 의존
시스템이나 객체들이 메세지를 주고 받으며 시간 흐름에 따라 상호작용하는 과정을 그림으로 표현
구성요소
액터 - 시스템으로 부터 서비스를 요청하는 외부요소
객체 - 메세지를 주고받는 주체, 콜론(:)을 기준으로 앞쪽은 객체명 뒤쪽은 클래스명
라이프라인 - 객체가 메모리에 존재하는 기간, 객체소멸(X)이 표시된 기간까지 존재
활성상자 - 객체가 메세지를 주고받으며 구동되고 있음을 표현, 라이프라인 상에 겹쳐 직사각형 형태로 표현
메세지 - 동기, 비동기, 생성, 응답
객체소멸 - 마지막에 X로 표현
프레임 - 왼쪽위에 다이어그램의 종류와 제목을 표기
시스템이나 객체들이 메세지를 주고 받으며 시간 흐름에 따라 상호작용하는 과정을 그림으로 표현, 메세지 뿐만 아니라 객체들간 관계까지 표현
구성요소
액터 - 시스템으로 부터 서비스를 요청하는 외부요소
객체 - 메시지를 주고받는 객체
링크 - 객체들간 관계표현, 실선사용, 링크에 메세지를 표현
메세지
객체들 사이에서 발생하는 이벤트에 의한 상태변화를 표현, 상태변환을 확인 해야하는 객체만 그림
구성요소
상태 - 객체의 상태 표현
시작 상태
종료 상태
상태전환 - 화살표에 이벤트를 표현
이벤트 - 상태에 변화를 주는 현상, 조건, 외부신호, 시간의 흐름 등이 있다
프레임 - 범위를 표현