I now believe his breakthrough design decision was to delegate the graphical representation to an external tool. I have been using Chris Paine's code and I liked it very much. Some hard coded limitations in the ATRA_UML_DECIDER function module and the CL_ATRA_FACTORY class must be overridden to enhance sequence diagrams by subclassing CL_ATRA_UML (implementation of the IF_ATRA_UML_TOOL interface). SAP has provided an easy enhancement path for the UML class diagram output (subclass class CL_UML_CLASS_DECORATOR). The appealing visualization revealing actual communication patterns makes it easier to discuss separation of concern, stable interfaces and simpler protocols for objects exposing too much of their inner structure. Object oriented ABAP code defines classes while the application behavior is better explained by messages exchanged between run-time objects. When the creation cost is low, the feedback loop is short, and we can routinely use sequence diagrams to appreciate the impact of code changes on the overall system design. Our aim is to automate the sequence diagrams generation from run-time measurements. The designer must ultimately decide if the increased complexity (new classes) is justified. It is tempting to create layers of abstractions everywhere to increase flexibility, I made a more complex proposal in the use case above. method START( ), there is no ripple effect of change through the system. As long as they abide by the contract, e.g. With a stable interface, caller and called actors can change independently. The design pattern here is to evaluate which parts of the system are likely to change and to isolate those parts in new actors with carefully crafted interfaces. The second program attempts to separate concerns: the new actor LCL_MAIN exposes the business logic as a service requested by sending a START( ) message.The first diagram reveals the logic: GET_DATA( ) selects some business data, and then DISPLAY( ) implements the output / user interface. Let us compare two diagrams generated for reports from the thread Classical way to ABAP OO style of coding with the same functionality. This knowledge creates dependencies between the two and these dependencies stand in the way of change Sandi Metz says that each message requires that the sender know things about the receiver. compared with this SCN thread OO Analysis) before the system is built. This feature was never fully delivered according to SAP OSS Note 1744063: development for this function has not yet finished and therefore contains some serious errors including program terminations.Īt design time, sequence diagrams are usually created manually before the code is implemented to visualize collaboration aspects of the desired system actors. Design time sequence diagrams accelerate the discussion on stable interfaces (e.g.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |