Download presentation
Presentation is loading. Please wait.
Published byJanel Johnson Modified over 9 years ago
1
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
2
Topic 7 7-2 © 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.
3
Topic 7 7-3 © 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.
4
Topic 7 7-4 © Prentice Hall, 2007
5
Topic 7 7-5 © Prentice Hall, 2007
6
Topic 7 7-6 © 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
7
Topic 7 7-7 © 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
8
Topic 7 7-8 © Prentice Hall, 2007
9
Topic 7 7-9 © 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
10
Topic 7 7-10 © Prentice Hall, 2007 Messages are passed between objects, and may contain parameters
11
Topic 7 7-11 © 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.
12
Topic 7 7-12 © Prentice Hall, 2007
13
Topic 7 7-13 © Prentice Hall, 2007 Typically, actors interact with boundary classes, which in turn interact with control classes, which in turn interact with entity classes.
14
Topic 7 7-14 © 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
15
Topic 7 7-15 © Prentice Hall, 2007
16
Topic 7 7-16 © 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.
17
Topic 7 7-17 © Prentice Hall, 2007
18
Topic 7 7-18 © 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.
19
Topic 7 7-19 © Prentice Hall, 2007 Operations (behaviors) are depicted in the lower third of a class box. Operations fulfill the class’s responsibilities.
20
Topic 7 7-20 © 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
21
Topic 7 7-21 © 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
22
Topic 7 7-22 © Prentice Hall, 2007 Activity diagram with the decision points and three swimlanes
23
Topic 7 7-23 © Prentice Hall, 2007 Activity diagram with synchronization bars Top synchronization bar is a fork. Bottom synchronization bar is a join.
24
Topic 7 7-24 © 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
25
Topic 7 7-25 © Prentice Hall, 2007
26
Topic 7 7-26 © 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
27
Topic 7 7-27 © 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.
28
Topic 7 7-28 © 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
29
Topic 7 7-29 © 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
30
Topic 7 7-30 © 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
31
Topic 7 7-31 © Prentice Hall, 2007
32
Topic 7 7-32 © 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
33
Topic 7 7-33 © Prentice Hall, 2007
34
Topic 7 7-34 © 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
35
Topic 7 7-35 © 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
36
Topic 7 7-36 © Prentice Hall, 2007 OCL Expressions
37
Topic 7 7-37 © 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.
38
Topic 7 7-38 © 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.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.