Chapter 5: Functional Modeling PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Objectives • Understand the rules and style guidelines for activity diagrams. • Understand the rules and style guidelines for use cases and use-case diagrams. • Understand the process used to create use cases and use-case diagrams • Be able to create functional models using activity diagrams, use cases, and use-case diagrams. PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. BUSINESS PROCESS MODELING WITH ACTIVITY DIAGRAMS PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Business Process Modeling • Business process models describe the activities that collectively support a business process • A very powerful tool for communicating the analyst’s current understanding of the requirements with the user • Activity diagrams are used to model the behavior in a business process PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Activity Diagram Syntax • Action or Activity – Represents action or set of actions • Control Flow – Shows sequence of execution • Initial Node – The beginning of a set of actions • Final Node – Stops all flows in an activity • Decision Node – Represents a test condition PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Sample Activity Diagram PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Guidelines for Activity Diagrams 1. Set the scope of the activity being modeled 2. Identify the activities, control flows, and object flows that occur between the activities 3. Identify any decisions that are part of the process being modeled 4. Identify potential parallelism in the process 5. Draw the activity diagram PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. USE-CASE DESCRIPTIONS PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Use Cases • A use case illustrates the activities that are performed by users of a system. • Describe basic functions of the system – What the user can do – How the system responds • Use cases are building blocks for continued design activities. PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Types of Use Cases Amount of information Essential Detail High-level overview of issues Detailed description of issues essential to understanding essential to understanding required functionality required functionality Real Purpose Overview High-level overview of a specific set of steps performed on the real system once implemented Detailed description of a specific set of steps performed on the real system once implemented PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Use Case Elements: Overview • • • • • • • • Name ID Number Type Primary Actor Brief Description Importance Level Stakeholder(s) Trigger(s) PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Use Case Elements: Relationships • Association documents the communication between the use case and the actors that use the use case • Extend represents the extension of the functionality of the use case to incorporate optional behavior • Include shows the mandatory inclusion of another use case • Generalization allows use cases to support inheritance PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Use Case Elements: Flows • Normal Flows include only those steps that normally are executed in a use case • Sub-Flows the normal flow of events decomposed to keep the normal flow of events as simple as possible • Alternate or Exceptional Flows flows that do happen but are not considered to be the norm PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Use Case Writing Guidelines 1. 2. 3. 4. 5. 6. 7. Write in the form of subject-verb-direct object Make sure it is clear who the initiator of the step is Write from independent observer’s perspective Write at about the same level of abstraction Ensure the use case has a sensible set of steps Apply the KISS principle liberally. Write repeating instructions after the set of steps to be repeated PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. USE-CASE DIAGRAMS PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Use Case Diagram Syntax • Actor – person or system that derives benefit from and is external to the subject • Use Case – Represents a major piece of system functionality • • • • Association Relationship Include Relationship Extend Relationship Generalization Relationship <<includes>> <<extends>> PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Sample Use Case PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. CREATING USE-CASE DESCRIPTIONS AND USE-CASE DIAGRAMS PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Identify the Major Use Cases 1. 2. 3. 4. Review the activity diagram Find the subject’s boundaries Identify the primary actors and their goals Identify and write the overviews of the major use cases for the above 5. Carefully review the current use cases. Revise as needed PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Extend the Major Use Cases 6. 7. 8. 9. Choose one of the use cases to expand Start filling in the details of the chosen use case Write the normal flow of events of the use case If the normal flow of events is too complex or long, decompose into sub flows 10.List the possible alternate or exceptional flows 11.For each alternate or exceptional flow, list how the actor and/or system should react PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Confirm the Major Use Cases 12.Carefully review the current set of use cases. Revise as needed 13.Start at the top again PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Create the Use Case Diagram 1. 2. 3. 4. Draw the subject boundary Place the use cases on the diagram Place the actors on the diagram Draw the associations PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. REFINING PROJECT SIZE AND EFFORT ESTIMATION USING USE-CASE POINTS PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Use-Case Points • A size and effort estimation technique that was developed around use cases – Better for OOSAD projects than function points • Requires at a minimum: – The set of essential use cases – The use case diagram – All actors and use cases classified as simple, average, or complex PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Actor & Use Case Weighting Tables Unadjusted Actor Weighting (UAW) Actor Type Description Weighting Factor Simple External System with well-defined API 1 Average External System using a protocol-based 2 interface, e.g., HTTP, TCT/IP, or a database 2 Complex Human 3 Unadjusted Use Case Weighting (UUCW) Use-Case Type Description Weighting Factor Simple 1-3 transactions 5 Average 4-7 transactions 10 Complex More than 7 transactions 15 Unadjusted Use Case Points (UUCP) = UAW + UUCW PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Technical Complexity Factors Factor Description Number Weight T1 Distributed system 2.0 T2 Response time or throughput performance objectives 1.0 T3 End-user online efficiency 1.0 T4 Complex internal processing 1.0 T5 Reusability of code 1.0 T6 Easy to install 0.5 T7 Ease of use 0.5 T8 Portability 2.0 T9 Ease of change 1.0 Technical Complexity Factor (TCF) = 0.6 + (0.01 * TFactor) PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Environmental Factors Factor Description Number Weight E1 Familiarity with system development process in use 1.5 E2 Application experience 0.5 E3 Object-oriented experience 1.0 E4 Lead analyst capability 0.5 E5 Motivation 1.0 E6 Requirements stability 2.0 E7 Part time staff -1.0 E8 Difficulty of programming language -1.0 Environmental Factor (EF) = 1.4 + (-0.03 * EFactor) PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Person-Hours Multiplier If the sum of (number of Efactors E1 through E6 assigned value < 3) and (number of Efactors E7 and E8 assigned value > 3) ≤ 2 PHM = 20 Else If the sum of (number of Efactors E1 through E6 assigned value < 3) and (number of Efactors E7 and E8 assigned value > 3) = 3 or 4 PHM 28 Else Rethink project; it has too high of a risk for failure PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Computing Use-Case Points • Adjusted Use Case Points (UCP) = UUCP * TCF * ECF • Effort in Person Hours = UCP * PHM PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Summary • Business Process Modeling with Activity Diagrams • Use-Case Descriptions • Use-Case Diagrams • Refining Project Size and Effort Estimation with Use-Case Points PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved.