1 / 14

Proposed Use of UML

Proposed Use of UML. Jim Kowalkowski. Diagram Types. Class diagrams Static in nature, not concerned with objects in the running program Sequence diagrams Relates method calls of objects in time Shows the time at which method calls are made Object diagrams

Download Presentation

Proposed Use of UML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Proposed Use of UML Jim Kowalkowski

  2. Diagram Types • Class diagrams • Static in nature, not concerned with objects in the running program • Sequence diagrams • Relates method calls of objects in time • Shows the time at which method calls are made • Object diagrams • Relationships of objects in a running system • State diagrams • Many others

  3. Class Diagram Notation Basics • Inheritance • Relationships including expression of ownership • Qualities such as constant • Parameterized classes • Using relationship • Notes • Hierarchical structuring of classes

  4. Example: Inheritance

  5. Example: Templates Binding

  6. Example: Relationships

  7. Example: Parameters and Using

  8. Where it is Useful • Capturing key design concepts • Showing library or subsystem design • Recording design elements • Discussions and walkthroughs before coding starts • Reviews of already designed projects • Roadmap for implementing the subsystem

  9. Where it Helps • Preventing an implementation that does not satisfy the requirements • Preventing an explosion of classes and utilities from on-the-fly design • The relationship of classes to other parts of the system becomes visible

  10. Where it has not Been Useful • Capturing all implementation details • Generating code from the diagrams • The C++ code from the tool will likely not be your style • Mapping all the notation into C++ syntax is complex • Attempting to be very complete in the use of notation • Reverse engineering

  11. Reverse Engineering • Relationships are interpreted incorrectly • Inexperience with C++ hurts • Arrays as pointers (int*) • Vectors of pointers to objects • Division or grouping of classes is not correct • Rat’s net

  12. Difficulties • Keeping the diagrams in sync with the code after the initial implementation is complete • Expressing some generic programming concepts • type lookup within a class

  13. Summary • Great for capturing keydesign elements and not every implementation design • Good for brain storming sessions, reviews of functionality, and walkthroughs • Great as a coding/implementation guide • Not good for reverse engineering • Not good for driving the entire development cycle and doing code generation of classes

  14. Current Recommendations • Visio2000 • http://www.microsoft.com/office/visio/ • The Unified Modeling Language User Guide, G.Booch, et al., Addison Wesley, 1999.

More Related