Skip to content

seriserious/sw101_bank

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 

Repository files navigation

sw101_bank

소프트웨어 기초 E조 은행 프로그램

지누(G.NU)은행은 은행 창구에서 고객에게 대면으로만 제공했던 은행 서비스를 ATM 키오스크으로 제공하기 위해 아래 기능/비기능이 포함된 소프트웨어 시스템을 파이썬을 이용하여 만들고자 한다. 경쟁 은행인 쿠누(KUNU)은행은 이미 비슷한 서비스를 소프트웨어 시스템 기반으로 제공하고 있어, 지누 은행의 고객들은 관련 서비스가 제공되지 않아 상대적으로 불편을 호소하고 있으며, 쿠누은행으로 은행계좌를 옮기려는 움직임이 조사되었다.

은행의 요구사항:

  1. 시스템은 개인고객이 본인 계좌를 개설하거나 해지할 수 있는 서비스를 제공해야 한다. 1.1 개인고객이 본인 계좌의 개설에 필요한 정보는 '고객이름, 비밀번호, 최초 입금액' 이다. 1.2 개인고객이 본인 계좌의 해지에 필요한 정보는 '고객이름, 비밀번호' 이다. 1.3 학생이 본인 계좌를 개설할 경우, 은행은 신규 가입 선물로 학생의 최초 입금액에 만원(10,000원)을 추가하여 개설한다.

  2. 시스템은 개인고객이 본인 계좌에 돈을 입금, 인출하고, 본인 계좌의 잔액을 확인할 수 있도록 서비스를 제공해야 한다.

  3. 시스템은 법인고객의 담당자(즉, 법인의 직원)가 법인 계좌를 개설하거나 해지할 수 있는 서비스를 제공해야 한다. 3.1 법인고객이 법인 계좌의 개설에 필요한 정보는 '고객이름, 비밀번호, 최초 입금액, 법인 대표자 이름, 담당직원 이름'이다. 3.2 법인고객이 본인 계좌의 해지에 필요한 정보는 '고객이름, 비밀번호, 대표자이름, 담당직원 이름' 이다. 3.3 법인고객이 계좌를 개설할 경우, 은행은 신규 가입 선물로 최초 입금액에 십만원(100,000원)을 추가하여 개설한다.

  4. 시스템은 법인고객이 본인 계좌에 돈을 입금, 인출하고, 본인 계좌의 잔액을 확인할 수 있도록 서비스를 제공해야 한다.

  5. ATM 소프트웨어는 위의 고객 업무를 편리하게 지원하기 위해, 고객과 대화형식으로 서비스를 제공해야 한다. 5.1 ATM 서비스에 대한 '텍스트 메뉴'를 제공한다. 5.2 개인 고객이 제공한 이름, 비밀번호가 기존 정보와 일치하지 않을 경우, 관련 메시지를 안내하고 다시 처음부터 서비스를 제공한다. 5.3 법인 고객은 법인고객이 제공한 이름, 비밀번호 이외에 '대표자 이름, 담당직원 이름'에 대한 확인이 필요하다. 법인고객이 제공한 정보가 기존 정보와 일치하지 않을 경우, 관련 메시지를 안내하고 다시 처음부터 서비스를 제공한다.

  6. 시스템은 개인고객간 이체를 할 수 있는 서비스를 제공해야 한다. 6.1 상대 고객의 계좌번호 또는 이름을 아는 경우 이체가 가능하다. 6.2 이체 한 건당 이체 수수료는 '1000원'이다.

  7. 시스템은 한 고객이 은행 업무를 종료한 후 다음 고객이 계속해서 은행 업무를 볼 수 있도록 무중단 운영되어야 한다.

  8. 시스템은 고객이 제공한 비밀번호가 일치하지 않을 경우, 비밀번호 일치 여부를 5회까지 시도하고, 그래도 비밀번호가 일치하지 않을 경우, 적절한 메시지를 출력하고, 해당 고객이 5분 후 접속할 수 있도록 안내메시지를 제공한다.

  9. 시스템은 간략하고 이해하기 쉽게 고객의 계좌정보, 거래정보를 출력해야 한다.

  10. 시스템은 사용자가 정확하지 않은 값을 입력해도 오류 없이 잘 작동해야 한다.

  11. 시스템은 지누은행의 관리자(예: 부행장)가 매일 오후 6시 이후 당일 은행 계좌를 가진 전체 고객 수, 개인고객 수, 법인고객 수, 당일의 은행 전체 잔액(잔고), 전체 입출금 내역이 담긴 보고서를 볼 수 있는 서비스를 제공한다.

은행 규칙:

  • 고객이 은행계좌를 개설할 경우, 은행 계좌는 새롭게 발행된 계좌번호와 연결되어 있다.
  • 은행에 입금/출금은 만원(10,000원) 단위로 진행한다.
  • 계좌 개설시 최소 입금액은 만원(10,000원)이다.
  • 비밀번호는 암호화하지 않는다.
  • 한 명의 고객은 한 개의 계좌만 개설할 수 있다.
  • 은행 개인고객의 종류는 학생, 직장인, 사업가로 구분된다.
  • 고객은 마이너스 금액을 입금, 인출할 수 없다.
  • 고객은 본인 계좌의 잔액보다 더 많이 인출할 수 없다.
  • 입출금 거래가 끝나면 고객 계좌의 잔액은 정확해야 한다.

가정:

  • 고객 중 이름이 같은 사람은 없다.
  • 여러 명의 개인고객, 법인고객이 지누은행을 이용하고 있다.
  • 법인고객의 법인 대표자는 한 명만 있는 것으로 가정한다.

About

소프트웨어 기초 E조 은행 프로그램

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%