A NEW CSE ATM OOPT Stage 1000 Project Team T3 Date 2017-04-17 ----------------------------------- Team Information 201311299 이원오 201311301 이재규 201311309 전홍준
INDEX 1. Activity 1001. Define Draft Plan 2. Activity 1002. Create Preliminary Investigation Report 3. Activity 1003. Define Requirements 4. Activity 1004. Record Terms in Glossary 5. Activity 1005. Implement Prototype 6. Activity 1006. Define System Architecture 7. Activity 1007. Define Business Use Case 8. Activity 1008 Define Business Concept Model 9. Activity 1009 Define System Test Case 10. Activity 1010 Refine Plan
1. Activity 1001. Define Draft Plan 1.1 Motivation ATM은 Automated Teller Machine 의약자로고객이은행창구에가지않고서도업무를처리할수있는현금자동지급기이다. 은행창구에가지않고예금자자신이조작하여현금입출금, 계좌이체, 잔액조회, 통장기장등의업무를처리할수있어창구업무의생력화차원뿐만아니라금융기관간의서비스차별화차원에서현금자동입출금기의다기능화가진행되고있다. 이러한추세에맞추어기존의 ATM 단점을최소화하고장점을극대화하는방향으로개발하는게좋다고생각하여진행을하게되었다. 1.2 Project Objectives - 직접은행창구에가서입출금, 이체, 조회등의업무를하는것은많은시간이걸리고비효율적이기때문에 ATM의개발을통해이것을해결한다. - 기존의 ATM의단점을최소화하고장점을극대화하여조금더발전된 ATM을개발하여본다. 1.3 Functional Requirements - Deposit - Withdraw - CheckBalance - Transfer - SizeUp - Language - RobberyReport - AddCash
- CheckCash - Load - Store - Check 1.4 Non-Function Requirements - 직관적인인터페이스 1.5 Resource Estimation - Human Resource : 3명 - Project Duration : 3개월 ( 12주 ) - Human Efforts(Man-Month) : 9 - Cost : 1,260,000 원 (7000 원 / 일 x 3명 x 5일 / 주 x 12주 ) 2. Activity 1002. Create Preliminary Investigation Report 2.1 Alternative Solutions - 개발전문업체에프로그램제작을의뢰한다. - 기존존재하는 ATM 프로그램을구매한다. - 주변지인들을활용하여문제를해결한다. 2.2 Project Justification(Business Demands) - Cost : 개발전문업체에비해비용이저렴하다. - Duration : 12주 - Risk : OOPT 이해부족, JAVA 이해부족, UML 경험부족, 알바및과외로인한시간부족, 디자인능력부족 - Effect : 유지보수의이점, 기존의 ATM에비해강화된기능
2.3 Risk Management Risk Probability Significance Weight OOPT 이 4 5 20 해부족 JAVA 이해 3 5 15 부족 UML 경험 3 3 9 부족 알바및 4 2 8 외로인한시간부족 디자인능력부족 3 2 6 2.4 Risk Reduction Plan Risk OOPT 이해부족 JAVA 이해부족 UML 경험부족알바및외로인한시간부족디자인능력부족 Reduction Plan 강의자료를공부하며교수님, 조교에게자문을구한다 Java 관련서적을통해공부를하거나관련사이트를참고한다. UML에대한공부를통해확실히이해후진행한다. 알바와과외시간조정을통해해결한다. 인터넷이나관련도서를통해미적감각을증진한다. 2.5 Market Analysis
- 기존의 ATM에서제공되는기능외에추가적인기능을요구하는추세여서시장성이높다. 2.6 Other Managerial Issues -2017 년 6 월까지개발이완료되어야한다 3. Activity 1003. Define Requirements. 3.1 Functional Requirements Function Description Deposit User가사용할카드나통장에서요청한금액만큼돈을받은뒤, 입금을해준다 Withdraw User가사용할카드나통장에서요청한금액만큼돈을출금해준다. Transfer User가입력한카드나통장에서목적계좌에돈을이체한다. Language 화면의인터페이스를쓰고싶은언어로선택한다. Check Balance User가원하는카드나통장의잔고를확인한다. Size Up 화면의인터페이스를확대한다. Robbery Report User가도난신고한카드의정보를저장한다. Add Cash 관리자가요청한금액만큼 ATM의현금을추가한다. Check Cash ATM의현금잔액을확인한다. Load database로부터정보를가져온다. Store Database로바뀐정보를올린다. Check 정보를비교해서바뀐내용을바꾼다. Ref Function Category R.1 Deposit Evident R.2 Withdraw Evident R.3 Check Balance Evident R.4 Transfer Evident R.5 Language Evident R.6 Robbery Report Evident R.7 Size Up Evident R.8 Add Cash Evident R.9 Check Cash Evident
R.10 Load Hidden R.11 Store Hidden R.12 Check Hidden 3.2 Performance Requirements -2017 년 6 월까지개발이완료되어야한다 3.3 Operating Environments - Microsoft Windows 7 이상 3.4 Develop Environments - 운영체제 : Window 7, 10 - CPU : Intel - IDE : Eclipse - 개발언어 : JAVA - UML 툴 : StarUML 3.5 Interface Requirements - 각기능은사용자가메뉴를클릭하면서수행된다. 3.6 Other Requirements - N/A 4. Activity 1004. Record Terms in Glossary Glossary Admin Description 관리자모드 5. Activity 1005. Implement Prototype
- N/A 6. Activity 1006. Define Business Use Case 6.1 Define System Boundary - ATM 이라는프로그램안에모든기능들이구현. 6.2 Identify and describe actors - User : ATM 사용자 - Program : Java 기반으로이루어진 ATM 기능프로그램 - Data Base : 텍스트 (txt) 파일로이루어진계좌번호, 카드번호, 이름등의정보 6.3 Identify use cases - Use-cases by actor based
- Use-cases by event based. 6.4 Allocate system functions into relation use cases / Category Function Description Deposit - User가 Deposit 버튼 ( 입금 ) 을누른다. - 카드혹은통장을넣는다. (Insert Card / Which Card) - 해당카드혹은통장의정보를데이터베이스로부터받는다. - 입금금액을 User로부터입력받고그에따라정보를수정한다. - 변경된정보를데이터베이스에입력하고 User에게정보출력. Withdraw - User가 Withdraw 버튼 ( 출금 ) 을누른다. - 카드혹은통장을넣는다. (Insert Card / Which Card) - 해당카드혹은통장의정보를데이터베이스로부터받는다. - 출금금액을 User로부터입력받고그에따라정보를수정한다.
- 변경된정보를데이터베이스에입력하고 User에게돈을출력. Transfer - User가 Transfer 버튼 ( 이체 ) 을누른다. - 카드혹은통장을넣는다. (Insert Card / Which Card) - 해당카드혹은통장의정보를데이터베이스로부터받는다. - 보낼계좌의정보를데이터베이스로부터받는다. - 이체금액을 User로부터입력받고그에따라정보를수정한다. - 변경된정보를데이터베이스에입력하고종료. Language - User가언어선택 (Language) 버튼을누른다. - 화면에한글 / English( 영어 ) 선택화면을출력한다. - User가선택하는언어로화면의인터페이스를모두변경한다. Check Balance - User가 Check Balance 버튼을누른다. - User로부터카드나통장의번호를입력받는다. - 데이터베이스로부터해당카드나통장의정보를가져온다. - 가져온정보를화면에출력한다. Size Up - User가 Size Up 버튼을누른다. - 화면의인터페이스를변경한다. ( 글씨크기상승 ) Robbery Report - User가 Robbery Report 버튼을누른다. - User로부터도난신고할카드나통장의번호를입력받는다. - 입력받은정보를데이터베이스에등록한다. Add Cash - 관리자모드인터페이스에있는버튼 - 관리자가버튼을클릭하게되면입금할금액을물어보는화면출력 - 입력받은금액을바탕으로데이터베이스의잔액정보를수정. Check Cash - 관리자모드인터페이스에있는버튼 - 데이터베이스로부터 ATM의잔액정보를불러온다. - ATM의잔액정보를화면에출력한다.
6.5 Use case diagram
7. Activity 1007 Define Business Concept Model
8. Activity 1008 Define Draft System Architecture 8.1 Overall System Architecture - All the information saved in DB by text. 9. Activity 1009 Refine Plan 9.1 Project Scope - ATM은은행창구에가지않고예금자자신이조작하여현금입출금, 계좌이체, 잔액조회, 통장기장등의업무를처리할수있어창구업무의생력화차원뿐만아니라금융기관간의서비스차별화차원에서현금자동입출금기의다기능화가진행되고있다. 이러한추세에맞추어기존의 ATM 단점을최소화하고장점을극대화하는방향으로개발하는것이좋다고생각하여진행을하게되었다.
9.2 Project Objectives - 직접은행창구에가서입출금, 이체, 조회등의업무를하는것은많은시간이걸리고비효율적이기때문에 ATM의개발을통해이것을해결한다. - 기존의 ATM의단점을최소화하고장점을극대화하여조금더발전된 ATM을개발하여본다. 9.3 Functional Requirements _ 수정 - Deposit - Withdraw - CheckBalance - Transfer - SizeUp - Language - RobberyReport - load - store - check 9.4 Performance Requirements - 직관적인인터페이스 - 텍스트파일로구성된데이터베이스 9.5 Operating Environment - Microsoft Windows 7 이상
9.6 User Interface Requirements - 알아보기쉬운 Interface를통해서특별한설명이필요하지않은프로그램을만들고간결한화면을통해서사용자의이용을편리하게한다. 9.7 Other Requirements - N/A 9.8 Resource Estimation - Human Resource : 3명 - Project Duration : 3개월 ( 12주 ) - Human Efforts(Man-Month) : 9 - Cost : 1,260,000 원 (7000 원 / 일 x 3명 x 5일 / 주 x 12주 )
9.9 Scheduling