OOO Paint

Similar documents
OOO Paint

OOO Paint

OOO Paint

OOO Paint

OOO Paint

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

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

슬라이드 1

Microsoft Word - OOPT stage 2040 ver2.docx

Contents. Phase Revise Plan --- Phase Synchronize Artifacts --- Phase 2130 Analyze Activity2131. Define Essential Use Cases --- Activity21

게임 기획서 표준양식 연구보고서

Index Activity Refine System Architecture Activity Define Design Class Diagrams Activity 2141, 2142, 2144 Design Real Use Case + Define Re

Contents Activity Define Real s Activity Define Reports UI, and Storyboards Activity Refine System Architecture Activity Defin

<Software Modeling & Analysis> OSP Stage 1000 < Plan & Elaboration > - v2 - Team 박미관 박준모 이영준 2013/04/05 1

PowerPoint 프레젠테이션

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

Convenience Timetable Design

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

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

소프트웨어개발방법론

PowerPoint 프레젠테이션

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

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

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

PowerPoint 프레젠테이션

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

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

PowerPoint Template

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

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

OSP Stage 2040 <Plan & Elaboration> 유아를위한주제별영어학습놀이프로그램 T 김도희 박수민 + 김태현 1

Microsoft Word - src.doc

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

System Recovery 사용자 매뉴얼

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

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

Ver1.0

슬라이드 1

<Software Modeling & Analysis> OSP Stage 2040 < Design > Ver 3 Team 2 김민우 김재엽 최하나 /05/23 1

UML

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

PowerPoint 프레젠테이션

<C0CCC8ADBBE7C0CCB9F6C4B7C6DBBDBA20B8C5B4BABEF328C3D6C1BE295FBCF6C1A42E696E6464>

JDK이클립스

슬라이드 1

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

PowerPoint 프레젠테이션

tiawPlot ac 사용방법

WebPACK 및 ModelSim 사용법.hwp

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

Javascript

KEB 외국환 서식관리 프로그램 사용자 메뉴얼

Software Verification 1 st Testing System Test Team 고예은 김수현 김아름 1

SuperJump

01장

슬라이드 1

3D MAX + WEEK 9 Hansung Univ. Interior Design

PowerPoint Presentation

(Microsoft PowerPoint - \270\266\300\314\305\251\267\316\304\250USB_Host_Device_\272\316\306\256\267\316\264\365\275\307\275\300_Philip.ppt)

PowerPoint 프레젠테이션

슬라이드 1

Windows 8에서 BioStar 1 설치하기

MVVM 패턴의 이해

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

1

MF3010 MF Driver Installation Guide

PowerPoint Template

Why 3D Max?

_USB JTAG Ver1.0 User's Manual.hwp

Microsoft Word - Armjtag_문서1.doc

<4D F736F F F696E74202D C20C4C4C7BBC5CD20C8B0BFEB20B9D720C6C4C0CF20B0FCB8AE20BBF9C7C >

TES_1353.hwp

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

PowerPoint 프레젠테이션

목차 1. DocZoom Creator Pro 의주요특징 주요기능따라해보기 ) HWP, PDF, DOC, PPT 문서불러오기 ) DocZoom 문서실행하기 ) DocZoom Viewer 툴바 ) DocZoom

Microsoft Word - LTL-XL RSC vers Nov. 08 _Korean Version_.doc

MF5900 Series MF Driver Installation Guide

Microsoft Word - flash19.doc

강의 개요

슬라이드 1

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

행자부 G4C

IRISCard Anywhere 5

PHPoC Debugger Manual > UI 구성 UI 구성 UI 구성 page 2 of 40

Ver. DS-2012.T3.DWS.STR-1.0 System Test Report for Digital Watch System Test Cases Specification Test Summary Report Project Team 이동아 Latest update on

Chap 6: Graphs

슬라이드 1

메뉴얼41페이지-2

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

Microsoft PowerPoint - CPLD_수정1.pptx

NTD36HD Manual

Endpoint Protector - Active Directory Deployment Guide

SMV Vending Machine Implementation and Verification 김성민 정혁준 손영석

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

PowerPoint 프레젠테이션

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

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

C스토어 사용자 매뉴얼

Transcription:

Webtoon Paint OSP Stage 2030 Team 2 200911371 김민철 200911381 김진현 200911417 정명권

Activity 2031. Define Essential Use Cases 1. 파일불러오기 Use Case Actors Purpose Overview 파일불러오기 이미지파일을불러와컷위에표시한다 가불러오기버튼을누르면불러올파일을선택하는인터페이스를표시한다. 가파일을선택하면컷위에그이미지를조절하여추가한다. Primary R4.2 Pre-Requisites Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) :, (S) : 시스템 1. (A) 이미지파일불러오기요청 2. (S) 불러올이미지파일의경로를입력받는화면보여주기 3. (A) 이미지파일의경로입력 4. (S) 파일이존재하는지검사 5. (S) 컷을추가 (R4.2) 하고불러온이미지를해당컷에표시 Line 3. 파일의경로가올바르지않으면재입력을요청 Line 4. 파일이존재하지않으면경고후재입력을요청

Activity 2031. Define Essential Use Cases 2. 파일저장하기 Use Case Actors Purpose Overview 파일저장하기 컷상에표시된이미지를파일로저장한다 가저장하기버튼을누르면저장할위치를선택하는인터페이스를표시한다. 가저장할위치를선택하면현재컷을이미지파일로저장한다. Primary Pre-Requisites 컷이하나이상존재하고활성화되어있어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) :, (S) : 시스템 1. (A) 이미지파일저장하기요청 2. (S) 저장할파일의경로를입력하는화면보여주기 3. (A) 이미지파일의경로와이름입력 4. (S) 파일의이름이중복되는지검사 5. (S) 컷위의이미지를파일로저장 Line 4. 파일의이름이중복되면경고후재입력을요청

Activity 2031. Define Essential Use Cases 3. 브러시 Use Case Actors Purpose Overview Pre-Requisites Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events 브러시 컷상에자유선을그린다 가브러시버튼을누르면마우스포인터가점으로표시된다. 마우스왼쪽버튼을누르면그위치에선택된색상과굵기로컷위에점이그려진다. Primary 컷이하나이상존재하고활성화되어있어야한다 (A) :, (S) : 시스템 1. (A) 브러시기능요청 2. (S) 마우스포인터를변경 3. (A) 원하는위치에서마우스왼쪽버튼클릭 4. (S) 컷위에적용 Line 3. 마우스포인터의위치가컷바깥쪽이면입력을무시한다

Activity 2031. Define Essential Use Cases 4. 지우개 Use Case Actors Purpose Overview Pre-Requisites Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events 지우개 컷상의이미지를지운다 가지우개버튼을누르면마우스포인터가흰색점으로표시된다. 마우스왼쪽버튼을누르면그위치가선택된영역만큼흰색으로바뀐다. Primary 컷이하나이상존재하고활성화되어있어야한다 (A) :, (S) : 시스템 1. (A) 지우개기능요청 2. (S) 마우스포인터를변경 3. (A) 원하는위치에서마우스왼쪽버튼클릭 4. (S) 컷위에적용 Line 3. 마우스포인터의위치가컷바깥쪽이면입력을무시한다

Activity 2031. Define Essential Use Cases 5. 굵기조절 Use Case Actors Purpose Overview Pre-Requisites Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events 굵기조절 브러시와지우개의적용범위를변경한다 가원하는굵기의버튼을누르면브러시와지우개가적용되는범위가조절된다. Primary (A) :, (S) : 시스템 1. (A) 적용할굵기버튼선택 2. (S) 마우스포인터변경

Activity 2031. Define Essential Use Cases 6. 색상선택 Use Case Actors Purpose 색상선택 브러시와지우개의적용색상을변경한다 Overview 가원하는색상을누르면브러시와지우개에적용되는색상이조절된다. Pre-Requisites Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events Primary (A) :, (S) : 시스템 1. (A) 적용할색상버튼선택 2. (S) 마우스포인터변경

Activity 2031. Define Essential Use Cases 7. 영역선택 Use Case Actors 영역선택 Purpose 불러온이미지파일에자신이원하는영역을선택한다. Overview 가영역선택버튼을누른후원하는영역을정한다. Pre-Requisites Typical Courses of Events Alternative Courses of Events Primary (A) :, (S) : 시스템 1. (A) 영역선택요청 2. (S) 마우스포인터변경 3. (A) 영역의시작점을마우스로클릭 4. (S) 영역지정프레임이영역의시작점부터마우스포인터까지생김 5. (A) 영역의끝점을마우스로지정 6. (S) 선택된영역에영역지정프레임이화면에뜸 Exceptional Courses of Events Line 4. 마우스포인터가컷밖으로나갈수없음.

Activity 2031. Define Essential Use Cases 8. 영역삭제 Use Case Actors 영역삭제 Purpose 선택된영역을삭제한다. Overview 가 del 키를누르면선택된영역이지워진다. Primary Pre-Requisites 영역이선택되어있어야함. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) :, (S) : 시스템 1. (A) 영역선택후 del 키를누름 2. (S) 선택영역이지워지고하얀공백이생김. 3. (S) 선택영역이해제됨.

Activity 2031. Define Essential Use Cases 9. 영역크기조절 Use Case Actors 영역크기조절 Purpose 선택된영역의크기를조절한다. Overview 가선택된영역의가장자리를드래그해서크기를조절함. Primary Pre-Requisites 영역이선택되어있어야함. Typical Courses of Events Alternative Courses of Events (A) :, (S) : 시스템 1. (A) 선택된영역의가장자리위에마우스가올라감. 2. (S) 마우스포인터를양쪽화살표로변경 3. (A) 마우스를클릭한상태에서드래그함 4. (S) 선택된영역이화살표를따라늘거나줄어듦. 5. (A) 마우스를언클릭함. 6. (S) 선택영역이마우스를따라늘거나줄지않음. 7. (A) 선택영역을해제함. 8. (S) 선택영역이화면에고정됨. Exceptional Courses of Events Line 5. 4 에서선택영역을줄였으면그차이만큼이공백이됨. Line 5. 4 에서선택영역이늘어나면늘어난크기에비례해서선택영역이확대됨

Activity 2031. Define Essential Use Cases 10. 영역이동 Use Case Actors 영역이동 Purpose 선택된영역을이동한다. Overview 가선택된영역의가운데를드래그해서위치를이동함. Primary Pre-Requisites 영역이선택되어있어야함. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) :, (S) : 시스템 1. (A) 가선택된영역의가운데를마우스로클릭 2. (S) 마우스커서를 4 방향화살표로변경 3. (A) 가마우스를클릭한채로선택영역을드래그 4. (S) 마우스를따라선택영역이이동 5. (A) 가선택영역을해제함. 6. (S) 선택영역이컷에고정됨.

Activity 2031. Define Essential Use Cases 11. 영역잘라내기 Use Case Actors 영역잘라내기 Purpose 선택된영역을클립보드에저장하고선택된영역은지워진다. Overview 가영역잘라내기를하면선택된영역이지워지고클립보드에복사된다. Primary Pre-Requisites 영역이선택되어있어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) :, (S) : 시스템 1. (A) 영역잘라내기요청 2. (S) 선택된영역을클립보드에복사 3. (S) 선택된영역삭제

Activity 2031. Define Essential Use Cases 12. 영역복사하기 Use Case Actors 영역복사하기 Purpose 선택된영역을클립보드에저장한다. Overview 가영역복사하기를하면선택된영역이클립보드에복사된다. Primary Pre-Requisites 영역이선택되어있어야한다. Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) :, (S) : 시스템 1. (A) 영역복사요청 2. (S) 선택된영역을클립보드에복사

Activity 2031. Define Essential Use Cases 13. 영역붙여넣기 Use Case Actors 영역붙여넣기 Purpose 클립보드에저장된이미지를붙여넣음. Overview 가붙여넣기를누르면클립보드에저장된이미지가화면에복사됨. Primary Pre-Requisites 클립보드에저장된이미지가있어야함. Typical Courses of Events Alternative Courses of Events (A) :, (S) : 시스템 1. (A) 영역붙여넣기요청 2. (S) 클립보드에저장된이미지를컷에복사함. 3. (S) 붙여진영역이영역선택됨. Exceptional Courses of Events Line 2. 저장된이미지가컷보다크면영역크기조절을통해컷최대크기로조절함.

Activity 2031. Define Essential Use Cases 14. 문자입력 Use Case Actors 문자입력 Purpose 선택된영역에문자를입력한다. Overview 가문자입력을선택하면문자를입력할수있다. Primary Pre-Requisites 영역이선택되어있어야한다. Typical Courses of Events Alternative Courses of Events (A) :, (S) : 시스템 1. (A) 문자입력요청 2. (S) 기존의영역이문자입력영역으로변경되며문자입력커서가생김. 3. (A) 가문자를입력 4. (S) 문자입력영역에입력받은문자표시 5. (A) 선택영역해제 6. (S) 선택영역이컷에고정됨. Exceptional Courses of Events Line 5. 문자를입력하다영역의가로크기를넘어가면자동으로줄이넘어감. Line 5. 문자를입력하다영역의세로크기를넘어가면영역이모자란크기에맞춰늘어남. Line 5. 영역이늘어나다가컷크기를넘어가게되면문자가입력되지않음. Line 6. 가입력없이영역을해제하면문자입력을취소

Activity 2031. Define Essential Use Cases 15. 컷전환하기 Use Case Actors Purpose Overview Pre-Requisites Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events 컷전환하기 다른컷으로이동한다 가다른컷의번호를클릭하면컷이전환된다 Primary (A) :, (S) : 시스템 1. (A) 다른컷번호클릭 2. (S) 활성화된컷을변경

Activity 2031. Define Essential Use Cases 16. 컷추가하기 Use Case Actors 컷추가하기 Purpose 새로운컷을추가한다. Overview 컷추가버튼을클릭하여탭형식으로새로운컷을생성한다. Pre-Requisites Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events Primary (A) :, (S) : 시스템 1. (A) 컷추가버튼클릭 2. (S) 현재마지막컷의다음번호가적힌새로운컷을생성

Activity 2031. Define Essential Use Cases 17. 컷삭제하기 Use Case Actors 컷삭제하기 Purpose 현재활성화된컷을삭제한다. Overview 컷삭제버튼을클릭하여현재활성화된컷탭을삭제한다. Pre-Requisites Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events Primary (A) :, (S) : 시스템 1. (A) 컷삭제버튼클릭 2. (S) 활성화되어있는컷을삭제

Activity 2031. Define Essential Use Cases 18. 컷크기조절 Use Case Actors 컷크기조절하기 Purpose 현재활성화된컷의크기를조절한다. Overview 컷의모서리에있는크기조절포인트를클릭하여컷을확대 / 축소한다. Pre-Requisites Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events Primary (A) :, (S) : 시스템 1. (A) 현재컷의모서리에있는크기조절포인트를클릭 2. (A) 마우스를드래그하여크기를조절 3. (S) 마우스를놓으면현재까지조절된크기로컷의크기를설정 4. (S) 컷크기와이미지크기를비교 Line 4. 컷크기가이미지크기보다작아질경우이미지를컷크기에맞춰지움

Activity 2031. Define Essential Use Cases 19. 컷합치기 Use Case Actors 컷합치기 Purpose 모든컷들을합쳐서새로운컷으로만든다. Overview 컷합치기버튼을클릭하면현재까지작성된컷들을하나로합쳐새로운컷을만든다. Primary R4.2, R3.1, R3.6, R3.7 Pre-Requisites Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events (A) :, (S) : 시스템 1. (A) 컷합치기버튼클릭 2. (S) 현재작성되어있는컷들을컷번호순서에따라아래로붙임 3. (S) 합친이미지를새로운컷을만들어집어넣는다.

Activity 2032. Refine Use Case Diagram

Activity 2033. Define Domain Model

Activity 2034. Refine Glossary Refine terms Term Category Remark Project Class 여러컷들의집합 Cut Class 하나의그림이띄워져있는창 AreaTool Class Area를핸들링하는처리기 Area Class 컷의일부분을선택할수있는영역 TextArea Class 텍스트를입력할수있는영역 DrawingTool Class 그리기도구를핸들링하는처리기 Brush Class 브러시의정보 Eraser Class 지우개의정보 Picture Class 그림 Project.cut Attribute 프로젝트가가지고있는컷들 Cut.cutnum Attribute 컷의번호 Cut.width Attribute 컷의길이 Cut.height Attribute 컷의높이 Cut.picture Attribute 컷이가지고있는그림 Cut.cutstat Attribute 컷의상태

Activity 2034. Refine Glossary Refine terms cont. Term Category Remark DrawingTool.brush Attribute 그리기도구에설정된브러시정보 DrawingTool.eraser Attribute 그리기도구에설정된지우개정보 DrawingTool.linesize Attribute 브러시와지우개의굵기 Brush.color Attribute 브러시의색상 AreaTool.area Attribute 영역도구에설정된영역정보 Area.startX Attribute 영역의시작점의 x좌표 Area.startY Attribute 영역의시작점의 y좌표 Area.endX Attribute 영역의끝나는점의 x좌표 Area.endY Attribute 영역이끝나는점의 y좌표 Area.picture Attribute 영역이설정된부분의그림 TextArea.text Attribute 영역에입력된텍스트

Activity 2035. Define Sequence Diagrams Determine system boundary

Activity 2035. Define Sequence Diagrams Use Case Name of Actor-Activated Event 1. 파일불러오기 requestloadimage() 2. 파일저장하기 requestsaveimage() 3. 브러시 requestbrushing() 4. 지우개 requesterasing() 5. 굵기조절 requestsetlinesize() 6. 색상선택 requestsetcolor() 7. 영역선택 requestselectarea() 8. 영역삭제 requestdelarea() 9. 영역크기조절 requestsetareasize() 10. 영역이동 requestmovearea() 11. 영역잘라내기 requestcutoffarea() 12. 영역복사 requestcopyarea() 13. 영역붙여넣기 requestpastearea() 14. 문자입력 requestentertext() 15. 컷전환하기 requestchangecut() 16. 컷추가하기 requestaddcut() 17. 컷삭제하기 requestdelcut() 18. 컷크기조절 requestsetcutsize() 19. 컷합치기 requestmergecut()

Activity 2035. Define Sequence Diagrams Use Case 1 : 파일불러오기 (A) :, (S) : 시스템 1. (A) 이미지파일불러오기요청 2. (S) 불러올이미지파일의경로를입력받는화면보여주기 3. (A) 이미지파일의경로입력 4. (S) 파일이존재하는지검사 5. (S) 불러온이미지를도화지에표시 1. requestloadimage()

Activity 2035. Define Sequence Diagrams Use Case 2 : 파일저장하기 (A) :, (S) : 시스템 1. (A) 이미지파일저장하기요청 2. (S) 저장할파일의경로를입력하는화면보여주기 3. (A) 이미지파일의경로와이름입력 4. (S) 파일의이름이중복되는지검사 5. (S) 컷위의이미지를파일로저장 1. resquestsaveimage()

Activity 2035. Define Sequence Diagrams Use Case 3 : 브러시 (A) :, (S) : 시스템 1. (A) 브러시기능요청 2. (S) 마우스포인터를변경 3. (A) 원하는위치에서마우스왼쪽버튼클릭 4. (S) 컷위에적용 1. requestbrushing()

Activity 2035. Define Sequence Diagrams Use Case 4 : 지우개 (A) :, (S) : 시스템 1. (A) 지우개기능요청 2. (S) 마우스포인터를변경 3. (A) 원하는위치에서마우스왼쪽버튼클릭 4. (S) 컷위에적용 1. requesterasing()

Activity 2035. Define Sequence Diagrams Use Case 5 : 굵기조절 (A) :, (S) : 시스템 1. (A) 적용할굵기버튼선택 2. (S) 마우스포인터변경 1. requestsetlinesize()

Activity 2035. Define Sequence Diagrams Use Case 6 : 색상선택 (A) :, (S) : 시스템 1. (A) 적용할색상버튼선택 2. (S) 마우스포인터변경 1. requestsetcolor()

Activity 2035. Define Sequence Diagrams Use Case 7 : 영역선택 (A) :, (S) : 시스템 1. (A) 영역선택요청 2. (S) 마우스포인터변경 3. (A) 영역의시작점을마우스로클릭 4. (S) 영역지정프레임이영역의시작점부터마우스포인터까지생김 5. (A) 영역의끝점을마우스로지정 6. (S) 선택된영역에영역지정프레임이화면에뜸 1. requestselectarea()

Activity 2035. Define Sequence Diagrams Use Case 8 : 영역삭제 (A) :, (S) : 시스템 1. (A) 영역선택후 del 키를누름 2. (S) 선택영역이지워지고하얀공백이생김. 3. (S) 선택영역이해제됨. 1. requestdelarea()

Activity 2035. Define Sequence Diagrams Use Case 9 : 영역크기조절 (A) :, (S) : 시스템 1. (A) 선택된영역의가장자리위에마우스가올라감. 2. (S) 마우스포인터를양쪽화살표로변경 3. (A) 마우스를클릭한상태에서드래그함 4. (S) 선택된영역이화살표를따라늘거나줄어듦. 5. (A) 마우스를언클릭함. 6. (S) 선택영역이마우스를따라늘거나줄지않음. 7. (A) 선택영역을해제함. 8. (S) 선택영역이화면에고정됨. 1. request SetAreaSize()

Activity 2035. Define Sequence Diagrams Use Case 10 : 영역이동 (A) :, (S) : 시스템 1. (A) 가선택된영역의가운데를마우스로클릭 2. (S) 마우스커서를 4 방향화살표로변경 3. (A) 가마우스를클릭한채로선택영역을드래그 4. (S) 마우스를따라선택영역이이동 5. (A) 가선택영역을해제함. 6. (S) 선택영역이컷에고정됨. 1. requestmovearea()

Activity 2035. Define Sequence Diagrams Use Case 11 : 영역잘라내기 (A) :, (S) : 시스템 1. (A) 영역잘라내기요청 2. (S) 선택된영역을클립보드에복사 3. (S) 선택된영역삭제 1. requestcutoffarea()

Activity 2035. Define Sequence Diagrams Use Case 12 : 영역복사하기 (A) :, (S) : 시스템 1. (A) 영역복사요청 2. (S) 선택된영역을클립보드에복사 1. requestcopyarea()

Activity 2035. Define Sequence Diagrams Use Case 13 : 영역붙여넣기 (A) :, (S) : 시스템 1. (A) 영역붙여넣기요청 2. (S) 클립보드에저장된이미지를컷에복사함. 3. (S) 붙여진영역이영역선택됨. 1. requestpastearea()

Activity 2035. Define Sequence Diagrams Use Case 14 : 문자입력 (A) :, (S) : 시스템 1. (A) 문자입력요청 2. (S) 기존의영역이문자입력영역으로변경되며문자입력커서가생김. 3. (A) 가문자를입력 4. (S) 문자입력영역에입력받은문자표시 5. (A) 선택영역해제 6. (S) 선택영역이컷에고정됨 1. requestentertext()

Activity 2035. Define Sequence Diagrams Use Case 15 : 컷전환 (A) :, (S) : 시스템 1. (A) 다른컷번호클릭 2. (S) 활성화된컷을변경 1 requestchangecut()

Activity 2035. Define Sequence Diagrams Use Case 16 : 컷추가 (A) :, (S) : 시스템 1. (A) 컷추가버튼클릭 2. (S) 현재마지막컷의다음번호가적힌새로운탭형식의컷을생성 1. requestaddcut()

Activity 2035. Define Sequence Diagrams Use Case 17 : 컷삭제 (A) :, (S) : 시스템 1. (A) 컷삭제버튼클릭 2. (S) 활성화되어있는컷을삭제 1. requestdelcut()

Activity 2035. Define Sequence Diagrams Use Case 18 : 컷크기조절하기 (A) :, (S) : 시스템 1. (A) 현재컷의모서리에있는크기조절포인트를클릭 2. (A) 마우스를드래그하여크기를조절 3. (S) 마우스를놓으면현재까지조절된크기로컷의크기를설정 4. (S) 컷크기와이미지크기를비교 1. requestsetcutsize()

Activity 2035. Define Sequence Diagrams Use Case 19 : 컷합치기 (A) :, (S) : 시스템 1. (A) 컷합치기버튼클릭 2. (S) 현재작성되어있는컷들을컷번호순서에따라아래로붙임 3. (S) 합친이미지를새로운컷을만들어집어넣는다. 1. requestmergecut()

Activity 2036. Define Operation Contracts Name Responsibilities Exceptions Output Pre-conditions Post-conditions requestloadimage() 새로운컷을만든다새로운컷의크기에맞춰이미지를불러온다 파일을읽을수없으면파일을다시선택하게한다 새로운컷이생긴다 Name Responsibilities Exceptions Output Pre-conditions Post-conditions requestsaveimage() 활성화된컷을그림파일로저장한다 파일이름이중복되면파일이름을다시입력받는다새로운파일컷이활성화되어있다컷이새로운파일로저장된다

Activity 2036. Define Operation Contracts Name Responsibilities Exceptions Output Pre-conditions Post-conditions Name Responsibilities Exceptions Output Pre-conditions Post-conditions requestbrushing() 마우스포인터를브러시상태로바꾼다가컷안에서드래그를하면마우스를따라브러시색상을그린다 마우스포인터가컷밖으로넘어가면그려지지않는다 마우스포인터가브러시상태이다마우스로드래그한부분이지정된색상으로채워진다 requesterasing() 마우스포인터를지우개상태로바꾼다가컷안에서드래그를하면마우스를따라하얀색으로지운다 마우스커서가컷밖으로넘어가면지워지지않는다 마우스커서가지우개상태이다마우스로드래그한곳이하얀색으로지워진다

Activity 2036. Define Operation Contracts Name Responsibilities Exceptions Output Pre-conditions Post-conditions requestsetlinesize() 브러시, 지우개의굵기를바꾼다 Brushing, erasing 브러시, 지우개의굵기가바뀐다 Name Responsibilities Exceptions Output Pre-conditions Post-conditions requestsetcolor() 브러시의색상을지정한다 brushing 브러시의색상이바뀐다

Activity 2036. Define Operation Contracts Name Responsibilities Exceptions Output Pre-conditions Post-conditions Name Responsibilities Exceptions Output Pre-conditions Post-conditions requestselectarea() 마우스포인터를영역선택상태로바꾼다가드래그를시작하면시작지점부터마우스포인터지점까지영역선택표시를출력하고드래그를끝내면영역선택표시를고정한다. 영역선택후선택된영역의밖을클릭하면영역선택이해제된다 컷영역밖에서영역선택을시작할수없다영역선택을시작하면마우스가컷영역밖으로나갈수없다 설정된영역 컷에영역이선택된다 requestdelarea() 영역선택된부분을하얀색으로채운후영역이해제된다 영역선택 영역이선택되어있지않으면사용할수없다 영역이선택되어있다 영역을선택했던부분이지워진다영역선택이해제된다

Activity 2036. Define Operation Contracts Name Responsibilities Exceptions Output Pre-conditions Post-conditions requestsetareasize() 가지정되어있는영역의모서리에마우스를올리면포인터가방향에따라화살표로변경되고그상태에서드래그하면영역선택표시가늘어난다가드래그를끝내면해당영역선택표시에맞춰영역을고정한다기존에있던영역의그림을새로만든영역에맞춰서확대 / 축소한다영역크기를조정하면서생긴공백은하얀색으로채운다 SelectArea 영역크기조절을시작하면마우스는컷밖으로나갈수없다 새로운영역 영역이선택되어있다 새로운영역이선택된다기존에영역의그림이새로운영역에맞게확대 / 축소된다

Activity 2036. Define Operation Contracts Name Responsibilities Exceptions Output requestmovearea() 선택된영역위로마우스가이동하면마우스포인터가영역이동으로변경된다그상태에서드래그를시작하면마우스를따라영역이이동된다영역이이동하면서생긴공백은하얀색으로채운다 영역선택 영역이동중에는마우스커서가컷밖으로나갈수없다 바뀐영역의위치 Pre-conditions 영역이선택되어있어야한다. Post-conditions 영역의위치가바뀐다영역으로생긴공백이하얀색으로채워진다 Name Responsibilities Exceptions Output Pre-conditions Post-conditions requestcutoffarea() 영역을잘라내클립보드에복사한다영역을잘라내서생긴공백은하얀색으로채운다 영역선택 영역이선택되어있지않으면사용할수없다 클립보드에이미지가저장된다 영역이선택되어있어야한다 클립보드에이미지가저장된다영역을잘라내서생긴공백이하얀색으로채워진다

Activity 2036. Define Operation Contracts Name Responsibilities Exceptions Output Pre-conditions Post-conditions Name Responsibilities Exceptions Output Pre-conditions Post-conditions CopyArea() 영역을클립보드에복사한다 영역선택 영역이선택되어있지않으면사용할수없다 클립보드에이미지가저장된다 영역이선택되어있어야한다 영역이클립보드에복사되어있다 PasteArea() 클립보드에저장된이미지를복사하고이미지만큼의영역을설정한다 활성화된컷이없으면복사가되지않는다 새로운영역 컷이활성화되어있어야한다 클립보드의이미지가컷에출력된다출력된이미지가영역이선택된다

Activity 2036. Define Operation Contracts Name Responsibilities Exceptions Output Pre-conditions Post-conditions requestentertext() 영역선택후문자입력을요청하면영역을하얀색공백으로바꾼다영역안에문자입력커서가생기고입력되는문자를영역안에표시한다문자가영역의길이를넘어가면줄을넘기고영역이좁으면영역이늘어난다 영역선택 영역은컷밖으로넘어가지않는다영역이선택되어있지않으면사용할수없다 입력된문자 영역이선택되어있어야한다 영역이하얀색공백으로바뀐다영역에입력받은글자가출력된다

Activity 2036. Define Operation Contracts Name Responsibilities Exceptions Output Pre-conditions Post-conditions requestchangecut() 활성화되어있는컷을비활성화시키고가선택한컷을활성화시킨다 컷이두개이상없으면사용할수없다새로운활성화된컷컷이두개이상열려있어야한다컷이전환된다 Name Responsibilities Exceptions Output Pre-conditions Post-conditions requestaddcut() 새로운컷을추가한다 새로운컷 새로운컷이생긴다새로운컷은하얀색으로채워진다

Activity 2036. Define Operation Contracts Name Responsibilities Exceptions Output Pre-conditions Post-conditions Name Responsibilities Exceptions Output Pre-conditions Post-conditions requestdelcut() 활성화되어있는컷을지운다 활성화되어있는컷이없으면사용할수없다 컷삭제 컷이활성화되어있다 컷이지워진다다음컷이활성화된다 requestsetcutsize() 활성화되어있는컷의크기를바꾼다 활성화되어있는컷이없으면사용할수없다 컷의크기가바뀜 컷이활성화되어있다 컷의크기가바뀐다

Activity 2036. Define Operation Contracts Name Responsibilities Exceptions Output Pre-conditions Post-conditions requestmergecut() 열려져있는컷들을하나로합쳐새로운컷을만든다 컷이하나이상열려있어야한다 컷들이합쳐진새로운컷 컷이하나이상있다 새로운컷이생긴다새로운컷은이전까지컷들이합쳐진다