摘要: Program understanding is an essential part of all software maintenance and enhancement activities. As currently practiced, program consists mainly code reading. The few automated tools that are actually used in industry provide helpful but relatively shallow information, such as the line numbers on which variable names occur or calling structure possible among system components. These rely analyses driven by nature programming language used. such, they adequate to answer questions concerning implementation details, so called what questions. They severely limited, however, when trying relate a its purpose requirements, why Application programs solve realdworld problems. world with particular application concerned application’s domain. A model domain can serve supplement programmingdlanguagedbased analysis methods tools. carries knowledge boundaries, terminology, architectures. This help analyst set expectations for content. Moreover, information how concepts related. article discusses role understanding. It presents method models, together results analyses, be answers both Representing domaindbased also important, variety representation techniques discussed. Although performed manually, tool support guide discovery, reduce effort, improve consistency, repository useful downstream activities documentation, reengineering, reuse. framework understanding, dowser, presented work make use facilitate Experience form collection case studies. After studies described, our compared other researchers working this area. paper concludes discussion issues raised directions future work.