Requirements Engineering

Similar documents
1.장인석-ITIL 소개.ppt

04-다시_고속철도61~80p

Software Prototyping

SW¹é¼Ł-³¯°³Æ÷ÇÔÇ¥Áö2013


#Ȳ¿ë¼®

소프트웨어개발방법론

<BCF6BDC D31385FB0EDBCD3B5B5B7CEC8DEB0D4C5B8BFEEB5B5C0D4B1B8BBF3BFACB1B85FB1C7BFB5C0CE2E687770>

03.Agile.key

<30362E20C6EDC1FD2DB0EDBFB5B4EBB4D420BCF6C1A42E687770>


±èÇö¿í Ãâ·Â

20, 41..,..,.,.,....,.,, (relevant).,.,..??.,

BSC Discussion 1

untitled

PowerPoint 프레젠테이션

untitled

DBPIA-NURIMEDIA

<BFA9BAD02DB0A1BBF3B1A4B0ED28C0CCBCF6B9FC2920B3BBC1F62E706466>

Microsoft PowerPoint - 3.공영DBM_최동욱_본부장-중소기업의_실용주의_CRM

06_ÀÌÀçÈÆ¿Ü0926

step 1-1

0125_ 워크샵 발표자료_완성.key

원고스타일 정의

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

WHO 의새로운국제장애분류 (ICF) 에대한이해와기능적장애개념의필요성 ( 황수경 ) ꌙ 127 노동정책연구 제 4 권제 2 호 pp.127~148 c 한국노동연구원 WHO 의새로운국제장애분류 (ICF) 에대한이해와기능적장애개념의필요성황수경 *, (disabi

- 2 -

Microsoft PowerPoint - ch03ysk2012.ppt [호환 모드]

歯1.PDF

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

<31B1E8C0B1C8F128C6ED2E687770>

APOGEE Insight_KR_Base_3P11

2

A Problem for Government STAGE 6: Policy Termination STAGE 1: Agenda Setting STAGE 5: Policy Change STAGE 2: Policy Formulation STAGE 4: Policy Evalua

<32382DC3BBB0A2C0E5BED6C0DA2E687770>

Microsoft PowerPoint - AC3.pptx

PowerPoint 프레젠테이션

정진명 남재원 떠오르고 있다. 배달앱서비스는 소비자가 배달 앱서비스를 이용하여 배달음식점을 찾고 음식 을 주문하며, 대금을 결제까지 할 수 있는 서비 스를 말한다. 배달앱서비스는 간편한 음식 주문 과 바로결제 서비스를 바탕으로 전 연령층에서 빠르게 보급되고 있는 반면,

Microsoft PowerPoint - Ieee standard pptx

감각형 증강현실을 이용한

001지식백서_4도

2 동북아역사논총 50호 구권협정으로 해결됐다 는 일본 정부의 주장에 대해, 일본군 위안부 문제는 일 본 정부 군 등 국가권력이 관여한 반인도적 불법행위이므로 한일청구권협정 에 의해 해결된 것으로 볼 수 없다 는 공식 입장을 밝혔다. 또한 2011년 8월 헌 법재판소는

192 法 學 硏 究 第 17 輯 第 2 號 < 국문초록 > 선하증권의 한계점을 극복하기 위해 실무에서 널리 화물선취보증장(L/G:Letter of Guarantee)제도가 이용되고는 있다. 그러나 수입상으로서는 추가적인 비용이 발생하고, 직접 은행을 방문해서 화물선취

歯3이화진

<B7CEC4C3B8AEC6BCC0CEB9AEC7D B3E23130BFF9292E687770>

SchoolNet튜토리얼.PDF

216 동북아역사논총 41호 인과 경계공간은 설 자리를 잃고 배제되고 말았다. 본고에서는 근세 대마도에 대한 한국과 일본의 인식을 주로 영토와 경계인 식을 중심으로 고찰하고자 한다. 이 시기 대마도에 대한 한일 양국의 인식을 살펴볼 때는 근대 국민국가적 관점에서 탈피할

PJTROHMPCJPS.hwp

<31342D3034C0E5C7FDBFB52E687770>

4번.hwp

제19권 제3호 Ⅰ. 문제제기 온라인을 활용한 뉴스 서비스 이용은 이제 더 이 상 새로운 일이 아니다. 뉴스 서비스는 이미 기존의 언론사들이 개설한 웹사이트를 통해 이루어지고 있으 며 기존의 종이신문과 방송을 제작하는 언론사들 외 에 온라인을 기반으로 하는 신생 언론사

pdf 16..

Journal of Educational Innovation Research 2019, Vol. 29, No. 1, pp DOI: (LiD) - - * Way to

본문01

untitled

ecorp-프로젝트제안서작성실무(양식3)

PowerPoint 프레젠테이션


Microsoft PowerPoint - KNOM Tutorial 2005_IT서비스관리기술.ppt

03¼ºÅ°æ_2


○ 제2조 정의에서 기간통신역무의 정의와 EU의 전자커뮤니케이션서비스 정의의 차이점은

<C7C1B7A3C2F7C0CCC1EE20B4BABAF1C1EEB4CFBDBA20B7B1C4AA20BBE7B7CA5FBCADB9CEB1B35F28C3D6C1BE292E687770>

Page 2 of 5 아니다 means to not be, and is therefore the opposite of 이다. While English simply turns words like to be or to exist negative by adding not,

182 동북아역사논총 42호 금융정책이 조선에 어떤 영향을 미쳤는지를 살펴보고자 한다. 일제 대외금융 정책의 기본원칙은 각 식민지와 점령지마다 별도의 발권은행을 수립하여 일본 은행권이 아닌 각 지역 통화를 발행케 한 점에 있다. 이들 통화는 일본은행권 과 等 價 로 연

Microsoft PowerPoint - Freebairn, John_ppt


PowerPoint 프레젠테이션

Journal of Educational Innovation Research 2016, Vol. 26, No. 2, pp DOI: * Experiences of Af

I&IRC5 TG_08권

11¹Ú´ö±Ô

歯kjmh2004v13n1.PDF


<31335FB1C7B0E6C7CABFDC2E687770>

300 구보학보 12집. 1),,.,,, TV,,.,,,,,,..,...,....,... (recall). 2) 1) 양웅, 김충현, 김태원, 광고표현 수사법에 따른 이해와 선호 효과: 브랜드 인지도와 의미고정의 영향을 중심으로, 광고학연구 18권 2호, 2007 여름

슬라이드 1

º¸µµ¿Â

DBPIA-NURIMEDIA

20(53?)_???_O2O(Online to Offline)??? ???? ??.hwp

대한한의학원전학회지26권4호-교정본(1125).hwp

우리들이 일반적으로 기호

Å©·¹Àγ»Áö20p

歯두산3.PDF

13 Who am I? R&D, Product Development Manager / Smart Worker Visualization SW SW KAIST Software Engineering Computer Engineering 3

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석

ÀÌÁÖÈñ.hwp

장양수

12Á¶±ÔÈŁ

퍼스널 토이의 조형적 특성에 관한 고찰

07_Àü¼ºÅÂ_0922

Vol.257 C O N T E N T S M O N T H L Y P U B L I C F I N A N C E F O R U M

Journal of Educational Innovation Research 2018, Vol. 28, No. 3, pp DOI: NCS : * A Study on

Stage 2 First Phonics

歯M PDF

DBPIA-NURIMEDIA

Microsoft Word - [2017SMA][T8]OOPT_Stage_1000_ docx

DW 개요.PDF

ETL_project_best_practice1.ppt

6 영상기술연구 실감하지 못했을지도 모른다. 하지만 그 이외의 지역에서 3D 영화를 관람하기란 그리 쉬운 일이 아니다. 영화 <아바타> 이후, 티켓 파워에 민감한 국내 대형 극장 체인들이 2D 상영관을 3D 상영관으로 점차적으로 교체하는 추세이긴 하지만, 아직까지는 관

02양은용

Transcription:

(요구사항과 명세서) Part 2. Requirements and Specification Establishing what the customer requires from a software system (S/W 시스템에서 고객이 요구하는 것이 무엇인가를 설정한다) Contents 4.Requirements Engineering (요구 공학) 5.Requirements Analysis (요구 분석) 6.System Models (시스템 모델) 7.Requirements Definition and Specification(요구사항 정의 및 명세서) 8.Software Prototyping (소프트웨어 시제품화) 9.Formal Specification (정형적 명세화) 10.Algebraic Specifications (대수적 명세화) 11.Model-based Specification(모델기반 명세서) Chapter 4 - Slide 1

제2부 요구사항과 명세서 Chapter 4. Requirements Engineering Objectives To introduce the notion of requirements engineering (요구공학 용어 소개) To explain why requirements at different levels of detail are needed (요구사항이 여러 레벨로 명세 되어야 하는 이유) To describe how the system requirements document may be organized (시스템 요구사항 문서가 어떻게 구성되어야 하는가) To describe the requirements validation process (요구사항 확인과정) To explain why requirements evolve during the lifetime of a system (시스템 생명주기 기간 내에서 요구사항이 진화되는 이유) Contents 4.1 The requirements engineering process (요구공학 과정) 4.2 The software requirements document(소프트웨어 요구사항 문서) 4.3 Requirements validation (요구사항 확인) 4.4 Requirements evolution(요구사항 진화) (요구공학) Chapter 4 - Slide 2

Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates and is developed (시스템으로부터 고객이 요구하는 서비스와 시스템 운용과 개발 도중의 제약조건들을 설정하는 과정) Requirements may be functional or non-functional (요구사항 기능적 요구사항과 비기능적 요구사항으로 분류) Functional requirements describe system services or functions (기능적 요구사항 시스템 서비스나 기능들을 설명) Non-functional requirements is a constraint on the system or on the development process (비기능적 요구사항 시스템상의 제약조건이나 개발과정상의 제약조건) 공학(Engineering) 개발하려는 시스템의 정의를 체계적으로 수행하는 process. Chapter 4 - Slide 3

제2부 요구사항과 명세서 / 4장 요구공학 What is a requirement? It may range from a high-level abstract statement of a service or of a system constraint to a detailed mathematical functional specification (서비스나 시스템 제약조건의 고수준 추상문장에서부터 수학적 상세기능 명세서까지의 범주) This is inevitable as requirements may serve a dual function (필연적으로 요구사항은 2가지 기능의 역할 담당) (1) May be the basis for a bid for a contract - therefore must be open to interpretation (계약의 기본이 될 수 있다 해석상의 오해가 없을 것) (2) May be the basis for the contract itself - therefore must be defined in detail (계약서 자체의 기준이 될 수 있다 상세하게 정의될 것) - Both these statements may be called requirements (이들 2 문장이 요구사항이 된다) Chapter 4 - Slide 4

Requirements definition/specification (요구사항 정의/명세서) (1) Requirements definition (요구사항 정의) 요구사항을 추상적으로 설명 A statement in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers (2) Requirements specification (요구 명세서) 요구사항을 상세하게 설명: 기능명세서 라 칭한다 A structured document setting out detailed descriptions of the system services. Written as a contract between client and contractor (3) Software specification (S/W 명세서) 요구공학과 설계 행위를 연결 A detailed software description which can serve as a basis for a design or implementation. Written for developers Chapter 4 - Slide 5

Definitions and specifications Requirements definition (요구사항 정의) 1. The software must provide a means of representing and accessing external files created by other tools. Requirements specification (요구 명세) 1.1 The user should be provided with facilities to define the type of external files. 1.2 Each external file type may have an associated tool which may be applied to the file. 1.3 Each external file type may be represented as a specific icon on the user s display. 1.4 Facilities should be provided for the icon representing an external file type to be defined by the user. 1.5 When a user selects an icon representing an external file, the effect of that selection is to apply the tool associated with the type of the external file to the represented by the selected icon. [그림 4.1] Definitions and specifications (요구사항 정의 및 요구명세서) Chapter 4 - Slide 6

Requirements readers Requirements definition -. 관리적 측면의 목표. 시스템 상세지식이 필요 없는 고객, 계약자, 관리자가 이해 Requirements specification -. 고급기술자의 시탶, 프로젝트 관리자용 Software specification -. 구현 위주의 문서 Client managers System end-users Client engineers Contractor managers System architects System end-users Client engineers System architects Software developers Client engineers (perhaps) System architects Software developers [그림 4.2] Requirements readers (명세의 종류에 따른 관련자들) Chapter 4 - Slide 7

Wicked problems (문제점) Most large software systems address wicked problems (대부분의 대형 시스템은 문제점을 내포) Problems which are so complex that they can never be fully understood and where understanding develops during the system development (문제점이 너무 복잡하여 완벽한 이해가 어렵고, 시스템 개발 도중에 이해되는 경향) Therefore, requirements are normally both incomplete and inconsistent (요구사항 불완전하고 일관성이 없음) Chapter 4 - Slide 8

Reasons for inconsistency (일관성 결여의 이유) (1) Large software systems must improve the current situation. (대형 S/W 시스템은 현재의 상황을 개선하기 위해 작성) It is hard to anticipate the effects that the new system will have on the organization (현조직에서 신시스템이 어떤 영향을 미칠지 예상키 어려움) (2) Different users have different requirements and priorities. (서로 다른 사용자들은 다양한 요구사항과 우선순위를 가짐) There is a constantly shifting compromise in the requirements (요구사항 중에서 상호 이율 배반적인 사항이 존재) (3) System end-users and organizations who pay for the system have different requirements (시스템 비용을 지불하는 최종 사용자와 조직들은 서로 다른 요구사항이 있을 수 있음) (4) Prototyping is often required to clarify requirements (요구사항을 명확히 하기 위해 시제품이 필요) Chapter 4 - Slide 9

4.1 The requirements engineering process - 요구사항 정의와 요구사항 명세서를 생성하는 프로세스 1) Feasibility study (실행계획 연구) - Find out if the current user needs be satisfied given the available technology and budget? (주어진 기술과 예산을 현사용자 수요에 만족되는지를 결정) 2) Requirements analysis (요구사항 분석) - Find out what system stakeholders require from the system (기존 시스템 조사, 시스템 요구사항 생성) 3) Requirements definition (요구사항 정의) - Define the requirements in a form understandable to the customer (고객이 이해할 수 있는 형식으로 요구사항을 정의) 4) Requirements specification (요구 명세서) - Define the requirements in detail (요구사항을 상세하게 정의) (요구공학 프로세스) Chapter 4 - Slide 10

4.1 The requirements engineering process (cont') Feasibility study Feasibility report Requirements analysis System models Requirements document Requir ements definition Definition of requirements Requirements specification Specification of requirements [그림 4.3] The RE process (요구 공학 프로세스) Chapter 4 - Slide 11

4.2 The Software requirements document The requirements document is the official statement of what is required of the system developers (시스템 개발 담당이 무엇을 개발해야 하는가에 대한 공식적인 문서) Should include both a definition and a specification of requirements (요구사항 정의와 요구명세서 포함) It is NOT a design document. (설계문서가 아님) As far as possible, it should set of WHAT the system should do rather than HOW it should do it (시스템이 어떻게 개발되어야 하는가가(방법) 아니고, 무엇을 개발해야 하는가(개발 대상)에 대한 문서) (S/W 요구사항 문서) Chapter 4 - Slide 12

4.2 The requirements document (cont') Requirements document requirements (요구사항 문서의 요구조건) - Heninger가 S/W 요구문서가 구비해야 할 6가지 조건을 제시 1) Specify external system behavior (시스템의 외부행위 규정) 2) Specify implementation constraints (구현상의 제약조건 규정) 3) Easy to change (변경 용이) 4) Serve as reference tool for maintenance (유지관리를 위한 참조도구 제공) 5) Record forethought about the life cycle of the system i.e. predict changes (시스템 생명주기에 대한 예상) 6) Characterize responses to unexpected events (예측하지 않았던 사태에 대한 대처 방안) - 요구문서는 다음 정보를 부록으로 처리할 것 (1) Hardware (2) Database 요구 (3) Index Chapter 4 - Slide 13

4.2 The requirements document (cont') Requirements document structure (요구명세 문서의 구조) 1)Introduction (개요) - Describe need for the system and how it fits with business objectives 2)Glossary (용어) - Define technical terms used 3)System models (시스템 모델) - Define models showing system components and relationships 4)Functional requirements definition (기능적 요구사항 정의) - Describe the services to be provided - 다음 페이지 계속 - Chapter 4 - Slide 14

4.2 The requirements document (cont') Requirements document structure 5)Non-functional requirements definition (비기능적 요구사항 정의) 1. Define constraints on the system and the development process 6)System evolution (시스템 진화) 1. Define fundamental assumptions on which the system is based and anticipated changes 7)Requirements specification (요구 명세) 1. Detailed specification of functional requirements 8)Appendices (부록) 1. System hardware platform description 2. Database requirements (as an ER model perhaps) 9)Index (색인) Chapter 4 - Slide 15

4.3 Requirements validation (요구사항 확인) Concerned with demonstrating that the requirements define the system that the customer really wants (요구사항들이 고객이 실제로 원하는 시스템을 정의하고 있는지를 알아내는 것) Requirements error costs are high so validation is very important (요구사항 오류 수정은 고비용이므로 확인과정은 중요함) Fixing a requirements error after delivery may cost up to 100 times the cost of fixing an implementation error (제품 출하 후 요구사항 오류수정 비용은 구현 시 오류수정 비용의 100배 정도) Prototyping (discussed in Chapter 8) is an important technique of requirements validation (시제품 방법은 요구사항 확인의 중요한 기법) Chapter 4 - Slide 16

4.3 Requirements validation (cont') Requirements checking (요구사항 검토) Validity. (타당성)» Does the system provide the functions which best support the customer s needs? (시스템이 고객의 요구를 최상으로 지원하는 기능을 제공하는가) Consistency. (일관성)» Are there any requirements conflicts? (요구사항 중 상충되는 부분이 있는가) Completeness. (완전성)» Are all functions required by the customer included? (고객이 요구하는 모든 기능이 있는가) Realism. (현실성)» Can the requirements be implemented given available budget and technology (주어진 예산과 기술 내에서 요구사항 구현이 가능한가) Chapter 4 - Slide 17

4.3 Requirements validation (cont') Requirements reviews (요구사항 재검토) Regular reviews should be held while the requirements definition is being formulated (정규 검토는 요구사항 정의가 공식화되는 도중에 이루어져야 한다) Both client and contractor staff should be involved in reviews (재검토에는 고객과 계약자 쌍방이 참여할 것) Reviews may be formal (with completed documents) or informal. (재검토는 공식적일 수도, 비공식적일 수도 있다) Good communications between developers, customers and users can resolve problems at an early stage (개발담당자, 고객, 사용자들간의 원활한 의사소통으로 시작단계에서 문제점을 해결할 수 있다) Chapter 4 - Slide 18

4.3 Requirements validation (cont') Review checks (확인 점검 항목) Verifiability. (검증가능성)» Is the requirement realistically testable? (요구사항이 현실적으로 시험 가능한가) Comprehensibility. (이해성)» Is the requirement properly understood? (적절하게 이해할 수 있는가) Traceability. (추적성)» Is the origin of the requirement clearly stated? (요구사항의 원 취지가 명확하게 정의되었는가) Adaptability. (적응성)» Can the requirement be changed without a large impact on other requirements? (요구사항 변경이 타 요구사항에 큰 충격 없이 변경 가능한가) Chapter 4 - Slide 19

4.3 Requirements validation (cont') Requirements in a formal language Requirements problem report Requirements processor Requirements analyser Requir ements database [그림 4.5] Automated consistency checking (요구사항 일관성 자동 점검) Chapter 4 - Slide 20

4.4 Requirements evolution (요구사항 진화) Requirements always evolve as a better understanding of user needs is developed and as the organization s objectives change (조직의 목적 변화와 사용자 요구의 발전적 이해에 따라, 요구사항은 항상 진화해야 한다) It is essential to plan for change in the requirements as the system is being developed and used (시스템이 개발되고 이용되는 동안, 요구사항 변화에 대처할 수 있는 계획이 필수적이다) Chapter 4 - Slide 21

4.4 Requirements evolution (cont') Initial understanding of problem Changed understanding of problem Initial requirements Changed requir ements [그림 4.6] Requirements evolution (요구사항 진화) Time Chapter 4 - Slide 22

4.4 Requirements evolution (cont') Requirements classes (요구사항 분류) (1) Enduring requirements. (지속적 요구사항) Stable requirements derived from the core activity of the customer organization. E.g. a hospital will always have doctors, nurses, etc. (고객 조직의 핵심활동에서 유도된 안정된 요구사항 (병원에는 항상 의사와 간호사가 있다)) May be derived from domain models (영역모델에서 유도 가능) (2) Volatile requirements. (임시적 요구사항) Requirements which change during development or when the system is in use. (개발시/사용시에 변화하는 요구사항) In a hospital, requirements derived from health-care policy (병원에서의, 건강증진 사업 정책) - 4개의 종류로 재분류 (그림 4.7 참조) Chapter 4 - Slide 23

4.4 Requirements evolution (cont') Classification of volatile requirements (임시적 요구사항의 분류) 1) Mutable requirements (순변성 요구사항) - Requirements that change due to the system s environment (시스템 환경 변화에 의한 변경) 2) Emergent requirements (긴급 요구사항) - Requirements that emerge as understanding of the system develops (시스템 개발 도중 돌발한 요구사항) 3) Consequential requirements (필연적 요구사항) - Requirements that result from the introduction of the computer system (컴퓨터 시스템 도입에 따른 요구사항) 4) Compatibility requirements (호환성 요구사항) - Requirements that depend on other systems or organizational processes (타 시스템과 조직의 업무 절차에 관련된 요구사항) Chapter 4 - Slide 24

4.4 Requirements evolution (cont') Requirements document changes (요구사항 문서의 변경) The requirements document should be organized so that requirements changes can be made without extensive rewriting (요구사항 문서가 조직적으로 구성되어 요구사항 변경에도 대규모의 재작성 사태가 없을 것) External references should be minimized and the document sections should be as modular as possible (외부 참조는 최소화, 문서의 절은 모듈화 할 것) Changes are easiest when the document is electronic. (문서가 전자화될 때 변경 용이) Lack of standards for electronic documents make this difficult (전자문서의 표준화가 부족하여 애로사항이 있음) Chapter 4 - Slide 25

4.4 Requirements evolution (cont') Requirements change Requirements document V1 Requirements change Requirements document V1 Requirements document V2 System implementation V1 System implementation V2 System implementation V1 System implementation V2 Requirements and system inconsistent (일관성 없는) Requirements and system consistent (일관성) [그림 4.8] Un-Controlled and Controlled requirements evolution (제어불가, 제어 가능 요구사항 진화) Chapter 4 - Slide 26

Key points It is very difficult to formulate a complete and consistent requirements specification (요구사항을, 완전하고 일관성 있도록 정형화 하는 것은 매우 어려움) A requirements definition, a requirements specification and a software specification are ways of specifying software for different types of reader (요구사항 정의, 요구 명세서, 소프트웨어 명세서는 다른 관점에서 S/W를 설명하는 방법) The requirements document is a description for customers and developers (요구사항 문서는 고객과 개발자를 위한 것) Chapter 4 - Slide 27

Key points Requirements errors are usually very expensive to correct after system delivery (요구사항의 오류는 시스템 출하 후 수정하기에 비용이 많이 소요) Reviews involving client and contractor staff are used to validate the system requirements (고객과 계약자가 함께 참여한 검사는 시스템의 요구사항 확인에 사용됨) Stable requirements are related to core activities of the customer for the software (지속적인 요구사항은 고객의 핵심 업무와 관련이 있음) Volatile requirements are dependent on the context of use of the system (잘 변하는 요구사항은 시스템의 사용 환경에 의해 결정됨) Chapter 4 - Slide 28