UML for class diagrams in ppt -

Document Sample
UML for class diagrams in ppt - Powered By Docstoc
					       The Architecting Phase
• Class diagrams are further refined in
  this phase of development
• Object diagrams are created
• Interaction diagrams are created
• Class skeletons are created to embody
  all analysis and design information
  created to this point in the development
   Computer Science   CS425/CS625   8/23/2001   1
                      Class Skeletons
• We will preview class skeletons to better
  understand the objectives of design
• Class skeletons are partial class definitions
• Class skeletons should be heavily
  commented, so that the purpose of all
  attributes, methods, and constructors is clear
• Class skeletons are the basis for the
  implementation phase of development

   Computer Science        CS425/CS625   8/23/2001   2
  Contents of Class Skeletons
• A list of the roles the class plays within the
• Information concerning when objects of the
  class are created and deleted (information
• For each role, the semantics of the class
• All attributes with access modifiers, types,
  names, and semantics
• For all constructors and methods, their
  signature, semantics, preconditions and
   Computer Science     CS425/CS625     8/23/2001 3
         LMS Class Skeleton

Computer Science   CS425/CS625   8/23/2001   4
       System Decomposition
• Adds detail to the previous system
• Can be done iteratively or in a
  traditional, waterfall manner
• Each phase in the system development
  decomposes the system further
• Leads to a blueprint for implementation

  Computer Science   CS425/CS625   8/23/2001   5
                      More UML
• Access Modifiers
     + means public
     - means private
     # means protected
• Constraints (restriction on the class) { }
     E.g {Students may check out at most 25 items}
• Tagged values also use { }
     E.g. {Requirement #5}

   Computer Science      CS425/CS625     8/23/2001   6
         More UML: Multiplicity

                      0..1 checks out 0..*
    Patron                                     Resource

• Multiplicity or cardinality is represented above
  by the 0..1 and 0..*
• The above diagram indicates that a resource
  is checked out by 0 or 1 patrons and that
  each patron may check out 0 to many
   Computer Science              CS425/CS625    8/23/2001   7
     More UML: Aggregation
                            form letter

• The solid diamond indicates that the Overdue
  form letter class consists of Patron and
  Resource objects. Solid diamond indicates
  that Patron and Resource classes exist in their
  own right
   Computer Science   CS425/CS625      8/23/2001 8
• Example from LMS where classes do
  not exist independent from aggregating

  Computer Science      CS425/CS625   8/23/2001   9
           Interaction Diagrams
• Interaction diagrams model dynamic aspects
  of the system by specifying the interaction
  among objects to produce a particular
• Two types of interaction diagrams are defined
  in UML
  – Collaboration diagrams, which emphasize the
    structural organization of objects that send and
    receive messages
  – Sequence diagrams, which emphasize the time
    ordering of the messages passed between objects
   Computer Science   CS425/CS625       8/23/2001   10
        Notational Elements of
         Interaction Diagrams
    Object            Link           Message

Object: class                   method(parameters)

• The object name is optional in the depiction of
  an object in UML notation
• An object is distinguished from a class in UML
  notation by the colon and underlining of the
  class name         CS425/CS625      8/23/2001 11
   Computer Science
    LMS: Collaboration Diagram

                                : Library System

: Patron                                           : LibraryDatabase

      Computer Science             CS425/CS625        8/23/2001   12
         Steps for Creating
       Collaboration Diagrams
• Identify a behavior to model
• Identify participating class and their
  relevant interrelationships
• Identify a specific scenario to model
• determine necessary message passing
  to carry out the behavior
• Introduce solution for object
  persistence, if needed
  Computer Science   CS425/CS625   8/23/2001   13
            Sequence Diagrams
• Like collaboration diagrams, sequence
  diagrams model dynamic aspects of the
  system by specifying the interaction among
  objects to produce a particular behavior
• Sequence diagrams specify the time ordering
  of messages
• Sequence diagrams show the life span of
  each object

   Computer Science   CS425/CS625   8/23/2001   14
Check out resource Sequence
: Library System       : Patron            : LibraryDatabase


    Computer Science   CS425/CS625          8/23/2001   15
               Evaluating Design
• Modeling software helps us produce correct,
  well- structured systems
• The resultant models can also be scrutinized
  for potential data integrity problems
• For example, in the LMS system, having
  update methods execute separately for the
  Patron and Resource objects may result in
  data integrity errors if system failure occurs
  between the initiation of the first method and
  the termination of the second method
   Computer Science   CS425/CS625     8/23/2001   16
                  Object Diagrams
• Models a set of objects and their
  interrelationships during a system snapshot
• A system snapshot is the state of the software
  system at a selected moment of time
• Object diagrams model another static
  perspective of the system
• Unlike other diagrams, object diagrams may
  contain multiple instances of the same class

   Computer Science    CS425/CS625   8/23/2001   17
            LMS Case Study:
          Object Diagram (partial)

currentP: Student        : List
                                                name = “SOTY”
name=“Gert Stein”
libraryID=6747632                               author=“b. hooks”
homephone=5554321                               ISBN= ...
                                                name = “FOF”
                                                ISBN= ...
      Computer Science            CS425/CS625         8/23/2001   18
               Steps for Creating
                Object Diagrams
• Identify a system snapshot within a scenario to
• Identify participating classes and their
• Identify all allocated objects at the time of the
• Show the state of each object in the snapshot
• Determine all interobject links

   Computer Science   CS425/CS625     8/23/2001   19
                      Code Reuse
• Collaboration diagrams are of particular use
  in pattern scavenging
• Pattern scavenging involves studying the
  various diagrams produced during analysis
  and class design to identify patterns of class
• Once such patterns are found, they should be
  evaluated to determine if they can be
  effectively reused
   Computer Science      CS425/CS625   8/23/2001   20
                      Reuse in LMS


             Checkable                  Reserve
             Resource                   Resource

Book                       Electronic
                          CS425/CS625          8/23/2001   21
   Computer Science
    Guidelines for Class Design
• Always keep data private
• Always initialize data in a constructor
• Do not use too many related primitives
• Not all attributes need individual accessor or
  mutator methods
• Order elements comprising class definitions
• Break up overly complex classes into multiple
• Name classes, methods and attributes well
                      CS425/CS625      8/23/2001 22
    Computer Science
       Verification of the Class
• All system requirements developed during
  analysis must be addressed during design
  – All design documents must cross reference
    requirements from the requirements specification
• All required attributes and methods must be
  used properly
  – Eg data integrity of attributes must be enforced by
    update methods
• The modules comprising the system must
  work together properly
   Computer Science    CS425/CS625        8/23/2001   23
• Distributed systems
    – Corba, Java-RMI
•   Design Documents – Reviews
•   Implementation – Reviews
•   Testing
•   Integration
•   Project Presentations
    Computer Science   CS425/CS625   8/23/2001   24

Shared By: