구조적 방법론 : 흐름중심.
정보공학 방법론 : 자료중심(data)
ex) 학원관리 ERD - > 키 값을 가지고 호환하도록 ( 강좌- 코드, 학생- 이름 )
-> 이 ppt를 참조.
UML( Unified Modeling Language )
- 소프트웨어를 사용할 고객에게 보여주는 설계도
- 개발 멤버들이 모두 이해하고 동의할 수 있는 방법으로 설계과정을 조직화 한것.
클래스 다이어그램
- 비슷한 속성과 공통적인 행동수단을 지닌것들의 범주/그룹
- 속성과 행동으로 정의
객체 다이어그램
클래스의 인스턴스 값이 매겨진 속성과 행동을 갖고 있는 개별적인 개체
클래스의 한 인스턴스
인스턴스 이름은 콜론(:) 좌측에, 클래스 이름은 우측에 기술
인스턴스 이름엔 밑 줄
예) 세탁기 객체
My Washer : Washing Machine
시퀀스 다이어그램
객체들 간의 메시지 순서를 시간의 흐름에 따라 표현
세탁기(입수관, 드럼, 배수관)의 use case 행동 단계
예) 세탁기 시퀀스 다이어그램
활동 다이어그램
활동간의 제어 흐름을 보여주는 일종의 플로우차트
프로세스의 순차적인 단계 혹은 병행적인 단계에 대한 모델링
동적인 다이어그램으로 대개 시퀀스 내에서 발견
예) 세탁기 활동 다이어그램
협력 다이어그램
시스템 구성요소 간의 협력관계를 표현
구조적 요소와 행위적 요소를 포함
예) 세탁기 협력 다이어그램
컴포넌트 다이어그램 -> 앞으로 중요한것.
현대 소프트웨어 개발 추세는 컴포넌트 중심
특히 팀 단위의 프로젝트에서 매우 중요
예) 컴포넌트 다이어그램
배치 다이어그램
컴퓨터를 기반으로 하는 시스템의 물리적 구조
예) 배치 다이어그램
유스 케이스(use case) 다이어그램
사용자의 입장에서 바라본 시스템의 행동
사용자가 원하는 시스템의 요구사항을 얻어내는데 유용
타원으로 표현
예) 세탁기 쓰임새 다이어그램
상태 다이어그램
시간에 따라 변화하는 객체의 상태 표현
시작상태와 종료상태를 가짐
동적인 다이어그램
예) 세탁기 상태 다이어그램
패키지
서브 시스템을 구성하는 다이어그램들의 그룹
예) 패키지
노트
다이어그램에 대한 보충 설명
예) 노트
스테레오타입
기존의 UML 요소를 기본으로 하여 다른 새로운 요소를 만들게 하는 장치
일종의 변형
거듭 인용표(<< >>)로 표시
인터페이스(interface)는 오퍼레이션만 갖고 속성을 갖지 않는 클래스
예) 스테레오타입
왜 이렇게 다이어그램이 많을까?
UML은 시스템을 여러 가지 관점(view)에서 점검하고 관찰하는 도구
대개 많은 참여자들이 각자의 관심에 맞추어 시스템을 바라봄 (예 : 세탁기)
모든 참여자를 만족시키기 위해서는 가능한 모든 관점에 필요한 다이어그램을 포함하여야 함