StarUML NS Guide - Requirements

Preview:

DESCRIPTION

StarUML NS Guide - Requirements

Citation preview

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

Lecture Objectives

Requirements Chap-ter 4

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

Requirements

f

Chap-ter 4

Requirements Overview

Section 1

Requirements Overview

Requirements Chap-ter 4

Requirements Overview (cont.)

Requirements Chap-ter 4

Requirements Chap-ter 4

Software Requirements

Section 2.

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?

Definition of Requirements

Requirements Chap-ter 4

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

Kinds of Requirements

Requirements Chap-ter 4

Business Requirements

Requirements Chap-ter 4

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

Functional Requirements

Requirements Chap-ter 4

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

Non-functional Requirements

Requirements Chap-ter 4

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

How Are Requirements Specified

Requirements Chap-ter 4

Why Are Requirements Important?

Requirements Chap-ter 4

Requirements Chap-ter 4

System Envisioning

Section 3.

Contents

Requirements Chap-ter 4

Activity Overview Concepts and Notations Steps Example Exercise

Activity Overview

Requirements Chap-ter 4

Concepts and Notations

Requirements Chap-ter 4

What Is Vision? Why Is Vision Important? Vision Document

What Is Vision?

Requirements Chap-ter 4

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

Why Is Vision Important?

Requirements Chap-ter 4

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

Vision Document

Requirements Chap-ter 4

Table of Contents1. Introduction2. Vision Statement

1. Background2. Objective3. Major Features

Steps (System Envisioning)

Requirements Chap-ter 4

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

Example

Requirements Chap-ter 4

Vision• Background

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

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

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

Exercise

Requirements Chap-ter 4

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

Requirements Chap-ter 4

Use Case Modeling

Section 4.

Contents

Requirements Chap-ter 4

Activity Overview Concepts and Notations Steps Example Exercise

Activity Overview

Requirements Chap-ter 4

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

Use Case Diagram

Requirements Chap-ter 4

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

Actor

Requirements Chap-ter 4

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

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

Use Case

Requirements Chap-ter 4

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

Use Case (cont.)

Requirements Chap-ter 4

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

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

Use Case (cont.)

Requirements Chap-ter 4

유스케이스 리포트 양식 예

Use Case (cont.)

Requirements Chap-ter 4

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

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

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

Use Case (cont.)

Requirements Chap-ter 4

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

Use Case (cont.)

Requirements Chap-ter 4

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

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

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

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

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

Use Case (cont.)

Requirements Chap-ter 4

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

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

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

Use Case (cont.)

Requirements Chap-ter 4

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

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

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

Association

Requirements Chap-ter 4

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

Navigability

Requirements Chap-ter 4

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

Generalization

Requirements Chap-ter 4

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

위해 사용

Generalization (cont.)

Requirements Chap-ter 4

액터 (Actor) 일반화의 예

Include

Requirements Chap-ter 4

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

Extend

Requirements Chap-ter 4

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

Package

Requirements Chap-ter 4

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

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

CRUD (Create, Read, Update, Delete)

Requirements Chap-ter 4

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

Benefits of Use Case

Requirements Chap-ter 4

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

Bad Practices

Requirements Chap-ter 4

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

Steps (Use Case Modeling)

Requirements Chap-ter 4

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

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

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

Example

Requirements Chap-ter 4

Exercise

Requirements Chap-ter 4

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

Requirements Chap-ter 4

Specifying Supplementary Require-ments

Section 5.

Contents

Requirements Chap-ter 4

Activity Overview Concepts and Notations Steps Example Exercise

Activity Overview

Requirements Chap-ter 4

Kinds of Non-functional Requirements

Requirements Chap-ter 4

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

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

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

Quality Attributes

Requirements Chap-ter 4

Performance Usability Reliability Security Extensibility Maintainability …

Quality Attributes (cont.)

Requirements Chap-ter 4

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

Quality Attributes (cont.)

Requirements Chap-ter 4

Tradeoffs

Steps

Requirements Chap-ter 4

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

Example

Requirements Chap-ter 4

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

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

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

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

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

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

할당한다 .

Exercise

Requirements Chap-ter 4

Define quality attributes related to your system.

Requirements Chap-ter 4

Software Requirements Specification (SRS)

Section 6.

Contents

Requirements Chap-ter 4

SRS Overview SRS Contents Exercise

SRS Overview

Requirements Chap-ter 4

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

명세화한 문서 IEEE Std 830

SRS Contents

Requirements Chap-ter 4

Table of Contents• Introduction• Overall Description

• Use Case Model Survey• Constraints

• Specific Requirements• Use Case Reports• Supplementary Requirements

Exercise

Requirements Chap-ter 4

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

Lecture Summary

Requirements

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

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

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

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