Software Modeling & Analysis Global ATM System Project Team 1 Team Date 2018-03-31 Team Information 201311287 엄현식 201311318 최정헌 201611293 전다윤
목차 Activity 1001. Define Draft Plan... 4 1. Motivation... 4 2. Project Objectives... 4 3. Functional Requirements... 4 4. Non-Functional Requirements... 4 5. Resource Estimation... 5 6. Other Information... 5 Activity 1002. Create Preliminary Investigation Report... 5 1. Alternative Solutions... 5 2. Project Justification... 5 3. Risk Management... 6 4. Risk Reduction plan... 6 5. Market Analysis... 7 6. Other Managerial Issues... 7 Activity 1003. Define Requirements... 7 1. Functional Requirements... 7 2. Performance Requirements... 7 3. Operating Environments... 8 4. Development Environments... 8 Activity 1004. Record Terms in Glossary... 8 Activity 1006. Define Draft System Architecture... 8 Activity 1007. Define Business Use Case... 9 1 Determine System boundary... 9 2 Identify and Describe Actors... 9 3 Identify Use-Case... 9
4 Allocate system functions into Related Use-Cases... 10 5 Categorize Use-Cases... 11 6 Identify the relationships between Use-Case... 11 7 Draw a Use-Case diagram... 13 8 Describe Use-Case... 14 9 Rank Use-Case... 16 Activity 1008. Define Business Concept Models... 16 Activity 1009. Test Case... 17 Activity 1010. Refine Plan... 18 1 Project Scope... 18 2 Project Objectives... 18 3 Functional Requirements... 19 4 Performance Requirements... 19 5 Operating Environment... 19 7 Scheduling... 19 8. Configuration Management... 20 9. Quality Assurance Plan... 20
Activity 1001. Define Draft Plan 1. Motivation 작년 7 월카카오뱅크의등장으로기존금융업계가크게흔들리고있다. 금리, 수수료면제는물론스마트폰만있다면쉽고간편한송금, 조회, 입금, 출금이실현되었기때문이다. 이러한핀테크 (fintech)* 의발전으로기존오프라인은행의필요성마저사라지고있다. 이흐름속에서 ATM 은어떻게변화해야할까? 이번설연휴의해외여행객은 4 만 4700 명으로작년보다 15.5% 나증가했다고한다. 또한평창올림픽의여파로국내로여행오는외국여행객도증가하고있다. 핀테크의위협에서안전하고여행객들의수요를충족할수있는 환전 을 ATM 과접목시켰다. 또한외국인관광객의교통카드발급 / 이용에대해기존의방법은너무복잡하고잔액이어중간하게남기때문에외국계좌와연동된교통카드를발급해주는기능을접목시켰다. 인천공항을방문하는여행객들을위한 Global ATM 을개발하게되었다. * 핀테크 (fintech) : 금융 (finance) 과 기술 (technology) 이결합한서비스를뜻함 2. Project Objectives - 안전하고빠른현금거래 ( 입 / 출금 ) 를수행한다. -여행객들에게외국계좌와연동된교통카드를발급해준다. - 인천공항을방문하는여행객 ( 한국인, 외국인 ) 이쉽고빠르게환전하도록돕는다. 3. Functional Requirements - Check - Deposit - Withdraw - Transfer - Update - Status Alarm - Management - Issue TrafficCard - Verify Sufficient Fund 4. Non-Functional Requirements - 외국인, 내국인이쉽게이해할수있는직관적인인터페이스여야한다. - 적절한본인인증을통해, 타의혹은악의적인접근을막을수있어야한다.
- ATM 은항상적정량의현금을소지하고있어야한다. 5. Resource Estimation 1)Human Resource : 3 명 2)Project Duration : 3 개월 3)Human Efforts : 12 4)Cost : 3,000,000 원 6. Other Information - 환율정보를가지고고려하여환전을돕는다. Activity 1002. Create Preliminary Investigation Report 1. Alternative Solutions 1)ATM 제작업체에게제안한다. 2) 개발업체에게제작을의뢰한다. 3) 직접개발한다. 4) 직접개발한다 를선택하여진행한다. 2. Project Justification 1) Cost : 노동력이외에지출이없어저렴하다 2) Project Duration : 3 개월 3) Risk : 개발역량, 디자인역량, 결석하고나들이가고싶게만드는따스한봄날씨, 막상하는것도없으면서괜히들뜨는축제기간, 암걸리는신공학관엘리베이터 4) Effect -인천공항을방문하는여행객이쉽게환전을처리할수있도록돕는다. -명세표를문자로확인할수있다. -관리자가쉽게관리할수있도록알림 ( 기기오류 / 현금부족 / 현금포화 ) 이간다.
3. Risk Management Risk Probability Significance Weight 개발역량 5 10 50 디자인역량 5 3 15 나들이가고싶게만드는따스한봄날씨막상하는것도없으면서괜히들뜨는축제기간 3 3 9 4 7 28 암걸리는신공학관 엘리베이터 5 10 50 4. Risk Reduction plan Risk Way of Reduction 개발역량구글링을활용하거나서적을참고한다. 디자인역량나들이가고싶게만드는따스한봄날씨막상하는것도없으면서괜히들뜨는축제기간암걸리는신공학관엘리베이터 디자인과학생에게꿀팁을전수받는다어차피나들이갈애인도없다어차피하는것도없는데심장아나대지마건대병원에서암을치료하는게더빠를듯하다
5. Market Analysis 기존 ATM 의인터페이스는버튼이너무많고복잡하다. 인천공항에환전전용 ATM 이 존재하지만, 한국인을초점으로설계되어외국인이한화로환전하기어려운구조이다 6. Other Managerial Issues 1)2018 년 6 월까지 Project 를완성해야한다. Activity 1003. Define Requirements 1. Functional Requirements No. Function Description 1 Check 계좌잔액확인 2 Deposit 현금을받아, 확인하고, 계좌에증가 3 Withdraw User 가원하는현금만큼계좌에서차감하여현금으로교환 4 Transfer User 가원하는금액만큼입력한타계좌로이동 5 Update 거래내역업데이트 6 Status Alarm ATM 현금 / 교통카드 / 명세표소지량경고알림 7 IssueTrafficcard 외국계좌와연동된교통카드발급 8 Management 관리자가 ATM 안현금을관리한다. 9 Verrify SufficidentFund 송금 / 출금의경우 User 가사용하는계좌안의금액이원하는금액보다많은지확인한다. Ref. Function Category R.1.0 Check Evident R.1.1 Deposit Evident R.1.2 Withdraw Evident R.1.3 Transfer Evident R.1.4 Issue TrafficCard Evident R.2.0 Update Hidden R.2.1 Verify Sufficient Fund Hidden R.2.2 Status Alarm Hidden R.3.0 Management Evident 2. Performance Requirements
외국인도쉽게이해할수있는인터페이스를가지고있는다. User 가정확하게거래내용을확인할수있도록한다. 적절한인증을통하여타의 / 악의적인접근을막는다. 3. Operating Environments 1) OS : Window 7 2) 개발언어 : JAVA 4. Development Environments 1) OS : Window 7, Mac OS 2) IDE : Eclipse 3) 개발언어 : JAVA Activity 1004. Record Terms in Glossary Function Item Confirm Verify Sufficient Fund Check Deposit Withdraw User Transfer Receipt Admin TrafficCard IssueTrafficCard Activity 1005. Category 카드 / 통장본인인증충분한잔액확인잔고확인입금출금 Customer 송금명세표 ATM 관리자 ATM 에서지급하는 TrafficCard( 이용할때마다계좌에서금액이빠져나간다.) TrafficCard 발급 - 생략 - Activity 1006. Define Draft System Architecture
Activity 1007. Define Business Use Case 1 Determine System boundary 2 Identify and Describe Actors 2.1 User ATM System 을예금조회, 인출, 송금, 입금용도로사용하는객체 2.2 Admin ATM 을관리하는객체 3 Identify Use-Case 3.1 Use-case by actor-based
3.1.1 User 3.1.2 Administrator 3.1.3 Use-case by event-based 4 Allocate system functions into Related Use-Cases Ref. Function Use-Case R.1.0 Check Check R.1.1 Deposit Deposit R.1.2 Withdraw Withdraw R.1.3 Transfer Transfer R.1.4 Issue TrafficCard Issue TrafficCard R.2.0 Update Update R.2.1 Verify Sufficient Fund Verify Sufficient Fund R.2.2 Status Alarm Status Alarm
R.3.0 Management Management 5 Categorize Use-Cases Use-case Number & Name 1. Check Primary 2. Deposit Primary 3. Withdraw Primary 4. Transfer Primary 5.IssueTrafficCard Primary 6. Update Primary 7. Verify Sufficient Fund Primary 8. Status Alarm Secondary 9. Management Secondary Category 6 Identify the relationships between Use-Case
7 Draw a Use-Case diagram
8 Describe Use-Case Use Case 1. Check Actors User, System Description User 가 Item 을통해서자신의계좌잔액을확인한다. System 은본인인증을요구한다. User 는 Receipt 출력을선택할수있다. Use Case 2. Deposit Actors User, System Description User 가 Item 을통해서자신의계좌에입금한다. User 는입금하는금액을 ATM 에넣어주어야한다. User 는 Receipt 출력을선택할수있다. Use Case Actors 3. Withdraw User, System
Description User 가 Item 을통해서자신의계좌에출금한다 System 은본인인증을요구한다. User 는출금할금액을 ATM 에입력한다. User 는 Receipt 출력을선택할수있다. Use Case Actors Description 4. Transfer User, System User 가 Item 을통해서자신의계좌의돈을다른계좌에송금한다 System 은본인인증을요구한다. User 는송금할계좌를입력한다. User 는출금할금액을 ATM 에입력한다. User 는 Receipt 출력을선택할수있다. Use Case 5.Issue TrafficCard Actors User, System Description User 가 Item 을통해서자신의계좌와연계된 TrafficCard 구매한다. System 은본인인증을요구한다. User 는 TrafficCard 사용기간을입력한다. System 은 User 의계좌잔액이 TrafficCard 값보다큰지확인한다. System 은 User 의계좌에서 TrafficCard 값을결제한다. System 은 TrafficCard 를발급한다. Use Case 6. Update Actors System Description User 가 Deposit / Withdraw / Transfer 하면서바뀐계좌정보 ( 잔액, 거래내역 ) 을은행계좌에 Update 한다. User 가 Issue TrafficCard 하면서바뀐정보 (TrafficCard 연결,TrafficCard 정보 ) 를 Update 한다. Use Case Actors Description 7. Verify Sufficient Fund System. User 가 Item 을통해서자신의계좌에잔액이송금 / 출금하려는금액보다많은지확인한다.
잔액이송금 / 출금하려는금액보다적은경우, User 에게잔액이부족하다는 알람을준다. Use Case Actors Description 8. Status Alarm System, Admin User 가 Deposit 한경우, ATM 안현금이기기가감당할수없을정도로클때 Admin 에게알람을준다. ATM 안의현금이 User 가 Withdraw 한경우, ATM 안현금이 User 가사용하는데지장을줄정도로작을경우 Admin 에게알람을준다. User 가 Issue TrafficCard 한경우, ATM 안 TrafficCard 의개수가 User 가사용하는데지장을줄정도로작을경우 Admin 에게알람을준다. ATM 안의현금이 User 가명세표출력을원한경우, ATM 안명세표가 User 가사용하는데지장을줄정도로작을경우 Admin 에게알람을준다. Use Case 9.Management Actors System, Admin Description Admin 이현금 / 교통카드를 ATM 에추가 / 감소한다. 9 Rank Use-Case Use-case Number & Name 1. Check High 2. Deposit High 3. Withdraw High 4. Transfer High 5.IssueTrafficCard High 6. Update Medium 7. Verify Sufficient Fund Medium 8. Status Alarm Low 9. Management Low Category Activity 1008. Define Business Concept Models
Activity 1009. Test Case Ref. Function Test Case R.1.0 Check - User 가외국 / 한국은행계좌잔액 ( 외화 / 한화 ) 을확인할수있는지확인한다. -Receipt 가제대로출력되는지확인한다. R.1.1 Deposit - 한국은행계좌-한화제대로입금되는지확인한다. -외국은행계좌-외화 ( 달러 ) 가제대로입금되는지확인한다. -외화( 달러 ) 를한국은행계좌로입금하는경우환율을계산해서제대로한화로입금되는지확인한다. -한화를외국은행계좌로입금하는경우환율을계산해서제대로외화 ( 달러 ) 로입금되는지확인한다. -Receipt 가제대로출력되는지확인한다. R.1.2 Withdraw - 한국은행계좌-한화제대로출금되는지확인한다. -외국은행계좌-외화 ( 달러 ) 가제대로출금되는지확인한다. - 한국은행계좌에서외화 ( 달러 ) 로출금하는경우환율을계산해서제대로외화 ( 달러 ) 로출금되는지확인한다. -외국은행계좌에서한화를출금하는경우환율을계산해서제대로한화로출금되는지확인한다. -Receipt 가제대로출력되는지확인한다. R.1.3 Transfer - 한국은행계좌-한국은행계좌로한화가제대로송금되는지확인한다. -외국은행계좌-외국은행계좌로외화 ( 달러 ) 가제대로송금
되는지확인한다. - 한국은행계좌에서외국은행계좌로송금하는경우환율을계산해서제대로외화 ( 달러 ) 로송금되는지확인한다. -외국은행계좌에서한국은행계좌를송금하는경우환율을계산해서제대로한화로송금되는지확인한다. -Receipt 가제대로출력되는지확인한다. R.1.4 Issue TrafficCard -외국은행계좌 / 한국은행계좌에서교통카드금액이제대로결제되는지확인한다. R.2.0 Update - Deposit / Withdraw / Transger 거래이후, 거래내역이제대로 Update 되는지확인한다. -Issue TrafficCard 거래이후, TrafficCard 정보가제대로저장되는지확인한다. R.2.1 Verify Sufficient Fund -요구한금액만큼통장잔고가없는경우. 인출 / 송금을못하는지확인한다. -통장잔고가요구한금액보다많을경우인출 / 송금이제대로이루어지는지확인한다. R.2.2 Status Alarm -교통카드개수가부족할경우, admin 에게 Alarm 을주는지확인한다. -명세표가부족할경우 admin 에게 Alarm 을주는지확인한다. -한화/ 외화 ( 달러 ) 가부족할경우 admin 에게 Alarm 을주는지확인한다. R.3.0 Management -Admin 이 ATM 안현금 ( 한화 / 외화 ), TrafficCard 를넣을수이있는지확인한다. -Admin 가넣은현금 ( 한화 / 외화 ), TrafficCard 를 ATM 에서 Update 할수있는지확인한다. Activity 1010. Refine Plan 1 Project Scope 지금구축하는 ATM System 은기존의 ATM 와마찬가지로예금조회, 인출, 입금, 송금기능, 교통카드발행기능을수행하고있습니다. 여기서외화 ( 달러 ) 를이용한거래, 교통카드발행을가능하게함으로써타시스템과경쟁력을가질수있도록합니다. 2 Project Objectives
Global ATM System 을개발하여기존 ATM 기기의기능을외화 ( 달러 ) 로도가능하게 함으로써여행객 ( 외국 / 내국인 ) 들에게조금더편한거래를할수있도록한다. 교통카드를발행함으로서더여행객에게유용한서비스를제공한다. 3 Functional Requirements - Check - Deposit - Withdraw - Transfer - Update - Status Alarm - Management - Issue TrafficCard 4 Performance Requirements - 적절한본인인증을통해, 타의혹은악의적인접근을막을수있다. - ATM 은적절한현금을보유하고있어야한다. 5 Operating Environment 1) OS: Windows 7, Windows 10 2) IDE: Eclipse 3) 개발언어 : Java 6 Resources 6.1 Human Resource : 3 명 6.2 Project Duration : 10 주 6.3 Budget 3,000,000 원 7 Scheduling Phase(00x0)/Activity(000x) 1 2 3 4 5 6 7 8 9 10 1001.DefineDraft Plan 1002. Create Preliminary Investigation Report 1003. Define Requirements 1004. Record Terms in Glossary 1005. Implement Prototype 1006. Define Use Cases
1007. Define Draft Conceptual Model 1008. Define Draft System Architecture 1009. Refine Plan 2010. Revise Plan 2020. Synchronize Artifacts 2030. Analyze 2031. Define Essential Use Case 2032. Refine Use Case Diagrams 2033. Refine conceptual Model 2034. Refine Glossary 2035. Define System Sequence Diagrams 2036. Define Operation Contracts 2037. Define State Diagrams 2038. Refine System Test Case 2039. Analyze (2030) Traceability Analysis 2040. Design 2041. Define Real Use Cases 2042.Define Reports, UI and Storyboards 2043. Refine System Architecture 2044. Define Interaction Class Diagrams 2045. Define Design Class Diagrams 2046. Define Database Schema 2047. Define Database Schema 2050. Construct 2051. Implement Class & Interface Definition 2052. Implement Methods 2053. Implement Windows 2053. Implement Reports 2055. Write Unit Test Code 2060. Test 2061. Unit Testing 2062. Integration Testing 2063. System Testing 2064. Performance Testing 2065. Acceptance Testing 2066. Documentation Testing 8. Configuration Management 사이트의기본적인기능이나그용어에는변화가없다. 9. Quality Assurance Plan 정해진기간내에요구하는기능들을수행한다