DEV Community

loading...

How I Split Work: Add all the cases

miniscruff
Quality focused web developer who is also really lazy and automates everything
・3 min read

Now that we have a rough outline of what sort of flow we have we want to fill in some of the gaps. At this point, we have to go back through all of our notes to make sure we do not forget anything. It is basically now or never, although not really but we can pretend.

So anything in our flow chart that is vague or is many smaller pieces we will now break down. Once we break it down we will then handle any bad edge cases and take note of them. We have not decided what will happen for these but we can mark them.

Break it down

Check to see if the ticket is available

There is nothing related to this block that we need to break down, we will be going over this in the next part.

Find the cost of the ticket

This was mentioned during the pitch that we have ignored since. Now we can add those details back.

  1. Cheapest tickets during the week before 6 pm
  2. Middle tickets during the week after 6 or weekends before 4
  3. Expensive tickets weekends after 4

Note: There are 6 ( 3 ticket prices for child and adult tickets ) values here we do not have, but that is fine. In fact, we could probably pull out the times as parameters in case they end up changing.

Apply all discounts

This one we got back during the pitch as well, just a few different types of discounts. We do not yet know how much or how they combine, we will have to get that answered later ( hint hint ).

  1. Military discounts
  2. Senior discounts
  3. Special promotions

Sum all tickets for a total

While going through this process you remember that we need to apply a sales tax, so we can add that now.

  1. Add X% sales tax to subtotal for a total

Throw your hands up

Now that we have some more details on our blocks, lets now focus on cases that might cause the order to be aborted. We do not know what to do about it yet, but we can mark it down.

Check to see if the ticket is available

  1. Is there a movie playing at the requested time?
  2. Are we trying to buy a child ticket during adult Monday?

Sum all tickets for a total

  1. What if the customer did not give us enough money?

Print out tickets / receipt

We are going to assume that the printer works just fine, so no edge cases here. In practice, we would want to catch failures here as well but to keep this a little smaller we will ignore it.

Recap

That is it, we should have enough details here to present a pretty well thought out plan to our lead or clients.

Flow chart of the movie program up to this point

The flow chart is a bit squirrely at this point which is half cause I do not use draw.io much and half cause we just added a bunch more to our rough draft. This is expected, we will redo it a little later to be cleaner.

You should see some of my flow charts, 3 or 4 iterations of a rough draft on one page, it gets really bad. For this reason, I like to use a small binder instead of a traditional notebook. It lets me rearrange my pages at will and I can swap between grid and lined pages.

Thanks for reading.

Discussion (0)

Forem Open with the Forem app