Software architecture reconstruction is the process of analyzing an existing software system to produce an architectural representation of it. It involves extracting information from various sources like code, documentation, and profiles. This information is converted into a standard database format and combined from different sources through view fusion. The main activities of reconstruction are visualization and interaction with the views, and recognizing patterns in the code. It is an iterative process requiring both technical expertise and architectural skills to understand dependencies and evaluate how an implemented system conforms to its intended architecture.