<Software Modeling & Analysis> OSP Stage 1000 < Plan & Elaboration > - v2 - Team 1. 200911388 박미관 200911391 박준모 200911412 이영준 2013/04/05 1
Contents. Activity1001. Define Draft Plan --- 3 Activity1002. Create Preliminary Investigation Report --- 4 Activity1003. Define Requirements --- 5 Activity1004. Record Terms in Glossary --- 6 Activity1006. Define Business Use Case --- 6 Activity1007. Define Business Concept Model --- 13 Activity1008. Define Draft System Architecture --- 13 Activity1009. Refine Plan --- 14 2
Activity 1001. Define Draft Plan 1. Motivation - IT 산업의발달로인하여전자책과전자교과서가초등교육에이용되는시대에도래하였으며, IT 기기를처음접하는연령이점점더낮아지고있다. 이에따라어린이의눈높이에맞춘 어린이학습용그림판 을개발하게되었다. 2. Project Objectives - 어린이학습용그림판 프로그램을제공함으로써그리기에대한흥미와창의력향상에도움을주고, 최종적으로유치원및초등학교미술수업에활용되어이익을창출해내는것을목표로함. 3. Functional Requirements - 도형그리기메뉴에서선택한도형을그린다 - 도구메뉴에서연필그리기, 색채우기, 텍스트넣기, 지우개, 선택, 색골라내기기능을사용한다 - 색메뉴에서임의의색을선택할수있고, 대표색상들중에서원하는색을고를수있다. - 크기메뉴에서도구의굵기를고를수있다 - 밑그림을불러와서색칠공부를한다 - 색칠결과를가지고점수를환산하고사용자정보와순위를보여준다 - 그림을저장하고불러온다 4. Non-Functional Requirements - 밑그림이어린이눈높이에맞아야된다. - 기본적으로밑그림을 5 개준비한다. - 어린이가쉽게사용할수있어야한다 5. Resource Estimation - Human Effots(Man-Month): 3-3 M/M - Human Resource : 3 명 - Project Duration : 13 주 - Cost : 4,995,000-4,095,000( 식비 ) = 5,000 * 91 일 * 3 명 * 3 끼 - 900,000( 인건비 ) = 100,000( 월급 ) * 3 명 * 3 개월 6. Other Information - Future Version : 추후에교과서 PDF 파일을볼수있는뷰어기능과색칠공부게임시여러사용자들이점수를공유할수있도록한다. 3
Activity 1002. Create Preliminary Investigation Report 1. Alternative Solutions - 외부업체에아웃소싱한다 - 다른회사프로그램구매한다 - 공모전을주최한다 2. Project Justification (Business Demands) - 비용이적게든다 ( 개발및유지보수비용모두싸다 ) - 유지보수하기가쉽다 - 공모전을주최하여개발한프로그램보다안정성이더높다 3. Risk Management Risk Probability Significance Weight Lack of OO experience 3 4 12 First adoption of OSP 4 4 16 Lack of Java 3 2 6 Team communication 3 1 3 Problem of requirements change 2 5 10 Lack of UML tool skill 3 1 3 Emergency 1 5 5 4.Risk Reduction Plan - First adoption of OSP(16) : 예제들과이전에진행되었던프로젝트들을참고하여최대한 OSP 과정을이해할수있도록노력한다. - Lack of OO Project Experience(12) : 이전에배웠던것을복습하고, 책을참고한다 - Problem of requirements change(10) : 처음부터잘 Plan 하여쉽게바뀌는일이없도록한다 - Lack of Java(6) : 미리 Java 언어를사용하여연습해봄으로써실력을향상시킨다 - Emergency(5) : 꾸준히운동하여건강관리를잘하고, 여자친구에게무조건잘못했다고한다 - Lack of UML tool skill(3) : 사용법이간단하니, Manual 을보고사용법을잘익히도록한다 - Team Communication(3) : 자신의주장만내세우지않고서로존중하고배려하여잘타협한다 5. Market Analysis - 밑그림을색칠하여점수비교를하는게임을가진그림판이시장에많지않다. - Flexible Display 기술의발달로인해, 현시점이전자책과전자교과서에이용될 Application 을개발및판매에시기적절하다. 6. Other Managerial Issues - 2013.06.14 까지프로젝트가종료되어야한다. 4
Activity 1003. Define Requirements 1. Functional Requirements - 도형그리기 : 선택한도형 ( 원, 사각형, 직선 ) 을선택하여그릴수있다. - 도형안에색을채울지정할수있다. - 도구 : 선택한기능을사용할수있다. - 연필그리기 : 원하는색과굵기를설정하여그릴수있다. - 색채우기 : 선택된부분과연결된영역에색을칠할수있다. - 텍스트 : 텍스트를삽입할수있다. - 지우개 : 이미그려진그림을지울수있다. - 색골라내기 : 선택한지점의색을골라낼수있다. - 범위선택하기 : 범위를선택하여선택된범위의이미지를이동시킬수있다. - 크기 : 도구의굵기를고를수있다 - 색 : 임의의색을선택할수있고, 대표색상들중에서원하는색을고를수있다. - 그림을저장하고불러올수있다. - 색칠공부게임 : 밑그림을불러와서색칠하는게임을한다. - 준비된밑그림들중에서선택한밑그림을불러온다. - 그린그림과밑그림을비교하여점수를환산한다. - 사용자의정보를입력받는다 - 환산된점수를가지고등수를매기고, 사용자정보와함께보여준다. 2. System Functions (Table) Ref. # Function Category R1.1.1 도형그리기 Evident R1.1.2 도형선택하기 Evident R1.1.3 도형색채우기선택 Evident R1.2.1 연필그리기 Evident R1.2.2 색채우기 Evident R1.2.3 텍스트삽입하기 Evident R1.2.4 지우개로지우기 Evident R1.2.5 색골라내기 Evident R1.2.6 범위선택하기 Evident R1.3 도구굵기선택하기 Evident R1.4.1 색1 선택하기 Evident R1.4.2 색2 선택하기 Evident R2.1 저장하기 Evident R2.2 불러오기 Evident R3.1 밑그림불러오기 Evident R3.2 점수환산하기 Evident R3.3 등수표시 Hidden R3.4 점수파일불러오기 Hidden R3.5 점수파일저장하기 Hidden R3.6 사용자정보 Evident 3. Performance Requirements - 점수환산및등수표시를 5 초안에하여야한다 5
4. Operating Environments - OS : Microsoft Windows 7, 8 64bit - Memory : 1GB - H.D.D : 120GB 5. 개발환경 - PC PC1 PC2 PC3 OS Win 7 64bit(KOR) Win 7 64bit(KOR) Win 8 64bit(KOR) Disk 640GB 128GB 1TB Memory 8GB 8GB 8GB Model ASUS Notebook SAMSUNG Series9 SAMSUNG Series3 CPU Intel I5 Intel I5 Intel I5 - Programming Language : java - Editor : Eclipse 6. Interface Requirements - 그리기도구패널이위쪽에나타난다 - 메뉴에따라조작하는구조의프로그램 7. Other Requirements - None Activity 1004. Record terms in Glossary Term Description Remarks 도형그리기 목록에서선택된도형을그린다. 도구 색채우기, 텍스트넣기, 지우개, 선택, 색골라내기기능을선택한다 색 임의의색을선택할수있고, 대표색상들중에서원하는색을고를수있다. 크기 도구의굵기를고를수있다 색칠공부게임 밑그림을따라색칠하는게임기능 Activity 1006. Define Business Use-Cases 1. Define System Boundary 6
2. Identify and Describe Actors - 사용자 : 프로그램을실행하여그림을그리는사용자 3. Identify Use-Case - Use-cases by actor-based - - Use-cases by event-based 4. Allocate system functions into Related Use-Cases. Ref. # Function Category R1.1.1 1. 도형그리기 R1.1.2 2. 도형선택하기 R1.1.3 3. 도형색채우기선택 R1.2.1 4. 연필그리기 R1.2.2 5. 색채우기 R1.2.3 6. 텍스트삽입하기 R1.2.4 7. 지우개로지우기 R1.2.5 8. 색골라내기 R1.2.6 9. 범위선택하기 R1.3 10. 도구굵기선택하기 R1.4.1 11. 색1 선택하기 R1.4.2 12. 색2 선택하기 R2.1 13. 저장하기 R2.2 14. 불러오기 R3.1 15. 밑그림불러오기 R3.2 16. 점수환산하기 R3.3 17. 등수표시 R3.4 18. 점수파일불러오기 R3.5 19. 점수파일저장하기 R3.6 20. 사용자정보 7
5. Categorize Use-Cases. Ref. # Function Category R1.1.1 1. 도형그리기 Primary R1.1.2 2. 도형선택하기 Primary R1.1.3 3. 도형색채우기선택 Primary R1.2.1 4. 연필그리기 Primary R1.2.2 5. 색채우기 Primary R1.2.3 6. 텍스트삽입하기 Primary R1.2.4 7. 지우개로지우기 Primary R1.2.5 8. 색골라내기 Primary R1.2.6 9. 범위선택하기 Primary R1.3 10. 도구굵기선택하기 Primary R1.4.1 11. 색1 선택하기 Primary R1.4.2 12. 색2 선택하기 Primary R2.1 13. 저장하기 Primary R2.2 14. 불러오기 Primary R3.1 15. 밑그림불러오기 Primary R3.2 16. 점수환산하기 Secondary R3.3 17. 등수표시 Secondary R3.4 18. 점수파일불러오기 Secondary R3.5 19. 점수파일저장하기 Secondary R3.6 20. 사용자정보 Primary 6. Identify the relationships between Use-Case 8
7. Draw a Use-Case diagram 9
8. Describe Use-Case Name : 1. 도형그리기 - 이 use case 는그림판시스템에서선택한도형을그리기위한기능이다 - 마우스로드래그하여그림을그린다 Name : 2. 도형선택하기 - 이 use case 는그림판시스템에서그림을그릴도형을선택하는기능이다 - 메뉴에서원, 사각형, 직선중한가지를선택한다 Name : 3. 도형색채우기선택 - 이 use case 는그림판시스템에서도형의내부를색으로채울지선택하는기능이다. - 색채우기선택후, 도형을그리면선택한색 2 로그리는도형의내부가채워진다 Name : 4. 연필그리기 - 이 use case 는그림판시스템에서연필도구를이용하여그림을그리기위한기능이다 - 연필도구선택후, 마우스로드래그하여그림을그린다 Name : 5. 색채우기 - 이 use case 는그림판시스템에서선택한지점과연결되어있는영역에색을채우기위한기능이다. - 마우스로해당지점을클릭하여선택한색으로채운다 Name : 6. 텍스트삽입하기 - 이 use case 는그림판시스템에서텍스트를삽입하기위한기능이다 - 마우스로해당지점을선택하여텍스트를삽입한다. Name : 7. 지우개로지우기 - 이 use case 는그림판시스템에서그림을지우기위한기능이다. - 지울부분을지우개도구선택후, 클릭과드래그를이용하여지운다 Name : 8. 색골라내기 - 이 use case 는그림판시스템에서해당지점의 Color 값을골라내는기능이다. - 색골라내기도구선택후, 해당지점을마우스로클릭한다 10
Name : 9. 범위선택하기 - 이 use case 는그림판시스템에서범위를선택하여이동시키기위한기능이다. - 마우스로드래그하여범위를선택하여그영역을이동시킨다. Name : 10. 도구굵기선택하기 - 이 use case 는그림판시스템에서도구사용시의굵기를조절하기위한도구이다. - 굵기메뉴에서원하는굵기를선택한후그림을그린다 Name : 11. 색 1 선택하기 - 이 use case 는그림판시스템에서선의색을지정하기위한기능이다. - 윤곽선이나선그리기, 텍스트삽입, 색채우기에사용된다. Name : 12. 색 2 선택하기 - 이 use case 는그림판시스템에서도형의내부의색을지정하기위한기능이다. - 도형의내부색채울때사용된다 Name : 13. 저장하기 - 이 use case 는그림판시스템에서현재의그림을파일로저장하기위한기능이다. - 파일 저장하기 메뉴를선택하여원하는루트에그림파일을저장한다. Name : 14. 불러오기 - 이 use case 는그림판시스템에서외부그림파일을불러오기위한기능이다. - 파일 불러오기 메뉴를선택하여원하는그림파일을불러온다. Name : 15. 밑그림불러오기 - 이 use case 는그림판시스템에서색칠공부게임의밑그림을불러오기위한기능이다. - 색칠공부게임기능을실행하면기본제공되는 5 개의밑그림중하나를선택한다. Name : 16. 점수환산하기 Actors : None - 이 use case 는그림판시스템에서색칠공부게임에서그림을밑그림과얼마나같게그렸는지점수로환산하는기능이다 Name : 17. 등수표시 Actors : None 11
- 이 use case 는그림판시스템에서색칠공부게임에서자신의점수에대한등수를알려주기위한기능이다. Name : 18. 점수파일불러오기 Actors : None - 이 use case 는그림판시스템에서색칠공부게임에서점수파일을불러오기위한기능이다 Name : 19. 점수파일저장하기 Actors : None - 이 use case 는그림판시스템에서색칠공부게임에서점수파일을저장하기위한기능이다 Name : 20. 사용자정보 Actors : None - 이 use case 는그림판시스템에서색칠공부게임의사용자정보를입력받기위한기능이다. 9. Rank Use-Case Ref. # Function Category Rank R1.1.1 2. 도형그리기 Primary High R1.1.2 2. 도형선택하기 Primary High R1.1.3 3. 도형색채우기선택 Primary High R1.2.1 4. 연필그리기 Primary High R1.2.2 5. 색채우기 Primary High R1.2.3 6. 텍스트삽입하기 Primary High R1.2.4 7. 지우개로지우기 Primary High R1.2.5 8. 색골라내기 Primary High R1.2.6 9. 범위선택하기 Primary High R1.3 10. 도구굵기선택하기 Primary High R1.4.1 11. 색1 선택하기 Primary High R1.4.2 12. 색2 선택하기 Primary High R2.1 13. 저장하기 Primary High R2.2 14. 불러오기 Primary High R3.1 15. 밑그림불러오기 Primary High R3.2 16. 점수환산하기 Secondary Medium R3.3 17. 등수표시 Secondary Medium R3.4 18. 점수파일불러오기 Secondary Medium R3.5 19. 점수파일저장하기 Secondary Medium R3.6 20. 사용자정보 Primary High 12
Activity 1007. Define Business Concept Model Circle Shape Rectangle UI Paint Panel Menu FillColor Line Spuit Area Erase Text Pencil UserInfo Sketch Game Color Thickness FileIO TextFileIO ImageFileIO Activity 1008. Define Draft System Architecture 13
Activity 1009. Refine Plan 1. Project Scope - 어린이학습그림판은기존의그림판기능을하며추가적으로밑그림을따라그리는색칠공부게임기능이존재하여, 어린이들에게미술에대한흥미를유발하고, 창의력에도움을주는프로그램이다. 2. Project Objectives - 유아및초등학생용그림판프로그램을제공함으로써재미와그리기실력을발전하도록돕는다.. 3. Functional Requirements - 도형그리기메뉴에서선택한도형을그린다 - 도구메뉴에서연필그리기, 색채우기, 텍스트넣기, 지우개, 선택, 색골라내기기능을사용한다 - 색메뉴에서임의의색을선택할수있고, 대표색상들중에서원하는색을고를수있다. - 크기메뉴에서도구의굵기를고를수있다 - 밑그림을불러와서색칠공부를한다 - 색칠결과를가지고점수를환산하고사용자정보와순위를보여준다 - 그림을저장하고불러온다 4. Performance Requirements - 점수환산및등수표시를 5 초안에하여야한다 5. Operating Environment - OS : Microsoft Windows 7, 8 64bit - Memory : 1GB - H.D.D : 160GB 6. User Interface Requirements - 그리기도구패널이위쪽에나타난다 - 메뉴에따라조작하는구조의프로그램 7. Other Requirements - 없음 8. Resources - Human Effots(Man-Month): 3-3 M/M - Human Resource : 3 명 - Project Duration : 13 주 - Cost : 4,995,000-4,095,000( 식비 ) = 5,000 * 91 일 * 3 명 * 3 끼 - 900,000( 인건비 ) = 100,000( 월급 ) * 3 명 * 3 개월 14
9. Scheduling 15