Welcome back, today will be a short post since it doesn't need as much of an introduction. Last time was all about how we envision the end results of our system. This time is all about the beginning.
The goal of this step is to match any of our end results with what we think we will need in order to actually achieve them. This part can be tough at times but like last time, if you really have no idea what you need in the beginning you can just guess.
No really, instead of spending an hour or two recking your brain just guess. You can continue onto the next steps which will pin down if you got it right or not. Or as least in the ideal situation, sometimes it takes longer.
So without any more explanation, let's get to it. I will be taking each requirement from the last post and coming up with a best-case on what we need.
I should receive one ticket for each person
Usually, when I go to the movies I ask for tickets based on how many people I am paying for, so let's go with "Recieve a request of tickets". At this stage, we do not need to go into any more details.
My ticket should ...
We know our tickets will need a lot of data when we nail down more of what that is, we will need to either ask for it or have it be given some other way. But we can save this for later.
Note that I did not go into any details here, this might seem like I am being lazy or I am not good at planning but I prefer to call it "deferred thinking". Without going into too much detail as it will be brought up again later, what exactly is on our tickets is not required for our first pass and we can add to this as an additional pass without affecting anything else. So, instead of worrying about every detail I just skip it. Because even if I spend hours on hours thinking of this, I will most likely never get the full list ( well, in this case, I probably could but in a real problem it is much harder ). Therefore, I don't even try, I can just do it as I go later.
I should be given a printed receipt of the transaction
Not much we need to be given to print a receipt since its just a byproduct of the actual transaction with the tickets.
I should get the change back with my ticket
In order to get the change we need to be given cash, then subtract that from our cost to get the remainder. Calculating the cost of tickets is done above with our order. So we need to be given the amount of cash the customer is paying with.
Just to make it easier to look at, and cause ordered lists are great to reference later, our final list of required inputs is:
- Requested tickets for the customer
- Amount of cash they are paying with
Thank you for reading.