230 likes | 464 Views
State Modeling. Presented by Francine Wolfe Sr. Business & Process Analyst Cushman & Wakefield Past President, IIBA NJ Chapter. Learning Objectives. Understand what a state model is Know when to use state models Know how to create state models when needed. What is a State Model?.
E N D
State Modeling Presented by Francine Wolfe Sr. Business & Process Analyst Cushman & Wakefield Past President, IIBA NJ Chapter
Learning Objectives • Understand what a state model is • Know when to use state models • Know how to create state models when needed
What is a State Model? Definitions… • Wikipedia – “A state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems” • BABOK – “A state diagram shows how the behavior of a concept, entity or object changes in response to events.” What do they look like? Here is a simple example for an approval process
Why am I talking to you about state models? • State models have been used for decades, but are not generally discussed/covered in many years. • …and yet, they are easy to create and understand. • The more tools you have in your business analysis tool belt, the better equipped you are to understand and describe something that needs to be designed and built. • I’ve often found them useful. • My state model?
Why am I talking to you about state models? • State models have been used for decades, but are not generally discussed/covered in many years. • …and yet, they are easy to create and understand. • The more tools you have in your business analysis tool belt, the better equipped you are to understand and describe something that needs to be designed and built. • I’ve often found them useful. • My state model? Another way to view the same model…
Why am I talking to you about state models? • State models have been used for decades, but are not generally discussed/covered in many years. • …and yet, they are easy to create and understand. • The more tools you have in your business analysis tool belt, the better equipped you are to understand and describe something that needs to be designed and built. • I’ve often found them useful. • My state model? And with a few different life choices…
State Transition Models Why do we need them? In Business Analysis, various models are used to provide a view into the problem domain: • Process Models identify what happens and the sequence of events • Data (or Object) Models identify the logical structure of relevant information • Use Cases define interactions between a user (or class of user) and the system to accomplish something • Decision Models identify what criteria are necessary for making decisions • State Transition Models show how an object changes over time • Are there other models that you use? Taken together (with Business Rules and other requirements), models provide a multi-dimensional view State Transition Models (and Decision Models) are less used than the others, but still quite useful Questions that a State Transition Model can answer: • How do I know that my “Prospect” has become a “Client”? • Can a “Closed” defect be reopened? • Does a request need approval prior to fulfillment? Is it still considered a request after fulfillment?
State Transition Models State Transition Tables are a simple way to identify the allowable sequences of states Using State Transition Tables …
State Transition Models State Transition Diagrams are a convenient graphical way to see how to move from one state to another The elements are simple: • States (circles) • Transitions (curved arrows connecting the circles with text on the lines explaining what happens) • Usually begin with a “Start” state and end with one or more “End” states Let’s take a closer look at the sample given earlier… Using State Transition Diagrams Start State Transition to “Pending Review State” In this example, “Rejected” is an End State (meaning that the decision is final)
Another example (my current project) Using State Transition Diagram with other models… To help my developer get a better idea of how “prospects” and “listings” were related…
Useful extensions to this technique • Consider using color to indicate statuses that can only be changed by specific types of users • Consider using bolder lines to indicate the “happy path” • Add a narrative below the diagram to provide additional clarification • Use both the diagram and the table to make look-up easier • Any other ideas?
The State Model may change over time …and sometimes tables are easier to understand than diagrams…
Let’s Try It! Pick a simple example: defect lifecycle? Customer lifecycle? System lifecycle? Other ideas? • Identify the states • Figure out where to start & how to move between the states • As you continue to identify transitions, ask “what if that doesn’t happen?” The answer may uncover additional states and/or state sequences you did not consider previously • Be sure to get the finished diagram validated with the business owner
Any questions? @fwolfeiiba Francine.Wolfe@iiba.org