The recipes for functionally analyzing use cases have multiple outcomes. The primary outcome is a set of high-quality requirements. The second is identifying a number of system features – system functions, data, and flows. The third outcome is identifying interfaces necessary to support the behavior outlined in the use case. This recipe focuses on allocating the first two of these to the subsystem architecture.