SlideShare a Scribd company logo
Requirements
Sections
1. Requirements Overview
2. Software Requirements
3. System Envisioning
4. Use Case Modeling
5. Specifying Supplementary Requirements
6. Software Requirements Specification
Requirements

Lecture Objectives





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

Section 1
Requirements Overview
Requirements

Requirements Overview
Requirements

Requirements Overview (cont.)
Requirements

Section 2.
Software Requirements
Requirements

Contents








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

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

Kinds of Requirements
Requirements

Business Requirements





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

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

Non-functional Requirements





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

How Are Requirements Specified
Requirements

Why Are Requirements Important?
Requirements

Section 3.
System Envisioning
Requirements

Contents






Activity Overview
Concepts and Notations
Steps
Example
Exercise
Requirements

Activity Overview
Requirements

Concepts and Notations
 What Is Vision?
 Why Is Vision Important?
 Vision Document
Requirements

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

Why Is Vision Important?





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

Vision Document
 Table of Contents
1. Introduction
2. Vision Statement
1. Background
2. Objective
3. Major Features
Requirements

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

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

Exercise
 Write Vision document for your system
 Write Glossary document for your system
Requirements

Section 4.
Use Case Modeling
Requirements

Contents






Activity Overview
Concepts and Notations
Steps
Example
Exercise
Requirements

Activity Overview
Requirements

Concepts and Notations
 Use Case Diagram Concepts  Use Case Modeling
•
•
•
•
•
•
•
•
•

Use Case Diagram
Actor
Use Case
Association
Navigability
Generalization
Include
Extend
Package

Related
• CRUD (Create, Read, Update,
Delete)
• Benefits of Use Case
• Bad Practices
Requirements

Use Case Diagram
 시스템 혹은 서브시스템의 행동을 표현하기 위해 사용
Requirements

Actor
 시스템 외부에 존재
 시스템과 상호작용하는 모든 것
• 사람
• 외부 시스템
• 하드웨어 장치 등
Requirements

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

Use Case (cont.)
 유스케이스 리포트(Use Case Report)
• 유스케이스의 내용을 상세히 기술한 보고서
• 주요 내용
• 트리거 조건(Trigger)
• 선/후-조건 (Pre-Conditions and Post-Conditions)
• 이벤트 흐름(Flow of Events)
• 확장점(Extension Points)
• 특별한 요구사항(Special Requirements)
Requirements

Use Case (cont.)
 유스케이스 리포트 양식 예
Requirements

Use Case (cont.)
 이벤트 흐름(Flow of Events)
• 유스케이스가 수행되어지는 과정을
이벤트의 흐름으로 기술하는 것

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

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

Use Case (cont.)
 트리거(Trigger)
• 언제 유스케이스가 시작되는가?

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

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

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

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

Use Case (cont.)
 이벤트 흐름을 구성하기
• Basic Flow (1개)
• 여러 개의 Subflow로 분할 하여 구성 가능
• Alternative Flows (여러 개)
• Exceptional Flows (여러 개)
• Alternative Flows로 편입시켜 함께 구성 가능
Requirements

Use Case (cont.)
 이벤트 흐름을 기술하기
• 이벤트 단위로 한번에 한 스텝씩 기술
• 다음과 같은 스타일을 따르는 것이 좋음
1. “(액터)가 (무엇)을 한다”
2. “(시스템)이 (무엇)을 한다.”
3. “(액터)가 (무엇)을 한다”
4. “(시스템)이 (무엇)을 한다.”
5. …
• 데이터 관련 항목들도 함께 표현하는 것이 좋음
Requirements

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

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

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

Generalization (cont.)
 액터(Actor) 일반화의 예
Requirements

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

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

Package
 요소들을 그룹화하기 위해 사용
 유스케이스 모델을 구조화
• 액터별, 유스케이스별로 그룹화
• 관련된 업무별로 액터와 유스케이스들을 그룹화
Requirements

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

Benefits of Use Case





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

Bad Practices





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

Steps (Use Case Modeling)
1. 유스케이스 다이어그램 생성
2. 시스템 외부의 액터들 발견
3. 각각의 유스케이스에 대해
1. 관련된 유스케이스들을 식별
2. 각각의 유스케이스에 대한 리포트 작성

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

Example
Requirements

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

Section 5.
Specifying Supplementary Requirements
Requirements

Contents






Activity Overview
Concepts and Notations
Steps
Example
Exercise
Requirements

Activity Overview
Requirements

Kinds of Non-functional Requirements
 품질 속성(Quality Attributes)
• 일반적인 시스템 품질에 관한 요구사항

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

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

Quality Attributes








Performance
Usability
Reliability
Security
Extensibility
Maintainability
…
Requirements

Quality Attributes (cont.)
 Kinds of Quality Attributes
•
•
•
•

Runtime Quality
Non-runtime Quality
Business Quality
Architectural Quality
Requirements

Quality Attributes (cont.)
 Tradeoffs
Requirements

Steps
 (Specifying Supplementary Requirements)
•
•
•
•

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

Example


Functionality



Usability



Reliability



Performance



Security

• 여러 명의 사용자가 동시에 사용할 수 있어야 한다
• 관리자가 회의실 예약에 대하여 승인 또는 불허 했을 시에는 반드시 예약 신청자에게 알려주어야 한다
• 기본 클라이언트 표준은 Windows 기반의 Internet Explorer 5.0 이상으로 한다. 그러나 모든 웹 브라우저에
서 사용할 수 있어야 한다.
• 일주일에 월요일 새벽 2시부터 3시사이의 백업 시간을 제외하고는 이용이 가능해야 한다

• 기존 시스템과의 대화에서 10초 이하로 설정하고, 대화 시간을 초과할 경우 관리자에게 알린다
• 최초 사용자 인증 시에 인증 과정 정보를 저장하고, 이 저장된 정보를 활용하여 사용자의 권한을 할당한다.
Requirements

Exercise
 Define quality attributes related to your system.
Requirements

Section 6.
Software Requirements Specification (SRS)
Requirements

Contents
 SRS Overview
 SRS Contents
 Exercise
Requirements

SRS Overview
 SRS (Software Requirements Specification)
 소프트웨어 시스템에 대한 요구사항을 총체적으로 명세화
한 문서
 IEEE Std 830
Requirements

SRS Contents
 Table of Contents
• Introduction
• Overall Description
• Use Case Model Survey
• Constraints
• Specific Requirements
• Use Case Reports
• Supplementary Requirements
Requirements

Exercise
 Write a SRS using Use-Case Model, Use-Case Reports
and Supplementary Requirements Document.
Requirements

Lecture Summary
 소프트웨어 요구사항에는 비즈니스, 기능적, 비기능적 요구
사항의 여러 분류가 존재하며 각기 다른 중요성을 가진다.
 유스케이스 모델은 시스템의 기능적 요구사항들을 반영한
다.
 품질 속성은 시스템의 비기능적 요구사항들을 반영한다.
 시스템에 요구되어지는 요구사항들은 총체적으로 소프트
웨어 요구사항 명세서(SRS)로 문서화하는 것이 좋다.

More Related Content

PPTX
StarUML NS Guide - Design
PPTX
StarUML NS Guide - Introduction
PPTX
StarUML NS Guide - Architectural design
PPTX
StarUML NS - 1.star rail 요구사항 방법론
PPTX
StarUML NS Guide - Business modeling
PDF
Requirements Analysis & its' Faults Prevention
PPTX
요구사항과 테스트 설계
PPTX
StarUML NS - 4.star rail 변경관리
StarUML NS Guide - Design
StarUML NS Guide - Introduction
StarUML NS Guide - Architectural design
StarUML NS - 1.star rail 요구사항 방법론
StarUML NS Guide - Business modeling
Requirements Analysis & its' Faults Prevention
요구사항과 테스트 설계
StarUML NS - 4.star rail 변경관리

What's hot (15)

PPTX
StarUML NS - 2.star rail 요구사항 도출 표준
PDF
2015 SINVAS DAY-SINVAS REQ(요구사항의 효율적 관리 방안)
PDF
Rfp작성가이드(발주자용)
PPTX
StarUML NS Guide - Analysis
PPTX
분석과 설계
PPTX
StarUML NS Guide - Uml overview
PDF
소프트웨어 아키텍처 문서화
PDF
프로젝트에서 Sw아키텍트의 역할 20140717
PDF
2015 SINVAS USER CONFERENCE - SINVAS 플랫폼을 활용한 정보시스템 유지보수 방안
PDF
소프트웨어 아키텍처
PDF
제안요청서 [Ver.0.5 2012.04.08]
PDF
2016 SINVAS DAY - 프레임워크 기반 운영 시스템 설계 모델 현행화 방안
PPTX
Executable model en
PDF
2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안
PDF
2016 SINVAS DAY - 소프트웨어의 디지털화(digitizing)
StarUML NS - 2.star rail 요구사항 도출 표준
2015 SINVAS DAY-SINVAS REQ(요구사항의 효율적 관리 방안)
Rfp작성가이드(발주자용)
StarUML NS Guide - Analysis
분석과 설계
StarUML NS Guide - Uml overview
소프트웨어 아키텍처 문서화
프로젝트에서 Sw아키텍트의 역할 20140717
2015 SINVAS USER CONFERENCE - SINVAS 플랫폼을 활용한 정보시스템 유지보수 방안
소프트웨어 아키텍처
제안요청서 [Ver.0.5 2012.04.08]
2016 SINVAS DAY - 프레임워크 기반 운영 시스템 설계 모델 현행화 방안
Executable model en
2015 SINVAS USER CONFERENCE - SPL/SSPL을 통한 임베디드 소프트웨어 개발방안
2016 SINVAS DAY - 소프트웨어의 디지털화(digitizing)
Ad

Viewers also liked (20)

PPTX
communication channels or modes
PPTX
afiya's career knowledge
PDF
Influencers Copy
PDF
Adobe Social Intelligence Report IV 2013
PPTX
hell vissor
PPT
How to Minimize the Damage of Identity Theft
PDF
الصدام داخل الحضارات دييتر سنغاس
PPT
Pentecost: What An Amazing Day!
PPTX
Hukum Triade
PDF
Rimagine Credentials_2016
PPTX
Bentley
PPTX
INTERNET PPT
PPT
GPN NETWORK NEDİR?
PPT
Lessons from Jonah - 3/9/2014
PPT
задачі на відсотки
PPT
God's Gift: How Do You Respond?
PDF
ใบงานความสัมพันธ์
PPT
15 jan 2015 bogerman
PPTX
TG2KM HHHC 9801 Kreatif dan Inovatif
PPTX
Implicación o condicional equipo 5
communication channels or modes
afiya's career knowledge
Influencers Copy
Adobe Social Intelligence Report IV 2013
hell vissor
How to Minimize the Damage of Identity Theft
الصدام داخل الحضارات دييتر سنغاس
Pentecost: What An Amazing Day!
Hukum Triade
Rimagine Credentials_2016
Bentley
INTERNET PPT
GPN NETWORK NEDİR?
Lessons from Jonah - 3/9/2014
задачі на відсотки
God's Gift: How Do You Respond?
ใบงานความสัมพันธ์
15 jan 2015 bogerman
TG2KM HHHC 9801 Kreatif dan Inovatif
Implicación o condicional equipo 5
Ad

Similar to StarUML NS Guide - Requirements (20)

PDF
시스템공학 기본(Fundamental of systems engineering) - Day1 se general
PPTX
Cloud migration pattern using microservices
PPTX
05. it정보화전략-어플리케이션 프레임워크
PDF
웹필터 시온
PPTX
1. 아키텍쳐 설계 프로세스
PDF
Systems Engineering Management Plan (SEMP) for a standard fisher boat
PDF
워터폴에서 애자일로의 전환, 그리고 그 지원 시스템 구성 - 투씨드
PPTX
Agile Transformation - Tweoseed
PPTX
서비스 지향 아키텍쳐 (SOA)
PPTX
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
PDF
[오픈소스컨설팅]유닉스의 리눅스 마이그레이션 전략_v3
PDF
마이크로서비스 아키텍처 기반의 의료정보시스템 고도화 전환사례.건국대학교병원.이제관
PDF
IEEE 830-1998 Recommended Practice for Software Requirement Specification
PDF
테스트수행사례 W통합보안솔루션
PDF
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
PPTX
[H3 2012] 스마트모바일 환경에서의 App.품질관리전략
PDF
Atlassian 트러블슈팅 및 가상화기반 Confluence Data Center 구축 - 오픈소스...
PDF
[오픈소스컨설팅]Atlassian 트러블 슈팅 가상화 기반의 Atlassian Data Center 구축 최지웅 컨설팅코치
PPTX
Micro Service Architecture의 이해
PPTX
Azure를 이용한 Join 없는 글로벌 분산 시스템 설계하기
시스템공학 기본(Fundamental of systems engineering) - Day1 se general
Cloud migration pattern using microservices
05. it정보화전략-어플리케이션 프레임워크
웹필터 시온
1. 아키텍쳐 설계 프로세스
Systems Engineering Management Plan (SEMP) for a standard fisher boat
워터폴에서 애자일로의 전환, 그리고 그 지원 시스템 구성 - 투씨드
Agile Transformation - Tweoseed
서비스 지향 아키텍쳐 (SOA)
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
[오픈소스컨설팅]유닉스의 리눅스 마이그레이션 전략_v3
마이크로서비스 아키텍처 기반의 의료정보시스템 고도화 전환사례.건국대학교병원.이제관
IEEE 830-1998 Recommended Practice for Software Requirement Specification
테스트수행사례 W통합보안솔루션
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[H3 2012] 스마트모바일 환경에서의 App.품질관리전략
Atlassian 트러블슈팅 및 가상화기반 Confluence Data Center 구축 - 오픈소스...
[오픈소스컨설팅]Atlassian 트러블 슈팅 가상화 기반의 Atlassian Data Center 구축 최지웅 컨설팅코치
Micro Service Architecture의 이해
Azure를 이용한 Join 없는 글로벌 분산 시스템 설계하기

StarUML NS Guide - Requirements