Reverse Engineering Outputs
Reverse engineering has several useful outputs:
Models. The model conveys the software's scope and intent. An incomplete model is often sufficient for judging product quality.
Mappings. You can tie model attributes to database fields. This can be useful if you need to integrate vendor software with other systems or must convert legacy data to load the vendor database.
Logs. Reverse engineers should record their observations and pending questions. A log documents decisions and rationale.
Evaluations. Reverse engineers can explicitly judge the quality of a database. I recommend assigning a grade that reflects the design's consistency and the extent of errors.