Python For Beginners

Python For Beginners

Project Requirements

application requirements

This picture is old but gold.

 

Let’s quickly define our project requirements.

This is a project where we want to learn programming in Python by making a simulation of banking software.

So, we have two goals:

  • Learn Python basics
  • Make a simulation or prototype if you like, of banking system

First goal is quite straight forward. We want to go trough this complete course, check out all the examples and do all the quizzes.

Second goal, however, needs to be described in details.

Banking System – Project Requirements

Firstly, let’s define actors in our banking system:

  • Bank – represented by bank employee
  • Client – customer of a bank
  • Account – storage for finances for a customer
  • Transaction – movement of finances/money from one part of the system to the other (i.e. from one customer to the other customer)
  • System Administrator – person responsible for proper function of system, security, events inside of the system, etc.

Secondly, let’s make a requirements in form of statements. For this, we will imagine that each actor (user) of the system has a requirement (a story) which we need to implement in our software.

Here is a couple of requirements/stories which describe what do we want to do if we are a bank (meaning bank employee):

  • As bank employee, I want to be able to create new clients in our system.
  • As bank employee, I want to be able to delete or close current clients in our banking system.
  • As bank employee, I want to be able to create new accounts (banking accounts)
  • As bank employee, I want to be able to delete existing banking accounts.
  • As bank employee, I want to be able to assign client to some account (to assign ownership).

Now, if we are using our software as a Client, this is what we want to do:

  • As client, I want to be able to login to banking system.
  • As client, I want to be able to logout from banking system.
  • As client, I want to be able to change my email.
  • As client, I want to be able to make transfers between accounts.
  • As client, I want to be able to withdraw money from my account (using ATM for example).
  • As client, I want to be able to make deposit to my account.

Finally, as system administrator or security auditor, this is what we want do to:

  • As system administrator, I want to be able to examine events (logs) inside of the system.

Now, when we defined requirements for our software, let’s continue with the next lesson and write technical specifications for these requirements.

 

 

Leave a Comment