Review of Process Modeling and Assignment 5
DE + IA (INFO 243) - 16 April 2007
Bob Glushko
Plan for Today's Class
- Discuss the process modeling assignment
- Discuss upcoming project "working sessions"
Assignment 5 Goals
- Turning an informal model of a process into a formal one
- Using worksheet, DSM, and sequence diagram notations
- Identifying collaborations
- Identifying transaction patterns
- Applying RosettaNet PIPs
My Scenario
- Resembled the UC Berkeley process, but not intended to be exact
- Began by defining 4 actors (STUDENT, UNIVERSITY, SCHOOL, INSTRUCTORS), which was more modeling help than you probably realized
- A functional description with some implementation details as "red herrings"
- Some explicit dependencies and iterations between activities
- And some implied ones
- And some activities that are intentionally described to be "out of order" or as "upstream cycles"
Control Flow or Flow Chart Notation
- The "classical" notation for representing a process model is the control flow or flow chart
- it can make it difficult to understand the activities according to their participants
- And most of you (the programmers) said you were experts at using this
Inefficiency in Sequence Pattern
Removing Inefficiency with Parallelism
Poor Process Design Allows "Upstream" Cycles
Flow Chart for Establishing Schedule of Classes (Kartavenko, 2007)
Flow Chart for Student Selection of Courses and Schedule (Kartavenko, 2007)
Flow Chart for Course Cancellation (Kartavenko, 2007)
DSM Notation
- Processes/activities/tasks are the rows and columns of a square matrix
- The dependency or information flow relationships between any two processes i and j is indicated by the presence or absence of a mark in cells (i,j) and (j,i)
Transcribing an Interview
- Part 1 -- "make a list of the activities/tasks/steps ... in the order that the narrative introduces them"
- This directs you to define an "As-Is" model as it might have been described by someone you interviewed
- Most of you DID NOT DO THIS
- What did you do instead?
- What difference did this make in later parts of the assignment?
Some Modeling Choices
- The SCHOOL specifies degree requirements, which we will assume are fairly static and are limited to some number of required courses and some total number of required units. The SCHOOL publishes a course catalog that lists the set of required and allowable elective courses, but some courses have pre-requisite courses and not every course is offered each semester. Each INSTRUCTOR decides what courses to teach in a given semester, often with some guidance or suggestions from the SCHOOL, and the schedule of classes – the subset of the catalog courses that will actually be taught -- thereby emerges from negotiations between the SCHOOL and its INSTRUCTORS. Often for a new course, or for a course that hasn’t been taught in a while, the SCHOOL negotiates with the UNIVERSITY to find a classroom large enough to handle the expected enrollment, and classroom availability can lead to changes in when courses are scheduled. At some point the SCHOOL submits a final schedule of classes to the UNIVERSITY so that the latter can load this information into the registration system.
Some Modeling Choices
- The SCHOOL specifies degree requirements...
- The SCHOOL publishes a course catalog...
- Each INSTRUCTOR decides what courses to teach in a given semester...
- often with some guidance or suggestions from the SCHOOL
- The SCHOOL negotiates with the UNIVERSITY to find a classroom...
- Classroom availability can lead to changes in when courses are scheduled...
- The SCHOOL submits a final schedule of classes to the UNIVERSITY
Some More Modeling Choices
- STUDENTS study the course catalog to learn about courses and especially to select from the electives which courses they would like to take. They also study the final schedule of classes to learn whether the courses they want are being offered so they can design one or more possible ses of classes in which to try to enroll. But before they try to enroll, they should consult the degree requirements and make sure they’ve taken any pre-requisite courses or they might be trying to enroll in courses that aren’t right for their situation. Sometimes a STUDENT will ask an INSTRUCTOR to waive a course pre-requisite, and sometimes the INSTRUCTOR will allow this and give the STUDENT permission to register in the INSTRUCTOR’s course.
Some More Modeling Choices
- Students study the course catalog...
- They also study the final schedule of classes...
- Before they try to enroll, they should consult the degree requirements...
- And make sure they've taken any pre-requisite courses...
And Still More Modeling Choices
- STUDENTS then sign into the the registration system operated by the UNIVERSITY to attempt to enroll in their chosen courses. Unfortunately, sometimes the courses selected by the STUDENT are already full, and the STUDENT needs to select alternative courses or ask the INSTRUCTOR to admit him. And sometimes a student is able to enroll in a course, but the course is subsequently cancelled because of low enrollment. And sometimes a STUDENT discovers that his work schedule for his part-time job conflicts with courses he wants to enroll in, or already has enrolled in, and this causes problems
And Still More Modeling Choices
- STUDENTS (sign into the the registration system operated by the UNIVERSITY) attempt to enroll in their chosen courses
- Unfortunately, sometimes the courses selected by the STUDENT are already full
- and the STUDENT needs to select alternative courses
- or ask the INSTRUCTOR to admit him
- And sometimes a student is able to enroll in a course
- but the course is subsequently cancelled
- And sometimes a STUDENT discovers that his work schedule for his part-time job conflicts with courses he wants to enroll in
- or already has enrolled in
Granularity
- Your Part 1 transcriptions varied widely in the number of steps, from about 10 to nearly 30
- Your steps varied widely in their granularity and abstraction levels
- Most of you didn't maintain a consistent level
Sequence Diagrams and Worksheets
- Part 3 directed you to create a sequence diagram
- Parts 4 and 5 directed you to create modeling worksheets
- But you can't create a sequence diagram unless you've defined some of the transaction semantics recorded in the worksheets
- Do your diagrams and worksheets describe the same model?
Not Everything is an Activity
- Pre-conditions
- STUDENTS ...can be assumed to be admitted to the UNIVERSITY and enrolled in some SCHOOL
- The SCHOOL specifies degree requirements, which we will assume are fairly static and are limited to some number of required courses and some total number of required units.
- Outcomes (successful or unsuccessful completions of an activity)
Summary: The Notations
- We have used control flow diagrams, DSM, worksheets, and sequence diagrams to describe process models
- How do they relate to each other?
- How do they differ?
- Why does it matter?
- Which do you prefer?
Other Issues
- Is it helpful to identify collaborations?
- Is it helpful to identify transaction patterns?
- Is it helpful to identify RosettaNet PIPs?
For 18 Wednesday
- 3 teams are presenting; 25 minutes each
- Bring in partial or completed work products
- Let us help you with your analysis and design questions