Page 291 -
P. 291

258     Part 3  •  the analysis Process

                                         shown in the example, all dialog during a CRC session is carried out in the first person, so that
                                         even the textbook speaks: “I know my ISBN.” “I know my author.” These statements can then
                                         be used to describe attributes in UML. These attributes can be called by their variable names,
                                         such as edition and publisher.

                                         Unified Modeling Language (UML) Concepts and
                                         Diagrams

                                         The UML approach is well worth investigating and understanding, due to its wide acceptance
                                         and usage. UML provides a standardized set of tools to document the analysis and design of a
                                         software system. The UML toolset includes diagrams that allow people to visualize the construc-
                                         tion of an object-oriented system, similar to the way a set of blueprints allows people to visualize
                                         the construction of a building. Whether you are working independently or with a large systems
                                         development team, the documentation that you create with UML provides an effective means of
                                         communication between the development team and the business team on a project.
                                             UML consists of things, relationships, and diagrams, as illustrated in Figure 10.4. The first
                                         components, or primary elements, of UML are called things. You may prefer another word,
                                         such as object, but in UML they are called things. Structural things are most common. Structural
                                         things are classes, interfaces, use cases, and many other elements that provide a way to create
                                         models. Structural things allow the user to describe relationships. Behavioral things describe
                                         how things work. Examples of behavioral things are interactions and state machines. Group
                                         things are used to define boundaries. An example of a group thing is a package. Finally, annota-
                                         tional things are used to add notes to diagrams.


              Figure 10.4                          UML Category   UML Elements          Specific UML Details
              An overall view of UML and its
              components: things, relationships,   Things         Structural Things     Classes
              and diagrams.                                                             Interfaces
                                                                                        Collaborations
                                                                                        Use Cases
                                                                                        Active Classes
                                                                                        Components
                                                                                        Nodes
                                                                  Behavioral Things     Interactions
                                                                                        State Machines

                                                                  Grouping Things       Packages
                                                                  Annotational Things   Notes
                                                   Relationships  Structural Relationships  Dependencies
                                                                                        Aggregations
                                                                                        Associations
                                                                                        Generalizations

                                                                  Behavioral Relationships  Communicates
                                                                                        Includes
                                                                                        Extends
                                                                                        Generalizes
                                                   Diagrams       Structural Diagrams   Class Diagrams
                                                                                        Component Diagrams
                                                                                        Deployment Diagrams

                                                                  Behavioral Diagrams   Use Case Diagrams
                                                                                        Sequence Diagrams
                                                                                        Communication Diagrams
                                                                                        Statechart Diagrams
                                                                                        Activity Diagrams
   286   287   288   289   290   291   292   293   294   295   296