staruml ns guide - requirements

67
Sections Requirements Chapte r 4. 1. Requirements Overview 2. Software Requirements 3. System Envisioning 4. Use Case Modeling 5. Specifying Supplementary Requirements 6. Software Requirements Specification

Upload: -

Post on 15-Dec-2014

400 views

Category:

Education


6 download

DESCRIPTION

StarUML NS Guide - Requirements

TRANSCRIPT

Page 1: StarUML NS Guide - Requirements

Sections

Requirements

Chap-ter 4.

1. Requirements Overview

2. Software Requirements

3. System Envisioning

4. Use Case Modeling

5. Specifying Supplementary Requirements

6. Software Requirements Specification

Page 2: StarUML NS Guide - Requirements

Lecture Objectives

Requirements Chap-ter 4

요구사항의 기본 개념 이해 유스케이스 다이어그램 이해 및 작성 품질 속성의 이해 요구사항의 문서화

Page 3: StarUML NS Guide - Requirements

Requirements

f

Chap-ter 4

Requirements Overview

Section 1

Page 4: StarUML NS Guide - Requirements

Requirements Overview

Requirements Chap-ter 4

Page 5: StarUML NS Guide - Requirements

Requirements Overview (cont.)

Requirements Chap-ter 4

Page 6: StarUML NS Guide - Requirements

Requirements Chap-ter 4

Software Requirements

Section 2.

Page 7: StarUML NS Guide - Requirements

Contents

Requirements Chap-ter 4

Definition of Requirements Kind of Requirements Business Requirements Functional Requirements Non-functional Requirements How Are Requirements Specified Why Are Requirements Important?

Page 8: StarUML NS Guide - Requirements

Definition of Requirements

Requirements Chap-ter 4

구현되어야 하는 것에 대한 명세 시스템의 동작 방식 및 속성 / 특성에 대한 설명

Page 9: StarUML NS Guide - Requirements

Kinds of Requirements

Requirements Chap-ter 4

Page 10: StarUML NS Guide - Requirements

Business Requirements

Requirements Chap-ter 4

고객 혹은 조직의 고차원적인 목적을 포함 시스템을 구축하려는 이유 시스템 고유의 특징을 포함 고급 매니저 , 마케팅 부서 등에서 작성

Page 11: StarUML NS Guide - Requirements

Functional Requirements

Requirements Chap-ter 4

시스템이 사용자에게 제공해야 하는 기능 주로 유스케이스 (Use Case) 의 형태로 표현

Page 12: StarUML NS Guide - Requirements

Non-functional Requirements

Requirements Chap-ter 4

시스템 기능 이외의 요구사항들 시스템의 품질에 관한 속성 (Quality Attributes) 비즈니스 규칙 (Business Rules) 제약 조건 (Constraints)

Page 13: StarUML NS Guide - Requirements

How Are Requirements Specified

Requirements Chap-ter 4

Page 14: StarUML NS Guide - Requirements

Why Are Requirements Important?

Requirements Chap-ter 4

Page 15: StarUML NS Guide - Requirements

Requirements Chap-ter 4

System Envisioning

Section 3.

Page 16: StarUML NS Guide - Requirements

Contents

Requirements Chap-ter 4

Activity Overview Concepts and Notations Steps Example Exercise

Page 17: StarUML NS Guide - Requirements

Activity Overview

Requirements Chap-ter 4

Page 18: StarUML NS Guide - Requirements

Concepts and Notations

Requirements Chap-ter 4

What Is Vision? Why Is Vision Important? Vision Document

Page 19: StarUML NS Guide - Requirements

What Is Vision?

Requirements Chap-ter 4

시스템이 무엇을 위한 것인가 ? 시스템을 개발하려는 궁극적 목적은 무엇인가 ? 어떤 시스템이 될 것인가 ?

Page 20: StarUML NS Guide - Requirements

Why Is Vision Important?

Requirements Chap-ter 4

궁극적으로 달성하고자 하는 목적을 이해 의도에 벗어난 시스템 개발을 미연에 방지 상업적 제품인 경우 마케팅과 연계 요구사항의 우선순위 부여의 기준

Page 21: StarUML NS Guide - Requirements

Vision Document

Requirements Chap-ter 4

Table of Contents1. Introduction2. Vision Statement

1. Background2. Objective3. Major Features

Page 22: StarUML NS Guide - Requirements

Steps (System Envisioning)

Requirements Chap-ter 4

1. 시스템 개발의 배경을 이해2. 시스템 개발 목적을 파악3. 비즈니스 수준의 시스템 특징들을 묘사

Page 23: StarUML NS Guide - Requirements

Example

Requirements Chap-ter 4

Vision• Background

• 사내에 준비되어 있는 회의실의 사용을 함에 있어서 , 어떤 회의실이 직접 방문하지 않고서는 , 현재 사용되지 않고 있는지는 확인 불가능합니다 . 이와 더불어서 각 회의실에 비치되어 있는 장비와 수용인원이 확인 되지 않아 , 잘못된 회의실을 찾아 가는 경우도 발생하게 됩니다 . 이를 보안하기 위해 , 각각의 회의실에 대한 정보를 관리하고 , 예약 시스템을 갖추어 사원들이 회의실을 원활히 사용할 수 있도록 하기 위해 시스템을 구축하고자 한다

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

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

Page 24: StarUML NS Guide - Requirements

Exercise

Requirements Chap-ter 4

Write Vision document for your system Write Glossary document for your system

Page 25: StarUML NS Guide - Requirements

Requirements Chap-ter 4

Use Case Modeling

Section 4.

Page 26: StarUML NS Guide - Requirements

Contents

Requirements Chap-ter 4

Activity Overview Concepts and Notations Steps Example Exercise

Page 27: StarUML NS Guide - Requirements

Activity Overview

Requirements Chap-ter 4

Page 28: StarUML NS Guide - Requirements

Concepts and Notations

Requirements Chap-ter 4

Use Case Diagram Con-cepts• Use Case Diagram• Actor• Use Case• Association• Navigability• Generalization• Include• Extend• Package

Use Case Modeling Re-lated• CRUD (Create, Read, Up-

date, Delete)• Benefits of Use Case• Bad Practices

Page 29: StarUML NS Guide - Requirements

Use Case Diagram

Requirements Chap-ter 4

시스템 혹은 서브시스템의 행동을 표현하기 위해 사용

Page 30: StarUML NS Guide - Requirements

Actor

Requirements Chap-ter 4

시스템 외부에 존재 시스템과 상호작용하는 모든 것

• 사람• 외부 시스템• 하드웨어 장치 등

Page 31: StarUML NS Guide - Requirements

Use Case

Requirements Chap-ter 4

시스템이 제공하는 가시적 기능 액터와 시스템간 상호작용의 추상화

Page 32: StarUML NS Guide - Requirements

Use Case (cont.)

Requirements Chap-ter 4

유스케이스 리포트 (Use Case Report)• 유스케이스의 내용을 상세히 기술한 보고서• 주요 내용

• 트리거 조건 (Trigger)• 선 / 후 - 조건 (Pre-Conditions and Post-Conditions)• 이벤트 흐름 (Flow of Events)• 확장점 (Extension Points)• 특별한 요구사항 (Special Requirements)

Page 33: StarUML NS Guide - Requirements

Use Case (cont.)

Requirements Chap-ter 4

유스케이스 리포트 양식 예

Page 34: StarUML NS Guide - Requirements

Use Case (cont.)

Requirements Chap-ter 4

이벤트 흐름 (Flow of Events)• 유스케이스가 수행되어지는 과정을

이벤트의 흐름으로 기술하는 것

이벤트 흐름의 종류• Basic Flow• Alternative Flow• Exceptional Flow

Page 35: StarUML NS Guide - Requirements

Use Case (cont.)

Requirements Chap-ter 4

시나리오 (Scenario)• 유스케이스에 대한 하나의 인스턴스• 이벤트의 흐름은 모든 가능한 시나리오를 기술한 것

Page 36: StarUML NS Guide - Requirements

Use Case (cont.)

Requirements Chap-ter 4

트리거 (Trigger)• 언제 유스케이스가 시작되는가 ?

선 - 조건 (Pre-Conditions)• 유스케이스가 시작되기 전에 만족해야 할 조건

후 - 조건 (Post-Conditions)• 유스케이스가 종료하고 난 후에 만족해야 할 조건

확장점 (Extension Points)• 확장되어지는 부분을 기술

특별한 요구사항 (Special Requirements)• 관계된 비 - 기능적 요구사항들을 기술

Page 37: StarUML NS Guide - Requirements

Use Case (cont.)

Requirements Chap-ter 4

이벤트 흐름을 구성하기• Basic Flow (1 개 )

• 여러 개의 Subflow 로 분할 하여 구성 가능• Alternative Flows ( 여러 개 )• Exceptional Flows ( 여러 개 )

• Alternative Flows 로 편입시켜 함께 구성 가능

Page 38: StarUML NS Guide - Requirements

Use Case (cont.)

Requirements Chap-ter 4

이벤트 흐름을 기술하기• 이벤트 단위로 한번에 한 스텝씩 기술• 다음과 같은 스타일을 따르는 것이 좋음

1. “( 액터 ) 가 ( 무엇 ) 을 한다”2. “( 시스템 ) 이 ( 무엇 ) 을 한다 .”3. “( 액터 ) 가 ( 무엇 ) 을 한다”4. “( 시스템 ) 이 ( 무엇 ) 을 한다 .”5. …

• 데이터 관련 항목들도 함께 표현하는 것이 좋음

Page 39: StarUML NS Guide - Requirements

Association

Requirements Chap-ter 4

액터와 유스케이스 사이의 연관 시스템과 외부 액터와의 대화를 표현

Page 40: StarUML NS Guide - Requirements

Navigability

Requirements Chap-ter 4

연관 (Association) 의 양쪽 끝 부분에 설정 접근 가능성을 표현 액터와 시스템의 상호작용 방향을 표현

Page 41: StarUML NS Guide - Requirements

Generalization

Requirements Chap-ter 4

일반적 요소와 특수한 요소 사이의 관계 공통적 특징을 가지는 액터와 유스케이스를 일반화하기

위해 사용

Page 42: StarUML NS Guide - Requirements

Generalization (cont.)

Requirements Chap-ter 4

액터 (Actor) 일반화의 예

Page 43: StarUML NS Guide - Requirements

Include

Requirements Chap-ter 4

다른 유스케이스의 내용을 포함 유스케이스들 간의 공통적 흐름을 공유

Page 44: StarUML NS Guide - Requirements

Extend

Requirements Chap-ter 4

유스케이스의 흐름을 확장 확장점 (Extension Point) 에서부터 확장

Page 45: StarUML NS Guide - Requirements

Package

Requirements Chap-ter 4

요소들을 그룹화하기 위해 사용 유스케이스 모델을 구조화

• 액터별 , 유스케이스별로 그룹화• 관련된 업무별로 액터와 유스케이스들을 그룹화

Page 46: StarUML NS Guide - Requirements

CRUD (Create, Read, Update, Delete)

Requirements Chap-ter 4

특정 정보에 대한 생성 , 읽기 , 변경 , 삭제 기능• 하나의 유스케이스로 표현• CRUD 에 목록 보기 (List) 도 포함 가능• 각각은 부흐름 (Subflow) 혹은 대안흐름 (Alternative Flow) 으로 기술

Page 47: StarUML NS Guide - Requirements

Benefits of Use Case

Requirements Chap-ter 4

사용자 중심적이다 . 고객이 이해하기 쉽다 . 과도한 요구사항 양산을 절제할 수 있다 . 이벤트 흐름 기술을 통해 기능 누락을 예방한다 .

Page 48: StarUML NS Guide - Requirements

Bad Practices

Requirements Chap-ter 4

너무 많은 유스케이스 너무 복잡한 이벤트 흐름 사용자 인터페이스를 가정한 이벤트 흐름 기술 과도한 포함 (Include) 및 확장 (Extend) 사용

Page 49: StarUML NS Guide - Requirements

Steps (Use Case Modeling)

Requirements Chap-ter 4

1. 유스케이스 다이어그램 생성2. 시스템 외부의 액터들 발견3. 각각의 유스케이스에 대해

1. 관련된 유스케이스들을 식별2. 각각의 유스케이스에 대한 리포트 작성

4. 유스케이스 모델을 구조화5. 비전에 따라 우선 순위 부여

Page 50: StarUML NS Guide - Requirements

Example

Requirements Chap-ter 4

Page 51: StarUML NS Guide - Requirements

Exercise

Requirements Chap-ter 4

Draw an Use-Case Diagram for your system. Write Use-Case Reports for each use case.

Page 52: StarUML NS Guide - Requirements

Requirements Chap-ter 4

Specifying Supplementary Require-ments

Section 5.

Page 53: StarUML NS Guide - Requirements

Contents

Requirements Chap-ter 4

Activity Overview Concepts and Notations Steps Example Exercise

Page 54: StarUML NS Guide - Requirements

Activity Overview

Requirements Chap-ter 4

Page 55: StarUML NS Guide - Requirements

Kinds of Non-functional Requirements

Requirements Chap-ter 4

품질 속성 (Quality Attributes)• 일반적인 시스템 품질에 관한 요구사항

비즈니스 규칙 (Business Rules)• 업무를 수행하는 규칙

제약사항 (Constraints)• 프로젝트에 관한 여러 가지 제약사항들

Page 56: StarUML NS Guide - Requirements

Quality Attributes

Requirements Chap-ter 4

Performance Usability Reliability Security Extensibility Maintainability …

Page 57: StarUML NS Guide - Requirements

Quality Attributes (cont.)

Requirements Chap-ter 4

Kinds of Quality Attributes• Runtime Quality• Non-runtime Quality• Business Quality• Architectural Quality

Page 58: StarUML NS Guide - Requirements

Quality Attributes (cont.)

Requirements Chap-ter 4

Tradeoffs

Page 59: StarUML NS Guide - Requirements

Steps

Requirements Chap-ter 4

(Specifying Supplementary Requirements) • 시스템에 요구되어지는 품질 속성을 파악• 비즈니스 규칙 및 제약사항들을 파악• 비전에 따라 우선 순위 부여• Supplementary Requirements 문서 작성

Page 60: StarUML NS Guide - Requirements

Example

Requirements Chap-ter 4

Functionality• 여러 명의 사용자가 동시에 사용할 수 있어야 한다• 관리자가 회의실 예약에 대하여 승인 또는 불허 했을 시에는 반드시 예약 신청자에게 알려주어야 한다

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

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

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

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

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

할당한다 .

Page 61: StarUML NS Guide - Requirements

Exercise

Requirements Chap-ter 4

Define quality attributes related to your system.

Page 62: StarUML NS Guide - Requirements

Requirements Chap-ter 4

Software Requirements Specification (SRS)

Section 6.

Page 63: StarUML NS Guide - Requirements

Contents

Requirements Chap-ter 4

SRS Overview SRS Contents Exercise

Page 64: StarUML NS Guide - Requirements

SRS Overview

Requirements Chap-ter 4

SRS (Software Requirements Specification) 소프트웨어 시스템에 대한 요구사항을 총체적으로

명세화한 문서 IEEE Std 830

Page 65: StarUML NS Guide - Requirements

SRS Contents

Requirements Chap-ter 4

Table of Contents• Introduction• Overall Description

• Use Case Model Survey• Constraints

• Specific Requirements• Use Case Reports• Supplementary Requirements

Page 66: StarUML NS Guide - Requirements

Exercise

Requirements Chap-ter 4

Write a SRS using Use-Case Model, Use-Case Re-ports and Supplementary Requirements Document.

Page 67: StarUML NS Guide - Requirements

Lecture Summary

Requirements

소프트웨어 요구사항에는 비즈니스 , 기능적 , 비기능적 요구사항의 여러 분류가 존재하며 각기 다른 중요성을 가진다 .

유스케이스 모델은 시스템의 기능적 요구사항들을 반영한다 .

품질 속성은 시스템의 비기능적 요구사항들을 반영한다 . 시스템에 요구되어지는 요구사항들은 총체적으로

소프트웨어 요구사항 명세서 (SRS) 로 문서화하는 것이 좋다 .