Ver1.0 OOPT Stage 1000 <Plan and Elaboration> Team. T2 201411278 서희진 201411304 이지수 201411317 조민규 201213189 박성규 2017 Team2 1
Stage 1000. Plan and Elaboration Activity 1001. Define Draft Plan... 3 Activity 1002. Create Preliminary Investigation Report... 5 Activity 1003. Define Requirements... 7 Activity 1004. Record Terms in Glossary... 11 Activity 1005. Implement Prototype... 11 Activity 1006. Define Draft System Architecture... 14 Activity 1007. Define Business Use Case... 15 Activity 1008. Define Business Concept Model... 22 Activity 1009. Define System Test Case... 23 Activity 1010. Refine Plan... 24 2017 Team2 2
Activity 1001. Define Draft Plan 1. Motivation 소프트웨어의기획개발업무는주로팀으로구성되어 Project 가진행하는경우가많고, 그렇기에팀간문서공유는필수적이다. 또한, 팀내에서문서를작성하는데동일한문서에대하여여러개의수정본이발생하는것은불가피하다. 이러한문제를해결하기위해 Project 에대하여수정된문서를프로그램내에서빠르게공유할수있고, 수정한사람의간단한 Opinion 를깔끔한 UI 를통하여직관적으로볼수있는 Category Partitioning Testing Tool 이필요하다고판단하였다. 2. Project Objectives - Test Specification 을기준으로 Test Case 를만들어주는 Category Partitioning Testing Tool 을개발한다. - 팀간빠른문서및의견공유를가능하게한다. - 수정된내용과문서의목록을직관적으로볼수있고빠르게접근가능하도록한다. 3. Functional Requirements Init Login ChangePW AddProject DelProject AddVer AnalyzeFile MakeCase DelVer DownloadFile AddOpinion DelOpinion Exit 2017 Team2 3
4. Non-Function Requirements A. 직관적인인터페이스 B. Test Case 분석작업은 5 초이내로수행되어야한다. C. File 의업로드는 5 초이내로수행된다. 5. Resource Estimation A. Human Resource : 4 명 B. Project Duration : 3 개월 (12 주 ) C. Human Efforts(Man-Month) : 12 D. Cost : 식대 1,200,000 원 (5,000 원 / 일 4 명 5 일 / 주 12 주 ) 6. Other Information A. Future Version - 신규회원가입이가능하게한다. - Password 찾기기능을추가한다. 2017 Team2 4
Activity 1002. Create Preliminary Investigation Report 1. Alternative Solutions A. 개발전문업체에프로그램의제작을의뢰한다. B. 주변인맥을활용하여해결한다. C. Category Partitioning Tool 에대한오픈소스를활용한다. 2. Project Justification(Business Demands) A. Cost : 식대외의다른비용이필요하지않아다른대안보다훨씬저렴하다. B. Duration : 3 개월 (12 주 ) C. Risk : 개발능력의부족, 팀원의이탈, 디자인능력의부족, 팀원의고양이의지나친애교, 지나친굶주림및과제의중첩, 과도한음주및숙취 D. Effect - 해당프로그램에서 File 을불러와서 CPT 을수행한후, 결과물을간단한 Opinion 와함께업로드할수있다. - 한문서에대하여여러 Version 의 File 들을관리하며, 수정한사람이남긴 Opinion 를볼수있다. - 여러개의 Project 에대하여프로그램의사용이가능하다. 3. Risk Management Risk Probability Significance Weight 개발능력의부족 5 10 50 팀원의이탈 2 5 10 디자인능력의부족 2 2 4 고양이의지나친애교 5 1 5 지나친굶주림 4 4 16 과제의중첩 5 5 25 과도한음주및숙취 4 3 12 2017 Team2 5
4. Risk Reduction Plan Risk Way of Reduction 개발능력의부족 주변동료의소스코드를활용하거나, 적극적인수업참여와관련도서및 인터넷을통하여학습한다. 팀원의이탈 잘다독이고맛있는걸사먹여서기분을좋게만든다. 디자인능력의부족 많은참고도서를참고하여디자인한다. 고양이의지나친 고양이의까까를물려주고나오거나, 팀원의집에서 Project 를진행한다. 애교 지나친굶주림 매만남마다점심이나저녁을꼬박꼬박챙겨먹는다. 과제의중첩 주변동료의과제를활용하여효율적으로과제를마무리한다. 과도한음주및숙취 음주전여명이나컨디션을음용한다. 5. Market Analysis 무료로제공받을수있는 CPT 도구가거의없고, 단편적인기능만을가진 CPT 도구가 많아서해당프로그램은 Version 관리를함께할수있는 CPT 로서시장성이높다. 6. Other Managerial Issues A. 2017 년 6 월안에 Project 가종료되어야한다. B. 추후에졸업작품으로이용할수있다. 2017 Team2 6
Activity 1003. Define Requirements 1. Functional Requirements Function Init 프로그램을초기화하고 Server 와 Client 를연결한다. Login 개인고유 Id 와 Password 를입력하여로그인한다. ChangePW Password 를수정한다. AddProject 새로운 Project 를추가한다. DelProject 기존의 Project 를삭제한다. AddVer 새로운 Version 을추가한다 AnalyzeFile File 을분석하여사용할수있는정보로가공한다. MakeCase 분석한정보를토대로 Test Case 를조합한다. DelVer 기존의 Version 을삭제한다. DownloadFile File 을다운로드한다. AddOpinion 의견을추가한다. DelOpinion 기존의의견을삭제한다. Exit 프로그램을종료한다. Ref Function Category R.0 Init Hidden R.1 Login Evident R.2 ChangePW Evident R.3 AddProject Evident R.4 DelProject Evident R.5.1 AddVer Evident R.5.2 AnalyzeFile Hidden R.5.3 MakeCase Hidden R.6 DelVer Evident R.7 DownloadFile Evident R.8 AddOpinion Evident R.9 DelOpinion Evident R.10 Exit Evident 2017 Team2 7
2. Performance Requirements A. Test Case 분석작업은 5 초이내로수행되어야한다. B. File 을업로드하는작업은 5 초이내로수행되어야한다. 3. Operating Environments Microsoft Windows 7 이상 4. Develop Environments A. 운영체제 : Windows 7, 10 B. CPU : Intel C. IDE : Eclipse D. 개발언어 : JAVA E. UML 툴 : StarUML 5. Interface Requirements 특정명세가없는기능은 Admin 를포함하는모든 User 를대상으로한다. A. L o g i n 화면 I. 시작버튼 - 개인고유 Id 와 Password 를입력한후시작버튼을누르면진행중인 Project 들을보여준다. II. 종료하기버튼 - 종료하기버튼을누르면프로그램을종료한다. B. P r o j e c t 목록화면 I. Project 리스트 - Admin 와 User 에게화면에진행중인 Project 들을보여준다. - 특정 Project 를선택하면 Project 에대한 File 들 (Version 목록 ) 을보여준다. - Admin 만특정 Project 를추가하거나삭제할수있다. 2017 Team2 8
II. Project 제거버튼 - Admin 는 Project 제거버튼을눌러해당 Project 를삭제할수있다. III. Password 변경버튼 - Admin 는 Password 변경버튼을눌러 Password 변경화면으로이동한다. C. Password 변경화면 I. 확인버튼 - 확인버튼을누르면입력한현재 Password 를새로운 Password 로변경한다. II. 취소버튼 - 취소버튼을누르면 Password 변경을취소하고 Version 목록화면으로 돌아간다. III. 로고버튼 - Project 선택화면으로돌아간다. D. Project 추가화면 I. 추가버튼 - Admin 는 Project 이름을입력하고추가버튼을눌러 Project 를추가할수있다. II. 로고버튼 - Project 선택화면으로돌아간다. III. 취소버튼 - 취소버튼을누르면 Project 추가를취소하고 Version 목록화면으로돌아간다. E. Version 목록화면 I. File 리스트 - 화면에진행중인 File Version 들을보여준다. - 각 File 에대한정보 (Category 의개수등 ) 들을목록으로보여주며해당 File 을 선택하면문서에대한 Opinion 들을볼수있다. II. File Download 버튼 - File Download 버튼을눌러 File 을다운로드한다. III. File 추가버튼 - User 는 File 추가버튼을눌러 File 추가화면으로이동한다. 2017 Team2 9
IV. File 제거버튼 - Admin 혹은해당 File 을추가한 User 는 File 제거버튼클릭시해당 File 을 지울수있다. V. 로고버튼 - Project 선택화면으로돌아간다. F. Opinion 화면 I. Opinion 리스트 - Opinion 의내용과함께 Opinion 를남긴 User 와날짜를목록으로보여준다. II. Opinion 지우기버튼 - Admin 혹은해당 Opinion 를입력한사람이버튼을누르면해당 Opinion 를 지울수있다. III. 전송버튼 - 전송버튼을누르면해당 Opinion 를추가한다. G. File 추가화면 I. 추가버튼 - 추가버튼을누르면 Test Case 를조합할 File 을불러온다. II. Test 버튼 - File 을불러온후, Test 버튼클릭시불러온 File 을분석한다. III. 취소버튼 - 취소버튼을누르면 Version 추가를취소하고 Version 목록화면으로돌아간다. H. Version 추가화면 I. Version 고르기버튼 - 기존의하위 Version 과다음 Version 중해당하는버튼을누르면원하는 Version 으로 File 이저장된다. II. 뒤로가기버튼 - 뒤로가기버튼을누르면 Version 추가화면으로되돌아간다. 6. Other Requirements 2017 Team2 10
A. 개인고유 Id 를필요로한다. Activity 1004. Record Terms in Glossary Term Add Del Ver Spec PW ID Num Ctg Chk MSG Addition Delete File 과 Opinion 을포함한정보인 Version Specification Password Identification Number Category Check Message 2017 Team2 11
Activity 1005. Implement Prototype 1. Login 화면 3. Password 변경화면 2. Project 목록화면 4. Project 추가화면 2017 Team2 12
5. Version 목록화면 7. File 추가화면 6. Opinion 목록화면 8. Version 추가화면 2017 Team2 13
Activity 1006. Define Draft System Architecture 2017 Team2 14
Activity 1007. Define Business Use Case 1. Define System Boundary 2. Identify and Describe Actors 특정명세가없는행동은 Admin 를포함하는모든 User 를대상으로한다. A. User User 는다음과같은행동을할수있다. I. 로그인화면 1. 개인고유 Id 와 Password 를입력한후시작버튼을눌러로그인한다. 2. 종료버튼을눌러서프로그램을종료한다. II. Project 목록화면 1. Project 목록중특정 Project 를선택한다. 2. User 중 Admin 는 Project 를추가하거나삭제한다. 3. 추가버튼을눌러 Project 추가화면으로이동한다. 4. 변경버튼을눌러 Password 변경화면으로이동한다. III. Password 변경화면 1. 현재 Password 와새로운 Password 를입력하여 Password 를변경한다. 2. Password 변경을취소한다. 3. 로고를눌러 Project 목록화면으로이동한다. IV. Project 추가화면 1. Admin 는 Project 이름을입력하고추가버튼을눌러 Project 를추가한다. 2. Project 추가를취소한다. 3. 로고를눌러 Project 목록화면으로이동한다. 2017 Team2 15
V. Version 목록화면 1. 추가버튼을눌러 File 추가화면으로이동한다. 2. 자신이올린 Version File 만을삭제한다. 3. User 중 Admin 는모든 Version 의 File 을삭제할수있다. 4. 로고를눌러 Project 목록화면으로이동한다. VI. Opinion 화면 1. 해당 Version 에대해새로운 Opinion 를추가한다. 2. 자신이올린 Opinion 만을삭제한다. 3. User 중 Admin 는모든 Opinion 를삭제할수있다. VII. File 추가화면 1. Test Case 를조합할 File 을불러온다. 2. File 확인후, Category Partitioning Testing 을시작한다. 3. Version 추가를취소한다. 4. 로고를눌러 Project 목록화면으로이동한다. VIII. Version 추가화면 1. Category Partitioning Testing 의결과를확인한다. 2. 기존의하위 Version 과다음 Version 중하나를선택하여 File 을업로드한다. 3. 해당 File 업로드를취소하고 Version 추가화면으로되돌아간다. 3. Identify Use-Case A. Use-Cases by Actor-Based B. Use-Cases by Event-Based 2017 Team2 16
4. Allocate System Functions into Related Use-Cases A. Use-Cases by Event-Based Ref Function Use Case R.0 Init Init R.1 Login Login R.2 ChangePW ChangePW R.3 AddProject AddProject R.4 DelProject DelProject R.5.1 AddVer AddVer R.5.2 AnalyzeFile AnalyzeFile R.5.3 MakeCase MakeCase R.6 DelVer DelVer R.7 DownloadFile DownloadFile R.8 AddOpinion AddOpinion R.9 DelOpinion DelOpinion R.10 Exit Exit 5. Categorize Use-Cases Use-Case Init Login ChangePW AddProject DelProject AddVer AnalyzeFile MakeCase DelVer DownloadFile AddOpinion DelOpinion Exit Category Primary Primary Primary Primary Primary Primary Primary Primary Primary Primary Primary Primary Primary 2017 Team2 17
6. Identify Relationships between Use-Cases 2017 Team2 18
7. Draw a Use-Case Diagram 8. Describe Use-Cases Use-Case Name 1. Init 프로그램을초기화하고 Server 와 Client 를 Actor 연결한다. User Use-Case Name 1. Login 개인고유 Id 와 Password 를입력하여 Actor 로그인한다. User Use-Case Name 2. ChangePW Password 를변경한다. Actor User Use-Case Name 3. AddProject 새로운 Project 를추가한다. Actor User(Admin) Use-Case Name 4. DelProject 기존의 Project 를삭제한다. Actor User Use-Case Name 2017 Team2 19
5. AddVer 새로운 Version 을추가한다. Actor User Use-Case Name 6. AnalyzeFile File 을분석하여사용할수있는정보로 Actor 가공한다. None Use-Cased Name 7. MakeCase 분석한정보를토대로 Test Case 를조합한다. Actor None Use-Case Name 8. DelVer 기존의 Version 을삭제한다. Actor User Use-Case Name 9. DownloadFile File 을다운로드한다. Actor User Use-Case Name 10. AddOpinion 의견을추가한다. Actor User Use-Case Name 11. DelOpinion 기존의의견을삭제한다. Actor User Use-Case Name 12. Exit 프로그램을종료한다. Actor User 2017 Team2 20
9. Rank Use-Cases Use-Case Number & Name Rank 0. Init High 1. Login High 2. ChangePW High 3. AddProject High 4. DelProject High 5. AddVer High 6. AnalyzeFile High 7. MakeCase High 8. DelVer High 9. DownloadFile High 10. AddOpinion High 11. DelOpinion High 12. Exit High 2017 Team2 21
Activity 1008. Define Business Concept Model 2017 Team2 22
Activity 1009. Define System Test Case Ref Function Test Case R.0 Init 프로그램을초기화하고 Server 와 Client 를연결한다. R.1 Login 고유 ID 와 Password 로정상적으로로그인되는지확인한다. R.2 ChangePW Password 변경화면이나타나고, 정상적으로 Password 가변경되는지확인한다. R.3 AddProject User 중 Admin 일때 Project 가정상적으로추가되는지확인한다. R.4 DelProject User 중 Admin 일때 Project 가정상적으로삭제되는지확인한다. R.5.1 AddVer Version 추가화면이나타나고새로운 Version 이정상적으로추가되는지확인한다. R.5.2 AnalyzeFile User 가불러온 File 을분석하여사용할수있는정보로정상적으로가공하는지확인한다. R.5.3 MakeCase 분석한정보를토대로 Test Case 를정상적으로조합하는지확인한다. R.6 DelVer User 중 Admin 혹은해당 Version File의작성자일때 Version File이정상적으로삭제되는지확인한다. R.7 DownloadFile File 이정상적으로저장되는지확인한다. R.8 AddOpinion 해당 Version File 에의견이정상적으로추가되는지확인한다. R.9 DelOpinion User 중 Admin 혹은해당의견의작성자일때의견이정상적으로삭제되는지확인한다. R.10 Exit 프로그램이정상적으로종료되는지확인한다. 2017 Team2 23
Activity 1010. Refine Plan 1. Project Scope Version 관리 Category Partitioning Tool 기존의 Category Partitioning Testing Tool 에 Project 와 Project 에대한여러가지문서관리를돕는기능을추가하여팀원들끼리문서를실시간으로공유할수있게하는것을목표로한다. 또한, 깔끔한 UI 를활용하여새롭게조합된 Test Case 를한눈에알아볼수있고, 빠른의견공유를가능하게하는것을목표로한다. 2. Project Objectives - Test Specification 을기준으로 Test Case 를만들어주는 Category Partitioning Testing Tool 을개발한다. - 팀간빠른문서공유를가능하게한다. - 수정된내용과문서의목록을직관적으로볼수있고빠르게접근가능하도록한다. 3. Functional Requirements A. Init B. Login C. ChangePW D. AddProject E. DelProject F. AddVer G. AnalyzeFile H. MakeCase I. DelVer J. DownloadFile K. AddOpinion L. DelOpinion M. Exit 2017 Team2 24
4. Performance Requirements A. 직관적인인터페이스 B. Test Case 분석작업은 5 초이내로수행되어야한다. C. File 의업로드는 5 초이내로수행된다. 5. Operating Environment Microsoft Windows 7 이상 6. User Interface Requirements 알아보기쉬운 Interface 를통해특별한설명없이프로그램을수행하고, 간결한결과 화면을통해 User 에게결과를정확하게전달한다. 7. Other Requirements 8. Resource Estimation A. Human Resource : 4 명 B. Project Duration : 3 개월 (12 주 ) C. Human Efforts(Man-Month) : 12 D. Cost : 식대 1,200,000 원 (5,000 원 / 일 4 명 5 일 / 주 12 주 ) 2017 Team2 25
9. Scheduling 2017 Team2 26