60
Copyright© 2014 Enkisoft, Ltd. All rights reserved. Object-Oriented Analysis & Design with UML Example : Meeting Room Reservation System

StarUML NS - Example

  • Upload
    -

  • View
    450

  • Download
    8

Embed Size (px)

DESCRIPTION

StarUML NS - Example

Citation preview

Page 1: StarUML NS - Example

Copyright©  2014  Enkisoft, Ltd.  All  rights  reserved.

Object-Oriented Analysis & Design with UML

Example :Meeting Room Reservation System

Page 2: StarUML NS - Example

ContentsVision DocumentBusiness Modeling Artifacts

Domain Model

Business Process Model

Software Requirements Specification (SRS)Analysis Artifacts

Analysis Model

Use Case Realizations (Analysis-Level)

Design ArtifactsDesign Model

Implementation Model

Deployment Model

Data Model

Use Case Realizations (Design-Level)

Page 3: StarUML NS - Example

Enkisoft, Ltd i Ver. 1.0

목 차

1. VISION ............................................................................................................................... 2

1.1 Introduction .................................................................................................................. 2

1.2 Vision Statement ......................................................................................................... 2

1.2.1 Background .................................................................................................................................... 2

1.2.2 Objectives ....................................................................................................................................... 2

1.2.3 System Functions ........................................................................................................................ 2

2. BUSINESS MODELING ARTIFACTS .............................................................................. 4

2.1 Domain Model ............................................................................................................. 4

2.1.1 Domain Model Procedure ....................................................................................................... 4

2.1.2 Domain Model ............................................................................................................................. 9

2.2 Business Process Model ............................................................................................. 9

2.2.1 Business Process Model ........................................................................................................... 9

3. SOFTWARE REQUIREMENTS SPECIFICATION (SRS) .............................................. 10

3.1 Introduction ................................................................................................................ 10

3.1.1 Purpose .......................................................................................................................................... 10

3.1.2 Scope .............................................................................................................................................. 10

3.1.3 Definition, Acronyms and Abbreviations ........................................................................ 10

3.1.4 References .................................................................................................................................... 10

3.1.5 Overview ....................................................................................................................................... 10

3.2 Overall Description .................................................................................................... 11

3.2.1 Product Perspective ................................................................................................................. 11

3.2.2 Use Case Model Survey ......................................................................................................... 11

3.2.3 Operating Environment .......................................................................................................... 11

3.2.4 Constraints ................................................................................................................................... 12

3.2.5 Assumptions and Dependencies ........................................................................................ 12

3.3 Specific Requirements .............................................................................................. 13

3.3.1 Use Case Reports ...................................................................................................................... 13

3.3.1.1 사용자 인증을 한다 .....................................................................................................................13

3.3.1.2 회의실을 예약 한다 .....................................................................................................................15

3.3.1.3 회의실 예약을 조회한다 ............................................................................................................17

3.3.1.4 회의실 예약을 취소한다 ............................................................................................................18

Page 4: StarUML NS - Example

Enkisoft, Ltd ii Ver. 1.0

3.3.1.5 회의실 예약 요청을 처리한다 ................................................................................................19

3.3.1.6 회의실 정보를 관리한다 ............................................................................................................20

3.3.2 Supplementary Requirements ............................................................................................. 22

3.3.2.1 Reference ..........................................................................................................................................22

3.3.2.2 Functionality.....................................................................................................................................22

3.3.2.3 Usability .............................................................................................................................................22

3.3.2.4 Reliability ...........................................................................................................................................22

3.3.2.5 Performance .....................................................................................................................................22

3.3.2.6 Supportability ..................................................................................................................................22

3.3.2.7 Security ..............................................................................................................................................22

3.3.2.8 Design Constraint ..........................................................................................................................22

3.3.3 External Interface Requirements ......................................................................................... 23

4. ANALYSIS ARTIFACTS .................................................................................................. 24

4.1 Analysis Model ........................................................................................................... 24

4.1.1 사용자 인증을 한다. ................................................................................................................ 24

4.1.2 회의실을 예약한다. .................................................................................................................. 25

4.1.3 회의실 예약을 조회한다. ....................................................................................................... 26

4.1.4 회의실 예약을 취소한다. ....................................................................................................... 26

4.1.5 회의실 예약 요청을 처리한다. ........................................................................................... 27

4.1.6 회의실 정보를 관리한다. ....................................................................................................... 28

4.2 Use Case Realization (Analysis-Level) ................................................................... 29

4.2.1 사용자 인증을 한다. ................................................................................................................ 29

4.2.2 회의실을 예약한다. .................................................................................................................. 30

4.2.3 회의실 예약을 조회한다. ....................................................................................................... 31

4.2.4 회의실 예약을 취소한다. ....................................................................................................... 32

4.2.5 회의실 예약 요청을 처리한다. ........................................................................................... 33

4.2.6 회의실 정보를 관리한다. ....................................................................................................... 34

4.2.6.1 회의실 정보를 조회한다. ...........................................................................................................34

4.2.6.2 회의실 정보를 추가한다. ...........................................................................................................35

4.2.6.3 회의실 정보를 삭제한다. ...........................................................................................................36

5. DESIGN ARTIFACTS ...................................................................................................... 37

5.1 Design Model ............................................................................................................. 37

5.1.1 사용자 인증을 한다. ................................................................................................................ 37

5.1.2 회의실을 예약한다. .................................................................................................................. 38

Page 5: StarUML NS - Example

Enkisoft, Ltd iii Ver. 1.0

5.1.3 회의실 예약을 조회한다. ....................................................................................................... 39

5.1.4 회의실 예약을 취소한다. ....................................................................................................... 40

5.1.5 회의실 예약 요청을 처리한다. ........................................................................................... 41

5.1.6 회의실 정보를 관리한다. ....................................................................................................... 42

5.2 Implementation Model............................................................................................. 43

5.2.1 Implementation .......................................................................................................................... 43

5.3 Deployment Model ................................................................................................... 44

5.3.1 Deployment ................................................................................................................................. 44

5.3.2 Deployment Instatnce ............................................................................................................. 45

5.4 Data Model ................................................................................................................. 46

5.4.1 Data Model .................................................................................................................................. 46

5.5 Use Case Realization (Design-Level) ..................................................................... 47

5.5.1 사용자 인증을 한다. ................................................................................................................ 47

5.5.2 회의실을 예약한다. .................................................................................................................. 48

5.5.3 회의실 예약을 조회한다. ....................................................................................................... 49

5.5.4 회의실 예약을 취소한다. ....................................................................................................... 50

5.5.5 회의실 예약 요청을 처리한다. ........................................................................................... 51

5.5.6 회의실 정보를 관리한다. ....................................................................................................... 52

5.5.6.1 회의실 정보를 조회한다. ...........................................................................................................52

5.5.6.2 회의실 정보를 추가한다. ...........................................................................................................53

5.5.6.3 회의실 정보를 삭제한다. ...........................................................................................................54

Page 6: StarUML NS - Example

Enkisoft, Ltd 1 Ver. 1.0

Meeting Room Reservation System

Vision

Ver. 1.0

Page 7: StarUML NS - Example

Enkisoft, Ltd 2 Ver. 1.0

1. Vision

1.1  Introduction

이 문서의 목적은 회의실 예약 시스템의 고수준의 요구와 기능을 수집, 분석 및 정의하는 것이다.

사용자 및 이해 당사자 들의 요구사항과 그에 대한 필요성에 대해 초점을 맞춘다. 회의실 예약

시스템에 대하여 자세한 기능적인 요구사항과 부가적인 사항들은 Software Requirement

Statement 를 참조 하도록 한다.

1.2  Vision Statement

1.2.1  Background

사내에 준비되어 있는 회의실의 사용을 함에 있어서, 어떤 회의실이 직접 방문하지 않고서는, 현재

사용되지 않고 있는지는 확인 불가능합니다. 이와 더불어서 각 회의실에 비치되어 있는 장비와

수용인원이 확인 되지 않아, 잘못된 회의실을 찾아 가는 경우도 발생하게 됩니다. 이를 보안하기

위해, 각각의 회의실에 대한 정보를 관리하고, 예약 시스템을 갖추어 사원들이 회의실을 원활히

사용할 수 있도록 하기 위해 시스템을 구축하고자 한다

1.2.2  Objectives

사내에 존재하는 회의실 사용을 원활히 하기 위하여 시스템을 도입한다. 사원은 회의실에 대한 모든

정보를 조회함으로써, 회의에 가장 잘 맞는 회의실을 선택할 수 있도록 한다.

1.2.3  System Functions

  회사 내에 있는 회의실을 사원들이 원활히 사용할 수 있도록 하기 위하여 회의실 예약을 할

수 있도록 하고자 한다.

  이 시스템을 사용하기 위해서는 부여 받은 사원의 정보를 이용하여 사용자 인증을 받아야

하며, 사용자 인증을 받은 정보는 사용자의 등급에 따라 시스템에 기록되며, 이는 사용자가

시스템을 사용을 마치기 전까지 유지되어야 한다.

  사원은 날짜 별, 회의실 별로 회의실에 대하여 조회할 수 있다. 날짜 별 조회의 경우에는 조

회 각 회의실의 시간 별 예약 현황을 기술하고, 회의실 별로 조회를 한 경우에는 회의실의

검색일로부터 일주일 간의 예약 현황을 표시한다. 예약 현황에는 예약 상태를 표현하며, 예

약 상태는 미 예약, 예약 대기, 예약 승인 상태로 나누어진다.

  각 회의실에 대한 정보 조회는, 회의실의 수용인원, 비치 장비와 회의실 단면도, 등을 표현하

고, 오늘 날짜의 시간 별 예약 현황을 표현한다.

  사원은 현재 예약되지 않은 날짜, 시간 및 회의실 등을 입력하여, 필요한 날짜에 회의실을

예약합니다. 예약 시간은 30분 단위로 나누어진다. 회의실 예약 시 연속적으로 몇 개의 단위

를 한꺼번에 예약할 수 있으며, 연속된 예약은 1회의 예약으로 본다. 시스템은 사원의 예약

Page 8: StarUML NS - Example

Enkisoft, Ltd 3 Ver. 1.0

요청 시에 일정관리 시스템(Scheduling System)에 통보하고, 결과를 통보 받아 가능한 경우,

예약 대기 상태로 설정한다.

  예약 시에 현재 예약하고자 하는 부서의 벌칙 등급에 따라 예약을 제한할 수 있다. 회의실의

예약은 근무시간에만 가능하며, 조회, 수정 및 취소는 언제든지 가능하다. 한 부서는 하루에

2회 이상의 회의실 예약은 할 수 없으며, 2회 이상을 하기 위해서는 관리자에게 따로 승인을

받아야 한다. 또한 회의실 예약 일자는 근무 일에만 가능하며, 근무 일 외에는 예약이 불가

능하다. 근무 일 외에 사용 위해서는 관리자에게 승인을 받아야 한다.

  부서의 벌칙 등급은 항시 사용 가능한 등급과 1주일간 사용금지 등급 그리고 1개월간 사용

할 수 없는 등급으로 나누어 지고, 이를 나누는 기준은 회의 사용 후 청결성과 비치 장비의

파손 여부 등을 고려하여 관리자가 설정할 수 있도록 한다.

  예약 요청을 되었을 때, 일정관리 시스템은 관리자에게 예약 요청을 알리고, 관리자는 요청

된 예약 정보를 조회하고, 특이한 사항과 업무의 관련성 부분을 검토하여 승인을 합니다. 예

약 요청에 대한 승인 시에 부서에 알리고, 불허 시에는 불허 사유와 함께 예약 신청자에게

알린다.

  관리자는 사내의 회의실 사용에 대한 등급을 부서별로 관리하고, 등급의 조정 시에는 알림

시스템(Notify System)을 통하여 각 부서에 통보한다.

  모든 정보에 대한 알림은 알림 시스템(Notify System)을 통하여 통보하도록 한다.

사원 또는 관리자는 회의실을 예약한다.

사원 또는 관리자는 회의실 예약을 수정한다

사원 또는 관리자는 회의실 예약을 취소한다

관리자는 회의실 정보를 관리한다

관리자는 회의실 예약에 대하여 승인한다.

관리자는 회의실 예약에 대하여 불허한다.

Page 9: StarUML NS - Example

Enkisoft, Ltd 4 Ver. 1.0

2. Business Modeling Artifacts

2.1  Domain Model

2.1.1  Domain Model Procedure

- Conceptual Class 추출

Step 1. 명사구를 식별하여 후보 클래스를 추출한다.

Requirement Statement 를 참조하여, 문서 내에 있는 명사구를 추출한다

회사 내에 있는 회의실을 사원들이 원활히 사용할 수 있도록 하기 위하여 예약을 할 수 있도록

하고자 한다.

이 회의실 예약 시스템을 사용하기 위해서는 부여 받은 사원의 정보를 이용하여 사용자 인증을

받아야 하며, 사용자 인증을 받은 정보는 사용자 등급에 따라 시스템에 기록되며, 이는 사용자가

시스템을 사용을 마치기 전까지 유지되어야 한다.

사원은 날짜별, 회의실별로 회의실에 대하여 조회할 수 있다. 날짜별 조회의 경우에는 조회 각

회의실의 시간별 예약 현황을 기술하고, 회의실 별로 조회를 한 경우에는 회의실의 검색일로부터

일주일 간의 예약 현황을 표시한다. 예약 현황에는 예약 상태를 표현하며, 예약 상태는 미 예약, 예약

대기, 예약 승인 상태로 나누어진다.

각 회의실에 대한 정보 조회는, 회의실의 수용 인원, 비치 장비와 회의실 단면도 등을 표현하고, 오늘

날짜의 시간별 예약 현황을 표현한다.

사원은 현재 예약 날짜, 예약 시간 및 회의실 등을 입력하여, 필요한 날짜에 회의실을 예약합니다.

예약 시간은 30 분 단위로 나누어진다. 회의실 예약시 연속적으로 몇 개의 단위를 한꺼번에 예약할

수 있으며, 연속된 예약은 1 회의 예약으로 본다. 시스템은 사원의 예약 요청 시에 일정관리

시스템(Scheduling System)에 통보하고, 결과를 통보 받아 가능한 경우, 예약 대기 상태로 설정한다.

예약 시에 현재 예약하고자 하는 부서의 벌칙 등급에 따라 예약을 제한할 수 있다. 회의실의 예약은

근무시간에만 가능하며, 조회, 수정 및 취소는 언제든지 가능하다. 한 부서는 하루에 2 회 이상의

회의실 예약은 할 수 없으며, 2 회 이상을 하기 위해서는 관리자에게 따로 승인을 받아야 한다. 또한

회의실 예약 일자는 근무 일에만 가능하며, 근무 일 외에는 예약이 불가능하다. 근무 일 외에 사용

위해서는 관리자에게 승인을 받아야 한다.

부서에는 회의실 사용 후의 청결성과 비치 장비의 파손 여부 등을 고려하여 벌칙을 부여할 수

있으며, 부서에 부여되는 벌칙 등급은 항시 사용 가능한 등급과 1 주일간 사용금지 등급 그리고

Page 10: StarUML NS - Example

Enkisoft, Ltd 5 Ver. 1.0

1 개월간 사용할 수 없는 등급으로 나누어 진다.

예약 요청을 되었을 때, 일정관리 시스템은 관리자에게 예약 요청을 알리고, 관리자는 요청된 예약

정보를 조회하고, 특이한 사항과 업무의 관련성 부분을 검토하여 승인을 합니다. 예약 요청에 대한

승인 시에 예약 신청자에 알리고, 불허 시에는 불허 사유와 함께 예약 신청자에게 알린다.

관리자는 사내의 부서와 사원의 정보를 관리하여, 이를 통하여 회의실 사용에 대한 등급을 관리하고,

등급의 조정 시에는 알림 시스템(Notify System)을 통하여 각 부서의 책임자에게 통보한다.

모든 정보에 대한 알림은 알림 시스템(Notify System)을 통하여 통보하도록 한다.

후보 클래스 리스트

회사, 회의실, 사원, 예약, 회의실 예약 시스템, 사원의 정보, 사용자 인증, 사용자 등급, 예약 현황,

예약 상태, 수용 인원, 비치 장비, 회의실 단면도, 예약 날짜, 예약 시간, 일정관리 시스템(Scheduling

System), 벌칙 등급, 근무시간, 관리자, 회의실 예약 일자, 벌칙, 예약 요청, 예약 정보, 불허 사유,

예약 신청자, 부서, 알림 시스템(Notify System), 부서의 책임자, 알림

Step2. 개념 클래스 카테고리를 통하여 후보 클래스를 추출

개념 클래스 카테고리 예제

물리적 혹은 만질 수 있는 객체들 비치 장비

사물에 대한 명세, 설계 혹은 기술 회의실명세

장소 회의실

트랜잭션 예약

트랜잭션 라인 아이템

사람의 역할 사원, 관리자, 부서의 책임자

다른 것들을 담은 컨테이너 부서

컨테이너에 담긴 것들 사원

현 시스템 외부의 컴퓨터나 전자 기계적 시스템 일정관리 시스템, 알림 시스템

추상 명사 개념

조직 회사, 부서

이벤트

프로세스

(보통 개념으로 표시 되지 않지만 그럴 수도 있다.)

법칙과 정책

카탈로그 예약 현황

재정, 작업, 계약, 법률적 사항의 기록

재무 도구와 서비스

매뉴얼, 문서, 참고문헌, 책

Page 11: StarUML NS - Example

Enkisoft, Ltd 6 Ver. 1.0

비치 장비, 회의실, 회의실 명세, 예약, 사원, 관리자, 부서의 책임자, 일정관리 시스템, 알림 시스템,

회사, 부서, 예약 현황

Step3. 후보 클래스 중에서 동사형 명사 삭제한다.

후보 클래스들 중에서 동사형 명사를 삭제하고, 후보 클래스를 정제한다.

회사, 회의실, 사원, 예약, 회의실 예약 시스템, 사원의 정보, 사용자 인증, 사용자 등급, 예약 현황,

예약 상태, 수용 인원, 비치 장비, 회의실 단면도, 예약 날짜, 예약 시간, 일정관리 시스템(Scheduling

System), 벌칙 등급, 근무시간, 관리자, 회의실 예약 일자, 벌칙, 예약 요청, 예약 정보, 불허 사유,

예약 신청자, 부서, 알림 시스템(Notify System), 부서의 책임자, 알림, 회의실명세

Step 4. 동일한 의미를 가지는 것과 시스템 외부에 존재하는 후보 클래스들을 삭제한다.

단 시스템과 상호 작용을 하는 것들은 남겨 둔다

회사, 회의실, 사원, 예약, 회의실 예약 시스템, 사원의 정보, 사용자 등급, 예약 현황, 예약 상태, 수용

인원, 비치 장비, 회의실 단면도, 예약 날짜, 예약 시간, 일정관리 시스템(Scheduling System), 벌칙

등급, 근무시간, 관리자, 회의실 예약 일자, 벌칙, 예약 정보, 불허 사유, 예약 신청자, 부서, 알림

시스템(Notify System), 부서의 책임자, 회의실 명세

Step 5. 클래스들 중에서 특정 클래스의 속성으로 표현되는 것 중에서 형태가 기본적인 형태(숫자,

문자열, 시간)들를 가지는 것을 삭제한다.

회의실, 사원, 예약, 사용자 등급, 예약 현황, 예약 상태, 수용 인원, 비치 장비, 회의실 단면도, 예약

날짜, 예약 시간, 부서, 일정관리 시스템(Scheduling System), 벌칙 등급, 근무시간, 관리자, 회의실

예약 일자, 벌칙, 불허 사유, 부서, 알림 시스템(Notify System), 부서의 책임자, 회의실 명세

Step 6. 추출된 개념 클래스들을 명칭을 정리한다.

회의실, 사원, 예약, 예약리스트, 비치 장비, 회의실 단면도, 일정관리 시스템(Scheduling System),

관리자, 부서, 알림 시스템(Notify System), 부서장, 회의실 명세

최종 추출된 개념 클래스(Conceptual Classes)

회의실, 사원, 예약, 예약리스트, 비치 장비, 회의실 단면도, 일정관리 시스템(Scheduling System),

관리자, 부서, 알림 시스템(Notify System), 부서장, 회의실 명세

Page 12: StarUML NS - Example

Enkisoft, Ltd 7 Ver. 1.0

- 연관(Association)

Step 7. 일반 적인 연관 카테고리를 이용하여 Association 을 추출한다.

카테고리 예

A 는 B 의 물리적인 한 부분이다

A 는 B 의 논리적인 한 부분이다 회의실 – 예약

A 는 B 에 물리적으로 포함된다

A 는 B 에 논리적으로 포함된다 회의실 – 비치 장비

회의실 – 회의실 단면도

A 는 B 에 대한 기술이다 회의실 – 회의실명세

A 는 트랜잭션 또는 보고서 B 의 라인 아이템이다 예약 리스트 – 예약

A 는 B 에 기록된다/알려진다/보고된다/파악된다 사원 – 예약

예약 – 관리자

A 는 B 의 구성원이다 부서 – 사원

A 는 B 의 조직상 하위 단위이다

A 는 B 를 사용하거나 관리한다 사원 – 회의실

관리자 – 회의실

A 는 B 와 정보를 교환한다 예약 – 일정관리 시스템

예약 – 알림 시스템

부서장 – 알림 시스템

사원 – 알림 시스템

A 는 트랜잭션 B 와 관련된다

A 는 트랜잭션 B 와 관련된 트랜잭션이다

A 는 B 의 옆에 있다

A 를 B 가 소유한다

A 는 B 와 관련된 이벤트이다 예약 – 알림

- 주요 속성(Key Attribute)

Step 8. 개념 클래스의 중요한 속성을 추출한다.

회의실 회의실 번호

예약 상태

사원 사원 ID, 패스워드

예약 예약 날짜, 예약 시간

예약리스트

비치 장비 이름, 종류

회의실 단면도

일정관리 시스템(Scheduling System)

Page 13: StarUML NS - Example

Enkisoft, Ltd 8 Ver. 1.0

관리자

부서 부서명

알림 시스템(Notify System)

부서장 이름, 사원 ID

알림

회의실 명세 수용 인원

Step 9. 연관 관계(Association)에 필요한 Multiplicity 를 추출한다.

Step 10. 추출된 정보를 바탕으로 도메인 모델을 작성한다.

Page 14: StarUML NS - Example

Enkisoft, Ltd 8 Ver. 1.0

2.1.2  Domain Model

예약

+예약일자+예약시간+예약상태

회의실

+Number

사원

+ID

+passw ord

예약리스트

비치장비

+Name

회의실 단면도

관리자

알림시스템

회의실 명세

+이름+수용인원 1..*1

1*

1

**

11

*

인사관리 시스템

1

1

부서 벌칙

1..*

1

11

Page 15: StarUML NS - Example

Enkisoft, Ltd 9 Ver. 1.0

2.2  Business Process Model

2.2.1  Business Process Model

사원 회의실예약시스템 일정관리시스템 알림시스템

[ 근무시간 내인 경우 ]

[ else ]

정보를 취합한다

근무시간 여부를 체크한다

회의실을 예약을 요청한다

예약 가능 여부를 확인한다[ 부여된 벌칙이 없는 경우 ]

예약 가능여부를 통보한다

[ 예약이 가능한 경우 ]

예약을 저장한다

신청자에게 통보를 한다

부서의 벌칙상태를 검사한다

Page 16: StarUML NS - Example

Enkisoft, Ltd 10 Ver. 1.0

3. Software Requirements Specification (SRS)

3.1  Introduction

3.1.1  Purpose

이 문서는 회의실 예약시스템의 기능적인 요구사항과 비 기능적인 요구사항을 정리하여, 개발 시스템

의 이해를 높이고, 향후 개발을 위한 기초 자료로 활용하기로 한다

3.1.2  Scope

이 문서는 회의실 예약 시스템에 대하여 작성하며, 인사 관리 시스템과 알림 시스템은 외부 서브 시

스템으로 한다

3.1.3  Definition, Acronyms and Abbreviations

번호 용어 설명 영문명 별칭(Alias)

1 회의실 예약을 위한 대상이 되며, 사내에 비치되

어 있는 회의실을 지칭한다

Meeting

Room

MR

2 인사관리

Subsystem

사원 정보 및 부서정보를 저장하고 관리

하는 기존에 구축된 시스템이다

사용자 인증 또는 벌칙 부여 등의 기능에

서 사용한다

Enterprise

Information

Management

System

PMS

3 알림 Subsystem 사내의 모든 통보를 관리하는 시스템이

다. 회의실 예약에 대한 승인 및 불허 시

에 이 시스템을 이용하여 통보 한다

Notify System Notify

System

-  표 1 회의실 예약 시스템 용어정리

3.1.4  References

None

3.1.5  Overview

이 문서는 사용자와 개발 참여자가 요구하는 요구사항을 정리하고, 이를 구조화 한다.

Page 17: StarUML NS - Example

Enkisoft, Ltd 11 Ver. 1.0

3.2  Overall Description

회의실 예약 시스템의 기본적인 요구사항을 정리하는 문서이다.

3.2.1  Product Perspective

이 시스템의 구축을 통하여 사원들의 회의실 사용을 원활이 할 수 있도록 한다.

3.2.2  Use Case Model Survey

사원

알림  시스템

관리자

회의실을  예약한다

회의실  예약  요청을  처리한다

회의실  정보를  관리한다

사용자  인증을  한다

회의실  예약을  조회한다

회의실  예약을  취소한다

인사  관리  시스템

회의실 정보

­ 추가 

­ 수정

­ 삭제

­ 조회

-  그림 1 회의실 예약 시스템

3.2.3  Operating Environment

운영체제 Windows 2000 Professional

웹 어플리케이션 서버 IIS 5.0, .NET Framework

DBMS MS SQL Server 2000

Case 도구 PLASTIC 2003 Standard

개발 도구 Visual Studio .NET

클라이언트 Web Browser ( Default – Internet Explorer 5.0 or later)

-  표 2 회의실 예약 관리 시스템 개발 및 운영환경

Page 18: StarUML NS - Example

Enkisoft, Ltd 12 Ver. 1.0

3.2.4  Constraints

시스템 운영을 위한 외부 시스템과의 상호 작용은 10초 이상이 소요되어서는 안되며, 10이상 소요

시에는 관리자에게 알리고, 시스템의 보완을 권고 한다.

3.2.5  Assumptions and Dependencies

사용자 인증을 위해서 인사관리 시스템에게 위임하여 수행한다.

Page 19: StarUML NS - Example

Enkisoft, Ltd 13 Ver. 1.0

3.3  Specific Requirements

회의실 예약 시스템에 대한 기능적인 요구사항과 비기능적인 요구사항을 자세히 설명하는 섹션 입니

다.

3.3.1  Use Case Reports

3.3.1.1  사용자 인증을 한다

Use Case Name 사용자 인증을 한다 ID UC-1

Brief Description 사원이 시스템 사용을 위하여 인증 절차를 거친다.

Actors 사원 (관리자)

Trigger 사원이 회의실 예약 시스템을 사용하기 위하여 처음 접근하는 경우

Flow of Events

Basic Flow Step Action

1 시스템은 사용자 인증을 할 수 있는 화면을 출력한다

2 사원은 인증을 위한 입력 요소를 입력한다.

-  입력 요소: ID, Password

3 시스템은 인사관리 시스템에게 입력 받은 요소와 함께 사용자 인

증 여부를 요청한다

4 시스템은 사용자 인증을 통한 사원의 정보를 기록하고, 사원의 레

벨 정보를 유지한다.

-  사원 레벨: 일반 사원, 관리자

5 <Use Case: 회의실 예약을 조회한다>를 수행한다

Alternative 1 1 4a – 사용자 인증이 실패하였을 경우

1 시스템은 경고 메시지를 보여준다.

-  경고 메시지: (사원명)님, 입력하신 (입력요소)를 다시 확인하신 후

다시 입력하여 주십시오.

2 시스템은 입력요소 미비에 대한 안내정보와 재입력 할 수 있는 화

면을 보여준다.

-  안내 정보: ID 분실 및 재발급/발급은 관리부서에 문의 하여 주시

기 바랍니다.

-  입력 요소: ID, Password

3 Basic Flow 2로 이동한다

Preconditions None

Postconditions -  사용자 인증이 성공한 경우

  사용자 인증에 성공한 사용자 정보를 기록하고 사용자의 레벨 정보를

유지한다.

-  사용자 인증이 실패한 경우

Page 20: StarUML NS - Example

Enkisoft, Ltd 14 Ver. 1.0

  인증 실패 횟수를 증가 하고, 3번 이상의 실패 시에는 사용 불가 상태

를 인사관리 시스템에 요구한다

Extension Points None

Reference UC-3

Special Requirements None

Page 21: StarUML NS - Example

Enkisoft, Ltd 15 Ver. 1.0

3.3.1.2  회의실을 예약 한다

Use Case Name 회의실을 예약 한다 ID UC-2

Brief Description 시스템에 등록 되어 있는 사원이 회의실을 특정 시간에 사용하기 위하여 회

의실 예약 시스템을 통하여 예약한다.

Actors 사원 (관리자)

Trigger 사원이 회의실 예약을 요청한 경우

Flow of Events

Basic Flow Step Action

1 시스템은 회의실 예약을 위한 화면을 보여준다.

-  선택 사항: 날짜

-  특이 사항: 현재 날짜가 표현한다.

2 사원은 예약을 원하는 날짜를 선택한다.

3 시스템이 사원이 지정한 일자에 회의실 별로 회의실 예약 현황 리

스트를 출력한다

-  예약 상태: 미 예약, 예약 대기, 예약 승인

4 사원은 미 예약 상태의 회의실과 시간을 지정한다

5 시스템은 사원이 선택한 회의실과 시작 시간에 예약을 위한 화면

을 출력한다.

6 사원은 예약을 위한 정보를 입력하고, 회의실 예약을 요청한다

-  입력 정보: 예약 시간(종료), 기타 참고사항, 회의 제목

7 시스템은 예약 날짜에 부서의 예약 가능 여부를 검사하다

- 예약 불가상태: 예약일 2건 이상의 예약, 벌칙 기간내

8 시스템은 입력 받은 정보를 저장한다.

-  저장 정보: 예약자, 예약 부서, 예약 시간(시작, 종료), 회의실, 기

타, 참조 사항, 회의 제목, 예약 상태(예약 대기)

9 시스템은 <Use Case: 회의실 예약을 조회한다>을 수행한다

-  요청 첨부 자료: 날짜, 회의실

Alternative 1 Step 1a – 근무 시간이 아닌 경우

1 시스템은 경고 메시지를 보여준다.

-  메시지: 회의실 예약은 업무시간에 이용해 주시기를 바랍니다.

2 시스템은 <Use Case: 회의실 예약을 조회한다>을 수행한다

Alternative 2 Step 1a – 요청된 정보에 날짜에 관련된 정보가 있는 경우

1 시스템은 요청 받은 날짜를 선택사항을 날짜로 변경한다

2 시스템은 Basic Flow 3으로 이동한다

Alternative 3 Step 3a – 예약이 불가능한 날짜를 지정한 경우

-  공휴일, 과거 일자

1 시스템은 경고 메시지를 보여준다

-  메시지: 지정하신 날짜에는 예약이 불가능한 날짜입니다.

Page 22: StarUML NS - Example

Enkisoft, Ltd 16 Ver. 1.0

2 시스템은 Basic Flow 1으로 이동한다

Alternative 4 Step 3b – 시스템에 보여줄 회의실 정보가 없거나, 회의실 예약이 모두

끝난 경우

1 시스템은 경고 메시지를 보여준다.

-  메시지: 예약할 수 있는 회의실이 없습니다

2 시스템은 Basic Flow 1으로 이동한다

Alternative 5 Step 8a – 사원이 지정한 날짜에 사원 부서가 2건 이상의 예약이 되어

있는 경우

1 시스템은 경고 메시지를 보여준다

2 시스템은 Basic Flow 2로 이동한다

Alternative 6 Step 8b – 사원이 지정한 날짜에 직원의 부서가 벌칙기간인 경우

1 시스템은 경고 메시지를 보여준다

-  메시지: 귀하의 부서는 회의실을 부주의하게 사용하여, (벌칙 기

간)동안 회의실을 이용하 실 수 없습니다.

2 시스템의 Basic Flow 1으로 이동한다

Preconditions 사원은 사용자 인증이 되어 있어야 한다.

Postconditions 회의실 예약이 성공한 경우

-  회의실 예약 정보를 기록한다

-  예약 정보: 예약자, 예약 부서, 예약일, 예약 시간, 회의실, 기타 참고 사

항, 회의 제목, 예약 상태(대기 상태)등등

Extension Points None

Reference UC-3

Special Requirements None

Page 23: StarUML NS - Example

Enkisoft, Ltd 17 Ver. 1.0

3.3.1.3  회의실 예약을 조회한다

Use Case Name 회의실 예약을 조회한다 ID UC-3

Brief Description 사원이 시스템 등록되어 있는 회의실 예약 사항을 조회한다

Actors 사원(관리자)

Trigger 사원이 회의실 예약 사항을 조회하기 위해 요청하는 경우

Flow of Events

Basic Flow Step Action

1 시스템은 오늘 날짜의 회의실 별 예약 목록을 보여준다

2 사원은 원하는 날짜를 선택한다

3 시스템은 선택한 날짜의 회의실 별 예약 목록을 보여준다

-  목록: 예약 시간, 회의 제목, 예약 부서, 예약 상태

-  미 예약 상태: 모든 곳에 None으로 설정

4 사원은 보고 싶은 회의실 예약 정보를 선택한다

5 시스템은 선택한 예약 정보를 상세히 보여준다

-  예약 정보: 예약자, 예약 부서, 예약일, 시작시간, 종료시간, 회의

제목, 기타 참고 사항, 예약 상태

-  연결점: 취소

6 Use Case를 종료한다

Alternative 1 Step 2a – 사원이 다른 날의 예약 상황을 보고 싶지 않은 경우

1 Basic Flow 4으로 이동한다

Alternative 2 Step 4a – 사원이 상태 정보를 보고 싶지 않은 경우

1 Use Case를 종료한다

Preconditions 사원은 사용자 인증이 되어 있어야 한다

Postconditions

Extension Points None

Reference

Special Requirements None

Page 24: StarUML NS - Example

Enkisoft, Ltd 18 Ver. 1.0

3.3.1.4  회의실 예약을 취소한다

Use Case Name 회의실 예약을 취소한다 ID UC-4

Brief Description 사원이 회의실 예약을 취소하기 위해 사용한다

Actors 사원(관리자)

Trigger 회의실 예약을 취소를 요청한 경우

Flow of Events

Basic Flow Step Action

1 시스템은 회의실 예약 취소 요청을 확인한다

-  메시지: 정말로 취소 하시겠습니까?

2 사원은 회의실 예약 취소를 확인한다

3 시스템은 취소 요청자가 취소 권한이 있는지를 확인한다

-  취소 권한: 예약자, 관리자

4 시스템은 취소를 요청한 예약 정보를 취소 상태로 변경한다

5 <Use Case: 회의실 예약 정보를 조회한다>를 수행한다

Alternative 1 Step 2a – 예약 취소 요청을 취소 하는 경우

Use Case를 마친다.

Alternative 2 Step 3a – 취소권한이 없는 경우

1 시스템은 경고 메시지를 보여준다

-  메시지: (취소 요청자)님은 취소할 권한이 없습니다.

2 Basic Flow 5로 이동한다

Preconditions 사원은 사용자 인증이 되어 있어야 한다

Postconditions 취소 요청이 성공적으로 수행되었을 경우

-  기존 예약 정보에서 취소 상태로 변경한다

Extension Points None

Reference UC-3

Special Requirements None

Page 25: StarUML NS - Example

Enkisoft, Ltd 19 Ver. 1.0

3.3.1.5  회의실 예약 요청을 처리한다

Use Case Name 회의실 예약 요청을 처리한다 ID UC-5

Brief Description 사원이 요청한 회의실 예약에 대하여 관리자가 처리하기 위해서 사용합니

다.

Actors 관리자

Trigger 관리자가 요청 받은 회의실 예약 정보를 처리(승인, 불허)하고자 할 때

Flow of Events

Basic Flow Step Action

1 관리자는 시스템에 예약 대기 상태에 대하여 리스트를 요청한다

2 시스템은 예약 대기 상태에 있는 예약 리스트를 출력한다

-  리스트 항목: 번호, 예약자, 예약 부서, 제목, 승인, 불허

3 관리자는 회의실 예약 요청을 승인 요청한다

4 시스템은 요청한 회의실 예약 상태를 승인 상태로 변경한다

5 시스템은 예약 승인 정보를 알림 시스템에 통보를 요청한다

통보 요청시 정보: 요청자 정보, 예약 정보

6 Use Case를 마친다

Alternative Flow 1 Step 2a – 예약 대기 상태의 회의실 예약이 없는 경우

1 시스템은 경고 메시지를 보여준다

-  메시지: 처리해야 할 예약은 없습니다.

2 Use Case를 마친다

Alternative Flow 2 Step 3a – 회의실 예약을 불허하는 경우

1 관리자는 회의실 예약 요청을 불허 요청한다

2 시스템은 요청한 회의실 예약 상태를 취소 상태로 변경한다

5 시스템은 예약 불허 정보를 알림 시스템에 통보를 요청한다

-  통보 요청시 정보: 요청자 정보, 불허 사유, 예약 정보

6 Use Case를 마친다

Preconditions 사용자 인증이 되어 있어야 한다

사용자 인증 레벨이 관리자이어야 한다

Postconditions 승인이 성공적으로 마친 경우

-  예약 정보가 승인상태로 변경되어야 한다

-  예약 승인 정보가 예약 신청자에게 통보 되어야 한다

불허가 성공적으로 마친 경우

-  예약 정보가 불허 상태로 변경되어야 한다

-  예약 불허 사유와 함께 불허 정보가 예약 신청자에게 통보 되어야 한다

Extension Points None

Reference None

Special Requirements None

Page 26: StarUML NS - Example

Enkisoft, Ltd 20 Ver. 1.0

3.3.1.6  회의실 정보를 관리한다

Use Case Name 회의실 정보를 관리한다 ID UC-6

Brief Description 관리자가 본 시스템에 예약 가능한 회의실 정보를 추가/조회/수정/삭제하기

위해 사용한다

Actors 관리자

Trigger 관리자가 회의실 정보 관리를 선택한 경우.

Flow of Events

Basic Flow Step Action

1 회의실 정보 추가를 요청하는 경우 – Subflow 1

2 회의실 정보 조회를 요청하는 경우 – Subflow 2

3 회의실 정보 수정을 요청하는 경우 – Subflow 3

4 회의실 정보 삭제를 요청하는 경우 – Subflow 4

Subflow 1 Step 회의실 정보 추가를 요청하는 경우

1 시스템은 이 시스템이 필요한 회의실 입력 요소를 표시한다.

-  필수 요소: 회의실 명, 수용인원

-  부가 요소: 위치, 비치장비, 회의실 단면도

2 관리자는 표시된 회의실 입력요소에 정보를 입력하고, 추가를 요청

한다

3 시스템은 입력된 회의실 정보를 유효성을 검사한다

4 시스템은 입력된 회의실 정보를 저장한다.

-  저장 정보: 회의실 명, 수용인원, 위치, 비치장비, 회의실 단명도,

입력 날짜

5 시스템은 Subflow 2를 수행한다

Subflow 2 Step 회의실 정보 조회를 요청한 경우

1 시스템은 회의실 리스트 정보를 출력한다

-  항목당 연결 내용: 수정, 삭제

2 관리자는 보고 싶은 회의실 이름을 선택한다

3 시스템은 관리자가 선택한 회의실의 정보를 자세히 보여준다

-  회의실 내용: 회의실명, 회의실 사진, 기자재, 위치

4 관리자가 회의실 조회를 종료한다

Subflow 3 Step 회의실 정보 수정을 요청한 경우

1 시스템은 관리자가 선택한 회의실 정보를 수정 가능한 상태로 보

여준다

-  수정 가능 정보: 회의실 명, 수용인원, 위치, 비치장비, 회의실 단

명도

2 관리자는 회의실 정보를 수정한다.

3 시스템은 입력된 정보의 유효성을 검사한다

4 시스템은 수정된 정보를 저장한다.

Page 27: StarUML NS - Example

Enkisoft, Ltd 21 Ver. 1.0

5 시스템은 Subflow 2를 수행한다

Subflow 4 Step 회의실 정보 삭제를 요청한 경우

1 시스템은 회의실 정보 삭제를 확인한다

-  메시지: 선택하신 (회의실명)을 삭제하시겠습니까?

2 시스템은 관리자가 선택한 회의실 정보를 삭제한다.

3 시스템은 Subflow 2를 수행한다

Alternative Flow 1 Step SF1.3a, SF3.3a – 입력된 정보가 미비한 경우

1 시스템은 미비한 정보에 기술한다

-  메시지: (미비한 정보) 정보가 부족합니다. 다시 입력하여 주십시

오.

2 시스템은 Subflow 1.2, Subflow 3.2로 이동한다

Alternative Flow 2 Step SF2.1a – 입력된 회의실 정보가 없는 경우

1 시스템은 경고 메시지를 보여준다

-  메시지: 입력된 정보가 없습니다. 회의실 정보 추가화면으로 이

동 한다.

2 시스템은 Subflow 1로 이동한다

Preconditions 사용자 인증이 되어 있어야 한다

사용자 인증 레벨이 관리자이어야 한다

Postconditions 회의실 정보 추가가 성공적으로 마친 경우

-  새로운 회의실 정보가 추가 되어야 한다

회의실 정보 조회가 성공적으로 마친 경우

None

회의실 정보 수정이 성공적으로 마친 경우

-  기존의 회의실 정보가 새롭게 입력된 정보로 수정 되어야 한다

회의실 정보 삭제가 성공적으로 마친 경우

-  기존의 회의실 정보가 삭제 되어야 한다

-  기존 삭제된 회의실의 예약 정보는 취소 사태로 변경한다

Extension Points None

Reference None

Special Requirements None

Page 28: StarUML NS - Example

Enkisoft, Ltd 22 Ver. 1.0

3.3.2  Supplementary Requirements

3.3.2.1  Reference

None

3.3.2.2  Functionality

여러 명의 사용자가 동시에 사용할 수 있어야 한다.

관리자가 회의실 예약에 대하여 승인 또는 불허 했을 시에는 반드시 예약 신청자에게 알려주어야 한

다.

3.3.2.3  Usability

기본 클라이언트 표준은 Windows 기반의 Internet Explorer 5.0 이상으로 한다. 그러나 모든 웹 브라

우저에서 사용할 수 있어야 한다.

3.3.2.4  Reliability

일주일에 월요일 새벽 2시부터 3시사이의 백업 시간을 제외하고는 이용이 가능해야 한다.

3.3.2.5  Performance

기존 시스템과의 대화에서 10초 이하로 설정하고, 대화 시간을 초과할 경우 관리자에게 알린다.

3.3.2.6  Supportability

None

3.3.2.7  Security

최초 사용자 인증 시에 인증 과정 정보를 저장하고, 이 저장된 정보를 활용하여 사용자의 권한을 할

당한다.

3.3.2.8  Design Constraint

저장되는 매체는 RDBMS이로 한다.

Page 29: StarUML NS - Example

Enkisoft, Ltd 23 Ver. 1.0

3.3.3  External Interface Requirements

Page 30: StarUML NS - Example

Enkisoft, Ltd 24 Ver. 1.0

4. Analysis Artifacts

4.1  Analysis Model

4.1.1  사용자 인증을 한다.

사원 사용자 인증 폼

+사용자 인증 요청(사용자 아이디, 사용자 패스워드)

사용자 인증 컨트롤

+사용자 인증(사용자 아이디, 사용자 패스워드)

부서 관리 시스템

+사용자 인증(사용자 아이디, 사용자 패스워드)

회의실 예약 조회 폼

+예약 조회(날짜)

+취소 확인 화인 메시지()

+취소 요청(예약정보)

Page 31: StarUML NS - Example

Enkisoft, Ltd 25 Ver. 1.0

4.1.2  회의실을 예약한다.

사원 회의실 예약 폼

+회의실 예약 요청(회의실 예약 정보)

회의실 예약 정보

+예약 정보 가져오기(날짜)

+예약 상태 설정(선택예약, 승인상태)

+예약 정보 저장하기(예약정보)

회의실 예약 컨트롤

+리스트 요청(예약: 예약상태)

+승인 요청(예약)

+불허 요청(예약)

+리스트 요청(날짜)

+리스트 요청(회의실)

+회의실 예약 폼 요청()

+회의실 예약(예약정보)

+예약 취소(예약 정보)

알림 시스템

+통보(대상, 통보 메시지)

알림 시스템

Page 32: StarUML NS - Example

Enkisoft, Ltd 26 Ver. 1.0

4.1.3  회의실 예약을 조회한다.

사원

회의실 예약 조회 폼

+예약 조회(날짜)

+취소 확인 화인 메시지()

+취소 요청(예약정보)

회의실 예약 컨트롤

+리스트 요청(예약: 예약상태)

+승인 요청(예약)

+불허 요청(예약)

+리스트 요청(날짜)

+리스트 요청(회의실)

+회의실 예약 폼 요청()

+회의실 예약(예약정보)

+예약 취소(예약 정보)

회의실 예약 정보

+예약 정보 가져오기(날짜)

+예약 상태 설정(선택예약, 승인상태)

+예약 정보 저장하기(예약정보)

4.1.4  회의실 예약을 취소한다.

회의실 예약 조회 폼

+예약 조회(날짜)

+취소 확인 화인 메시지()

+취소 요청(예약정보)

사원

회의실 예약 컨트롤

+리스트 요청(예약: 예약상태)

+승인 요청(예약)

+불허 요청(예약)

+리스트 요청(날짜)

+리스트 요청(회의실)

+회의실 예약 폼 요청()

+회의실 예약(예약정보)

+예약 취소(예약 정보)

회의실 예약 정보

+예약 정보 가져오기(날짜)

+예약 상태 설정(선택예약, 승인상태)

+예약 정보 저장하기(예약정보)

Page 33: StarUML NS - Example

Enkisoft, Ltd 27 Ver. 1.0

4.1.5  회의실 예약 요청을 처리한다.

관리자

예약 대기 상태 조회 폼

+리스트 요청()

+승인 요청(예약정보)

+불허 요청()

회의실 예약 컨트롤

+리스트 요청(예약: 예약상태)

+승인 요청(예약)

+불허 요청(예약)

+리스트 요청(날짜)

+리스트 요청(회의실)

+회의실 예약 폼 요청()

+회의실 예약(예약정보)

+예약 취소(예약 정보)

회의실 예약 정보

+예약 정보 가져오기(날짜)

+예약 상태 설정(선택예약, 승인상태)

+예약 정보 저장하기(예약정보)

알림 시스템알림 시스템

+통보(대상, 통보 메시지)

Page 34: StarUML NS - Example

Enkisoft, Ltd 28 Ver. 1.0

4.1.6  회의실 정보를 관리한다.

관리자

회의실 정보 추가 폼

+추가 요청(회의실 정보)

회의실 정보 조회 폼

+날짜 선택()

+조회 요청()

회의실 정보 삭제 폼

+삭제 요청(인덱스)

회의실 정보 컨트롤

+회의실 정보 조회()

+회의실 정보 추가(회의실 정보)

+회의실 정보 삭제(인덱스)

회의실 정보

+회의실 정보를 가져온다()

+회의실 정보를 저장한다(회의실정보)

+회의실 정보를 삭제한다(인덱스)

Page 35: StarUML NS - Example

Enkisoft, Ltd 29 Ver. 1.0

4.2  Use Case Realization (Analysis-Level)

4.2.1  사용자 인증을 한다.

 : 사원 : 사용자 인증 컨트롤 : 사용자 인증 폼  : 부서 관리 시스템

 : 인사 관리 시스템

사용자 인증 요청(아이디, 패스워드)

사용자 인증(아이디, 패스워드)

레벨 := 사용자 인증(아이디,패스워드)

사용자 인증()

Page 36: StarUML NS - Example

Enkisoft, Ltd 30 Ver. 1.0

4.2.2  회의실을 예약한다.

 : 사원 : 회의실 예약 컨트롤  : 회의실 예약 정보 : 회의실 예약 폼 : 회의실 정보 조회 폼

날짜 선택()

리스트 요청(선택날짜)

예약 정보 가져오기(날짜)

화면출력

회의실 예약 지정(회의실, 날짜, 시간)

회의실 예약 폼 요청()

회의실 예약 폼 출력()

회의실 예약 요청(입력 정보)

회의실 예약(예약정보)

예약 정보 미비사항을 점검한다()

[미비사항이 없는경우] : 예약 정보 저장하기(예약정보)

Page 37: StarUML NS - Example

Enkisoft, Ltd 31 Ver. 1.0

4.2.3  회의실 예약을 조회한다.

 : 사원

 : 회의실 예약 조회 폼  : 회의실 예약 컨트롤  : 회의실 예약 정보

예약 조회(날짜)

리스트 요청(날짜)

예약 정보 가져오기(날짜)

회의실 별로 정렬()

화면 출력

Page 38: StarUML NS - Example

Enkisoft, Ltd 32 Ver. 1.0

4.2.4  회의실 예약을 취소한다.

 : 회의실 예약 조회 폼

 : 사원 : 회의실 예약 컨트롤  : 회의실 예약 정보

예약 조회(날짜)

리스트 요청(날짜)

예약 정보 가져오기(날짜)

취소 요청(예약정보)

취소 확인 화인 메시지()

취소 확인()

예약 취소(예약 정보)

예약 상태 설정(예약정보, 취소)

Page 39: StarUML NS - Example

Enkisoft, Ltd 33 Ver. 1.0

4.2.5  회의실 예약 요청을 처리한다.

 : 관리자

 : 예약 대기 상태 조회 폼  : 회의실 예약 컨트롤  : 회의실 예약 정보  : 알림 시스템

 : 알림 시스템

리스트 요청()

리스트 요청(대기상태)

예약 정보 가져오기(대기상태)

[승인요청시] : 승인 요청(선택예약)

승인 요청(선택예약)

예약 상태 설정(선택예약, 승인)

통보(예약 요청자, 통보 메시지)

통보()

[불허요청시] : 불허 요청(선택예약)

불허 요청(선택예약)

예약 상태 설정(선택예약, 불허)

통보(예약요청자, 불허메시지)

통보()

Page 40: StarUML NS - Example

Enkisoft, Ltd 34 Ver. 1.0

4.2.6  회의실 정보를 관리한다.

4.2.6.1  회의실 정보를 조회한다.

 : 관리자

 : 회의실 정보 조회 폼  : 회의실 정보 컨트롤  : 회의실 정보

회의실 정보 조회 요청()

회의실 정보 조회()

회의실 정보를 가져온다()

화면에 출력한다

Page 41: StarUML NS - Example

Enkisoft, Ltd 35 Ver. 1.0

4.2.6.2  회의실 정보를 추가한다.

 : 관리자

 : 회의실 정보 추가 폼  : 회의실 정보 컨트롤  : 회의실 정보 : 회의실 정보 조회 폼

추가 요청(회의실 정보)

추가(회의실정보)

회의실 정보를 저장한다(회의실정보)

조회 요청()

Page 42: StarUML NS - Example

Enkisoft, Ltd 36 Ver. 1.0

4.2.6.3  회의실 정보를 삭제한다.

 : 관리자

 : 회의실 정보 삭제 폼  : 회의실 정보 컨트롤  : 회의실 정보 : 회의실 정보 조회 폼

삭제 요청(인덱스)

회의실 정보 삭제(인덱스)

회의실 정보를 삭제한다(인덱스)

조회 요청()

Page 43: StarUML NS - Example

Enkisoft, Ltd 37 Ver. 1.0

5. Design Artifacts

5.1  Design Model

5.1.1  사용자 인증을 한다.

UserAuthManagement

<<Business Object>>

+UserAuth(id, passw d)

UserAuthForm

<<ASPX>>

+txtId: TextBox

+txtPassw ord: TextBox

+btnSubmit: Button

+btnReset: Button

+btnSumit_Click()

PMS

RetrieveReservationForm

<<ASPX>>

+ConfirmCancel()

Success<<post>>

IUserAuth

Page 44: StarUML NS - Example

Enkisoft, Ltd 38 Ver. 1.0

5.1.2  회의실을 예약한다.

ReserveMeetingRoomForm

<<ASPX>>

+txtSubject: TextBox

+txtDate: TextBox

+txtStartTime: TextBox

+txtEndTime: TextBox

+txtDescription: TextBox

+btnSubmit: Button

+btnSubmit_Click()

ReservationManagement

<<Business Object>>

+retrieveReservations(aReservationState: ReservationState)

+aggrement(aReservation: ReservationInfomation)

+disapproval(aReservation)

+retrieveReservations(aDate: Date)

+retrieveReservation(aMR: MeetingRoom)

+add(aReservation: ReservationInfomation)

+cancel(index: Integer)

+validateCheck()

+requestReservationForm()

ReservationInfomation

<<DAO>>

+search(adate: date)

+UpdateState(index: Integer, State: ReservationState)

+Create(aReservation: ReservationInfomation)

ReservationState

<<enumeration>>

+None

+Waiting

+Aggremenet

+Disapproval

+Cancel

Reservation

<<table>>

<<PK>>+Index: INT

+Date: DATE

+StartTime: TIME

+EndTime: TIME

+Requester: EmployeeID

+MeetingSubject: VARCHAR[50]

+Description: MEMO

Reservation_DataGrid

<<DataGrid>>

+lblReservationID: Label

+lblSubject: Label

+lblMeetingRoom: Label

+lblReservationState: Label

+lblRequester: Label

+btnCancel: Button

+btnCancel_Click()

RetrieveReservationForm

<<ASPX>>

+ConfirmCancel()

<<post>>

Page 45: StarUML NS - Example

Enkisoft, Ltd 39 Ver. 1.0

5.1.3  회의실 예약을 조회한다.

ReservationInfomation

<<DAO>>

+search(adate: date)

+UpdateState(index: Integer, State: ReservationState)

+Create(aReservation: ReservationInfomation)

ReservationManagement

<<Business Object>>

+retrieveReservations(aReservationState: ReservationState)

+aggrement(aReservation: ReservationInfomation)

+disapproval(aReservation)

+retrieveReservations(aDate: Date)

+retrieveReservation(aMR: MeetingRoom)

+add(aReservation: ReservationInfomation)

+cancel(index: Integer)

+validateCheck()

+requestReservationForm()

Reservation

<<table>>

<<PK>>+Index: INT

+Date: DATE

+StartTime: TIME

+EndTime: TIME

+Requester: EmployeeID

+MeetingSubject: VARCHAR[50]

+Description: MEMO

RetrieveReservationForm

<<ASPX>>

+ConfirmCancel()

Page 46: StarUML NS - Example

Enkisoft, Ltd 40 Ver. 1.0

5.1.4  회의실 예약을 취소한다.

RetrieveReservationForm

<<ASPX>>

+ConfirmCancel()

Reservation_DataGrid

<<DataGrid>>

+lblReservationID: Label

+lblSubject: Label

+lblMeetingRoom: Label

+lblReservationState: Label

+lblRequester: Label

+btnCancel: Button

+btnCancel_Click()

ReservationManagement

<<Business Object>>

+retrieveReservations(aReservationState: ReservationState)

+aggrement(aReservation: ReservationInfomation)

+disapproval(aReservation)

+retrieveReservations(aDate: Date)

+retrieveReservation(aMR: MeetingRoom)

+add(aReservation: ReservationInfomation)

+cancel(index: Integer)

+validateCheck()

+requestReservationForm()

ReservationInfomation

<<DAO>>

+search(adate: date)

+UpdateState(index: Integer, State: ReservationState)

+Create(aReservation: ReservationInfomation)

Reservation

<<table>>

<<PK>>+Index: INT

+Date: DATE

+StartTime: TIME

+EndTime: TIME

+Requester: EmployeeID

+MeetingSubject: VARCHAR[50]

+Description: MEMO

<<post>>

Page 47: StarUML NS - Example

Enkisoft, Ltd 41 Ver. 1.0

5.1.5  회의실 예약 요청을 처리한다.

WaitingStateReservationForm

<<ASPX>>

+txtReservationID: TextBox

+txtReservationSubject: TextBox

+txtRequester: TextBox

+btnAggrement: Button

+btnDisapproval: Button

+btnAggrement_Click()

+btnDisapproval_Click()

ReservationManagement

<<Business Object>>

+retrieveReservations(aReservationState: ReservationState)

+aggrement(aReservation: ReservationInfomation)

+disapproval(aReservation)

+retrieveReservations(aDate: Date)

+retrieveReservation(aMR: MeetingRoom)

+add(aReservation: ReservationInfomation)

+cancel(index: Integer)

+validateCheck()

+requestReservationForm()

ReservationInfomation

<<DAO>>

+search(adate: date)

+UpdateState(index: Integer, State: ReservationState)

+Create(aReservation: ReservationInfomation)

Reservation

<<table>>

<<PK>>+Index: INT

+Date: DATE

+StartTime: TIME

+EndTime: TIME

+Requester: EmployeeID

+MeetingSubject: VARCHAR[50]

+Description: MEMO

<<post>>

Page 48: StarUML NS - Example

Enkisoft, Ltd 42 Ver. 1.0

5.1.6  회의실 정보를 관리한다.

MeetingRoom

<<DAO>>

+get(index: Integer): MeetingRoom

+add(aMR: MeetingRoom): boolean

+remove(index: Integer): boolean

MeetingRoomManagement

<<Business Object>>

+retrieveMR(): MeetingRoom

+add(aMR: MeetingRoom)

+remove(index: Integer)

RetrieveMeetingRoomForm

<<ASPX>>

+btnAdd: Button

+btnDate: Button

+btnReserve

+btnDate_Click()

+btnReserve_Click(aMR: MeetingRoom, aDate: Date, aTime: Time)

AddMeetingRoomForm

<<ASPX>>

+txtName: TextBox

+txtLocation: TextBox

+txtMachine: TextBox

+picView : Image

+btnAdd: Button

+btnAdd_Click()

RetrieveReservationForm

<<ASPX>>

+ConfirmCancel()

redirect

MeetingRoom

<<table>>

<<PK>>+Index: INT

+Location: VARCHAR[50]

+Capability: INT

+Machine: VARCHAR[50]

+View : BLOB

MeetingRoom_DataGrid

<<DataGrid>>

+lblId: Label

+lblName: Label

+lblCapability: Label

+lblMachine: Label

+btnRemove: Button

+btnRemove_Clcik()

+MeetingRoomList

IMeetingRoom

Page 49: StarUML NS - Example

Enkisoft, Ltd 43 Ver. 1.0

5.2  Implementation Model

5.2.1  Implementation

Reservation.dll

<<.NETAssembly>>

MeetingRoom.dll

<<.NETAssembly>>

INofityIUserAuth

IReservation

IMeetingRoom

NotifySubsystemPMS

WebClient.dll<<.NETAssembly>>

Page 50: StarUML NS - Example

Enkisoft, Ltd 44 Ver. 1.0

5.3  Deployment Model

5.3.1  Deployment

WebBrowser Application Server Database ServerLAN LAN

Notify Server

LAN

LAN

Page 51: StarUML NS - Example

Enkisoft, Ltd 45 Ver. 1.0

5.3.2  Deployment Instatnce

IE55:WebBrow ser Reservation:Application Server

PMS:Application Server

NotifySystem:Notify Server

MSSQL:Database ServerE1

E!

E1

T1

Page 52: StarUML NS - Example

Enkisoft, Ltd 46 Ver. 1.0

5.4  Data Model

5.4.1  Data Model

Reservation

<<table>>

<<PK>>+Index: INT

+Date: DATE

+StartTime: TIME

+EndTime: TIME

+Requester: EmployeeID

+MeetingSubject: VARCHAR[50]

+Description: MEMO

MeetingRoom

<<table>>

<<PK>>+Index: INT

+Location: VARCHAR[50]

+Capability: INT

+Machine: VARCHAR[50]

+View : BLOB

+Room

*1

Page 53: StarUML NS - Example

Enkisoft, Ltd 47 Ver. 1.0

5.5  Use Case Realization (Design-Level)

5.5.1  사용자 인증을 한다.

 : 사원 : UserAuthManagement : UserAuthForm

 : 인사 관리 시스템

btnSumit_Click(아이디, 패스워드)

UserAuth(아이디, 패스워드)

레벨 := 사용자 인증(아이디,패스워드)

사용자 인증()

Page 54: StarUML NS - Example

Enkisoft, Ltd 48 Ver. 1.0

5.5.2  회의실을 예약한다.

 : 사원

 : ReservationManagement  : ReservationInfomation : ReserveMeetingRoomForm : RetrieveMeetingRoomForm

btnDate_Click()

retrieveReservations(aDate)

search(adate)

화면출력

btnReserve_Click(aMR, aDate, aTime)

requestReservationForm()

회의실 예약 폼 출력()

btnSubmit_Click()

add(aReservation)

validateCheck()

[is Complete] : Create(aReservation)

Page 55: StarUML NS - Example

Enkisoft, Ltd 49 Ver. 1.0

5.5.3  회의실 예약을 조회한다.

 : 사원

 : RetrieveReservationForm  : ReservationManagement : ReservationInfomation

 : Reservation_DataGrid

retrieveReservations(aDate)search(adate)

회의실 별로 정렬()

화면 출력

Page 56: StarUML NS - Example

Enkisoft, Ltd 50 Ver. 1.0

5.5.4  회의실 예약을 취소한다.

 : RetrieveReservationForm

 : 사원 : ReservationManagement  : ReservationInfomation

retrieveReservations()

retrieveReservations(aDate)

search(adate)

ConfirmCancel()

Confirm()

cancel(index)

UpdateState(예약정보, 취소)

Page 57: StarUML NS - Example

Enkisoft, Ltd 51 Ver. 1.0

5.5.5  회의실 예약 요청을 처리한다.

 : 관리자

 : WaitingStateReservationForm  : ReservationManagement  : ReservationInfomation  : NotifySubsystem

requestReservation(Waiting)

retrieveReservations(Waiting)

search(waiting)

[Agreement] : btnAggrement_Click()

aggrement(aReservaiton)

UpdateState(aReservation, Aggrement)

Notify(requester, AggrementMessage)

[diapproval] : btnDisapproval_Click()

disapproval(aReservation)

UpdateState(aReservation, Aggrement)

Notify(Requester, DisapprovalMessage)

Page 58: StarUML NS - Example

Enkisoft, Ltd 52 Ver. 1.0

5.5.6  회의실 정보를 관리한다.

5.5.6.1  회의실 정보를 조회한다.

 : 관리자

 : RetrieveMeetingRoomForm  : MeetingRoomManagement  : MeetingRoom

 : MeetingRoom_DataGrid

회의실 정보 조회 요청()

retrieveMR()

get(index)

display()

화면에 출력한다

Page 59: StarUML NS - Example

Enkisoft, Ltd 53 Ver. 1.0

5.5.6.2  회의실 정보를 추가한다.

 : 관리자

 : AddMeetingRoomForm  : MeetingRoomManagement  : MeetingRoom : RetrieveMeetingRoomForm

btnAdd_Click()

추가(회의실정보)

add(aMR)

Page 60: StarUML NS - Example

Enkisoft, Ltd 54 Ver. 1.0

5.5.6.3  회의실 정보를 삭제한다.

 : 관리자 : MeetingRoomManagement  : MeetingRoom : RetrieveMeetingRoomForm

RequestRemoveMeetingRoom()

remove(index)

remove(index)