Microsoft PowerPoint - se-ch06

Similar documents
소프트웨어개발방법론

시스템 순차도

논리적 구조 설계: 패키지도

Microsoft Word - [2017SMA][T8]OOPT_Stage_1000 ver2.docx

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

UML

소프트웨어개발방법론

Ver. 2017SE-POS-SRS-3.0 Software Requirement Analysis for Point Of Sale System Project Team Team 6 Date Team Information 김병식 2016

소프트웨어개발방법론

PowerPoint 프레젠테이션

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

Ç¥Áö

1.장인석-ITIL 소개.ppt

객체들이책임을가지고협력하는것을어떻게설계할것인가? applying OO Design principles and the UML 책임을할당하고객체들사이의협력을설계하는것은, 설계시에가장중요하고창조적인작업이다. 2/55

untitled

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

Something that can be seen, touched or otherwise sensed

A NEW CSE ATM OOPT Stage 1000 Project Team T3 Date Team Information 이원오 이재규

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

1. 파일 명명규칙

06.AnalysisModeling.key

PowerPoint 프레젠테이션

Microsoft Word - [TP_3][T1]UTP.docx

Oracle Apps Day_SEM

A NEW CSE ATM OOPT Stage 1000 Project Team T3 Date Team Information 이원오 이재규

about_by5

숭실브로슈어 표지 [Converted]

산업원천기술개발사업 착수회의 20ft~40ft급 세일요트 엔지니어링 통합관리 및 핵심부품 생산기술 개발

JAVA PROGRAMMING 실습 08.다형성

Joseph Hwang, IBM Rational Software

슬라이드 1

리텀 백서 새로저장-작은용량

거창전문대학훈령182.hwp

thesis

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

Rose교육.ppt

C++ Programming

Microsoft PowerPoint - 1주차 UML의 구성과 도구

15_3oracle

2013<C724><B9AC><ACBD><C601><C2E4><CC9C><C0AC><B840><C9D1>(<C6F9><C6A9>).pdf

Ver 1.0 마감하루전 Category Partitioning Testing Tool Project Team T1 Date Team Information 김강욱 김진욱 김동권

Inclusion Polymorphism과 UML 클래스 다이어그램 구조에 의거한 디자인패턴 해석

Microsoft PowerPoint - Ieee standard pptx

Microsoft Word - OOPT stage 2040 ver2.docx

DBPIA-NURIMEDIA

03.Agile.key

Intro to Servlet, EJB, JSP, WS


Microsoft PowerPoint - 발표자료.pptx

DBPIA-NURIMEDIA

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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


Software Modeling & Analysis Global ATM System Project Team 1 Team Date Team Information 엄현식 최정헌 전다윤

DBPIA-NURIMEDIA

CONTENTS 숭실사이버대학교 소개 총장 인사말 교육이념 및 비전 콘텐츠의 특징 숭실사이버대학교 역사 숭실사이버대학교를 선택해야 하는 이유 숭실사이버대학교 학과 소개 1 1 학과 소개 30 연계전공 & 신 편입생 모집안내 숭실사이버대학교 C

PowerPoint 프레젠테이션

2

Ver. 4.0 OOPT Stage 1000 <Plan and Elaboration> Version 4.0 Project Team T7 Team Date Team Information 오세욱 임현유

<30362E20C6EDC1FD2DB0EDBFB5B4EBB4D420BCF6C1A42E687770>

Ver. 1.0 Unit Testing Plan for POS System Test Plan Test Design Specification Test Cases Specification Project Team Team 3 Date Team Inform

<31B1E8C0B1C8F128C6ED2E687770>

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

슬라이드 1

Portal_9iAS.ppt [읽기 전용]

<4D F736F F F696E74202D205B34C0E55D20BFE4B1B8BBE7C7D720B0B3B9DF20B9D720B0FCB8AE2E BC8A3C8AF20B8F0B5E55D>

DBPIA-NURIMEDIA

Manufacturing6

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

ETL_project_best_practice1.ppt

Software Modeling < < OOAD Stage 김정태 최정명 이낙원 송준현

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

SchoolNet튜토리얼.PDF

DataBinding

DBPIA-NURIMEDIA

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

歯두산3.PDF

2011 IT 기술예측조사03-요약.indd

DBPIA-NURIMEDIA

첨 부 1. 설문분석 결과 2. 교육과정 프로파일 169

Microsoft PowerPoint - AC3.pptx

PowerPoint 프레젠테이션

<C3CA3520B0FAC7D0B1B3BBE7BFEB202E687770>

23

1.5 Issue TrafficCard Management Activity 2142 Define Reports, UI, and Storyboards window Window Windo

엔젤입문 초급자과정

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


What is ScienceDirect? ScienceDirect는 세계 최대의 온라인 저널 원문 데이터베이스로 엘스비어에서 발행하는 약,00여 종의 Peer-reviewed 저널과,000여권 이상의 도서를 수록하고 있습니다. Peer review Subject 수록된

Ver. 2 Software Requirement Analysis for Point of Sale(POS) System Project Team T3 Date Team Information 현인수전상우장혁준허윤아 T3 1

°¡°Ç6¿ù³»ÁöÃÖÁ¾

MVVM 패턴의 이해

Microsoft PowerPoint - CSharp-10-예외처리

슬라이드 1

歯1.PDF

2Q SWG Teleweb Business Plan & 1Q Recovery Plan April 2, 2003

Design

H3050(aap)

Transcription:

Ch06. 유스케이스 Professor Seung-Hoon Choi

유스케이스는 요구사항을발견하고기록하기위해널리사용되는 텍스트로작성된스토리이다. 주로 FURPS+ 모델에서 F 를표현한다. 유스케이스다이어그램은 한응용프로그램의전체기능을보여주는데유용하다. 유스케이스는객체지향과는아무런관련이없다. 2

Business Modeling date... Sale Sample UP Artifact Relationships Domain Model 1 1..* Sales LineItem... quantity... Fig 6.1 Use Cases within the UP ( 출처 : UML 과패턴의적용, Craig Larman 저, Pearson Education) Requirements Cashier Process Sale Use Case Diagram Operation: enteritem( ) Post-conditions: -... Operation Contracts Use-Case Model use case names system operations : Cashier objects, attributes, associations Process Sale 1. Customer arrives... 2. Cashier makes new sale. 3.... Use Case Text system events make NewSale() enteritem (id, quantity) : System System Sequence Diagrams scope, goals, actors, features terms, attributes, validation non-functional reqs, quality attributes Vision Glossary Supplementary Specification requirements : Register Design Model : ProductCatalog : Sale Design enteritem (itemid, quantity) spec = getproductspec( itemid ) addlineitem( spec, quantity ) 3

간단히말하면, 유스케이스는 목적을달성하기위해액터가시스템을사용하는텍스트형식의스토리이다. 약식으로표현된간단한예제 : Process Sale( 판매처리하기 ) 고객이구입할상품들을가지고계산대에온다. 출납원은구매된각품목을기록하기위해 POS 시스템을사용한다. 시스템은구매된품목들의총액과각품목의세부내역을보여준다. 고객은시스템이검증하고기록할지불정보를입력한다. 시스템은재고를갱신한다. 고객은시스템으로부터영수증을받은후구매한상품들을가지고나간다. 유스케이스는 요구사항분석시의사소통도구로유용하게사용된다. 4

Actor 사람, 컴퓨터시스템, 조직과같이행위를갖는어떤것 예 : 출납원, 게임플레이어 Scenario ( 또는유스케이스인스턴스 ) 액터와시스템사이의활동및상호작용에대한명확한순서 시스템을사용하는데있어서하나의특정스토리 유스케이스내를흘러가는하나의경로 Use case 액터가목적을달성하기위해시스템을사용할때발생가능한성공 시나리오들과실패시나리오들의집합 5

유스케이스모델 유스케이스들 유스케이스다이어그램 6

유스케이스는요구사항을표현한다. 주로기능적또는행위적요구사항을표현함 FURPS+ 모델에서 F에중점을둔다. 그러나, 다른유형의요구사항도포함할수있다. 7

액터 (Actor) 주요액터 (Primary actor) SuD(System under Discussion) 을사용하여사용자의목적을수행한다. 예 : 출납원 지원액터 (Supporting actor) SuD에 ( 정보와같은 ) 서비스를지원한다. 예 : 지불인증시스템 숨겨진액터 (Offstage actor) 주요액터나지원액터가아니면서, 유스케이스행위에서이해관계를갖는다. 예 : 세무서 8

유스케이스형식들 약식 (brief) 일반적으로주요성공시나리오를표현하는간결한하나의문단 자유형 (casual) 비공식적인문단형식 여러가지시나리오를다루는여러개의문단으로구성됨 완전명세 (fully dressed) 모든단계와변형이상세하게작성됨 사전조건, 성공보장등의여러가지항목들로구성됨 9

Template( 양식 ) Use Case Section 유스케이스이름 범위 동사로시작 설계중인시스템 Comment 수준 사용자 - 목적 또는 세부기능 주요액터 관련자및관심사항 사전조건 (Preconditions) 성공보증 (Success Guarantee) 서비스를위해시스템을호출 누가이유스케이스를중요하게생각하고원하는것은무엇인가? 유스케이스가시작할때만족해야하는조건은무엇인가? 유스케이스가성공적으로끝났을때만족해야하는조건은무엇인가? 10

Template( 양식 ) ( 계속 ) Use Case Section 주요성공시나리오 (Main Success Scenario) 확장 (Extensions) 특수요구사항 기술및데이터변동리스트 발생빈도 기타 Comment 전형적인성공시나리오또다른경로의성공또는실패시나리오관련된비기능적요구사항다양한입출력방법및데이터형식조사, 테스트및구현시점에영향을줌해결되지않은문제등 11

예제유스케이스 UC1: Process Sale 교재 98~103 페이지참조 학사인트라넷첨부자료참조 (06_01_Use_Case_Process_Sale.doc) 12

범위 (Scope) 개발하는시스템의경계 수준 (Level) 사용자-목적수준 (user-goal level) 유스케이스 주요액터가어떤목적을수행하기위한시나리오를설명하는일반적인유스케이스 세부기능수준 (subfunction-level) 유스게이스 사용자의목적을지원하는데필요한세부단계를기술하는유스케이스 13

주요액터 (Primary Actor) 목적을수행하기위해시스템의서비스를호출하는주된액터 관련자및관심사항리스트 (Stakeholders and Interests List) 응용프로그램과모든관련자들사이의약정중기능적인부분들을 상세하게기술함 현재유스케이스에서관련자들이무엇을원하는지에초점을둔다. 14

사전조건 (Preconditions) 유스케이스내의시나리오가시작되기전에항상참이어야하는조건 성공보증 (Success Guarantees) 또는사후조건 (Postconditions) 유스케이스내의주요성공시나리오나다른대안경로의성공적인완료 후에참이어야하는조건 15

주요성공시나리오 (Main Success Scenario) 또는기본흐름 (Basic Flow) 관련자의관심사항을충족시키는일반적인성공경로 16

확장 (Extensions) 또는대안흐름 (Alternate Flows) : 유스케이스의대부분을차지하는중요한부분임 주요성공시나리오이외의모든시나리오를나타냄 ( 성공또는실패 ) 주요성공시나리오로부터의분기를나타냄 숫자매기기 예를들어, 주요성공시나리오의 Step 3에서, 입력이잘못되었거나시스템에미리등록이안된경우유효하지않은물건 ID가발생될수있다. 3a: 첫번째유효하지않는물건 ID 발생조건 + 대응활동 3b: 두번째유효하지않는물건 ID 발생조건 + 대응활동 3-6a: step 3에서 6 사이에서일어날수있는조건에대해기술할때 *a, *b: 시스템사용중언제든지일어날수있는조건에대해기술할때 17

특수요구사항 (Special Requirements) 주로비기능적요구사항 (non-functional requirements) 을기술함 현재유스케이스에서, 성능, 신뢰성, 사용성과같은품질에관련된요구사항을기술함 예 게임서버와의연결은최대 5초안에이루어져야한다. 카드인증의 90% 는 30초이내에응답되어야한다. 18

기술및데이터변동리스트 (Technology and Data Variations List) 기술적인변화나데이터구조의변동등을기술함 일반적인예 입출력시의기술적제약사항 POS 시스템은카드입력기나키보드를이용하여신용카드계정정보의입력을지원해야한다. 데이터구조의변동 바코드로기호화된품목식별자로서 UPC나 EAN, JAN을지원해야한다. 19

유스케이스를액터와시스템사이의대화로표현함 Main Success Scenario: Actor Action (or Intention) 1. Customer arrives at a POS checkout with goods and/or services to purchase. 2. Cashier starts a new sale 3. Cashier enters item identifier. Cashier repeats steps 3-4 until indicates done. 6.Cashier tells Customer the total, and asks for payment. 7.Customer pays. System Responsibility 4. Records each sale line item,presents item description and running total. 5.Presents total with taxes calculated. 8.Handles payment. 9 20

이단계에서 UI 관련한상세한부분들은언급하지않는것이 중요하다. A UI-free 유스케이스 간단하고짧다. 액터의목적에더집중할수있다. 짧지만완벽한유스케이스를작성하도록노력하라! 21

유스케이스는시스템의책임을상세히기술해야한다. what the system should do 를기술한다. how the system will implement the solution 의기술은피해야한다. the system records the sale 과같이작성하도록한다. 다음과같은구현관련부분은피한다. 시스템은데이터베이스에판매를기록한다 (bad) 시스템은판매에대한 INSERT SQL 문을생성한다 (worse) 22

유스케이스다이어그램 (use case diagram) 유스케이스과액터의이름및그들간의관계를표현함 시스템컨텍스트를제공함 시스템의경계가어디인지 시스템외부에무엇이있는지보여줌 시스템과액터들의행동을요약해서보여줌으로써좋은의사소통도구가된다. 23

system boundary NextGen POS communication Customer Process Sale Handle Returns Payment Authorization Service alternate notation for a computer system actor actor Cashier <<actor>> 첺 ctor? Tax Calculator Manager Cash In <<actor>> 첺 ctor? Accounting System <<actor>> 첺 ctor? Sales Activity System Analyze Activity <<actor>> 첺 ctor? HR System Manage Security System Administrator Manage Users... use case Figure 6.3: Partial Use Case Context Diagram ( 출처 : UML 과패턴의적용, Craig Larman 저, Pearson Education) 24

유스케이스사이의관계를이용하여유스케이스들을구조화할수있다. 유스케이스사이의관계 일반화 (generalization) 클래스상속과비슷한개념 자식유스케이스는부모유스케이스의행동과의미를상속받음 부모가나오는곳마다자식으로대체할수있음 포함 (include) 다른유스케이스를자신의일부분으로포함하는관계 포함되는유스케이스는독자적인인스턴스를만들지못함 ( 다른유스케이스의부분으로만존재함 ) 확장 (extend) 다른유스케이스를만드는데있어서기본구조를제공하는관계 25

ValidateUser CheckPassword RetinalScan ( 홍채인식 ) <<include>> Transfer 일반화관계 -> 사용자인증은비밀번호검사또는홍채인식중하나로대체가능하다. <<extend>> 포함관계 -> 이체하기는항상사용자검증단계를포함한다. TransferBetween DifferentBanks 확장관계 -> 당행이체유스케이스를확장하여타행이체유스케이스를구현한다 26