79
소프트웨어 소프트웨어 공학 공학 (S ft E i i (S ft E i i ) 소프트웨어 소프트웨어 공학 공학 (Software Engineering (Software Engineering) 요구 요구 분석 분석 (R i tA l i) (R i tA l i) (R equirement Analysis) (R equirement Analysis) 문양세 문양세 강원대학교 강원대학교 IT IT대학 대학 컴퓨터과학전공 컴퓨터과학전공 강원대학교 강원대학교 IT IT대학 대학 컴퓨터과학전공 컴퓨터과학전공

요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

소프트웨어소프트웨어 공학공학 (S ft E i i(S ft E i i ))소프트웨어소프트웨어 공학공학 (Software Engineering(Software Engineering))

요구요구 분석분석(R i t A l i )(R i t A l i )(Requirement Analysis)(Requirement Analysis)

문양세문양세강원대학교강원대학교 ITIT대학대학 컴퓨터과학전공컴퓨터과학전공강원대학교강원대학교 ITIT대학대학 컴퓨터과학전공컴퓨터과학전공

Page 2: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구 분석 (Requirement Analysis)In this chapter … (1/2)In this chapter … (1/2)

무엇을 개발할 것인가를 정확하고 완전하게 결정하는 단계이다.• 정확성 Correctness

• 완전성 Completeness

다른 단계(설계 구현 테스 )에 비하여 잘못되었을 때 다시 개발해야 하다른 단계(설계, 구현, 테스트)에 비하여 잘못되었을 때 다시 개발해야 하는 비용이 가장 크다.

요구 분석 단계의 작업은 “어떻게(how)”보다는 “무엇을(what)”에 초점을맞추어 진행한다.추어 다

Software Engineeringby Yang-Sae MoonPage 2

Page 3: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구 분석 (Requirement Analysis)In this chapter … (2/2)In this chapter … (2/2)

요구의 결정 과정

We will cover …• 요구란?

• 요구 추출과 분석

• 구조적 분석

요구 분석 명세서

Software Engineeringby Yang-Sae MoonPage 3

• 요구 분석 명세서

Page 4: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

We are now …We are now …요구 분석 (Requirement Analysis)

요구(Requirements)

요구 추출과 분석

구조적 분석구조적 분석

요구 분석 명세서

Software Engineeringby Yang-Sae MoonPage 4

Page 5: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구요구(Requirements)(Requirements)란란??요구 분석 (Requirement Analysis)

요구란• 시스템이 가져야 할 기능이나 시스템이 만족하여야 할 조건

• 시스템이 제공하여야 할 서비스나 제약 조건을 포괄적으로 기술한 것부터 수학 기호로자세히 표현한 것까지 다양함

현금 인출기의 예• 외형적 기능: 현금 인출, 잔액 조회, 계좌 이체, 현금 서비스, …

• 기능 및 성능: 시간당 처리 능력, 반응 시간, 제약 조건(습도, 온도 등), …

요구의 두 가지 사용 형태• 프로젝트 수주를 위한 제안의 기초 제안서에 포함되며, 어떠 어떠한 기능을 제공하겠다…제안서에 함되며, 어떠 어떠한 기능을 제공하겠다 일단 제안이 목적이므로 서로 다른 해석이 가능하다 (同床異夢)

• 프로젝트 계약의 기초 상세히 기술되어야 함 (정확성 완전성)

Software Engineeringby Yang-Sae MoonPage 5

상세히 기술되어야 함 (정확성, 완전성) 특히, 외국과 일할 시에는 매우 신중하게 작성해야 함 일하고 벌금 물고하는 …

Page 6: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구의요구의 실제실제 예제예제 (1/2)(1/2)요구 분석 (Requirement Analysis)

성능 관련

Software Engineeringby Yang-Sae MoonPage 6

Page 7: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구의요구의 실제실제 예제예제 (2/2)(2/2)요구 분석 (Requirement Analysis)

기능 관련

Software Engineeringby Yang-Sae MoonPage 7

Page 8: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구의요구의 종류종류요구 분석 (Requirement Analysis)

사용자 요구:시스템이 제공할 서비스와 수행될 때의 제약 조건을 그림이나 글로 표현한 것 사용자를 위하여 작성

시스템 요구:시스템이 제공하여야 할 서비스를 체계적으로 자세히 적은 것 계약자(계약사)와 개발자(개발사) 사이의 계약 계약자(계약사)와 개발자(개발사) 사이의 계약

웨어 명세( ifi i )소프트웨어 명세(specification):개발될 소프트웨어에 대하여 기술한 것으로 설계와 구현에 기초가 됨 개발자를 위하여 작성 (규격은 어떻고 언어는 어떻고 ) 개발자를 위하여 작성 (규격은 어떻고, 언어는 어떻고, …)

Software Engineeringby Yang-Sae MoonPage 8

Page 9: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구요구 분석분석요구 분석 (Requirement Analysis)

요구 분석: 무엇을 개발할 것인가를 결정하는 단계• 잘못 되었을 때 바로 잡기 위한 비용이 큼

• Requirements Engineering (요구 분석가: Requirement Analyzer)

시스템 요구시스템 요구• 기능적 요구 (functional requirements)

소프트웨어의 종류, 사용자, 소프트웨어가 수행되는 시스템에 따라 다름소프트웨어의 종류, 사용자, 소프트웨어가 수행되는 시스템에 따라 다름

시스템이 사용자를 위하여 무엇을 하는가를 거시적으로 기술

• 비기능적 요구 (non-functional requirements)

성능: 응답 시간, 처리량, 신뢰도, 보안성, 운용 제약

개발 비용: 투자한계

Software Engineeringby Yang-Sae MoonPage 9

Page 10: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

기능적기능적 요구요구 (1/2)(1/2)요구 분석 (Requirement Analysis)

기능 자체와 관련된 질문• 시스템이 무엇을 하는가?

• 시스템이 언제 그 일을 하는가?

• 시스템 운용될 때 여러 가지 다른 모드가 있는가?

• …

자료와 관련된 질문자료와 관련된 질문• 입력, 출력이 무엇이며 어떤 형태를 갖는가?

• 얼마나 자주 자료를 받고 내보내는가?

• 시스템에 유입되는 자료의 양은 얼마나 되는가?

• 데이터는 어느 기간 동안 보관해야 하는가?

• ……

Software Engineeringby Yang-Sae MoonPage 10

Page 11: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

기능적기능적 요구요구 (2/2)(2/2)요구 분석 (Requirement Analysis)

인터페이스와 관련된 질문• 다른 시스템에서 유입, 유출되는 입력은 무엇인가?

• 다른 시스템과 인터페이스하는 프로토콜의 종류는 무엇인가?

• 자료 전달에 사용되는 특정 미디어 형식이 있는가?

• …

사용자와 관련된 질문사용자와 관련된 질문• 누가 시스템을 사용할 것인가?

• 사용자가 여러 그룹인가? 일반 사용자, 운영자, 관리자 등

• 각 사용자 그룹의 컴퓨터 사용 경험은?

• 각 사용자 그룹에 따라 필요한 교육은?

• ……

Software Engineeringby Yang-Sae MoonPage 11

Page 12: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

비기능적비기능적 요구요구 (1/2)(1/2)요구 분석 (Requirement Analysis)

자원과 관련된 질문• 시스템 구축 및 유지보수에 필요한 자원, 인력은 무엇인가?

• 개발자가 갖추어야 할 기본 요구사항이 있는가?

• 어떤 하드웨어를 사용할 것인가?

시스템이 차지할 수 있는 공간은 어느 정도인가?• 시스템이 차지할 수 있는 공간은 어느 정도인가?

• 동작 환경(전력, 온도, 습도)에 대한 제약은 없는가?

• 개발된 시스템의 디스크, 메모리 공간의 제약은 없는가?

• …

성능과 관련된 질문성능과 관련된 질문• 시스템의 속도, 반응 시간, 처리율

(TPS: transactions per second, CPS: calls per second, MIPS, …)p p

• 시스템에 의하여 처리되는 자료의 크기

• …

Software Engineeringby Yang-Sae MoonPage 12

Page 13: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

비기능적비기능적 요구요구 (2/2)(2/2)요구 분석 (Requirement Analysis)

보안과 관련된 질문• 자료와 시스템에 대한 접근이 통제되어야 하는가?

• 사용자들 사이에 타인에 대한 데이터 및 프로그램 접근 방지

• 시스템의 백업 기간 및 책임자

화재 홍수 도난 등의 재난을 대비한 방지책은?• 화재, 홍수, 도난 등의 재난을 대비한 방지책은?

• 물리적 보안 대책? ( 세콤?)

• …

품질과 관련된 질문• 신뢰성, 가용성, 유지보수성, 보안 등의 품질 특성에 대한 요구

• 시스템이 가동되는 평균 시간

• 시스템의 작업이 중단된 후 다시 복구될 때까지 허용되는 시간시스템의 작업이 중단된 후 다시 복구될 때까지 허용되는 시간

• 설계 변경이 얼마나 용이한가?

• 얼마나 쉽게 위치나 플랫폼 변경이 가능한가? ( Portability)

Software Engineeringby Yang-Sae MoonPage 13

• …

Page 14: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

We are now …We are now …요구 분석 (Requirement Analysis)

요구(Requirements)

요구 추출과 분석

구조적 분석구조적 분석

요구 분석 명세서

Software Engineeringby Yang-Sae MoonPage 14

Page 15: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구분석요구분석 단계의단계의 작업작업요구 분석 (Requirement Analysis)

현재 시스템 정의

• 문서 파일 자료 요소 자료의 처리 과정 규모와 시기 다른 시스템과의 인터페이스• 문서, 파일, 자료 요소, 자료의 처리 과정, 규모와 시기, 다른 시스템과의 인터페이스

현재 시스템의 평가

• 현 시스템과 제안 시스템의 비교• 현 시스템과 제안 시스템의 비교

• 업무 조직이 새 시스템에 맞는지 평가

제안 시스템을 위한 비즈니스 요구 정의제안 시스템을 위한 비즈니스 요구 정의

• 주요 기능, 범위, 업무 조직, 제안 시스템의 환경(H/W, S/W, 언어, DBMS 등) 검토

처리 요구 정의처리 요구 정의

• DFD, 자료 사전, 소단위 명세서 작성

• 제약(시간 메모리 병렬성 등) 성능 입출력 보고서제약(시간, 메모리, 병렬성 등), 성능, 입출력, 보고서

교육 및 시스템 인수 조건 정의

Software Engineeringby Yang-Sae MoonPage 15

Page 16: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구요구 분석가의분석가의 역할역할??요구 분석 (Requirement Analysis)

요구 분석가는 기자의 취재와 유사한 작업을 수행한다.

• 사용자를 만나 면담을 수행한다• 사용자를 만나 면담을 수행한다.

• 실제 업무에 참관하거나, 업무를 직접 수행해 보기도 한다.

• 분석가는 비판적이고 객관적이어야 한다.석가 비 적이 객 적이어야 한다

기자가 한쪽 편의 이야기만을 들어서는 되지 않는다.

• 분석가는 기자와 마찬가지로 6하 원칙에 따라서 정보를 수집한다. 다음 페이지 참조

기자가 취재를 종합하여 기사를 쓰듯이, 요구 분석가는 다양한 요구 추

출을 통하여 요구 분석서를 작성해야 한다.

Software Engineeringby Yang-Sae MoonPage 16

Page 17: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

분석분석 단계단계 질문의질문의 5W1H5W1H요구 분석 (Requirement Analysis)

(Who) 분석 대상 업무에 누가 관련되는가?

• 관계자들의 작업• 관계자들의 작업

• 사용자 수준

(What?) 현재의 상태는?(What?) 현재의 상태는?

• 문제를 일으킨 상태

• 제안된 시스템의 기능제안된 시 템의 기능

(When?) 새로운 시스템은 언제 완성되어야 하나?

(Where?) 새로운 시스템은 어떤 환경에 놓일 것인가?(Where?) 새로운 시스템은 어떤 환경에 놓일 것인가?

• 새 시스템에서의 조직, 환경

(Why?) 왜 새로운 시스템을 고려하게 되었나?(Why?) 왜 새로운 시스템을 고려하게 되었나?

(How?) 새 시스템의 어떻게 작동할 것인가?

제약 하 웨어 비용 사용 언어

Software Engineeringby Yang-Sae MoonPage 17

• 제약, 하드웨어 요구, 비용, 사용 언어

Page 18: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구요구 추출의추출의 어려움어려움요구 분석 (Requirement Analysis)

기존에 대충이라도 굴러가는 시스템이 있다면,

기능과 프로세스가 존재하기 때문에 요구를 추출하는 작업이 용이함 기능과 프로세스가 존재하기 때문에 요구를 추출하는 작업이 용이함

아직 존재하지 않는 문제에 대해 구를 추출해야 한다면BUT, 아직 존재하지 않는 문제에 대해 요구를 추출해야 한다면,

사용자와 함께 해법을 찾아야 하므로 요구 추출이 어려움

Software Engineeringby Yang-Sae MoonPage 18

Page 19: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구의요구의 우선우선 순위순위요구 분석 (Requirement Analysis)

1) 절대적으로 필요한 요구 전필?

2) 요망되나 꼭 필요한 것은 아닌 요구 학점 못 채운 경우의 전선?2) 요망되나 꼭 필요한 것은 아닌 요구 학점 못 채운 경우의 전선?

3) 요구로 볼 수는 있으나 제외될 수 있는 요구 학점 채운 경우의 전선?

신용카드 대금청구서 예제

• 거래 내역, 총 금액 계산, 납부 기일 명시 1)에 해당

• 일시불, 할부 등의 구매 형태 표시 2)에 해당

• 취소된 내역과 승인된 내역을 다른 색으로 표시 3)에 해당

Software Engineeringby Yang-Sae MoonPage 19

Page 20: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구요구 추출을추출을 위한위한 자료의자료의 출처출처요구 분석 (Requirement Analysis)

요구 템플릿 재사용 라이브러리

Software Engineeringby Yang-Sae MoonPage 20

Page 21: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구의요구의 명세화명세화요구 분석 (Requirement Analysis)

요구 분석서가 갖추어야 할 사항

• 사용자와 개발자가 모두 쉽게 이해• 사용자와 개발자가 모두 쉽게 이해

• 기술된 조건은 쌍방이 모두 동의한 것

• 제안된 시스템에서 수행될 모든 기능을 정확히 기술제 시 에서 수행 기능을 정확히 기

• 모든 제약 조건 명시(반응 시간, 목표 하드웨어, 비용 한계, 사용자 특성, 언어)

• 시스템 인수를 위한 테스트 기준

• 시스템의 품질, 품질 측정 방법

요구 분석의 문제점

• 사용자의 부정확한 요구 표명

• 잦은 요구 변경

• 대화의 장애

시 템의 복잡

Software Engineeringby Yang-Sae MoonPage 21

• 시스템의 복잡도

Page 22: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구요구 분석의분석의 접근접근 방법방법요구 분석 (Requirement Analysis)

요구분석의 원리구 석의 원리• 정보 영역 설정의 원리

– 입력, 출력, 처리, 정보의 유통, 내용, 조직체계

• 분할체계 확립의 원리작은 문제 분할– 작은 문제로 분할

– 세분화

• 시스템의 논리적, 물리적 표현

문제

요구• 기능적• 비기능적

요구분석 상의 문제 의사소통 그림 의사소통 그림 복 잡 단계적 분할 변 경 CASE 도구 명세화 도구

Software Engineeringby Yang-Sae MoonPage 22

명세화 도구

Page 23: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

분석분석 방법의방법의 종류종류요구 분석 (Requirement Analysis)

분석 방법 프로그램에 대한 뷰 분석 시 강조점

자료보다는 함수에 중점

구조적 분석자료 + 함수

(structured programming)

자료보다는 함수에 중점

프로세스(함수)를 먼저 정하고, 프로세스(함수)에대한 입출력을 나중에 정함

객체지향 분석객체 + 객체 + …

(OO programming)

객체 자체와 객체 사이의 관계 파악이 중요

객체가 가지는 자료와 오퍼레이션의 정의

정보공학적 분석 자료 + 프로세스

자료 및 자료들 사이의 관계를 우선적으로 파악

자료에 대한 오퍼레이션 패턴으로 프로세스를

GroupingGrouping

자료의 구체화 DB 설계 ER Diagram

본 강의에서는 구조적 분석에 초점을 맞추어 진행함

Software Engineeringby Yang-Sae MoonPage 23

Page 24: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

ER DiagramER Diagram의의 실제실제 예제예제요구 분석 (Requirement Analysis)

Software Engineeringby Yang-Sae MoonPage 24

Page 25: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

We are now …We are now …요구 분석 (Requirement Analysis)

요구(Requirements)

요구 추출과 분석

구조적 분석구조적 분석

요구 분석 명세서

Software Engineeringby Yang-Sae MoonPage 25

Page 26: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

구조적구조적 분석분석 –– 개요개요 (1/2)(1/2)요구 분석 (Requirement Analysis)

정의: 사용자의 요구분석 사항을 파악하기 위하여 자료의 흐름과 가공

절차를 그림으로 표현하는 방법절차를 림 현하는 방법

처리-중심(process-oriented)의 분석 기법

구조적 분석은 전체 시스템이 만들어지기 전에 해당 시스템의 모형을 만

드는 절차로 볼 수 있다.

세부 작업 순서

배경도 작성 학교 전체를 사진에 담는다• 배경도 작성 학교 전체를 사진에 담는다.

• 상위 자료 흐름도 작성 개별 단과대학을 사진에 담는다.

• 하위 자료 흐름도 작성 개별 강의실/연구실을 사진에 담는다• 하위 자료 흐름도 작성 개별 강의실/연구실을 사진에 담는다.

• 자료 사전 작성 각 건물, 방의 이름을 기술한다.

• 소단위 명세서 작성 건물, 방으로의 접근 방법을 기술한다.

Software Engineeringby Yang-Sae MoonPage 26

단위 명세서 작성 건물, 방 의 접근 방법을 기술한다

참고: 자료 흐름도는 DFD(Data Flow Diagram)을 번역한 용어이다.

Page 27: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

구조적구조적 분석분석 –– 개요개요 (2/2)(2/2)요구 분석 (Requirement Analysis)

특징

• 그림(그래프) 중심으로 표현 글로 표현하는 것보다 이해하기 쉬움• 그림(그래프) 중심으로 표현 글로 표현하는 것보다 이해하기 쉬움

• 하향식(top-down partitioning) 원리를 적용

• 사용자의 업무 요구 사항을 쉽게 문서화할 수 있음사용자의 무 구 사항을 게 서화할 수 있

• 사용자, 분석자 간의 의사소통을 위한 공용어 역할을 함

• 실체의 모형(추상적 표현)을 추출

건물의 경우, 모형을 만들어 좀 더 자세한 요구사항 분석이 가능하다.

유사한 개념으로, 소프트웨어도 구조적 분석을 통한 모형을 만들어 좀 더 자세한

요구 분석을 수행할 수 있다요구 분석을 수행할 수 있다.

Software Engineeringby Yang-Sae MoonPage 27

Page 28: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 흐름도의흐름도의 구성구성 요소요소 (1/2)(1/2)요구 분석 (Requirement Analysis)

프로세스(process): 대부분 원이나 둥근 사각형으로 표기한다. 프로세스

의 이름을 내부에 기재한다의 이름을 내부에 기재한다.

프로세스 프로세스프로세스이름

프로세스이름

자료 흐름(data flow): 두 프로세스 사이의 자료 경로는 화살표로 표시한자료 흐름(data flow): 두 프로세스 사이의 자료 경로는 화살표로 표시한

다. 화살표 위에 전달되는 자료의 이름을 기재한다.

자료 이름

Software Engineeringby Yang-Sae MoonPage 28

Page 29: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 흐름도의흐름도의 구성구성 요소요소 (2/2)(2/2)요구 분석 (Requirement Analysis)

파일 혹은 자료 저장소(data store): 한쪽이 열려진 사각형, 혹은 한 쌍의

평행선으로 표시한다 저장소의 이름을 안에 기재할 수 있다평행선으로 표시한다. 저장소의 이름을 안에 기재할 수 있다.

저장소 이름 저장소 이름저장소 이름 저장소 이름

자료의 출처(data source)와 도착지(data sink): 직사각형으로 표시하며,

내부에 이름을 기재한다.내부에 이름을 기재한다.

자료 출처의 이름

Software Engineeringby Yang-Sae MoonPage 29

Page 30: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

식빵식빵 공장의공장의 DFD (1/2)DFD (1/2)요구 분석 (Requirement Analysis)

최상위 흐름도

식빵 공장재료

(재료) 공급자 배급자포장된 식빵

1차 구체화

1

식빵 2

옥수수

밀가루 식빵1차 구체화만들기 2

식빵포장

계란

우유

3

빵을

포장된식빵

박스에넣은 식빵

Software Engineeringby Yang-Sae MoonPage 30

빵을배달

Page 31: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

식빵식빵 공장의공장의 DFD (2/2)DFD (2/2)요구 분석 (Requirement Analysis)

1옥수수

2차 구체화식빵만들기 2

식빵포장

밀가루

계란

식빵

포장

3

우유

포장된박스에

1.1옥수수씻고

옥수수

깨끗한 옥수수3

빵을배달

포장된식빵

박스에넣은 식빵

고르기

1.3

버터와버무림반죽 버무림1.2

반죽을만듦

반죽

밀가루

계란준비된

1.4

식빵을

계란

우유

반죽

Software Engineeringby Yang-Sae MoonPage 31

구워냄구워낸식빵

Page 32: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자동자동 색인색인 시스템시스템 (1/2)(1/2)요구 분석 (Requirement Analysis)

자동 색인?

• 주어진 텍스트 파일에서 단어들을 추출하여• 주어진 텍스트 파일에서 단어들을 추출하여,

• 단어들을 정렬하고,

• 해당 단어들이 어디에서 나오는지, 몇 번 나오는지를 기록한다.해당 어들이 어디에서 나 지 나 지를 기록한다

쉽게 생각하면쉽게 생각하면

• 텍스트 파일을 한 줄씩 읽어서,

• 새로운 단어이면 색인에 새롭게 넣고• 새로운 단어이면 색인에 새롭게 넣고,

• 각 단어에 대해서는 위치(예: 페이지, 줄번호)를 리스트로 달아두면 된다.

Software Engineeringby Yang-Sae MoonPage 32

Page 33: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자동자동 색인색인 시스템시스템 (2/2)(2/2)요구 분석 (Requirement Analysis)

자동 색인 시스템의 DFD

Software Engineeringby Yang-Sae MoonPage 33

Page 34: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

프로세스프로세스 (Process, (Process, 처리처리))요구 분석 (Requirement Analysis)

입력 자료 흐름을 출력 자료 흐름으로 변환

원으로 표현하고 그 안에 처리의 이름을 적는다원으로 표현하고 그 안에 처리의 이름을 적는다

처리의 이름은

• 처리가 하는 일 또는

• 처리를 수행하는 행위자로 기술한다

고유번호가 주어짐고유번호가 주어짐

차후 소단위 명세의 대상 (무엇을 해야 하는지 결정해야 하는 대상)

1.1임대비용

3.4.5고객별

3간호사

계산 명세서작성

간호사

Software Engineeringby Yang-Sae MoonPage 34

Page 35: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료의자료의 흐름흐름 (Data Flow)(Data Flow)요구 분석 (Requirement Analysis)

자료흐름은 변형되어 이동중인 자료군을 나타냄

이동 방향을 표시한 화살표로 나타냄이동 방향을 표시한 화살표로 나타냄

화살표 위에 자료군의 이름을 붙임

자료 저장소에 연결된 자료의 흐름은 저장소에 자료군을 운반하여 저장

함을 뜻함

치료계획철

초기환자자료

1초기치료

계획 2환자상태

치 계획철

환자상태

환자상태 자료

기록

환자철

불충분메시지

환자상태

감염정도환자상태

Software Engineeringby Yang-Sae MoonPage 35

환자철

Page 36: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 저장소저장소 (Data Store)(Data Store)요구 분석 (Requirement Analysis)

머물고 있는 자료군의 집합

파일 데이터베이스 서류철 등 파일, 데이터베이스, 서류철 등

자료 저장소는 한쪽이 열려진 사각형 혹은 한 쌍의 평행선으로 표현

신용카드사용내역철

신용카드사용전표

1신용카드사용내역

사용내역철사용전

사용내역기록 2

고객별명세서작성

사용내역서

작성

고객철

Software Engineeringby Yang-Sae MoonPage 36

Page 37: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

단말단말(Terminal), (Terminal), 자료자료 출처출처//도착지도착지요구 분석 (Requirement Analysis)

대상 시스템 밖에서 의사 전달하는 사람, 부서, 또는 다른 자동화 시스템

단말은 사각형으로 표현하고 그 명칭을 부여단말은 사각형으로 표현하고 그 명칭을 부여

명칭은 한 개인, 부서를 기술하기 보다는 그 역할을 기술

분석실 병원 행정분석기록 조회

의료 기록시스템

분석기록 조회

의료비 자료

시스템

증상, 처방

의 사

Software Engineeringby Yang-Sae MoonPage 37

Page 38: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 흐름도흐름도 작성작성 (1/3)(1/3)요구 분석 (Requirement Analysis)

계층적 분할에 의하여 단계적으로 표현

배경도(context diagram) 작성배경도(context diagram) 작성

• 개발하려는 시스템과 외부세계와의 인터페이스를 식별

• 시스템 분석의 범위를 설정• 시스템 분석의 범위를 설정

• 시스템 전체를 나타내는 하나의 처리와 관련된 단말들로 표시

식빵 공장재료

(재료) 공급자 배급자포장된 식빵

Software Engineeringby Yang-Sae MoonPage 38

Page 39: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 흐름도흐름도 작성작성 (2/3)(2/3)요구 분석 (Requirement Analysis)

중간 단계의 자료 흐름도

• 자료 흐름도 내의 하나 이상의 처리가 하위 자료 흐름도로 분할되는 자료흐름도• 자료 흐름도 내의 하나 이상의 처리가 하위 자료 흐름도로 분할되는 자료흐름도

1옥수수 1

식빵만들기 2

식빵

옥수수

밀가루

계란

식빵

식빵포장

우유

3

빵을배달

포장된식빵

박스에넣은 식빵

Software Engineeringby Yang-Sae MoonPage 39

Page 40: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 흐름도흐름도 작성작성 (3/3)(3/3)요구 분석 (Requirement Analysis)

최하위 단계의 자료 흐름도

• 자료흐름도 내의 모든 처리가 더 이상 분할되지 않는 자료흐름도• 자료흐름도 내의 모든 처리가 더 이상 분할되지 않는 자료흐름도

• 모든 처리들이 (궁극적으로는) 소단위 명세서로 설명됨

1.1옥수수씻고

고르기

옥수수

깨끗한 옥수수고르기

1.3

버터와버무림1 2 반죽 버무림1.2

반죽을만듦

밀가루

계란준비된반죽

1.4

식빵을구워냄

우유

반죽

구워낸

Software Engineeringby Yang-Sae MoonPage 40

구워냄구워낸식빵

Page 41: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 흐름도흐름도 작성작성 원칙원칙 (1/5)(1/5)요구 분석 (Requirement Analysis)

추상화와 단계적 분해

• 추상화: 복잡하고 자세한 사실들을 간결한 개념으로 표현하는 과정• 추상화: 복잡하고 자세한 사실들을 간결한 개념으로 표현하는 과정

예) 건축의 평면도: 건축물을 간결하고 정확하며 완전하게 표현함

추상화는 과학/공학의 기본 연구 방향이기도 함

• 단계적 분해: 하향식 분할을 사용하여 복잡한 문제/과정을 간결하고 독립적인 문제/과정

으로 분해하는 과정

알고리즘의 Divide and conquer가 이에 해당한다고 볼 수 있음 (merge sort) 알고리즘의 Divide-and-conquer가 이에 해당한다고 볼 수 있음 (merge sort)

추상화 및 단계적 분해의 원칙추상화 및 단계적 분해의 원칙

• 같은 계층의 각 문제는 같은 수준의 상세함을 가져야 한다.

각 문제는 독립적인 문제로 분리되어야 한다• 각 문제는 독립적인 문제로 분리되어야 한다.

• 부분 문제들의 해가 모여서 원래 문제를 해결할 수 있어야 한다.

Software Engineeringby Yang-Sae MoonPage 41

Page 42: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 흐름도흐름도 작성작성 원칙원칙 (2/5)(2/5)요구 분석 (Requirement Analysis)

명명(naming) 원칙

• 처리의 이름은 동사형 명사와 단일 직접 목적어를 사용하되 간결하게 나타내라• 처리의 이름은 동사형 명사와 단일 직접 목적어를 사용하되, 간결하게 나타내라.

예) 더함(O), 개와 고양이에게 먹이를 줌(X, 두 개의 목적어)

• 어떤 경우에도 다 적용될 수 있는 포괄적인 명칭은 피하라.

가격을

입력자료새로운신용카드부적절한 예 적절한 예

책정하고상품목록을

기록출력자료

고객관리

고객상태

변환된 자료 흐름의 명칭

• 자료흐름은 처리를 거쳐 변환될 때마다 새로운 이름을 부여

닦다 껍질을 속을자 다

사과 닦은사과 껍질을 씨를 자른 사과

Software Engineeringby Yang-Sae MoonPage 42

닦다 껍질을벗기다

속을파내다

자르다벗긴사과 빼낸 사과

Page 43: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 흐름도흐름도 작성작성 원칙원칙 (3/5)(3/5)요구 분석 (Requirement Analysis)

자료 흐름의 균형

• 처리를 중심으로 입력과 출력 자료의 흐름은 어디서나 일치되어야 함• 처리를 중심으로 입력과 출력 자료의 흐름은 어디서나 일치되어야 함

• 프로세스 1이 분할된 예제

1

2

3

AB

C

D

1.2

1.1

1 3

A

B

3C

E

1.3

C

1F G

1.1

1.3

B

G1

자료 사전 F B | C

1.2C

Software Engineeringby Yang-Sae MoonPage 43

자료 사전: F = B | C

Page 44: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 흐름도흐름도 작성작성 원칙원칙 (4/5)(4/5)요구 분석 (Requirement Analysis)

자료 흐름의 분할 및 통합

• 자료 흐름은 (구체화의 정도에 따라) 분할 또는 통합이 가능• 자료 흐름은 (구체화의 정도에 따라) 분할 또는 통합이 가능

치료자료 흐름 분할의 예 치료계획수립

의사진단자료초기자료

자료 흐름 분할의 예

환자병력자료기록

환자병력자료

프로세스와 자료 저장소 간의 자료 흐름프로세스와 자료 저장소 간의 자료 흐름

• 프로세스 자료 저장소 (자료 수정, 삽입, 삭제)

• 프로세스 자료 저장소 (자료 검색)

Software Engineeringby Yang-Sae MoonPage 44

• 프로세스 자료 저장소 (자료 검색)

Page 45: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 흐름도흐름도 작성작성 원칙원칙 (5/5)(5/5)요구 분석 (Requirement Analysis)

블랙 홀(black hole)과 화이트 홀(white hole)은 없어져야 함

• 블랙 홀: 자료의 입력만 있는 자료 저장소• 블랙 홀: 자료의 입력만 있는 자료 저장소

• 화이트 홀: 자료의 출력만 있는 자료 저장소

치료계획보고

환자철White hole

치료보고

실자료철Black hole

모든 프로세스를 한 장에 그리는 것 보다는 단계적으로 나누어 그리는

실자료철

것이 전체적으로 이해하기에 좋음

• (원칙적으로) 한 장의 분석서에 한 계층의 자료 흐름도만 그린다.

Software Engineeringby Yang-Sae MoonPage 45

• 한 장에 72개의 처리가 적당하다.

Page 46: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 흐름도흐름도 다듬기다듬기 (1/9)(1/9)요구 분석 (Requirement Analysis)

과다하게 세분화된 프로세스의 통합 예제

Software Engineeringby Yang-Sae MoonPage 46

Page 47: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 흐름도흐름도 다듬기다듬기 (2/9)(2/9)요구 분석 (Requirement Analysis)

If-then-else 논리 표현의 간략화 예제

Software Engineeringby Yang-Sae MoonPage 47

Page 48: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 흐름도흐름도 다듬기다듬기 (3/9)(3/9)요구 분석 (Requirement Analysis)

경험 및 규칙 1)

자료 흐름이 하나만 나와서 다음 프로세스의 입력이 되는 프로세스는 과자료 흐름이 하나만 나와서 다음 프로세스의 입력이 되는 프로세스는 과

다하게 세분적으로 분할된 가능성이 높음 통합 혹은 정확성 검사

통합하는 예 외부 개체 Missing의 예

Px 1

수정 전

Px 1~2

수정 후

P 1

수정 전 수정 후

P 1외부 개체P.x.1 P.x.1 2 P.x.1 P.x.1외부 개체

P.x.2 P.x.2 P.x.2

Software Engineeringby Yang-Sae MoonPage 48

Page 49: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 흐름도흐름도 다듬기다듬기 (4/9)(4/9)요구 분석 (Requirement Analysis)

경험 및 규칙 2)

여러 프로세스가 동일한 외부 개체와 상호작용하고 프로세스 하나는 상여러 프로세스가 동일한 외부 개체와 상호작용하고 프로세스 하나는 상

호작용이 없는 경우 자료 흐름과 변환 과정이 다른지 검토

P.x.1

수정 전 수정 후

외부 개체 P.x.1~3외부 개체

P 2 P 1P.x.2 P.y.1

P.x.3P.y.1

P 1 3가 외부개체와 상호작용을 도맡아 하고 P 1은 P 1 3에서 입력을 받도록 수정한다

Software Engineeringby Yang-Sae MoonPage 49

P.x.1~3가 외부개체와 상호작용을 도맡아 하고, P.y.1은 P.x.1~3에서 입력을 받도록 수정한다.

Page 50: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 흐름도흐름도 다듬기다듬기 (5/9)(5/9)요구 분석 (Requirement Analysis)

경험 및 규칙 3)

여러 프로세스가 동일 파일에 접근하는 경우여러 프로세스가 동일 파일에 접근하는 경우

파일에서 읽는 자료 흐름을 비교하여 반복이 있으면 통합

Px 3의 읽는 기능(읽고 처리하는 기능) 은 Px 11에 쓰는 기능(쓰고 처리하는 기능)은 Px 12에

Software Engineeringby Yang-Sae MoonPage 50

P.x.3의 읽는 기능(읽고 처리하는 기능) 은 P.x.11에, 쓰는 기능(쓰고 처리하는 기능)은 P.x.12에주고, 자신은 없어진 형태이다.

Page 51: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 흐름도흐름도 다듬기다듬기 (6/9)(6/9)요구 분석 (Requirement Analysis)

경험 및 규칙 4)

여러 프로세스가 동일 파일에 여러 번 자료를 저장하는 경우여러 프로세스가 동일 파일에 여러 번 자료를 저장하는 경우

같은 자료를 쓰는지 검사하고 필요하면 재구성 및 통합

수정 전

P.x.1

수정 전 수정 후

외부 개체 P.x.11외부 개체

P.x.2 P.x.12

Px 3

P.x.3의 외부 개체 I/F은 P.x.12에, P.x.2 및 P.x.3의 쓰는 기능(쓰고 처리하는 기능)은 P.x.11에 주고, P.x.3는 없어진 형태이다.

P.x.3

Software Engineeringby Yang-Sae MoonPage 51

다음 슬라이드를 보면, 다른 형태로 간략화된 예를 볼 수 있다. (正道는 없음에 유의)

Page 52: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 흐름도흐름도 다듬기다듬기 (7/9)(7/9)요구 분석 (Requirement Analysis)

경험 및 규칙 5)

단순하고 과다하게 세분화된 프로세스의 경우 이웃 프로세스와 통합단순하고 과다하게 세분화된 프로세스의 경우 이웃 프로세스와 통합

수정 전 수정 후 (1)

P.x.1

수정 전 수정 후 (2)

외부 개체 P.x.11외부 개체P.x.1

수정 후 (1)

외부 개체

P.x.2 P.x.12P.x.2

Px 3 Px 3P.x.3 P.x.3

Software Engineeringby Yang-Sae MoonPage 52

Page 53: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 흐름도흐름도 다듬기다듬기 (8/9)(8/9)요구 분석 (Requirement Analysis)

경험 및 규칙 6)

물리적 개체(예: 현금 출납기 바코드 입력기)의 이름을 가급적 피한다물리적 개체(예: 현금 출납기, 바코드 입력기)의 이름을 가급적 피한다.

기능적 이름을 사용하는 것이 바람직하다(예: 인출 기능).

Software Engineeringby Yang-Sae MoonPage 53

Page 54: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 흐름도흐름도 다듬기다듬기 (9/9)(9/9)요구 분석 (Requirement Analysis)

경험 및 규칙 7)

자료 흐름의 이름이 정보의 내용을 충분히 반영하는지 확인한다자료 흐름의 이름이 정보의 내용을 충분히 반영하는지 확인한다.

가능한 구체적으로 명명한다. (고객 정보 고객 번호)

Software Engineeringby Yang-Sae MoonPage 54

Page 55: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 사전사전(Data Dictionary) (1/2)(Data Dictionary) (1/2)요구 분석 (Requirement Analysis)

자료 흐름도에 나타나는 자료(용어)에 대한 정의를 모은 사전

형식

• 자료 항목 이름 = 자료 항목의 구성을 나타내는 수식

자료 항목 구성 표기법 ( 정규 표현법과 유사)+ 자료요소가 다른 요소와 연결되어 있음| 'or'의 의미 즉 택일을 의미| or 의 의미, 즉 택일을 의미‘ ’ 문자형 상수를 의미[ ] Zero or more를 의미하는 선택형 요소를 나타낼 때 사용{ } 중괄호 안의 요소가 반복되는 것을 나타냄{ } 중괄호 안의 요소가 반복되는 것을 나타냄{ }x 중괄호 안의 요소가 적어도 x번 이상 반복됨{ }y 중괄호 안의 요소가 많아야 y번 반복됨

중괄호 안의 가 번 이상 번 이하 반복됨

Software Engineeringby Yang-Sae MoonPage 55

{ }yx 중괄호 안의 요소가 x번 이상 y번 이하 반복됨

Page 56: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

자료자료 사전사전(Data Dictionary) (2/2)(Data Dictionary) (2/2)요구 분석 (Requirement Analysis)

자료 사전의 예구독자 전화번호 = [지역번호] + 국번 + '-' + 가입자 번호구독자_전화번호 [지역번호] 국번 가입자_번호지역번호 = '(' + '0' + 첫자리 + {십진수}10 + ')'국번 = {십진수}43

가입자 번호 {십진수}4가입자_번호 = {십진수}44

첫자리 = 2|3|4|5|6십진수 = 0|1|2|3|4|5|6|7|8|9

신규 구독자 명단의 자료 요소: 교재 p. 141 참조신규 구독자 명단의 자 재 p 참

자료흐름도에서 쓰인 자료 항목들이 ‘가나다’ 순으로 사전처럼 정리되어자료흐름도에서 쓰인 자료 항목들이 가나다 순으로 사전처럼 정리되어

야 함

Software Engineeringby Yang-Sae MoonPage 56

Page 57: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

소단위소단위 명세서명세서요구 분석 (Requirement Analysis)

소단위 명세서(mini-spec)의 정의:

자료 흐름도의 최하위 프로세스(primitive process)가 어떤 기능을 하는자료 흐름도의 최하위 프로세스(primitive process)가 어떤 기능을 하는

지 기술한 명세

소단위 명세서는 프로세스 명세서(process specification) 또는 소작업 명

세서(activity specification)라 부르기도 함세서(activity specification)라 부르기도 함

소단위 명세서의 작성 방법소단위 명세서의 작성 방법

• 구조적 영어 (structured English) 알고리즘 기술 방법과 유사

• 의사 결정표 (decision table) 진리값 테이블과 유사• 의사 결정표 (decision table) 진리값 테이블과 유사

• 흐름도

• Nassi-Shneiderman 도표

Software Engineeringby Yang-Sae MoonPage 57

Nassi Shneiderman 도표

• 전후 조건, …

Page 58: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

구조적구조적 영어영어 (Structured English) (1/2)(Structured English) (1/2)요구 분석 (Requirement Analysis)

영어에서 쓰는 단어 중에서

연산(compute add get put find move replace set sort )이나연산(compute, add, get, put, find, move, replace, set, sort, …)이나

제어 구조(if then else, case, repeat until, while, …)를 표현하는 단어를

제한적으로 도입하여 기술하는 방법제한적으로 도입하여 기술하는 방법

순차적 구조 Refer to p. 142순차적 구조 Refer to p. 142

선택적 구조 R f t 143 144선택적 구조 Refer to pp. 143-144

반복적 구조 Refer to pp. 144-145

Software Engineeringby Yang-Sae MoonPage 58

Page 59: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

구조적구조적 영어영어 (Structured English) (2/2)(Structured English) (2/2)요구 분석 (Requirement Analysis)

구조적 영어의 사용 예제

IF 청구액 > 50만원

IF 납입지체일 > 60일

THEN 사고해결부서에 통고

ELSE (신용도가 이직은 좋음) 재청구서 발송

ELSE

IF 납입지체일 > 60일

THEN 재청구서 발송THEN 재청구서 발송

신용평가서에 기록

ELSE 재청구서 발송재청구서 발송

Software Engineeringby Yang-Sae MoonPage 59

Page 60: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

의사의사 결정표결정표 (Decision Table)(Decision Table)요구 분석 (Requirement Analysis)

여러 다른 조건에 대하여 각기 다른 처리를 해야 할 경우에 적합

의사 결정에 영향을 주는 변수, 변수가 가질 수 있는 값, 각 경우에 적용

될 처리 등을 체계적으로 (한 눈에 알아볼 수 있도록) 나타낼 수 있음

고지서 발급 시스템을 위한 의사 결정표 ( 진리표로도 나타낼 수 있음)

대금 지급지급 O O

미지급 O O

있음 O O미지급 잔고

있음 O O

없음 O O

영수증 발급 O O영수증 발급

청구서 발급 O O

안내장 발생 O O

Software Engineeringby Yang-Sae MoonPage 60

좀 더 복잡한 예제 p. 147의 표 3.3, 의사결정 도 p. 147의 그림 3.20

Page 61: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

구조적구조적 사례사례 분석분석 (1/6)(1/6)요구 분석 (Requirement Analysis)

비디오 대여점 소프트웨어: 범위는 비디어 대여, 고객 관리, 매장에 있는

비디오의 관리 + 하루가 마감되면 매상을 계산하여 보고비디오의 관리 + 하루가 마감되면 매상을 계산하여 보고

배경배경도

Software Engineeringby Yang-Sae MoonPage 61

배경도의 확장 p. 149의 그림 3.23 참조

Page 62: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

구조적구조적 사례사례 분석분석 (2/6)(2/6)요구 분석 (Requirement Analysis)

배경도를 위한 자료 사전

1. 자료 흐름새 고객 = 이름 + 주소 + 전화번호 + 신용 카드 번호 + 신용 카드 유효 기간대여 = 전화번호 + {비디오 번호}m + 대여 비디오 개수대여 = 전화번호 + {비디오 번호}m1 + 대여 비디오 개수

대여 영수증 = 전화번호 + 고객 이름 + 고객 주소 + {비디오 번호 + 비디오 제목+ 대여료 + 반납일}m + 총대여금+총지불액 + 외상액+ 대여료 + 반납일}m1 + 총대여금+총지불액 + 외상액

고객이 서명하여야 하며 영수증은 안 받아갈 수도 있다.

새 비디오 비디오 번호 비디오 제목 날짜 대여료새 비디오 = 비디오 번호+비디오 제목+날짜+ 대여료새 비디오에 관한 정보

일일매상 보고 대여된 비디오 매상 반납된 비디오 정시 반납 연체 반납일일매상 보고 = 대여된 비디오+매상 + 반납된 비디오 + 정시 반납 + 연체 반납+ 총연체일 + 징수된 연체료 총액

Software Engineeringby Yang-Sae MoonPage 62

Page 63: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

구조적구조적 사례사례 분석분석 (3/6)(3/6)요구 분석 (Requirement Analysis)

Level 0 DFD

Software Engineeringby Yang-Sae MoonPage 63

Page 64: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

구조적구조적 사례사례 분석분석 (4/6)(4/6)요구 분석 (Requirement Analysis)

Level 0를 위한 자료 사전

1. 자료 저장소고객 파일 = 전화번호 + 고객 이름 + 고객 주소 + 고객 군구 + 고객 시도

우편번호 신용카드 종류 신용카드 번호 신용 카드 만료일+ 우편번호 + 신용카드 종류 + 신용카드 번호 + 신용 카드 만료일전화번호 = [지역번호] + 국번 + 가입자번호대여 파일 = 고객 전화번호 + 고객 이름 + 대여일 + 비디오 번호 + 비디오 제목

반납예정일 반납일 대여 연체+ 반납예정일 + 반납일 + 대여료 +연체료

2. 자료 흐름새 고객 = 이름 + 주소+전화번호 + 신용 카드 번호 + 신용 카드 유효 기간대여 = [전화번호 | 고객 이름] + {비디오 번호 | 비디오 제목} 지불액 = 화폐 단위반납 = 비디오 번호+고객 전화 번호연체료 = 화폐 단위

Software Engineeringby Yang-Sae MoonPage 64

Page 65: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

구조적구조적 사례사례 분석분석 (5/6)(5/6)요구 분석 (Requirement Analysis)

Level 1 DFD (‘3.0 대여 작성’의 구체화)

Software Engineeringby Yang-Sae MoonPage 65

Page 66: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

구조적구조적 사례사례 분석분석 (6/6)(6/6)요구 분석 (Requirement Analysis)

소단위 명세서

프로세스 번호: 1 0 프로세스 번호 2 0프로세스 번호: 1.0 프로세스 이름: 고객 등록설명:

고객 입력 화면 출력;

프로세스 번호: 2.0 프로세스 이름: 마감보고서 작성설명:

Read 대여 파일;객 입력 화면 출력;While(ans == 'n') {

고객 전화번호, 동호수, 취향 등 입력화면의 각 필드를 입력 받음; print 확인 메시지;

Read 대여 파일; count 당일 대여 횟수; 대여금 총액 계산; Read 현금출납기;

t 당일 반납print 확인 메시지; 고객 파일에 저장; print 더 이상의 고객 입력을 원하는가?; ans = read();

count 당일 반납; count 당일 연체 반납; 당일 연체료 총액 계산; count 당일 대여 횟수; ()

} 당일 대여 횟수;

대여금 총액 계산; Format, print 마감 보고서

자세한 내용 p. 152의 그림 3.27 참조

Software Engineeringby Yang-Sae MoonPage 66

Page 67: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

We are now …We are now …요구 분석 (Requirement Analysis)

요구(Requirements)

요구 추출과 분석

구조적 분석구조적 분석

요구 분석 명세서

Software Engineeringby Yang-Sae MoonPage 67

Page 68: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구요구 분석분석 명세서명세서 작성의작성의 유의사항유의사항요구 분석 (Requirement Analysis)

사용자와 개발자 모두가 쉽게 이해할 수 있도록 작성해야 한다. 무릇 모든 문서/발표는 독자/청중의 수준에 맞추어야 한다 무릇 모든 문서/발표는 독자/청중의 수준에 맞추어야 한다.

기술된 조건은 개발자와 사용자 모두가 동의한 것이어야 한다. 자기의 이익을 앞세운 조건이 들어가면 계약이 될 수 없다 자기의 이익을 앞세운 조건이 들어가면 계약이 될 수 없다.

제안된 시스템에 의하여 수행될 모든 기능을 정확히 기술하여야 한다. 어떤 방법으로 제공하는가 보다는 무슨 기능을 제공하는가에 초점 어떤 방법으로 제공하는가 보다는 무슨 기능을 제공하는가에 초점

제안된 시스템에 영향을 주는 모든 제약 조건을 기술하여야 한다. 목표 하드웨어 하드웨어 용량 동작 환경 등 목표 하드웨어, 하드웨어 용량, 동작 환경 등

시스템의 인수를 위한 테스트 기준을 제공하여야 한다. 성능(1000 TPS) 용량(100만 가입자) 성능(1000 TPS), 용량(100만 가입자), …

시스템의 품질과 상대적인 중요도 및 품질 측정 방법이 기술되어야 한다. 기능/성능보다 안전성(우주선) 편리성보다 정확성(현금 지급기)

Software Engineeringby Yang-Sae MoonPage 68

기능/성능보다 안전성(우주선), 편리성보다 정확성(현금 지급기), …

Page 69: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

LMSC LMSC 문서문서 예제예제 –– 소프트웨어소프트웨어 프로세스프로세스 구조구조요구 분석 (Requirement Analysis)

메시지 송수신 페이징 처리 단말 정보 처리

연동 서브시스템 집합

MSIF LMEIF

메시지 송수신

SMSCIF IPLSIF

페이징 처리AAAIF JUICEIF

SANTAIF

INBHIF WISEIF

과금 처리

CDRMNG제어 및 호처리

데이터베이스메시지 파일

C G

기타 연동

LMSSVC

MSGSCHMSGMNGNMSIF WINGSIF

MSGSCHMSGMNG

데이터 관리

DBMGR

운용 및 유지보수

SYSMON ALMD COND MMCDSVCSTAT

Software Engineeringby Yang-Sae MoonPage 69

Page 70: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

LMSC LMSC 문서문서 예제예제 –– 주요주요 프로세스프로세스 설명설명요구 분석 (Requirement Analysis)

주요 프로세스 프로세스 기능

MSIF단말 연동 HTTP POST/GET 메시지 분석 및 처리 발신 단말로부터의 수신 메시지 저장, 착신 단말에 전송할 송신 메시지 인출

LMEIFLME 연동 Submit, Delivery, Delivery_Report 등의 메시지 분석 및 처리 LME로부터 수신 메시지 저장 LME로 전송할 송신 메시지 인출 LME로부터 수신 메시지 저장, LME로 전송할 송신 메시지 인출

SMSCIF, IPLSIF SMSC 방식 혹은 SMOI 방식을 사용하여 단말과의 단문 메시지 전송

AAAIF, JUICEIF 장문 메시지 처리 과정에서 필요한 단말 및 가입자 관련 정보 취득

INBHIF, WISEIF, CDRMNG 지능망 가입자 실시간 차감, 과금 CDR 구성 및 WISE로의 CDR 전송

LMSSVC

LMSC 서비스 제어 메시지 식별자(Message ID) 할당 및 관리 메시지 관리 테이블(MSG MGT TBL) 관리 메시지 관리 테이블(MSG_MGT_TBL) 관리 메시지 상태 관리 및 상태에 따른 호처리 수행

MSGSCH비실시간 메시지 처리 메시지 재전송, 예약 전송 처리 메시지 강제 착신 처리

MSGMNG데이터 관리 DB내 메시지 레코드 삭제 메시지 파일 삭제

Software Engineeringby Yang-Sae MoonPage 70

메시지 파일 삭제

Page 71: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

LMSC LMSC 문서문서 예제예제 –– 주요주요 호처리호처리 절차절차요구 분석 (Requirement Analysis)

LME

P2P: 단말 LMEP2P: 단말 LME P2P: LME 단말P2P: LME 단말

LME

AAALMSC

JUICE② ③

AAALMSC

JUICE

③ ②

MS

MS SMSC

④⑤⑥

MS

P2W: 단말 LMEP2W: 단말 LME W2P: LME 단말W2P: LME 단말

MS SMSC

LME

AAA JUICE

④ ⑤

LME

AAA JUICE

① ⑦

AAALMSC

JUICE

② ③AAA

LMSCJUICE

③ ②

④⑤⑥

Software Engineeringby Yang-Sae MoonPage 71

MS MS SMSC

Page 72: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

LMSC LMSC 문서문서 예제예제 –– 메시지메시지 처리처리 흐름도흐름도요구 분석 (Requirement Analysis)

단말 GET성공

Ready

Delivery.REQ 수신

성공

수신 메시지착신 가입자,착신 단말인증 실패

착신 가입자 인증수신 메시지인출 실패

수신 메시지인출 성공

인증 성공

NOTI성공

S R 수신

Delivery.REQ수신

메시지 수신처리 성공

SMSC연동 성공

인증 성공

착신알림 전송 성공착신 단말 인증

Status-Report 수신Status-Report 미수신

착신알림 전송 실패

W2P인 경우, 메시지 레코드 삽입 및 메시지 파일 생성을 수행한다.

Software Engineeringby Yang-Sae MoonPage 72

인 경우, 메시지 레 삽입 및 메시지 파일 생성을 수행한다

P2P인 경우, 기 삽입된 메시지 레코드를 변경하고, 메시지 파일을 생성한다.

Page 73: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

LMSC LMSC 문서문서 예제예제 –– 과금과금 처리처리 과정과정 기술기술요구 분석 (Requirement Analysis)

1. LME로부터 발신 과금, 착신 과금, 무과금에 대한 과금 방식 취득1. LME로부터 발신 과금, 착신 과금, 무과금에 대한 과금 방식 취득

2. W2P(MSG_ID가 없는 경우)인 경우, JUICE 연동으로 가입자 정보 수신2. W2P(MSG_ID가 없는 경우)인 경우, JUICE 연동으로 가입자 정보 수신

3 착신이 지능망 가입자이고 잔액소진이면 임시 충전을 수행3 착신이 지능망 가입자이고 잔액소진이면 임시 충전을 수행3. 착신이 지능망 가입자이고 잔액소진이면 임시 충전을 수행3. 착신이 지능망 가입자이고 잔액소진이면 임시 충전을 수행

착신 가입자가 메시지를 인출한 후에 다시 소진

4 과금 생성 시점에서 텍스트와 멀티미디어에 대한 과금 정보(CDR) 생성4 과금 생성 시점에서 텍스트와 멀티미디어에 대한 과금 정보(CDR) 생성4. 과금 생성 시점에서, 텍스트와 멀티미디어에 대한 과금 정보(CDR) 생성4. 과금 생성 시점에서, 텍스트와 멀티미디어에 대한 과금 정보(CDR) 생성

5. 발/착신 여부, 지능망 가입자 여부에 따라 지능망 과금을 수행5. 발/착신 여부, 지능망 가입자 여부에 따라 지능망 과금을 수행

차감 종류(건당, 패킷당)와 지능망 서비스 유형, 사용 구간에 따라 요율 코드 결정

INBH로부터 수신한 차감 금액을 과금 정보에 수록

6 과금 개수 주기에 따라 과금 정보를 파일로 생성6 과금 개수 주기에 따라 과금 정보를 파일로 생성6. 과금 개수, 주기에 따라 과금 정보를 파일로 생성6. 과금 개수, 주기에 따라 과금 정보를 파일로 생성

7. 생성한 과금 파일을 WISE로 전송7. 생성한 과금 파일을 WISE로 전송

Software Engineeringby Yang-Sae MoonPage 73

Page 74: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구요구 분석의분석의 자동화자동화요구 분석 (Requirement Analysis)

요구분석 도구의 기능

• 여러 가지 방법론에 의한 diagramming 기능• 여러 가지 방법론에 의한 diagramming 기능

• 모델의 정확성, 일관성을 확인하기 위한 오류 검증 기능

• Prototyping을 지원하는 도구yp g을 지 하 구

• 설계 사전

• 여러 가지 다른 모델 사이에 모순이 있는지 검사

도구의 구조

그래픽 기능

프로토타이핑 및명세화 도구

자료저장소그래픽 기능

일관성 및 모순 검사

자료저장소

Software Engineeringby Yang-Sae MoonPage 74

Page 75: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구요구 분석분석 도구도구요구 분석 (Requirement Analysis)

<상품명> <공급회사>– Teamwork/SA Cadre Technologies/ g– PC/Workshop Computer Corp. of America– CorVision Cortex

Developer Workstation DBMS– Developer Workstation DBMS – Excellerator Index Technology– The Design Machine Ken Orr & Associate– Information Engineering Knowledgeware

Workstation– Structured Architect Meta SystemsStructured Architect Meta Systems– MacBubbles StarSys– Analyst/Designer Toolkit Yourdon

Software Engineeringby Yang-Sae MoonPage 75

Page 76: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구요구 분석서의분석서의 목차목차요구 분석 (Requirement Analysis)

1 개 요1.1 시스템 개요1.2 목표

2 기능적 목표2.1 자료 흐름도2.2 자료사전2.3 소단위 명세서2.4 기능면에서의 시스템 특성기능면에서의 시 템 특성

3 기타 요구 및 제약 사항3.1 성능 요구(반응 시간, 처리소요 시간, 처리율)3 2 하드웨어 요구(기억장치 규모 통신 수용도)3.2 하드웨어 요구(기억장치 규모, 통신 수용도)3.3 예외 조건 및 이의 처리3.4 사용자 인터페이스3 5 자원 인력에 대한 제약조건3.5 자원, 인력에 대한 제약조건

4 인수 조건4.1 기능시험 및 성능시험

Software Engineeringby Yang-Sae MoonPage 76

참고 자료 및 용어 해설

Page 77: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구요구 분석의분석의 평가평가요구 분석 (Requirement Analysis)

<정수에 대한 사칙연산의 예제>

무결성(correctness)

완벽성(completeness)

“+”에 대한 정의가 바르게 되어야

네 가지 연산을 모두 정의하여야

일관성(consistency)

명확성( bi )

모두 정수에 대해 정의하여야…

‘ ’ 등 한꺼번에 나타내지 않아야명확성(unambiguous)

기능성(functionality)

‘’ 등으로 한꺼번에 나타내지 않아야…

레지스터가 어쩌고…가 아니어야

검증 가능성(verifiability)

추적 가능성(traceability)

연산이 바른지 확인할 수 있어야

연산이 어디에 사용되었는지추적 가능성(traceability)

변경 용이성(modifiability)

연산이 어디에 사용되었는지…

연산의 변경이 가능해야…

Software Engineeringby Yang-Sae MoonPage 77

Page 78: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구요구 검증검증 방법방법요구 분석 (Requirement Analysis)

요구 검토:

요구를 눈으로 검사하되 체계적인 방법으로 검토요구를 눈으로 검사하되 체계적인 방법으로 검토

타이핑프로토타이핑:

요구를 검토하기 위하여 실행될 수 있는 시스템 모형을 제작

테스트 사례 작성:

기능을 검토하기 위하여 요구를 시험하기 위한 계획 작성

일관성 자동적 분석:

요구 분석 도구를 이용하여 모순이 없는지 분석

Software Engineeringby Yang-Sae MoonPage 78

구 분석 구를 이용하여 순이 없는지 분석

Page 79: 요구요구분석분석 (R i tA l i)(Requirement Analysis)ysmoon/courses/2010_2/se/04.pdf · 2016-06-02 · 요구분석요구분석단계의단계의작업작업 요구분석(Requirement

요구요구 분석이분석이 어려운어려운 경우경우요구 분석 (Requirement Analysis)

발주자가 무엇을 원하는지 전혀 모를 경우

발주자가 자신의 용어로만 요구를 표현할 경우

발주자들이 서로 상충되는 요구를 제시한 경우

조직의 정치적인 요소가 시스템의 요구에 영향을 미칠 수 있는 경우조직의 정치적인 요소가 시 템의 요구에 영향을 미칠 수 있는 경우

요구가 계속 변경되는 경우 또는 새로운 발주자가 나타나 비즈니스 환요구가 계속 변경되는 경우. 또는 새로운 발주자가 나타나 비즈니스 환

경이 달라진 경우

Software Engineeringby Yang-Sae MoonPage 79