Major categories of software and their characteristics. This helps understand the context of the solutions being built.