<Software Modeling & Analysis> OSP Stage 2040 < Design > Ver 3 Team 2 김민우 201111339 김재엽 201111344 최하나 201211386 2014/05/23 1
Contents Activity2041 Design Real Activity2042 Define UI Activity2043 Refine System Architecture Activity2044 Define Interaction Diagrams Activity2045 Define Design Class Diagrams 2
Activity2041 Design Real 1. 엘리베이터이동 엘리베이터이동 Purpose User 의요청이들어오면그에맞춰엘리베이터가이동한다. Overview User 가내부버튼을선택하였을때 User 가원하는층으로이동한다. User 가 N 층에서호출을하였을때 N 층에서가장가까운캐빈이 N 층으로이동한다. System Functions : R.2.1.1, R.2.1.2 Use case : 내부층버튼선택, N 층에서호출 Pre Requisites User 가내부버튼을선택하거나 N 층에서호출을하여야한다. (A) : (=User), (S) : System 1. (A) : User 가 Floor Call Button 을선택하여 N 층으로엘리베이터를호출한다. 2. (S) : 캐빈들의이동방향을확인한다. 3. (S) : 캐빈중이동방향에 N 층이있는캐빈을우선으로선택한다. 4. (S) : 모든캐빈의이동방향에 N 층이없다면이동경로가가장짧은캐빈을선택한다. 5. (S) : 선택한캐빈을이동시킨다. (A) : (=User), (S) : System 1. (A) : 내부에서 User 가 Floor Button 을선택한다. 2. (S) : 해당캐빈의이동경로를확인한다. 3. (S) : 해당캐빈의이동방향에 N 층이있으면 N 층을이동경로에추가하고캐빈과가까운순서대로정렬한다. 3
4. (S) : 이동방향에 N 층이없으면이동방향의가장끝층뒤에 N 층과가까운순서대로추가한다. 5. (S) : 캐빈의이동경로대로이동한다. 캐빈이 User 가비상구조요청을하면이동중에고장이나거나비상정지한다. 2. 대기시간계산 대기시간계산 Purpose User 에게대기시간에대한정보를제공한다. Overview User 가스마트폰에서대기시간표현기능을사용하였을때대기시간을계산하여대기시간정보를 User 에게제공한다. System Functions : R.3.1 Use case : 대기시간표현기능 Pre Requisites User 가스마트폰에서대기시간표현기능을사용해야한다. (A) : (=User), (S) : System 1. (A) : User 가스마트폰에서 Waitting_Time_Button 을선택한다. 2. (S) : 현재캐빈들의이동방향과위치를기반으로 1 층에캐빈이도착하는시간을계산한다. ( 층간이동시간은 10 초, 승 / 하차시간은 20 초로계산한다. 실제시뮬레이터가동작하는시간과는다르다. 스마트폰에표현하기위한시간단위.) 3. (S) : 스마트폰으로 Waitting Time 정보를전송한다. 4. (A) : System 에서받은정보를 Display 에출력한다. 스마트폰과의통신에오류가생겨정보를전달할수없다면, 다시대기시간표현기능을실행한다. 4
3. 비상정지 비상정지 Purpose 비상시비상정지를한다. Overview User 가비상구조요청을하였을때비상정지한다. System Functions : R.2.4 Use case : 비상구조요청 Pre Requisites User 가비상구조요청을한다. (A) : (=User), (S) : System 1. (A) : User 가 SOS Button 을누른다. 2. (S) : Botton 정보가들어오면정보가들어온캐빈을비상정지시킨다. 3. (S) : 탑승자들이각해당정지층에서하차한다. 4. (S) : 탑승자들이전부하차후캐빈은정상작동한다. (A) : (=User), (S) : System 4. 무게초과감지 무게초과감지 Purpose 허용된무게범위를초과하였는지감지한다. Overview 탑승한사람들의무게가허용범위를초과하였는지감지한다. 5
허용범위는 970kg 이하이다. System Functions : R.2.3.2 Use case : 사람승 / 하차 Pre Requisites 사람이승 / 하차해야한다. (A) : (=User), (S) : System 1. (A) : 승객이캐빈에서승 / 하차한다. 2. (S) : 캐빈내승객들의무게를합산한다. 3. (S) : 합산한결과가 970kg 을초과하였는지감지한다. 4. (S) : 초과하였을경우해당캐빈에무게초과표시를하고더이상 User 가사람을승차시킬수없다.. 5. 내부층버튼선택 Purpose Overview Pre Requisites 내부층버튼선택 User 층 UP/Down 버튼클릭시나오는새로운윈도우에서 User 가내부층버튼을선택한다. 새로운윈도우에서 User 가내부에서가고싶은층버튼을눌러층을선택한다. 윈도우창을닫으면선택이취소된다. System Functions : R.1.1 Use case : 엘리베이터이동 내부층버튼의경우외부층버튼이선택되어있는상태여야한다. (A) : (=User), (S) : System 6
1. (A) : User 가 N_floor Button 을선택한다. 2. (S) : 캐빈의이동경로에 N 층을추가한다. 3. (S) : 해당캐빈을이동시킨다. (A) : (=User), (S) : System 6. N 층에서호출 N 층에서호출 User Purpose User 가 N 층에서엘리베이터를호출할수있도록한다. Overview User 가 N 층에서 UP/Down 버튼을누르면 N 층으로엘리베이터를호출할수있다. Pre Requisites System Functions : R.1.1 Use case : 엘리베이터이동 1 층이아닌경우 1 층에서엘리베이터를통해사람이해당층으로이동해야호출버튼 (Up/Down) 이활성화됨. (A) : (=User), (S) : System 1. (A) : User가 N층에서 Button(UP/Down) 을선택한다. 2. (A) : 목표층을선택한다. 3. (S) : 사람수가줄어들고대기수가늘어난다. 4. (S) : 엘리베이터가이동한다. (A) : (=User), (S) : System 7
7. 시뮬레이터 Status 표현 Status 표현 Purpose User 가 Status 를알수있도록시뮬레이터에표현한다. Overview 시뮬레이터에 Status 를표현한다. Status 에는캐빈의위치, 내부에서선택된층, 승 / 하차하는사람, 건물의전체적상황이포함된다. Pre Requisites System Functions : R.1.1, R.2.1.1, R.2.3.2 Use case : 엘리베이터이동, 내부층버튼선택, 사람승 / 하차 (A) : (=User), (S) : System 1. (S) : 1 초마다캐빈의위치, 내부선택, 승차중사람에대한정보를갱신한다. 2. (S) : 캐빈의위치는 cabin_position 에텍스트형태로나타낸다. 3. (S) : 사람이있는 N 층의경우버튼활성화를통해알려준다. 4. (S) : 캐빈에승차한사람들의무게 ( 혹은사람수 ) 를텍스트형태로나타낸다. 8. 무게초과 ( 만원 ) 표시 만원표시 Purpose 무게가초과되었음을 User 가알수있게표시한다. 8
Overview 무게초과가감지되면, 시뮬레이터에해당캐빈이만원이라는표시를한다. System Functions : R.1.4 Use case : 무게초과감지 Pre Requisites 무게초과가감지되야한다. (A) : (=User), (S) : System 1. (S) : 무게초과가감지부분에서무게초과여부를가져온다. 2. (S) : 무게가초과되었다면시뮬레이터에만원을표현한다. 9. 이동방향표시 이동방향표시 Purpose User 가캐빈의이동방향을알수있게표시한다. Overview 캐빈이이동할때시뮬레이터에캐빈의이동방향을표시한다. System Functions : R.1.1 Use case : 엘리베이터이동 Pre Requisites 엘리베이터가이동하고있어야한다. (A) : (=User), (S) : System 1. (S) : 엘리베이터가이동한다. 2. (S) : 이동중인캐빈의이동방향을시뮬레이터 Status 에표시한다. 9
10. 층별디스플레이 층별디스플레이 Purpose 각층의상황을 User 가알수있게디스플레이한다. Overview 각층의상황을디스플레이한다. 상황은호출의유무, 캐빈의유무를포함한다. Pre Requisites System Functions : R.2.1.2 Use case : N 층에서호출 (A) : (=User), (S) : System 1. (S) : 층의상황를 1 초마다갱신한다. 2. (S) : User 가호출하기위해선택한 Floor_Call_Button 호출할수있으면활성화안되면비활성화가된다. (A) : (=User), (S) : System 1. (S) : 캐빈이이동한다. 2. (S) : 캐빈이현재있는층을표현한다. 11. 사람승 / 하차 사람승 / 하차 User Purpose User 가시뮬레이터상에서가상으로사람을승 / 하차한다. 10
Overview 시뮬레이터상에서가상의사람을엘리베이터에승 / 하차한다. 엘리베이터가 N 층에도착하였을때 User 는임의로사람을승 / 하차시킨다. Pre Requisites System Functions : R.1.4 Use case : 무게초과감지 (A) : (=User), (S) : System 1. (A) : User가 N 층에엘리베이터를호출한다. 2. (S) : 엘리베이터가 N 층에도착한다. 3. (A) : User가사람을승 / 하차시킨다. 4. (S) : 시뮬레이션 Status 해당층의사람수를증가시킨다. User 가사람을승차시켰을때무게가초과된다면더이상사람을승차시킬수없다. 12. 비상구조요청 비상구조요청 User Purpose 비상시비상구조요청을시뮬레이터할수있다. Overview User 가엘리베이터내부에있는비상구조버튼을누르면비상구조요청을할수있다. Pre Requisites System Functions : R.1.3 Use case : 비상정지 (A) : (=User), (S) : System 11
1. (A) : User 가엘리베이터내부에서 SOS Button 을누른다. 2. (S) : 해당캐빈을비상정지한다. 사람이없거나정지한캐빈에서비상구조요청을하면, 구조요청을무시한다. 13. 대기시간표현기능 대기시간표현기능 User Purpose 스마트폰에서 User 가대기시간을알수있도록표현한다. Overview User 가현재위치에서엘리베이터를대기하는시간이얼마나되는지알수있다. Pre Requisites System Functions : R.1.2 Use case : 대기시간계산 (A) : (=User), (S) : System 1. (A) : User 가스마트폰에서 CalculTime Button 을선택한다. 2. (S) : 대기시간을계산하여 User 에게전송한다. 3. (A) : 전송받은대기시간을확인한다. 통신에실패하여데이터를전송받지못했을때 User 에게알림창을띄운다. 14. 현재엘리베이터위치표현 12
Purpose 현재엘리베이터위치표현 User 가스마트폰에서현재엘리베이터의위치를알수있게표현한다. Overview 스마트폰에서현재엘리베이터의위치를표현한다. System Functions : Use case : Pre Requisites (A) : (=User), (S) : System 1. (S) : 현재엘리베이터위치를전송한다. 2. (A) : 스마트폰에서현재엘리베이터위치를확인한다. 통신에실패하여위치를전송받지못했을때 User 에게알림창을띄운다. 15. 버튼조작 버튼조작 User Purpose 스마트폰에서원격으로버튼을조작할수있다. Overview User 가 1 층호출버튼을스마트폰으로원격으로조작할수있다. 이미호출된상태에서다시호출버튼을누르면호출이취소되지않는다. Pre Requisites System Functions : R.2.1.2 Use case : N 층에서호출 13
(A) : (=User), (S) : System 1. (A) : User가. 선택한다 스마트폰에서 Remote Control Button을 층의 Floor Call Button 이 선택되었는지 확인한다. 3. (S) : 1층의 Floor Call Button이 선택되지 않았다면, 1층으로 엘리베이터를 호출한다. 4. (S) : 1층의 Floor Call Button이 선택 되었다면, 호출을 취소하지 않고 현재 호출 상태를 그대로 유지한다. 2. (S) : 1 통신이 제대로 이루어 지지 않아 호출이 되지 않았다면 User에게 알림 창을 띄운다. Activity2042 Define UI 14
Activity2043 Refine System Architecture 15
16
Activity2044 Define Intraction Diagrams 1. 엘리베이터이동 (Floor Call) 17
2. 엘리베이터이동 (Select Floor) 3. 대기시간계산 (CalculTime) 18
4. 비상정지 () 5. 비상정지 ( ) 19
6. 무게초과감지 7. 무게초과표시 20
8. 시뮬레이션 Status 표현 9. 이동방향표시표현 21
10. 층별디스플레이 () 11. 층별디스플레이 () 12. 비상구조요청 22
13. 대기시간표현기능 14. 현재엘리베이터위치표현 23
15. 버튼조작 24
Activity2045 Define Design Class Diagrams 25