Figure 12-6. Model of the software life cycle (UML class diagram). Asoftware life cycle consists of process groups, which in turn consist ofprocesses. A process accomplishes a specific purpose (e.g., requirements,design, installation). A process consists of activities, which are in turnconsists of sub-activities or tasks. Tasks represent the smallest piece ofwork that is relevant to management. Tasks consume resources andproduces one or more work products. A project is an instance of asoftware life cycle.