When I did analysis for a living years ago, we used a subset of Unified Modeling Language (UML) and delivered the result as a Word document containing both the use cases and a class model. That format seems a bit heavy to me now, but the basic idea is still valid.
Coincidentally, the guy who taught me this process just published a book about it, which he now calls "Agile with Blueprints": https://www.agilewithblueprints.com/
You can find a sample deliverable on GitHub here: https://github.com/AgileWithBlueprints/eRecipeBoxSampleApp/b...
Caveat: It's hard to convey the value of this approach because it shines most on complex systems that are hard to wrap your head around, and it feels like overkill when used on the kind of small project that one might want to start with. That said, I learned a lot of valuable lessons from it.