7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
Topic © Prentice Hall, 2007 Chapter Objectives Af ter studying this chapter you should be able to: – Stereotype classes into entity, boundary, and control. – Draw a sequence diagram based on a use case description. – Translate a sequence diagram into a communication diagram.
Topic © Prentice Hall, 2007 Chapter Objectives (Continued) Af ter studying this chapter you should be able to: – Convert a communication diagram into analysis classes. – Draw an activity diagram and a state diagram. – Document business rules using Object. Constraint Language (OCL). – Develop decision tables of complex rules.
Topic © Prentice Hall, 2007
Topic © Prentice Hall, 2007
Topic © Prentice Hall, 2007 What Is an Analysis Class? A class that represents initial data and behavior requirements, and whose software and hardware-oriented details have not been specified Analysis class diagram – a UML diagram showing analysis classes and their relationships
Topic © Prentice Hall, 2007 Stereotypes of Analysis Classes Mostly corresponds to conceptual data model classes Encapsulates connections between actors and use cases Mostly performs behaviors associated with inner workings of use cases
Topic © Prentice Hall, 2007
Topic © Prentice Hall, 2007 What Is a Sequence Diagram? A UML diagram that shows the interaction between objects to perform critical pieces of use case behavior in a time-ordered manner Interactions are in the form of messages Behavioral responsibilities are assigned to message recipients
Topic © Prentice Hall, 2007 Messages are passed between objects, and may contain parameters
Topic © Prentice Hall, 2007 Symbols in a Sequence Diagram Box or class stereotype symbol represents objects. Dotted vertical line represents object’s lifetime. Thin bars represent focus of control, periods of time when object is behaving (fulfilling responsibilities). Labeled horizontal lines represent messages passing between objects.
Topic © Prentice Hall, 2007
Topic © Prentice Hall, 2007 Typically, actors interact with boundary classes, which in turn interact with control classes, which in turn interact with entity classes.
Topic © Prentice Hall, 2007 What Is Robustness Analysis? Involves analyzing the narrative text of each of the use cases and identifying a first-guess set of the objects into entity, boundary, and control classes Requires completeness checks and adherence to diagramming rules
Topic © Prentice Hall, 2007
Topic © Prentice Hall, 2007 What Is a Communication Diagram? A UML diagram that shows the interactions between objects to perform critical pieces of the use case behavior Unlike sequence diagrams, communication diagrams have no spatial representation of time; sequences of messages are shown by numbering.
Topic © Prentice Hall, 2007
Topic © Prentice Hall, 2007 Drawing Analysis Class Diagrams Analysis classes are completed by including operations, which fulfill the responsibilities taken by the analysis class. In addition, attributes and relationships from the conceptual data model are retained and refined.
Topic © Prentice Hall, 2007 Operations (behaviors) are depicted in the lower third of a class box. Operations fulfill the class’s responsibilities.
Topic © Prentice Hall, 2007 What Is an Activity Diagram? A diagram that emphasizes the flow of control from activity to activity in an object Similar to the traditional program flowchart Used to provide detail for complex algorithms
Topic © Prentice Hall, 2007 Elements of Activity Diagrams Activity – a behavior that an object carries out while in a particular state Transition – a movement from one activity or state to another Decision point – a diamond symbol containing a condition whose results provide transitions to different paths of activities Swimlanes – lanes that partition the diagram to show who does what activities Synchronization bar – horizontal or vertical bars denoting parallel or concurrent paths of activities
Topic © Prentice Hall, 2007 Activity diagram with the decision points and three swimlanes
Topic © Prentice Hall, 2007 Activity diagram with synchronization bars Top synchronization bar is a fork. Bottom synchronization bar is a join.
Topic © Prentice Hall, 2007 What is a State Diagram? A diagram that captures the behavior of an object by specifying the sequence of states it goes through during its lifetime in response to events, together with the responses to those events Also called statechart diagram -State – a condition or situation during the life of an object at which time it satisfies some condition, performs some activity, or waits for some event. -All activities are states
Topic © Prentice Hall, 2007
Topic © Prentice Hall, 2007 When to Use State Diagrams For describing object behavior across many use cases Not useful for describing behavior of many objects collaborating together Not for everybody…some analysts like them and others do not
Topic © Prentice Hall, 2007 What Is a Business Rule? A directive that is intended to influence or guide business behavior in support of business policy formulated in response to an opportunity or threat In information systems, business rules are implemented as data, constraints, and/or program code.
Topic © Prentice Hall, 2007 Types of Business Rules Constraints – restrictions, mainly in the form of permissible values, validation rules, and multiplicities Calculations – mathematical formulas or algorithms that produce some value Value inferences – establishing the value of an attribute based on a test condition Action enablers – deciding on an action based on a test condition
Topic © Prentice Hall, 2007 Approaches for Value Inferences and Action Enablers Decision Tables – Matrix representation of the logic of decisions, specifying possible conditions and resulting actions Decision Trees – Node-and link representation of the paths of choices and decisions Structured English – Verbal description of decision logic
Topic © Prentice Hall, 2007 Components of Decision Tables Condition stub – The part of the decision table that lists the conditions relevant to the decision Action stub – The part of the decision table that lists the possible actions or values of the decision Rule – The part of the decision table that specifies the specific mapping of conditions to actions or values
Topic © Prentice Hall, 2007
Topic © Prentice Hall, 2007 Reducing the Decision Table A complete decision table may have indifferent conditions for certain rules Therefore, rules can sometimes be combined to simplify the decision table
Topic © Prentice Hall, 2007
Topic © Prentice Hall, 2007 What is Object Contraint Language (OCL)? An formal, declarative language add-on to UML for writing expressions that unambiguously specify business rules OCL expressions consist of: – Context – the element for which the expression is defined – Invariant – A constraint that should be true for an object during its lifetime
Topic © Prentice Hall, 2007 Elements of OCL Expressions Context – the element for which the expression is defined For each context, you can specify – Initial values – Derivation rules – Constraints – Query optimizations – Invariants – Pre- and Post-conditions
Topic © Prentice Hall, 2007 OCL Expressions
Topic © Prentice Hall, 2007 Recap Af ter studying this chapter we learned to: – Stereotype classes into entity, boundary, and control. – Draw a sequence diagram based on a use case description. – Translate a sequence diagram into a communication diagram.
Topic © Prentice Hall, 2007 Recap (cont.) Af ter studying this chapter we learned to: – Convert a communication diagram into analysis classes. – Draw an activity diagram and a state diagram. – Document business rules using Object. Constraint Language (OCL). – Develop decision tables of complex rules.