SOFTWARE MODELLING & ANALYSIS - OSP STAGE 2040 TEAM PROJECT NAME Selective & Parking Navigation System T1 200711443 안효빈 200711453 류진렬 200711459 이남섭 200811465 허준행 <- 발표자 1
Index Activity 2143. Refine System Architecture Activity 2145. Define Design Class Diagrams Activity 2141, 2142, 2144 Design Real Use Case + Define Reports, UI, and Storyboards+ Define Interaction Diagrams Select authority Admin login Pay fee Give number Select parking lot Find data Sort data Modify data 2
Activity 2143 Refine System Architecture 3
Activity 2143. Package diagram Survice Layer Surport Layer System Layer 4
Activity 2143. Deployment diagram 5
ACTIVITY 2145 Define Design Class Diagrams 6
Activity 2145. Class diagrams 입구단말기빈주차공간표시주차경로표시주차증출력 주차정보동기화 출구단말기요금계산영수증출력 관리자단말기주차정보열람주차정보수정 모든주차정보저장및관리 입구, 출구단말기센서데이터처리 7
ACTIVITY 2141,2142,2144 Design Real Use Case + Define Reports, UI, and Storyboards+ Define Interaction Diagrams 8
Real Use Case List Real Use Case List 1. Admin Login 2. Admin Password Modify 3. Select Authority 4. Extra Information 5. Extra Information Modify 6. Parking Complexity Visualize 7. Display Parking Floor 8. Display Parking Floor Admin 9. Update Parking Floor 10. Refresh Parking Floor 11. Fee Calculation 12. Select Fee 13. Pay Fee 14. Give Number 15. Select Parking Lot 16. View Navigate 17. Print Parking Permit 18. Print Receipt 19. Skip Receipt 20. Find Data 21. Sort Data 22. Modify Data 9
Activity 2141. Real use case - Select authority Use Case Select Authority Actor Admin Purpose 프로그램사용모드를선택한다. Overview Type Cross Reference Pre-Requisites UI Widget Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events 프로그램시작시프로그램의사용모드를선택할수있다. 사용모드의종류는관리자모드, 사용자모드 ( 입구 ), 사용자모드 ( 출구 ) 가있다. Evidence Functions: R.1.1, R.1.2 Use Cases: Admin Login, Admin Password Modify N/A Start Window 1. Admin 은 interface 에출력된 3 가지중하나를선택한다. 2. System 은선택된항목에따라프로그램을해당모드로실행한다. N/A N/A 10
Activity 2142. GUI interface - Select authority 11
Activity 2144. Sequence diagram - Select authority Overall Sequence Diagram 입구 출구 관리자 12
Activity 2144. Sequence diagram - Select authority Parking Complexity Visualize Update Parking Floor 13
Activity 2144. Sequence diagram - Select authority 14
Activity 2144. Sequence diagram - Select authority Update Parking Floor Admin 15
Activity 2141. Real use case - Admin login Use Case Admin Login Actor Admin Purpose 관리자모드로로그인한다. Overview 지정된비밀번호를이용하여관리자모드로로그인한다. 비밀번호입력을 3 회이상틀렸을때, 프로그램을강제종료한다. Type Cross Reference Evidence Functions: R.1.2, R.1.3 Use Cases: Admin Password Modify, Select Authority Pre-Requisites 관리자모드로프로그램이선택된상태여야한다. UI Widget Typical Courses of Events Login Window 1. Admin 이비밀번호를입력한후, 로그인 버튼을누른다. 2. System 은입력된비밀번호가올바른비밀번호인지 Admin object 안에 adminpw attribute 와비교하여확인한다. 3. System 은 Admin object 안에 adminpw attribute 와같은비밀번호일경우, 관리자모드로프로그램을진행한다. Alternative Courses of Events Exceptional Courses of Events N/A 2. System 은입력된비밀번호가 Admin object 의 adminpw attribute 와다르다면, 메시지와함께재입력받는다. 3. System 은 3 회이상비밀번호가 Admin object 의 adminpw attribute 와다르다면프로그램을강제종료시킨다. 16
Activity 2142. GUI interface - Admin login 17
Activity 2144. Sequence diagram - Admin login Update Parking Floor 18
Activity 2141. Real use case - Pay fee Use Case Pay Fee Actor User Purpose 요금을결제한다. Overview Type Cross Reference interface 를통하여사용자에게요금을알려주며, 요금을결제한다. Evidence Functions: R.4.1 Use Cases: Fee Calculation Pre-Requisites 퇴장하는차량의요금계산이끝난상태여야한다. UI Widget Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events Exit1 Window 1. System 은계산된금액을 interface 에출력한다. 2. User 는 interface 에출력된금액을지불한다. 3. User 가지불한값이 UserExit object 의 input 값으로설정된다. 4. System 은 Fee Calculation 의결과금액과비교하여차액을요청하거나거슬러준다. 5. System 은 UserExit object 의설정된 input attribute 값과 fee 값을비교하여사용자가지불한금액이부족할경우부족한금액이 extra 값으로설정되며, 남을경우, 남은금액이 change 값으로설정된다. N/A N/A 19
Activity 2142. GUI interface - Pay fee 20
Activity 2144. Sequence diagram - Pay fee 21
Activity 2141. Real use case - Give number Use Case Give Number Actor Sensor Purpose 인식한자동차번호를시스템에저장한다. Overview Type Cross Reference Pre-Requisites UI Widget Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events 센서는사용자차량의번호를시스템에저장한다. 이차량번호를이용하여시스템은사용자의정보를관리한다. Evidence Functions: R.3.2, R.3.4 Use Cases: Display Parking Floor, Update Parking Flo or 주차장으로입장하려는자동차가센서앞에멈춰서야한다. N/A 1. Sensor 가사용자의차량번호를인식한다. 2. Sensor object 의 carid, entertime, exittime attribute 값이설정된다. 3. System 은차량번호를데이터화한다. 4. System 은 Sensor object 의 entertime, carid attribute 의값을 ParkingArea object 의 temp attribute 에넣어준다. N/A N/A 22
Activity 2142. GUI interface - Give number 23
Activity 2144. Sequence diagram - Give number Fee Calculate Display Parking Floor Extra Imformation 24
Activity 2141. Real use case - Select parking lot Use Case Select Parking Lot Actor User Purpose 주차할공간을선택한다. Overview Type Cross Reference interface 를이용하여사용자는자신이사용할주차공간을선택한다. Evidence Functions: R.3.2, R.3.4 Use Cases: Display Parking Floor, Update Parking Flo or Pre-Requisites 층별주차공간이출력되어있어야한다. UI Widget Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events Display Window 1. User 가 interface 에출력된주차공간중하나를선택한다. 2. 선택된주차공간의위치에맞는 parkinglot object 값을찾아서 UserEnter 의 templot 값으로설정한다. 3. System 은해당주차공간의사용요청을 Admin Mode System 에요청한다. 4. System 은 Admin Mode System 이사용요청을수락하면 interface 에메시지를출력한다. 5. System 은 Admin Mode System 이사용요청을수락하면 UserEnter object 의 templot attribute 에해당하는 ParkingLot object 를 ParkingArea object 의 parkinglot 배열에서찾은후, 그 ParkingLot object 의 car 값을 tempcar 값으로설정한다. 그다음 interface 에메시지를출력한다. 6. System 은 Update Parking Floor 를수행한다. 7. System 은 Sync object 의 parkinglot attribute 값을 ParkingArea object 의 parkinglot 값으로설정한다. N/A 4. System 은 Admin Mode System 에서사용요청이거부 될경우 interface 에메시지를출력한다. 5. User 는 주차공간을재선택한다.( 위와동일 ) 25
Activity 2142. GUI interface - Select parking lot 26
Activity 2144. Sequence diagram - Select parking lot View Nevigate Print Parking Permit Parking Complexity Visualize 27
Activity 2141. Real use case - Find data Use Case Find Data Actor Admin Purpose 관리에필요한정보를찾는다. Overview Type Cross Reference 차량번호, 주차공간번호등여러가지조건을이용하여사용자정보를검색할수있다. Evidence Functions: R.3.4 Use Cases: Update Parking Floor Pre-Requisites 관리자모드로로그인한상태여야한다. UI Widget Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events Find Window 1. Admin 은 정보검색 버튼을누른다. 2. System 은검색어입력창을 interface 에출력한다. 3. Admin 이검색범주와검색어를입력한다. 4. System 은 ParkingArea object 의 parkinglot attribute 를갱신한다. 5. System 은검색된 ParkingLot object 와 Car object 의 attribute 들을 interface 에출력한다. N/A 5. System 은검색된객체가없을경우, interface 에메시지를출력한다. 28
Activity 2142. GUI interface - Find data 29
Activity 2144. Sequence diagram - Find data Update Parking Floor 30
Activity 2141. Real use case - Sort data Use Case Sort Data Actor Admin Purpose 조건에맞춰주차정보를정렬한다. Overview Type Cross Reference 이용시간, 요금, 주차공간번호등의여러가지조건을이용하여주차정보를정렬출력한다. Evidence Functions: R.3.4 Use Cases: Update Parking Floor Pre-Requisites 관리자모드로로그인한상태여야한다. UI Widget Typical Courses of Events Alternative Courses of Events Exceptional Courses of Events Sort Window 1. Admin 은 정보정렬 버튼을누른다. 2. System 은정렬선택창을 interface 에출력한다. 3. Admin 이정렬범주를선택한다. 4. System 은 ParkingArea object 의 parkinglot attribute 를갱신한다. 5. System 은정렬된 Car object 의 attribute 를 interface 에출력한다. N/A N/A 31
Activity 2142. GUI interface - Sort data 32
Activity 2144. Sequence diagram - Sort data Update Parking Floor 33
Activity 2141. Real use case - Modify data Use Case Modify Data Actor Admin Purpose 주차정보를임의로수정한다. Overview Type Cross Reference 관리자는차량번호로관리되는사용자의정보를수정하거나주차공간의상태및주차공간과사용자사이의이용관계등을수정할수있다. Evidence Functions: R.3.4 Use Cases: Update Parking Floor Pre-Requisites 관리자모드로로그인한상태여야한다. UI Widget Typical Courses of Events Admin Window 1. Admin 은 위치정보수정 버튼을누른다. 2. System 은 ParkingArea object 의 parkinglot attribute 를갱신한다. 3. System 은전체주차공간을출력한다. 4. Admin 이이동할주차공간을선택한다. 5. System 은교체가능한주차공간을출력한다. 6. Admin 이교체가능한주차공간중하나를선택한후 확인 버튼을누른다. 7. System 은수정할, 주차공간들이다른권한의프로그램에서수정하였는지검사한다. 8. System 은정보가수정되지않을경우, ParkingLot object 들의 car attribute 를수정한다. Alternative Courses of Events Exceptional Courses of Events 34
Activity 2142. GUI interface - Modify data 35
Activity 2144. Sequence diagram - Modify data Update Parking Floor 36
Thank you! 37