Visualizing Software Structure Understandability
Understanding software-based systems is a task essential not only for engineering new applications but also for evolving existing ones. For complex systems, the graphical representation of various attributes and projections contributes to such understanding. Also, scenarios have proven to greatly accelerate software understanding by capturing abstract system behavior. For existing software, abstraction based on architectural concepts is required to address the overflow of information generated by static code and dynamic executions. This paper explores a tool-supported technique for the extraction of abstract Use Case Map (UCMs) scenarios from code, and reports on work in progress through an example. UCMs, as part of the upcoming User Requirements Notation, help visualizing behavior combined with structure at the architecture level, above the level of message exchanges and component behavior. The unusual application of UCMs proposed here promises interesting visualization and abstraction benefits over conventional approaches to the reverse engineering of scenarios while maintaining traceability to the code.