OOPT Stage 1000 - Plan & Elaboration Feesual CPT Tool Project Team T8 Date 2017-04-13 T8 Team Information 201211347 박성근 201211376 임제현 201411270 김태홍 2017 Team 8 1
Table of Contents 1 Activity 1001. Define Draft Plan 2 Activity 1002. Create Preliminary Investigation Report 3 Activity 1003. Define Requirements 4 Activity 1004. Record Terms in Glossary 5 Activity 1005. Implement Prototype 6 Activity 1006. Define Draft System Architecture 7 Activity 1007. Define Business Use Case 8 Activity 1008. Define Business Concept Model 9 Activity 1009. Define System Test Case 2017 Team 8 2
1 Activity 1001. Define Draft Plan 1.1 Motivation & Objective 실제프로그램의동작이 Specification Requirements와일치하는지확인하는것 (Test) 은고품질의소프트웨어를개발하는데있어매우중요하다. Test를하기위해서는요구되는모든기능에대한 Test case를만들고 Test해봐야한다. 이로인해비용이낭비될수있고인재적실수가발생할수있다. Category Partitioning Testing(CPT) Method는이러한과정을보다효율적으로수행할수있게도와준다. Feesual CPT Tool 은사용자가꼭해야하는 Test case 를생성하고, 이를하나씩관찰할수있는기능 을제공한다. 그리고보다완벽한 Test 를위해다시한번확인해볼수있는조언을제공하여보다 효율적인 Testing 을사용자에게제공한다. 1.2 Scope Feesual CPT Tool 은사용자의입력에따라 Test case 를생성한후확인할수있게해준다. 모든시 스템은 SW 만으로구현한다. 1.3 Functional requirements - Set Table - Analyze - Mk Feedback - Mk Test case - Test case Desc - Save File 1.4 Non-Functional requirements - IF-Property 를적절하게사용하지않으면사용자에게알려준다. - 사용자가 Table 에값을쉽게입력하고, 직관적으로볼수있게한다. - 결과는프로그램에서확인할수있고, 텍스트파일로저장한다. - 다양한피드백들을준비하고, 사용자가알기쉽게알려준다. - 사용자가선택한 Test case 에해당되는 description 을하나씩보여준다. 1.5 Resource Estimation 2017 Team 8 3
1.5.1 Human efforts (M/M) 3M/3M 1.5.2 Human resources 프로그래머 3 명 : 내국인 2 명, 외국인 1 명 1.5.3 Duration 3 개월 1.5.4 Budget 3 months * 30 만원 * 3.5 명 = 315 만원 2 Activity 1002. Create Preliminary Investigation Report 2.1 Alternative solutions - 시중에판매하는 CPT Tool 을구매한다. - 개발업체에제작을의뢰한다. 2.2 Project s justification (Business Needs) - Cost : 3,150,000 \ - Duration : 3 Months 2.3 Risk Identification, Management and Reduction plans Risk : OOPT 이해도부족, GUI 사용경험부족, UML 사용경험부족, CPT 에대한이해도부족, 팀원 의건강상태, 음주가무, 타과목수강, League of Legends Risk Probability Significance Weight OOPT 이해도부족 3 5 15 GUI 사용경험부족 4 3 12 UML 사용경험부족 4 4 16 CPT에대한이해도부족 5 5 25 팀원의건강상태 5 5 25 음주가무 5 2 10 타과목수강 5 1 5 League of Legends 5 3 15 2017 Team 8 4
Risk Reduction Plan OOPT 이해도부족 강의자료참고, 교수님과조교님께자문을구한다. GUI 사용경험부족 관련서적및사이트를참고한다. UML 사용경험부족 관련서적및사이트를참고한다. CPT에대한이해도부족 CPT 논문및관련사이트를참고한다. 팀원의건강상태 식습관을조절하고운동부족을해결한다, 음주가무 술자리를줄이도록최대한노력해본다. 타과목수강 열심히학교생활을한다. League of Legends 최대한줄여보도록노력해본다. 2.4 Market Analysis 이미관련 Tool 이상용화되었지만, 학생들이이용하기에비용이많이든다. 2.5 Managerial issues 2017 년 6 월까지개발을완료한다. 3 Activity 1003. Define Requirements 3.1 Overview statement 이미상용화된 CPT Tool 이존재하지만, 이용하기에많은비용이든다. 누구나쉽게이용할수있는 Feesual CPT Tool 을개발한다. Feesual = Feedback 과 Visual 의합성어로사용자가설정한 Category 와 Constraints 등에따라 Test case 들을생성하여제공하고, 보다완벽한 Test 를위해이에따른 Feedback 을제공한다. 또한, 생성 된 Test case 들을하나씩관찰할수있는환경을제공한다. 3.2 Goals 2017 Team 8 5
OOPT 방법론을이해하고, 이를활용하여이번프로젝트에서설계및개발을완벽하게한다. 3.3 System functions identification - Functional Requirements Function Description Set Table 사용자가입력한값을 Table에저장한다. Analyze Feedback과 test case에대한분석을요청한다. Mk Feedback 상황에따른 Feedback을분석한다. Mk Test case 사용자가원하는 Test case를만든다. Test case Desc 사용자가선택한 Test case의상세정보를불러온다. Save File Table과 Test case를 text file로저장한다. - Reference Number & Categorized and identified functions Reference No. Function Category R 1 Set Table Evident R 2 Analyze Evident R 2.1 Mk Feedback Hidden R 2.2 Mk Test case Hidden R 3 Test case Desc Evident R 4 Save File Evident 3.4 System attributes identification - Development Environments OS : Windows 10, Mac OSX JAVA / GUI / Eclipse - Non-Functional Requirements 1. If-Property 를적절하게사용하지않으면사용자에게알려준다. 2. 사용자가 Table 에값을쉽게입력하고, 직관적으로알아볼수있게한다. 3. 사용자가선택한 Test case 에해당되는 description 을하나씩보여준다. 4. 출력되는화면과저장한텍스트파일에사용자가설정한 Table 과계산된 Test case 들을쉽 게알아볼수있게한다. 2017 Team 8 6
5. 다양한 feedback 들을준비하여여러상황에맞게사용자가볼수있게한다. 4 Activity 1004. Record Terms in Glossary Term Description Reference Number 사용자가설정한카테고리에따른 numbering. Category 사용자가설정한 category. Sub-Category 사용자가설정한 sub-category. Description 사용자가설정한 representative values에대한상세설명. Constraints 사용자가설정한 constraints. Selection List 생성된 Test case들을나열한 List. Selection Selection List에서 use case 하나선택. Save Table과 Test case를텍스트파일로저장. Table 사용자가입력한 Reference Number, Category, Constraints 등을저장하는객체. 5 Activity 1005. Implement Prototype < 초기화면예시 > <Feedback 화면예시 > 2017 Team 8 7
6 Activity 1006. Define Business Use Case 6.1 Determine system boundary 6.2 Identify and describe actors User : 보다완벽한소프트웨어개발에있어 Test 를위해 Test case 작성이필요하여 Feesual CPT Tool 을사용하는모든개발자및테스터. 6.3 Actor-goal list Actor User Goal Get Test cases Testing user s program 보다완벽한프로그램개발 6.4 Identify Use-Case 6.4.1 Actor based 2017 Team 8 8
6.4.2 Event based 6.5 Allocate system functions into Related Use-Case Reference No. Function Use-Case R 1 Set Table Set Table R 2 Analyze Analyze R 2.1 Mk Feedback Mk Feedback R 2.2 Mk Test case Mk Test case R 3 Test case Desc Test case Desc R 4 Save File Save File 6.6 Categorize Use-Case(s) Reference No. Function Category R 1 Set Table Primary R 2 Analyze Primary R 2.1 Mk Feedback Primary R 2.2 Mk Test case Primary R 3 Test case Desc Primary R 4 Save File Primary 2017 Team 8 9
6.7 Identify relationships between use cases 6.8 Use-case diagram 2017 Team 8 10
6.9 Use-case description Use Case Mk Feedback Actors None Description 상황에따른 Feedback을분석한다. Use Case Mk Test case Actors None Description 사용자가원하는 Test case를만든다. Use Case Set Table Actors User Description 사용자가입력한값을 Table에저장한다. Use Case Analyze Actors User Description Feedback과 Test case에대한분석을요청한다. Use Case Test case Desc Actors User Description 사용자가선택한 Test case의상세정보를불러온다. Use Case Save File Actors User Description Table과 Test case를 text file로저장한다. 6.10 Rank Use-Case Rank Use case Justification High Set Table 결과물연산에있어필수 High Analyze 결과물연산에있어필수 High Mk Feedback 결과물연산에있어필수 High Mk Test case 결과물연산에있어필수 High Test case Desc 사용자가원하는 Test case의 description을알려줌에있어필수 High Save File 사용자가원하는파일생성에있어필수 2017 Team 8 11
7 Activity 1007. Define Business Concept Model UI Test Case Table Analyze Feedback one-by-one 직관적 CPT 8 Activity 1008. Define Draft System Architecture 9 Activity 1009. Define System Test Case Identifier Functional Description requirements FCTP_STC_001 Set Table 사용자가입력한값이 Table에정상적으로저장되는지확인한다. FCTP_STC_002 Analyze Table에설정된값들에따라제대로분석을요청하는지확인한다. FCTP_STC_003 Mk Feedback 상황에알맞은 feedback을보여주는지확인한다. FCTP_STC_004 Mk Test case Table에설정된값들에따라 Test case를정상적으로생성하는지확인한다. FCTP_STC_005 Test case Desc 사용자가선택한 Test case의 description이정상적으로표시되는지확인한다. FCTP_STC_006 Save File 저장된.txt 파일에 Table과 Test case가정상적으로저장되는지확인한다. 2017 Team 8 12
Identifier Non-Functional requirements FCTP_STC_007 If-Property를 적 절하게 사용하지 않으면 사용자에 게알려준다. FCTP_STC_008 사용자가 Table에 값을쉽게입력하 고, 직관적으로볼 수있게한다. FCTP_STC_009 결과는 프로그램 에서 확인할 수 있고, 텍스트파일 로저장한다. FCTP_STC_010 다양한 feedback 을준비하고, 사용 자가 알기 쉽게 알려준다. FCTP_STC_011 사용자가 선택한 Test case에해당 되는 description 을하나씩보여준 다. Description If-Property 관계를명확하게하지않고 Analyze를요청했을때해당되는 feedback을알려주는지확인한다. Table에값을입력할때오류없이입력되는지확인하고, 입력후에표가깨지거나이상한곳에서출력되거나밀리는지확인한다. 결과가프로그램과텍스트파일에정상적으로표현되고, 같은내용인지확인한다. 수많은 Feedback이상황에알맞은것이고, 깨지거나이상한곳에서출력되는지확인한다. 사용자가선택한 Test case에맞는 description을불러와서하나씩표시하는지, 깨지거나이상한곳에서출력되는지확인한다. 2017 Team 8 13