Software Requirement Analysis for Electronic Door Lock System Project Team 4 종중정강 Date 2013-10-02 Team Information Minku Kang, kmg0711@naver.com Sun Jung Ahn, a0917sj@naver.com Jong Chan Lee, zong925@naver.com Jung Han Choi, smohi@naver.com 1
1. Introduction 1.1 Purpose 1.2 Scope 1.2.1 개발팀 1.2.2 제한사항 1.2.3 제품의활용도 1.3 Definition, acronyms, and abbreviations 1.4 Reference 1.5 Overview 2. Overall Description 2.1 Product perspective 2.2 Product functions 2.2.1 Lock System( 잠금장치 ) 2.2.2 Unlock System( 잠금해제장치 ) 2.2.3 Background Light( 백라이트 ) 2.2.4 Alarm( 알람음 ) 2.2.5 Door O/C Sensor( 문닫힘감지 ) 2.3 User characteristics 2.4 Constraints 2.5 Assumptions and dependencies 3. Structured Analysis 3.1 System Context Diagram 3.1.1 Basic System Context Diagram 3.1.2 Event List 3.1.3 The System Context Diagram 3.2 Data Flow Diagram 3.2.1 DFD Level 0 3.2.1.1 DFD 3.2.1.2 Process Specification 3.2.1.3 Data Dictionary 3.2.2 DFD Level 1 3.2.2.1 DFD 3.2.2.2 Process Specification 3.2.2.3 Data Dictionary 3.2.3 DFD Level 2 3.2.3.1 DFD 3.2.3.2 Process Specification 3.2.3.3 Data Dictionary 3.2.4 DFD Level 3 3.2.4.1 DFD 3.2.4.2 Process Specification 3.2.4.3 Data Dictionary 4. State Transition Diagram 4.1.1 State Transition Diagram for 2.1.1 4.1.2 Data Dictionary 4.2.1 State Transition Diagram for 2.1.1 5. Overall DFD 2
1. Introduction 1.1 Purpose Electronic Door Lock System( 이하도어락 ) 을만들기위한개발의기초방향을잡는다. 1.2 Scope 1.2.1 개발팀 학과 학번 이름 컴퓨터공학부 201011307 강민구 컴퓨터공학부 201011341 안선중 컴퓨터공학부 201011356 이종찬 컴퓨터공학부 201010768 최정한 1.2.2 제한사항 H/W( 배터리, 버튼, 센서등 ) 와의호환성을고려하지않으므로구동을확인할 Visualization 을고려하여개발한다. 1.2.3 제품의활용도본 S/W 를완성하면현관에설치하여사용하는도어락을가상에서구동해볼수있으며, 그에대한예외사항등을확인해볼수있다. 1.3 Definition, acronyms, and abbreviations S/W : Software H/W : Hardware Manual Lock : 수동개폐장치. O/C(Open/Closed) : 문의열림 / 닫힘상태. L/U(Lock/Unlock) : 잠금장치의잠금 / 열림상태. 키커버 : 도어락의숫자버튼을덮고있는커버. 위로들어올리면열린다. 카드키 : 사전에인가된카드가 Card Sendor 로입력되었을경우, 각카드를구분하기위해각카드에는고유의번호를부여하는데, 이것을카드키 (Card Key) 라고한다. 1.4 Reference - IEEE Std. 830-1998 1.5 Overview 본요구분석서의전체적인구성은각장치에대한대략적인역할을설명하고그장치사이의관계를 DFD(Data Flow Diagram) 를통해설명한다. 2. Overall Description 2.1 Product perspective 본 S/W 는사용자의요구사항에맞게좀더효율적이고치밀한설계를통해이후구현시설계에서잘못되어발생되는오류들을최대한줄이고자한다. 2.2 Product functions 2.2.1 Lock System( 잠금장치 ) 2.2.1.1 Auto Lock Device( 자동잠금장치 ) - 문닫힘상태가지정된시간동안지속되면외부의입력과는상관없이자동으로잠금상태로전환한다. 2.2.1.2 Manual L/U Device( 수동개폐장치 ) - 사용자가버튼을이용하여잠금상태를임의로전환할수있다. 2.2.2 Unlock System( 잠금해제장치 ) 2.2.2.1 Unlock by P/W(P/W 를통한잠금해제 ) - 사용자가미리저장된 P/W 를입력하여잠금장치를해제할수있다. 3
2.2.2.2 Unlock by Card Key( 카드키를통한잠금해제 ) - 사용자가미리승인된카드를사용하여잠금장치를해제할수있다. 2.2.2.3 Manual L/U Device( 수동개폐장치 ) - 사용자가버튼을이용하여잠금상태를임의로전환할수있다. 2.2.3 Background Light( 백라이트 ) - 사용자가도어락의덮개를열면지정된시간동안백라이트가밝혀진다. 2.2.4 Alarm( 알람음 ) 2.2.4.1 Alarm1 ( 알람음 1) - 사용자가올바른 P/W 를입력하여잠금장치가해제될시알람음 1 을울린다. 2.2.4.2 Alarm2 ( 알람음 2) - 사용자가잘된못 P/W 를입력했을시알람음 2 를울린다. 2.2.4.3 Alarm3 ( 알람음 3) - 사용자가 P/W 를입력하는동안지정된시간을초과할경우알람음 3 을울린다. 2.2.5 Door O/C Sensor( 문닫힘감지 ) - 도어락에부착된본센서를통해문의개폐상태를확인한다. - 문닫힘상태가지속되었을시, Auto Lock Device 를통해잠금상태로변환할수있다. 2.3 User characteristics * 앞면 - 키커버 (Key Cover) 를열면숫자버튼 (0~9) 입력이가능하며, 키커버를열면백라이트가켜진다. - 처음사용시비밀번호를설정할수있다.(4 자리 ) - 카드키센서 (Card key Sensor) 에지정된카드를접촉시킬시, 인가된카드키일경우잠금장치가열린다. * 뒷면 - 수동개폐장치 (Manual Lock Device) 버튼을누르면잠금장치상태를바꿀수있다. * 기타 - 자동잠금장치 (Auto Lock Device) 는문이닫히고나서수초가지나면자동으로잠금장치를잠근다. 2.4 Constraints - 비밀번호는총 4 자리이며, 0000~9999 까지입력가능하다. - 카드키는전용카드키가있으며, 사전에인가받은카드키만사용가능하다. - 인가받은카드키는유일하며장치와함께제공된다. 2.5 Assumptions and dependencies * Realization 의측면 - 숫자버튼입력중에, 카드키가입력되었을경우, 카드키가우선처리된다. - 키커버에손 / 망실상황이발생되어제기능을못할경우, 키커버의마지막상태를유지한다. - 숫자버튼이동시에입력되었을경우, 입력이안된것으로처리한다. - 수동개폐장치에단시간에많은 Input 이있을경우, 가장마지막의 Input 만실행한다. - 숫자버튼과수동개폐장치가동시에입력이된경우, 수동개폐장치가우선처리된다. - 카드키와수동개폐장치가동시에입력이된경우, 수동개폐장치가우선처리된다. * Simulation 의측면 - Visualization 시앞면 ( 키커버가보이는쪽 ) 과뒷면 ( 수동개폐장치가보이는쪽 ) 을동시에보인다. - 장치중물리적으로작동해야하는장치 ( 키커버, 버튼등 ) 는키보드의 0~9( 숫자버튼 ),!( 수동개폐장치버튼 ), 5 자리의알파벳 (a~z)( 카드키 ) 로대체한다. - Back Light 의경우콘솔환경에서배경색을바꾸는것으로대체한다. - Alarm 의경우출력될경우메시지출력과동시에 Sound 를출력한다.( 소리가안날경우경보음이출력이 되는지확인하기위함임.) 4
3. Structured Analysis 3.1 System Context Diagram 3.1.1 Basic System Context Diagram 3.1.2 Event List Name Description P/W Button 사용자로부터 0~9 비밀번호를입력받는다. Manual Button 수동으로개폐를조정하는신호를입력받는다. Card Sensor 카드키가입력됐는지감지한다. O/C Detector 문의개폐상태를감지한다. Cover Sensor 도어락비밀번호입력버튼의커버의개폐상태를확인한다. Lock/Unlock 도어락의잠금상태변경. Back Light 키패드의백라이트상태변경. Alarm 경보음을울린다. 3.1.3 The System Context Diagram 3.2 Data Flow Diagram 3.2.1 DFD Level 0 3.2.1.1 DFD 5
3.2.1.2 Process Specification Reference No. 0 Name Door Lock Control Input Tick, P/W Button, Manual Button, Card Senson, O/C Dectector, Cover Sensor Output L/U, Back Light, Alarm - 버튼에서는암호, 수동잠금, 센서에서는카드키, 문 Process Description 여닫힘상태, 키커버상태등의입력이들어온다. - 0에서처리를하여각각 L/U, Alarm, Back Light 의형태로출력한다. 3.2.1.3 Data Dictionary Input / Output Description Format / Type P/W Button 사용자로부터 0~9 비밀번호를입력받는다. 0~9, Interrupt Manual Button 수동으로개폐를조정하는신호를입력받는다. L/U, Interrupt Card Sensor 카드키가입력됐는지감지한다. T/F, Period O/C Detector 문의개폐상태를감지한다. T/F, Interrupt Cover Sensor 도어락비밀번호입력버튼의커버의개폐상태를확인한다. T/F, Period Lock/Unlock 도어락의잠금상태변경. T/F, Interrupt Back Light 키패드의백라이트상태변경. Light, Interrupt Alarm 경보음을울린다. Sound, Interrupt 3.2.2 DFD Level 1 3.2.1.1 DFD 3.2.1.2 Process Specification Reference No. 1 Name L/U & Cover Condition Detection Input Tick, P/W Button, Manual Button, Card Senson, O/C Dectector, Cover Sensor Output L/U Condition, Cover Condition - 버튼에서는암호, 수동잠금, 센서에서는카드키, 문여닫힘상태, Process Description 키커버상태등의입력이들어온다. - Input으로부터받은데이터의상태를처리하여 2 로넘겨준다. 6
Reference No. 2 Name L/U & Sound & Light Control Input L/U Condition, Cover Condition Output L/U, Alarm, Back Light Process Description 1 에서받은데이터에따라서백라이트, 경보음, 잠금 / 열림상태등을처리하여출력한다. 3.2.1.3 Data Dictionary Input / Output Description Format / Type L/U Condition 문의개폐상태. T/F, Interrupt Cover Condition 키커버의개폐상태. T/F, Interrupt Tick 시계로부터시간을받아온다. Time, Interrupt 3.2.3 DFD Level 2 3.2.3.1.1 DFD 1 3.2.3.1.2 Process Specification Reference No. 1.1 Name P/W Button Interface Input P/W Button Input, Tick Output 4자리의숫자 Process Description 0000 ~ 9999까지의숫자를입력받아서 1.6 으로전달한다. Reference No. 1.2 Name Manual Button Interface Input Munual Button Input, Tick Output Munual Button의입력여부 Process Description 사용자로부터 Button Input이발생되면 1.6 으로그상태를전달한다. Reference No. 1.3 Name Card Sensor Interface Input Card Sendor Input Output 카드키의번호 Process Description 사용자로부터카드키를입력받아서 1.6 으로전달한다. 7
Reference No. 1.4 Name O/C Detector Interface Input O/C Detector Input Output O/C Condition Process Description 문의개폐상태변화를확인한다. Reference No. 1.5 Name Cover Sensor Interface Input Cover Sensor Input Output Cover Condition Process Description 키커버의상태변화를확인한다. Reference No. 1.6 Name Determine L/U Condition Input 4자리의숫자, Munual Button 의입력여부, 카드키의번호, O/C Condition Output L/U Condition Process Description Input으로들어온데이터들의상태에따라잠금장치의 L/U 상태를저장한다. Reference No. 1.7 Name Determine Cover Condition Input ㆍ Output Cover Condition Process Description 1.5 에서키커버의상태변화가있을경우, 그상태를저장한다. 3.2.3.1.3 Data Dictionary Input Description Format / Type Determine L/U Conditions 문의개폐에관한정보를전달한다. T/F, Interrupt Determine Cover Conditions 키커버의개폐상태에관한정보를전달한다. T/F, Interrupt 3.2.3.2.1 DFD 2 3.2.3.2.2 Process Specification Reference No. 2.1 Name Main Control Input L/U Condition. Cover Condition Output L/U Command, Alarm Command, Light Command Process Description 결정되어진 L/U와 Cover 상태에따라 L/U, Back Light, Alarm 명령을각출력장치에전달한다. 8
Reference No. 2.2 Name L/U Interface Input L/U Command Output Lock or Unlock Process Description 2.1 로부터받은명령을통해잠금장치를 Lock 혹은 Unlock 한다. Reference No. 2.3 Name Alarm Interface Input Alarm Command Output Alarm1 or Alarm2 or Alarm3 Process Description 2.1 로부터받은명령을통해경보음1, 2 또는 3을울린다. Reference No. 2.4 Name Light Interface Input Light Command Output Back light Process Description 2.1 로부터받은명령을통해백라이트를켠다. 3.2.3.2.3 Data Dictionary Input Description Format / Type Main Control 전달받은정보를처리하여각출력장치로명령을전달한다. T/F, Interrupt 3.2.4 DFD Level 3 3.2.4.1.1 DFD 3.2.4.1.2 Process Specification Reference No. 2.1.1 Name Main Control Input L/U Condition, Cover Condition Output L/U Command 결정되어진 L/U 상태에따라 L/U 명령을잠금장치로보낸다. - 사용자가입력한비밀번호와사전에등록된비밀번호가일치할경우, 2.1.2 로신호를보낸다. - 사용자로부터입력받은카드키와사전에등록된카드키가동일할경우, 2.1.2 로신호를보낸다. - 사용자가입력한비밀번호와사전에등록된비밀번호가일치하지않 Process Description 을경우, 2.1.3 로신호를보낸다. - 사용자로부터입력받은카드키와사전에등록된카드키가동일하지않을경우, 2.1.3 로신호를보낸다. - 사용자가수동개폐장치버튼을누를경우, 현재문의상태에따라 2.1.2 혹은 2.1.3 으로신호를보낸다. - 문이닫힌후 3초가지날경우, 잠금장치가 Unlock일경우, 2.1.3 으로신호를보낸다. 9
Reference No. 2.1.2 Name Unlock Input L/U Command Output Unlock Process Description 받은명령에따라잠금장치를 Unlock 한다. Reference No. 2.1.3 Name Lock Input L/U Command Output Lock Process Description 받은명령에따라잠금장치를 Lock 한다. 3.2.4.1.3 Data Dictionary Input Description Format / Type Trigger 2.1.1 이처리한명령에따른신호. T/F, Interrupt 3.2.4.2.1 DFD 3.2.4.2.2 Process Specification Reference No. 2.2.1 Name Main Control Input L/U Condition, Cover Condition Output Alarm Command 결정되어진 L/U 상태에따라 Alarm 명령을 Alarm1, 2, 3장치로보낸다. - 사용자가입력한비밀번호와사전에등록된비밀번호가일치할경우, 2.1.4 로신호를보낸다. Process Description - 사용자가입력한비밀번호와사전에등록된비밀번호가일치하지않을경우, 2.1.5 로신호를보낸다. - 사용자가비밀번호버튼을누른후, 10초간아무런입력이없을경우, 2.1.6 로신호를보낸다. Reference No. 2.2.2 Name Alarm 1 Input Alarm Command Output Alarm 1 Process Description 받은명령에따라경보음 1을울린다. 10
Reference No. 2.2.3 Name Alarm 2 Input Alarm Command Output Alarm 2 Process Description 받은명령에따라경보음 2를울린다. Reference No. 2.2.4 Name Alarm 3 Input Alarm Command Output Alarm 3 Process Description 받은명령에따라경보음 3을울린다. 4. State Transition Diagram 4.1.1 State Transition Diagram for 2.1.1 4.1.2 Data Dictionary Input Description Format Password Saved Memory 최초의사용자로부터받은비밀번호를저장한다. Number 4.2 State Transition Diagram for 2.2.1 11
5. Overall DFD 12