# Presentation: 403536

## Workflow AnalysisJohn C. Lowry

**Workflow Analysis****John C. Lowry**

- JL-1

**January 28, 1997**

- 733-PP-005-001

## Workflow Analysis: Purpose

**Workflow Analysis: Purpose**

**Provides a basic agreement between developers and targeted users as to the functionality that must be supported, independent of a specific Graphical User Interface (GUI) design implementation**
**User needs and preferences for software functionality are represented in the workflows**
**Permits developers to make their understanding of user’s requirements explicit**
**Trade-offs among competing design goals become explicit**
**Evolves in an iterative manner with the design process**
**The workflows impact the design**
**The design, in turn, impacts the workflows**
**Auditable (in a collaborative sense)**
**Requirements are incorporated within the workflows**
**Each workflow maps to specific GUI functionality(ies)**

## Workflow Analysis

**Workflow Analysis**

**ECS standard methodology for design of all Graphical User Interfaces (GUIs)**
**unit of analysis: user-computer interaction**
**definition of flow and sequence of flow for user-computer interaction**
**provides basis for agreement as to above, prior to committing to a GUI design**
**Used by ECS/CLS as a supplement to object modeling **
**(i.e., object diagrams, event traces, use cases)**
**more tuned to GUI design**
**more detailed sense of operations than present in typical use-cases**
**improved mapping of analysis to GUI screens and dialogs**
**better method of communicating design to ‘tirekickers’ and probable users than object models**

## Interpreting Workflow Diagrams

**Interpreting Workflow Diagrams**

**Client workflows use several conventions to Define a Function-Subfunction-Task Hierarchy**
**Functional decomposition through hierarchy:**
**Functions decompose into:**
**Subfunctions, which are further decomposed into:**
**Tasks (individual user-computer interactions)**
**Employs a standardized symbology and numbering scheme to display the hierarchy**
**rectangles define operations**
**diamonds define decisions**
**arrowheads depict direction of interaction flow**
**Boolean ‘ORs’ and ‘ANDs’ support branching, looping, and recursive user-computer interactions**
**Use of clear, unambiguous task statements, led by an action verb, ****provide a precise semantic and syntax to user-computer interactions**
**Example: Set minimum sun angle to default option.  [Noun always assumed to be: User.] **

## Workflow Analysis: CLS Processing Procedures

**Workflow Analysis: ****CLS Processing Procedures**

**I.  CLS design of Client Architecture began with individual efforts of CDWG**
**   ****Tiger Teams**
**II.  Results of Tiger Teams put up on CDWG web site and manifest**
**    ****themselves finally in the Client workflows**
**III. Workflows, submitted by individual tiger teams, are reviewed by CLS**
**    ****architect and human factors engineers for completeness, accuracy,**
**    ****compatibility with other workflows and are either (a) sent back to the**
**    ****tiger team for revision, or (b) integrated into CLS masters and posted on**
**    ****the CDWG**
**IV.  CDWG tiger teams are closed out when the workflows are complete**
**     ****(among other CDWG actions) **

## Client Workflow: Client Functions

**Client Workflow: ****Client Functions**

**1.  Startup & Login**

**2. User Registration/Profile**

**Top-Level Function Flow for**

**ECS Release B Client**

**3. Create and Submit Search**

**4. Inspect Search Results**

**7. Get Status**

**6. Order Products**

**10. Exit**

**|**

**|**

**|**

**Bypass**

## Client workflow: Subfunction 6.0Order Product(s)

**Client workflow: Subfunction 6.0****Order Product(s)**

**6.1  Select collections or**

**granules to be ordered.**

**(no additional tasks **

**defined)**

**6.2 Decide**

**to submit  order**

**accepting default settings **

**and user**

**preferences?**

**6.0  Order Products**

**6.4   Press "Submit"**

**(no additional tasks **

**defined)**

**|**

**6.6   View order**

**+**

**|**

**6.7 Decide**

**to save order**

**information locally?**

**No & Cancel**

**Order**

**Yes**

**No & Edit**

**Order**

**6.5   Press "Cancel"**

**Yes**

**No**

**6.3  Change **

**User-definable attributes **

**in product order.**

**6.8  Save Product Order**

**Submit another**

## Client Workflow: Task 6.3 Change Attributes

**Client Workflow: Task 6.3 Change Attributes**

- |

- 6.3.8   Set new shipping

- address for this order

- only.

- 6.3.5   Set Media Type

- 6.3.6   Set Media Format

- |

- 6.3.7 Decide

- to change address

- information

- 6.3.9  Make permanent

- change of address

- request for shipping,

- mailing, or billing address.

- 6.3.10   View

- confirmation of address

- change.

- For current

- order only

- Permanently

- 6.3.13   Press "Cancel"

- 6.3.12   Press "OK"

- 6.3.11

- Decide  to

- accept changes

- to address

- +

**6.3.1   View priority,**

**requested dates, mail **

**options, media type, **

**media format, data format, **

**estimated cost, account **

**balance and addresses **

**(shipping, mailing, billing).**

- |

- |

- |

- |

- 6.3.2  Set Priority

- 6.3.3   Set Requested

- Delivery Dates

- 6.3.4 Set Data Format

- 6.3.4  Set Mail

- preferences

- |

**6.3  Change User-definable **

**attributes in product order**

- |