The software architecture includes the software components, the externally visible properties of those components, and the relationships between them.
At this point the software team has a fairly clear understanding of the system requirements and constraints, both hardware and software. The team develops a fairly basic software architecture, essentially the main large structures of the system, to be refined into modules, then later into features and tasks.
Use Cases may also used at this point to further understand the needed behavior of the system. Use cases are used to understand the interactions between the system and its users. For example, use cases for a telephone exchange would specify the interactions between the telephone exchange, its subscribers and the operators which maintain the exchange.