In this chapter, we designed and implemented a non-trivial program to keep track of a company's inventory. Using the divide-and-conquer approach, we split the program into individual modules and then looked at the functionality that each module would need to provide. This led us to a more detailed design of the functions within each module, and we were then able to implement the overall system one step at a time. We discovered that some functionality had been overlooked and had to be added after the design was complete, and saw how modular programming makes it less likely for these types of changes to break your system. Finally, we had a quick play with the inventory control system to make sure it works.
In the next chapter, we will learn more about the nuts and bolts of how modules and packages work within Python.