친근한 소재로 배우는 소프트웨어 설계의 기본기
소프트웨어를 개발할 때는 설계도, 즉 모델이 필요합니다. 좋은 모델은 개발자, 분석가, 사용자 간의 의사소통을 원활하게 하여 소프트웨어의 질을 향상시킬 수 있습니다. 이 책은 표준화된 모델링 도구인 UML의 기본 요소를 명료하게 설명해주고 일상에서 쉽게 접할 수 있는 소재를 예제로 가져와 직접 따라해볼 수 있게 구성하였습니다. 또한 UML을 쉽게 다룰 수 있는 StarUML이라는 프로그램을 사용해 UML 다이어그램을 작성하는 방법도 소개합니다. 이 책을 통해, UML을 이용하여 소프트웨어 설계에 필요한 실질적인 능력을 기를 수 있을 것입니다.
※ 본 도서는 대학 강의용 교재로 개발되었으므로 연습문제 해답은 제공하지 않습니다.
부/장별 요약
➊ UML의 이해와 구성 요소(1~2장)
UML의 탄생과 특징을 소개합니다. 그리고 객체 지향 모델링에 대한 기본 개념과 함께 UML을 사용하기 위해 꼭 알아야 할 객체 지향 개념, 모델링 개념, UML 구성 요소와 특성들을 소개합니다.
➋ UML 다이어그램 다루기(3~11장)
집을 설계할 때 집의 용도를 명확히 파악해야 하듯이 소프트웨어를 개발할 때도 명확한 요구 사항을 파악하는 데서 출발합니다. UML에서는 요구 사항을 도출하기 위한 유스케이스 다이어그램을 비롯해 소프트웨어 모델링에 필요한 다양한 다이어그램을 사용합니다. 이 다이어그램의 사용 방법을 예제 중심으로 이해하고, 모델링 과정을 학습한다면 보다 쉽고 효과적으로 소프트웨어를 설계할 수 있을 것입니다. 이 책에서는 유스케이스·클래스·순차·통신·활동·상태·컴포넌트·배치·패키지라는 UML 핵심 다이어그램을 다이어그램별 구성 요소, 표현, 용도 이해 ➝ 해당 다이어그램을 이용한 단계별 모델링 ➝ 다양한 예제를 이용한 모델링 연습 흐름으로 다룹니다.
➌ UML 다이어그램 프로젝트(12장)
StarUML이라는 UML 툴을 이용해 자판기 프로그램, 상품 관리 프로그램, 항공기 예약 시스템의 프로젝트를 단계별로 진행합니다.
Chapter 01 UML의 이해
01 UML 용도와 특징
UML의 탄생과 특징
UML과 모델링
02 객체 지향 모델링
객체 지향의 개념
객체 지향의 특징
추상 클래스와 인터페이스
모델링 개념
모델링 방법
연습문제
Chapter 02 UML 구성 요소와 뷰
01 UML 구성 요소
사물
관계
다이어그램
02 UML 뷰
UML 뷰의 개념과 종류
개발 활동과 UML 뷰
03 UML 특성
명세서
장식
공통 분할
확장
연습문제
Chapter 03 유스케이스 다이어그램
01 유스케이스 다이어그램의 구성 요소와 표현
02 유스케이스 다이어그램의 관계
액터와 유스케이스 사이의 관계
유스케이스 사이의 관계
액터 사이의 관계
03 유스케이스 다이어그램의 단계별 모델링 : 깨비책방 관리 시스템
유스케이스 모델링 단계
깨비책방 관리 시스템의 유스케이스 모델링
04 유스케이스 다이어그램 모델링 연습
재고 관리
홈쇼핑
ATM
영화 티켓 구매
구인구직 앱
온라인 서점
카카오택시
교육 신청 관리
투자 거래
연습문제
Chapter 04 클래스 다이어그램
01 클래스 다이어그램의 구성 요소와 표현
클래스의 구성 요소
객체와 클래스 사이의 관계와 표현
클래스 추출
02 클래스 사이의 관계
연관 관계
연관 관계의 다중성
집합 관계와 복합 관계
일반화 관계
의존 관계
실체화 관계
03 클래스 다이어그램의 단계별 모델링 : 다양한 관계 구현
단방향 연관 관계
양방향 연관 관계
집합 관계와 복합 관계
일반화 관계
의존 관계
실체화 관계
04 클래스 다이어그램 모델링 연습
날씨 관련 시스템
가전제품
연습문제
Chapter 05 순차 다이어그램
01 순차 다이어그램의 구성 요소와 표현
순차 다이어그램의 구성 요소
순차 다이어그램의 표현
02 개발 단계별 순차 다이어그램의 사용
요구 사항 정의 단계
분석과 설계 단계
03 순차 다이어그램의 단계별 모델링 : 디지털 도어록
04 순차 다이어그램 모델링 연습
식당 음식 주문
엘리베이터 사용
데이터 전송
ATM
전화 통화
교육 신청
항공 예약
계산대
영화 예매
클라우드
물품 보관함
보험 판매
상품 주문
식당 관리
연습문제
Chapter 06 통신 다이어그램
01 통신 다이어그램의 구성 요소와 변환
통신 다이어그램의 구성 요소와 표현
통신 다이어그램과 순차 다이어그램 간의 변환
02 통신 다이어그램의 단계별 모델링 : 디지털 도어록
03 통신 다이어그램 모델링 연습
식당 음식 주문
데이터 전송
전화 통화
교육 신청
영화 예매
클라우드
물품 보관함
보험 판매
카카오택시
식당 관리
연습문제
Chapter 07 활동 다이어그램
01 활동 다이어그램의 표현과 용도
활동 다이어그램의 표현
활동 다이어그램의 용도
02 활동 다이어그램의 단계별 모델링 : ATM
03 활동 다이어그램 모델링 연습
도서 관리
도서 예약
데이터 전송
식당 예약 관리
주문 예약 관리
라디오 주파수 선택
화면 로그인
연습문제
Chapter 08 상태 다이어그램
01 상태 다이어그램의 표현과 용도
상태 다이어그램의 표현
상태 다이어그램의 용도
02 상태 다이어그램의 단계별 모델링 : 온라인 진료 예약, 재고 관리
온라인 진료 예약
재고 관리
03 상태 다이어그램의 슈퍼 상태와 서브 상태
슈퍼 상태와 서브 상태
제어의 분리와 동시성
04 상태 다이어그램 모델링 연습
공기청정기
고속버스 예매
인턴 면접
알람
음성 메모
수강 신청
토스
자격증 취득
영화 예매
USB 인식
항공기 예약
주문 관리
도서 예약 관리
연습문제
Chapter 09 컴포넌트 다이어그램
01 컴포넌트의 정의와 컴포넌트 다이어그램의 표현
컴포넌트 개념
컴포넌트 다이어그램의 표현
컴포넌트와 클래스
02 컴포넌트 다이어그램의 단계별 모델링 : 재고 조회
재고 조회 응용 프로그램의 구성
컴포넌트 다이어그램 모델링
클래스 기반의 컴포넌트 다이어그램 생성
03 컴포넌트 다이어그램 모델링 연습
축구 경기
텔레비전 채널 선택
상품 관리
서버와 데이터베이스
회계
예약
도서 관리
연습문제
Chapter 10 배치 다이어그램
01 배치 다이어그램의 표현과 용도
배치 다이어그램의 표현
배치 다이어그램의 용도
02 배치 다이어그램의 단계별 모델링 : 재고 조회
03 배치 다이어그램 모델링 연습
WWW
근거리 통신망
컴퓨터 구성
발주 시스템
식당 관리
통신
오류 체크
방송 무선 네트워크 통신망
프로젝트 관리 서비스
연습문제
Chapter 11 패키지 다이어그램
01 패키지 다이어그램의 표현과 사용
패키지 다이어그램의 표현
패키지 다이어그램의 사용
02 패키지 다이어그램의 단계별 모델링 : 좌석 예약
03 패키지 다이어그램 모델링 연습
도서 관리
식당 관리
물류 유통
프로젝트 관리 서비스
방송 무선 네트워크 통신망
연습문제
Chapter 12 StarUML을 이용한 프로젝트 설계
01 StarUML 사용법
StarUML 소개
StarUML 설치와 화면 소개
02 UML 기본 작성법
새 프로젝트 생성
새 다이어그램 작성
유스케이스 다이어그램 작성
클래스 다이어그램 작성
순차 다이어그램 작성
활동 다이어그램 작성
03 자판기 시스템
04 상품 관리 시스템
05 항공기 예약 시스템
찾아보기