요구사항
소프트웨어가 문제 해결을 하기 위해 제공하는 서비스 설명과 정상적으로 운영되는데 필요한 제약조건
- 기능 요구사항 : 시스템이 수행해야 하는 기능, 사용자가 제공 받기 원하는 기능, 시스템 입출력으로 무엇이 포함되어야 하는지 시스템이 어떤 데이터를 저장하거나 연산을 수행해야지를 앎.
- 비기능 요구사항 : 품질, 제약사항 관련
- 사용자 요구사항 : 사용자를 위해 시스템이 제공하는 요구사항
- 시스템 요구사항 : 개발자 관점에서 본 시스템이 제공해야 할 요구사항
UML
개발 과정에서 원활한 의사소통을 위한 객체지향 모델링 언어이고, 사물, 관계 다이어그램으로 구성됨.
<UML – 관계의 종류>
- 연관 관계 (Association) : 두 개 이상의 사물이 서로 관련된 관계
- 집합 관계 (Aggregation) : 사물이 다른 사물에 포함되어 있는 관계
- 포함 관계 (Composition) : 포함하는 사물 변화가 포함되는 사물에게 영향을 끼침
- 일반화 관계 (Generalization) : 하나의 사물이 다른 사물에 비해 더 구체적인 관계
- 의존 관계 (Dependency) : 서로에게 영향 주는 시간 동안만 연관 유지하는 형태
- 실체화 관계 (Realization) : 사물들의 공통적인 기능을 상위 사물로 그룹화함
<UML – 다이어그램>
정적 모델링 = 기능 구현에 필요한 자료들의 논리적인 구조 표현 (주로 구조적 다이어그램 사용)
- 구조적 다이어그램 (Structural)
- 클래스 다이어그램 (Class) : 클래스 사이의 구조적인 관계 표현
- 객체 다이어그램 (Object) : 클래스의 인스턴스를 특정 시점의 객체 간의 관계로 표현
- 컴포넌트 다이어그램 (Component) : 컴포넌트 간의 인터페이스 표현
- 배치 다이어그램 (Deployment) : 물리적인 요소들의 위치 표현
- 복합체 구조 다이어그램 (Composite Structure) : 복합 구조를 가지는 컴포넌트, 클래스의 내부 구조를 표현
- 패키지 다이어그램 (Package) : 같은 그룹의 하위 모듈들을 묶은 패키지 간의 의존 관계를 표현
2. 동적 모델링 = 시스템 내부 상태 변화와 상호작용 표현 (주로 행위 다이어그램 사용)