Convenience Timetable Design

Similar documents
UML

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

intro

화판_미용성형시술 정보집.0305

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

thesis

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

5조 Term Project Final Report

第 1 節 組 織 11 第 1 章 檢 察 의 組 織 人 事 制 度 등 第 1 項 大 檢 察 廳 第 1 節 組 대검찰청은 대법원에 대응하여 수도인 서울에 위치 한다(검찰청법 제2조,제3조,대검찰청의 위치와 각급 검찰청의명칭및위치에관한규정 제2조). 대검찰청에 검찰총장,대

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

282서비스업관리-마트

Microsoft Word - src.doc

untitled


COVER.HWP

이슈분석 2000 Vol.1

가볍게읽는-내지-1-2

한눈에-아세안 내지-1

kbs_thesis.hwp


5조 Term Project Final Report


양성내지b72뼈訪?303逞



자식농사웹완

chungo_story_2013.pdf

*중1부

2

Çѱ¹ÀÇ ¼º°øº¥Ã³µµÅ¥

...._


전반부-pdf

표1.4출력

003-p.ps

<4D F736F F F696E74202D20312E20B0E6C1A6C0FCB8C15F3136B3E2C7CFB9DDB1E25F325FC6ED28C0BA292E >

_

12월월간보고서내지편집3

중앙도서관소식지겨울내지33

에너지포커스 2007년 가을호


01_당선자공약_서울

인권문예대회_작품집4-2




목차

A°ø¸ðÀü ³»Áö1-¼öÁ¤

±¹³»°æÁ¦ º¹»ç1

¿¡³ÊÁö ÀÚ¿ø-Âü°í ³»Áö.PDF

전반부-pdf

뉴스레터6호

Microsoft PowerPoint 하반기 크레딧 전망_V3.pptx

50차 본문 최종

³»Áöc03âš

fsb9¿ù³»ÁöÃÖÁ¾Ãâ

¾ç¼º-¾÷¹«Æí¶÷-³»¿ëÃà¼Ò4

전도대회자료집

< DBAB4B9ABC3BB5FBAB9B9ABB0FCB8AEB8C5B4BABEF32D33B1C72E706466>

표1~4

<3344C7C1B8B0C6C320BFE4BEE02D E706466>

µ¶ÀÏÅëÀÏÁý1~2Æíq36£02Ð


MVVM 패턴의 이해

2

1

1217 WebTrafMon II

Something that can be seen, touched or otherwise sensed

2

회원

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

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

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Design Issues

OOP 소개

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

?털恬묵

fundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f…

PowerPoint 프레젠테이션

2

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

윈도우시스템프로그래밍

경제통상 내지.PS

°æÁ¦Åë»ó³»Áö.PDF

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

DBPIA-NURIMEDIA

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

제목

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

17장 클래스와 메소드

Chapter 1

구로구민체육센터 여성전용 기구필라테스 강좌 신설 구로구시설관리공단은 신도림생활체육관에서 2014년도부터 시행하여 주민의 큰 호응을 얻고있는 기구필라 테스 강좌를 일자로 구로구민체육센터에 확대 시행하게 되었습니다. 구로구 관내 고객들의 니즈를 반영한 기

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

Microsoft PowerPoint - 3.공영DBM_최동욱_본부장-중소기업의_실용주의_CRM

2

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

쉽게 풀어쓴 C 프로그래밍

Transcription:

Convenience Timetable Design Team 4

2 Contents 1. Introduction 2. Decomposition description 3. Dependency description 4. Inter face description 5. Detailed design description

3 1. Introduction Purpose Use case 및 SR 로얻은 Requirment 를적용해실제구현에앞서시스템의구조를설계 Software 재사용및확장을위해 OOP 기법및 Design pattern 을이용

4 2. Decomposition description Use Case 빨간색 : class 후보 1. 사용자가프로그램을실행한다 2. 사용자는저장된시간표를불러오거나새로이작성 ( 초기화 ) 한다. 2-1 사용자가시간표를새로이작성한다. 2-1-1 사용자는등록하고싶은시간의칸을선택한다.(right click) 2-1-1-1 사용자가선택한칸에비어있다. 2-1-1-1-1 ' 강의등록 ' 을선택한다. 2-1-1-1-1-1 강의명을메뉴에서선택한다.( 팝업창 ) 2-1-1-1-1-2 입력을다했으면 확인 버튼을누른다. 2-1-1-1-2-3 시간표에강의가추가된다. 2-1-1-1-2 ' 일정등록 ' 을선택한다. 2-1-1-1-2-1 활동명, 장소, 시간을입력한다.( 팝업창 ) 2-1-1-1-2-2 입력을다했으면 확인 버튼을누른다. 2-1-1-1-2-3 시간표에일정이추가된다. 2-1-2 사용자가선택한칸에일정이있다. 2-1-2-1 ' 변경 ' 을선택한다. 2-1-2-2 ' 삭제 ' 를선택한다. 2-1-2-3 강의정보 를선택한다. 2-1-2-3-1 선택한강의에대한강의정보창이뜬다. ( 인터넷팝업창 ) 2-2 사용자가저장된시간표를불러온다. 2-2-1 위의내용과동일한작업반복 3. 사용자가시간표를저장한다. 4. 사용자가 수강신청 버튼을클릭한다. 4-1 건국대학교수강신청팝업창 ( 인터넷팝업창 ) 이뜬다. 5. 사용자가 전체강의검색 버튼을클릭한다. 5-1 건국대학교종합강의시간표 ( 인터넷팝업창 ) 가뜬다. 6. 사용자가시간표를종료한다.

5 2. Decomposition description Class Class :: 강의명, 강의실, 교수명, 시간정보를가지는클래스 AddClass AddClass :: 강의등록팝업창 Private Private :: 개인일정 AddPrivate AddPrivaate :: 개인일정등록팝업창

6 2. Decomposition description TimeTable TimeTable :: 시간표 Time Time :: ( 시간 ) 칸

7 3. Dependency description AddPrivate, AddClass, TimeTableView Class Private AddClass AddPrivate TimeTableView

8 3. Dependency description AddPrivate, AddClass, TimeTableView Time TimeTable TimeTableView

9 3. Dependency description AddPrivate, AddClass, TimeTableView Class Private AddClass AddPrivate Time TimeTable TimeTableView

10 4. Interface description Class, ClassMgr TimeTableView AddClass ClassMgr Class : user 1 : initiateclass() 3 : OnAddClass() 4 : OnInitDialog() 2 : c: Class* 5 : findclass() 6 : getclass() 8 : OnBnClickedAddCancel() 7 : c: Class 9 : OnPrint() 10 : OnBnClickedAddOk() 11 : OnPrint()

11 4. Interface description Private, PrivateMgr TimeTableView AddPrivate PrivateMgr Private : user 1 : initprivate() 3 : OnAddPrivate() 6 : OnBnClickedPrivateOk() 4 : setprivate() 5 : addprivatelist() 2 : privatelist: list 7 : privateplace: CString 8 : privatetime: int 9 : OnPrint() 10 : OnBnClickedPrivateCancel() 11 : OnPrint()

12 4. Interface description Edit Private TimeTableView EditPrivate PrivateMgr Private : user 1 : OnEditPrivate() 2 : findprivate() 3 : getprivate() 5 : OnBnClickedPrivateOk() 6 : changeprivate() 4 : p: Private 9 : OnPrint() 10 : OnBnClickedPrivateCancel() 7 : privateplace: CString 8 : privatetime: int 11 : OnPrint()

13 4. Interface description delclass, deleprivate TimeTableView TimeTable TimeTableView TimeTable : user : user 1 : OnDelClass() 1 : OnDelPrivate() 2 : delclass() 2 : delprivate() 3 : OnPrint() 3 : OnPrint() (1) delclass (2) delprivate

14 4. Interface description show 수강신청, 종합강의시간표 TimeTableView TimeTableView : user 1 : OnBnClickedButtonApply() : user 1 : OnBnClickedButtonFind() (1) 수강신청 (2) 종합강의시간표

15 4. Interface description Save TimeTableView DBMgr : user 1 : save() 2 : savetimetable()

16 4. Interface description Load TimeTableView TimeTable DBMgr Time : user 1 : OnLoad() 2 : loadtimetable() 3 : getdb() 4 : DataBase 5 : Time() 7 : OnPrint() 6 : t: Time*

17 5.Detailed design description Use Case 파란색 : method 후보 1. 사용자가프로그램을실행한다 2. 사용자는저장된시간표를불러오거나새로이작성 ( 초기화 ) 한다. 2-1 사용자가시간표를새로이작성한다. 2-1-1 사용자는등록하고싶은시간의칸을선택한다.(right click) 2-1-1-1 사용자가선택한칸에비어있다. 2-1-1-1-1 ' 강의등록 ' 을선택한다. 2-1-1-1-1-1 강의명, 교수명, 강의실, 시간을메뉴에서선택한다.( 팝업창 ) 2-1-1-1-1-2 입력을다했으면 확인 버튼을누른다. 2-1-1-1-2-3 시간표에강의가추가된다. 2-1-1-1-2 ' 일정등록 ' 을선택한다. 2-1-1-1-2-1 활동명, 장소, 시간을입력한다.( 팝업창 ) 2-1-1-1-2-2 입력을다했으면 확인 버튼을누른다. 2-1-1-1-2-3 시간표에일정이추가된다. 2-1-2 사용자가선택한칸에일정이있다. 2-1-2-1 ' 변경 ' 을선택한다. 2-1-2-2 ' 삭제 ' 를선택한다. 2-1-2-3 강의정보 를선택한다. 2-1-2-3-1 선택한강의에대한강의정보창이뜬다.( 팝업창 ) 2-2 사용자가저장된시간표를불러온다. 2-2-1 위의내용과동일한작업반복 3. 사용자가시간표를저장한다. 4. 사용자가 수강신청 버튼을클릭한다. 4-1 건국대학교수강신청팝업창 ( 인터넷팝업창 ) 이뜬다. 5. 사용자가 전체강의검색 버튼을클릭한다. 5-1 건국대학교종합강의시간표 ( 인터넷팝업창 ) 가뜬다. 6. 사용자가시간표를종료한다.

18 5.Detailed design description 행동별카테고리정리 TimeTable 실행한다. 저장한다. 불러온다. 강의등록을선택한다. 일정등록을선택한다. 변경을선택한다. 삭제를선택한다. 강의정보를선택한다. 화면에출력한다. 칸을선택한다. AddClass 강의명을메뉴에서선택한다. 확인버튼을누른다. 취소버튼을누른다. AddPrivate 일정이름, 시간을입력한다. 확인버튼을누른다. 취소버튼을누른다. Class db 로부터 data 를불러와변수에대입한다. Private db 로부터 data 를불러와변수에대입한다. Time 일정이추가된다.

19 5.Detailed design description Class 별 attribute, operation Class +classname: CString +classhour: int +classminute: int +classteacher: CString +classroom: CString Class +Class(name: CString, teacher: CString, room: CString, hour: int, minute: int)

20 5.Detailed design description Class 별 attribute, operation ClassMgr, AddClass ClassMgr +classarray: Class[*] +initclass(classarray: Class*) +getclass(classnum: int): c: Class +getclass(classname: CString): c: Class AddClass +classname: CString +classteacher: CString +classroom: CString +classhour: int +classminute: int +classlist: CComboBox +classnumlist: CComboBox +OnBnClickedAddCancel() +OnBnClickedAddOk() +findclass(classnum: int) +findclass(classname: CString)

21 5.Detailed design description Class 별 attribute, operation Private, PrivateMgr +privatehour: int +privatemin: int +privatename: CString +privateplace: CString Private +initprivate(hour: int, min: int, name: CString, place: CString) +p: Private[*] PrivateMgr +initprivatelist() +addprivatelist(pv: Private) +findprivate(pv: Private) +getprivate(pv: Private): p: Private +delprivate(pv: Private)

22 5.Detailed design description Class 별 attribute, operation PrivateDialog, AddPrivate, EditPrivate PrivateDialog +privatelist: PrivateMgr +privatehour: CComboBox +privatemin: CComboBox +privatename: CString +privateplace: CString +privatehour: int +privatemin: int +initprivatelist() +findprivatelist(pv: Private) +getprivatelist(pv: Private): p: Private +OnBnClickedPrivateOk() +OnBnClickedPrivateCancel() AddPrivate +setprivate(pv: Private) EditPrivate +changeprivate(pv: Private)

23 5.Detailed design description Class 별 attribute, operation Time, TimeTable +classname: CString +classtime: int +classteacher: int +classroom: int Time +Time() +Time(t: const Time&) +Time(name: CString, teacher: CString, room: CString, time: int) +Time(name: CString, room: CString, time: int) +operator=(t: const Time&) +time: Time +back: Back +dbmgr: DBMgr TimeTable +initclass() +drawback(dc: CDC*) +drawclass(dc: CDC*) +addclass(t: Time&, x: int, y: int) +delclass(x: int, y: int) +addprivate(t: Time&, x: int, y: int) +delprivate(x: int, y: int) +loadtimetable()

24 5.Detailed design description Class 별 attribute, operation Back, DBMgr Back +flag: int +s_x: int +s_y: int +rect: CRect +CString: str DBMgr +savetimetable() +getdb() +Back()

25 5.Detailed design description +classname: CString +classhour: int +classminute: int +classteacher: CString +classroom: CString Class +Class(name: CString, teacher: CString, room: CString, hour: int, minute: int) AddClass +classname: CString +classteacher: CString +classroom: CString +classhour: int +classminute: int +classlist: CComboBox +classnumlist: CComboBox +OnBnClickedAddCancel() +OnBnClickedAddOk() +findclass(classnum: int) +findclass(classname: CString) TimeTableView +day: int +hour: int +t: Timetable +inputclass: AddClass +inputprivate: AddPrivate +result: int +OnAddPrivate() +OnDelPrivate() +OnEditPrivate() +OnAddClass() +OnDelClass() +OnPrint() +OnFileNew() +inittimetable() +OnSave() +OnLoad() AddPrivate +setprivate(pv: Private) DBMgr +savetimetable() +getdb() +time: Time +back: Back +dbmgr: DBMgr ClassMgr +classarray: Class[*] +initclass(classarray: Class*) +getclass(classnum: int): c: Class +getclass(classname: CString): c: Class EditPrivate +changeprivate(pv: Private) TimeTable +initclass() +drawback(dc: CDC*) +drawclass(dc: CDC*) +addclass(t: Time&, x: int, y: int) +delclass(x: int, y: int) +addprivate(t: Time&, x: int, y: int) +delprivate(x: int, y: int) +loadtimetable() PrivateDialog +privatelist: PrivateMgr +privatehour: CComboBox +privatemin: CComboBox +privatename: CString +privateplace: CString +privatehour: int +privatemin: int +initprivatelist() +findprivatelist(pv: Private) +getprivatelist(pv: Private): p: Private +OnBnClickedPrivateOk() +OnBnClickedPrivateCancel() Back +flag: int +s_x: int +s_y: int +rect: CRect +CString: str +Back() +classname: CString +classtime: int +classteacher: int +classroom: int +p: Private[*] +privatehour: int +privatemin: int +privatename: CString +privateplace: CString Time PrivateMgr +initprivatelist() +addprivatelist(pv: Private) +findprivate(pv: Private) +getprivate(pv: Private): p: Private +delprivate(pv: Private) Private +initprivate(hour: int, min: int, name: CString, place: CString) +Time() +Time(t: const Time&) +Time(name: CString, teacher: CString, room: CString, time: int) +Time(name: CString, room: CString, time: int) +operator=(t: const Time&)

26 Conclusion IEEE SDD 를따라 class diagram 을 I. decomposition description II. dependency description III. interface description IV. detail description OOD 기법을따라설계

27 Reference Head first OOAD 브랫맥리프란외 (O REILY) UML 객체지향분석 설계 조완수 ( 홍릉과학출판사 ) Software Eingineering (8 th ) Ian Sommerville (Addison-Wesley)

28 End 감사합니다.