Jeu de taquin
Event partitioning is an easy-to-apply systems analysis technique that helps the analyst organize requirements for large systems into a collection of smaller, simpler, minimally-connected, easier-to-understand ‘mini systems’ / use cases.
Overview
The Event partitioning approach is explained by Stephen M. McMenamin and John F. Palmer in Essential Systems Analysis.[1] A brief version of the approach is described in the article on Data Flow Diagrams. A more complete discussion is in Edward Yourdon's Just Enough Structured Analysis.[2] The description focuses on using the technique to create data flow diagrams, but it can be used to identify use cases as well.
The premise of event partitioning is that systems exist to respond to external events: identify what happens in the business environment that requires planned responses, then define and build systems to respond according to the rules of the business. In particular, a business system exists to service the requests of customers. A customer, in the jargon of the Unified Modeling Language (UML), is an ‘actor.’
Event partitioning topics
Actor → Event → Detect → Respond
The method has the following steps.
- 1. Identify the external systems by brainstorming a list of the ‘actors’ (external systems), which are the sources of external events. If you find a graphic to be helpful, create a context diagram showing the actors outside of the system under study and the flows/signals between them.
- 2. Putting oneself in the shoes of an ‘actor’ (or working with actor representatives), brainstorm a list of the ‘external events’ / ‘triggers’ that they want the system to have a planned response to. (Note that the system cannot originate external events; only an actor can.)
- 3. Identify what will enable the system to detect the external events:
- the arrival of one or more pieces of data (possibly in the form of a message)
- the arrival of one or more points in time (called "temporal" events by M&P, and distinguished by them from external events)
- 4. Identify the planned response(s) that the system may carry out when the events occur. It’s the response(s)/use case(s) that will enable the system to achieve its goals.
The technique was extended with ‘non-event’ events by Paul T. Ward and Stephen J. Mellor in Structured Development for Real-Time Systems: Essential Modeling Techniques.[3]
Benefits of Living in a Rental or Landed property in Singapore Property New Launches & Undertaking Showcase In Singapore Many residential Singapore property gross sales contain shopping for property in Singapore at new launches. These are often properties below development, being sold new by developers. New Launch Singapore Property, 28 Imperial Residences Coming To Geylang Lorong 26 The property market is slowing down, in accordance with personal property transactions in Could Cellular Apps FREE Signal Up Log in Property Agents Feedback
Banks usually engage skilled valuers to conduct valuations of properties. The valuers are required to abide by industry requirements and guidelines for property valuation prescribed by the Singapore Institute of Surveyors and Valuers. With Singapore conserving its greenery and with town sky view being the attraction to many, it is no wonder that increasingly condos are being developed on the island. Many future traders are placing extra value on units with a view than these with out one. Thus, this may be one of the reasons too as to why your unit of selection is either with a view or with out. How to Spot Abroad Property Scams (at Propwise.sg) New Condominium Eco Sanctuary Launch 01Dec 2012 Coming Quickly !!! New launch rental COCO Palm at Pasir Ris
Association charges has to be paid by each condominium proprietor, weather you are dwelling in it or not, or even in case you have rented the property. So, whether you employ the amenities and amenities at the condominium, you'll any how must pay for them. JOHOR BAHARU, Jan 22 (Bernama) — The property market in Johor Baharu and Iskandar Malaysia has been negatively affected by the cooling measures introduced by the authorities to address rising property prices, says the Actual Property and Housing Developers' Association of Malaysia (Rehda). District 18, 99 years LH Executive Apartment District 25, ninety nine years LH Executive Rental District 19, ninety nine years LH Government Apartment pipelines. Property homeowners haven't any different but to pay up. There's no different sensible Hottest Launch D'Leedon
Dr Victor Lee is a surgeon gazetted to carry out multi-organ transplant surgical procedure. He underwent his fellowship coaching in transplant surgery on the Royal Infirmary of Edinburgh, United Kingdom in 2008 and 2009. He is presently a consultant surgeon at the Singapore Normal Hospital, and visiting guide to the National College Hospital. His scientific interest and skills are in the areas of transplant surgery, hepatobiliary pancreatic surgery and laparoscopic surgical procedure.
Lush Acres Government Condominium goes to launch quickly at Sengkang West Method By Metropolis Developments Limited. Lush Acres reflects the large expense of house, environmentally-inexperienced constructing and plush panorama of this low density development with solely 22% of website protection. There have been students, retirees and property agents napping, snacking and taking part in cards within the queue to kill time. Such a scene made passers-by wonder if the gang really consisted of genuine consumers, or just part-timers being paid to fake how sizzling the new undertaking was. The model was filed in Switzerland in October 2009 with a model r egistration dated March 25, 2010 A deposit was also recorded in France at the INPI (National Institute of Intellectual Property) Coastal commercial spaceports
Individuals all wish to be seen having the identical foresight because the specialists in property investment or the massive names in their own fields. Thus the discharge of these tales works to motivate other patrons to follow go well with. Bartley Ridge is the hottest new launch in district 13. Irresistible pricing from $1,1xx psf. Bartley Ridge is a ninety nine-yr leasehold new condo at Mount Vernon highway, excellent subsequent to Bartley MRT station (CC12). If you wish to get more Rehda Johor chairman Koh Moo Hing stated potential property patrons within the two areas at the moment are adopting a wait-and-see angle. How can I get the ebrochure and flooring plans of the new launch initiatives ? The Current Mortgage to your HDB District thirteen, Freehold condominium District 11, Freehold Cluster landed house Sea Horizon EC @ Pasir Ris
The simplest way is to contact a real estate agent who's a Advertising Workforce Member The agent will doubtless meet to show you details of the undertaking supplied by the developer. Attending a preview doesn't suggest you are obliged to purchase a unit. You can select not to and your cheque will likely be returned to you. No cost concerned. Your cheque will likely be returned to you in the event you decide to not proceed to purchase. Early hen low cost (up to 10%) at the preview earlier than the official launch. The purpose of that is to stimulate demand and to create a buying house in singapore momentum. As soon as this function is achieved, the developer would then take away the low cost so as to maximize his profitability. 2/3/4 bedrooms units obtainable ! GREATEST PURCHASE NOW !!! AVG $1900psf The Key Commercial Cluster in the North Area
Data dictionary notation
Yourdon/DeMarco style of data dictionary notation may be used to describe the composition and structure of data.
Symbol | Meaning |
---|---|
= | ‘contains’, ‘is’, or ‘is composed of’ |
+ | ‘and’, ‘as well as’, or ‘together with’ (not arithmetic ‘plus’) |
m{x}n or | ‘from m to n iterations of x’. If m or n is not specified, then the lower or upper limit is simply ‘unknown’ or ‘unspecified’. Multi-dimensional arrays may be specified by nesting, e.g., 10 { 10 { x } 10 } 10 defines a two-dimensional matrix of 10 rows with 10 columns. |
(x) | ‘optionally x’. This is equivalent to 0{x}1 or . |
@ | prefix for an identifier within an iteration. For example, in {@i+@j+x} i and j are identifiers. |
[x ; y ; z] | ‘select only one of either x or y or z’. Either a semicolon (;) or a vertical bar (|) may be used to separate items in the list. |
* ... * | Anything between single asterisks is regarded as a comment. At the data element level, a comment may contain such type tags as ‘range :’, ‘limits :’, ‘precision :’, ‘unit :’ or ‘values :’. |
NB. The items defined may be ‘material’ (e.g., room key) as well as ‘data’ (e.g., arrival date-time).
Identifying Requirements and Their Reasons
The event-response information may be captured in a table. The event is the raison d’être for the response, which gives ‘traceability’ from the response back to the environment.
1. Actor | 2. External Event / Trigger | 3. Detected by | 4. Response(s) / Use Case(s) |
---|---|---|---|
Guest | Guest requests a room of a certain type, for a particular arrival date, departure date, at a certain rate, etc. | booking request + (payment validation) + (*external reservation system* booking confirmation) [4] |
Book Room (may include guaranteed booking, alternate hotel booking, waitlisted booking) |
Guest | Guest asks to cancel room booking. | cancellation request [5] | Cancel Booking |
Guest | Guest arrives at hotel. | arrival message = * * = [guest name ; booking reference] [6] |
Check in Guest |
Time / Scheduler | Guest fails to arrive at hotel. [This is a ‘non-event’ event.] | 11 pm (local time) [A ‘non-event’ event is detected by the arrival of a point in time, a deadline.] | Create Guest Bill, Update Booking |
Guest | Guest asks to check out of hotel. | check-out request = * * = [guest name ; room number] [7] |
Create Guest Bill, Update Room Occupancy |
Time / Scheduler | Guest fails to check out of hotel. [This is a ‘non-event’ event.] | 11 am (local time) [A ‘non-event’ event is detected by the arrival of a point in time, a deadline.] | Create Guest Bill |
Guest | Guest offers payment of bill. | payment vehicle = * * = [cash ; cheque ; credit card ; debit card] + (guest id) [8] |
Accept Guest Payment |
Time / Scheduler | Time to prepare Room Occupancy Report for previous night. | 8 am (local time) | Report on Room Occupancy |
Hotel Manager | Hotel Manager requests Room Occupancy Report. | occupancy report request | Report on Room Occupancy |
Smoke / CO Alarm | Alarm detects smoke. | smoke alarm message | Report Smoke Alarm |
Smoke / CO Alarm | Alarm detects CO (carbon monoxide). | CO alarm message | Report CO Alarm |
Defining requirements
This approach helps the analyst to decompose the system into ‘mentally bite-sized’ mini-systems using events that require a planned response. The level of detail of each response is at the level of ‘primary use cases’. Each planned response may be modelled using DFD notation or as a single use case using use case diagram notation.
The basic flow within a process or use case can usually be described in a relatively small number of steps, often fewer than twenty or thirty, possibly using something like ‘structured English’. Ideally, all of the steps would be visible all at once (often a page or less). The intention is to reduce one of the risks associated with short-term memory, namely, forgetting what is not immediately visible (‘out of sight, out of mind’).
Alternatively, using the notations of structured techniques, an analyst could create a ‘Nassi–Shneiderman diagram’. In the UML, the use case could be modelled using an activity diagram, a sequence diagram, or a communication diagram. This could be problematic if there are many complex scenarios of the use case; the analyst may wish to model all or most of the scenarios.
Complexity versus fragmentation
If the response is lengthy or complex (i.e., more than a page of text), an analyst may decompose (‘factor out’ or deduplicate) into smaller ‘secondary use cases’ to keep the ‘parent’ primary use case smaller and simpler. These secondary use cases may prove to be reusable as well. (In a UML use case diagram, they would be drawn as extended or included use cases, which are related to one or more primary use cases.)
While describing a use case, an analyst may also uncover ‘business rules’. Some analysts suggest capturing business rules in a separate document using the Object Constraint Language or some other formal notation. Then when a business rule must be obeyed in a use case, the analyst makes reference to it. This minimises repetition within a specification, but risks fragmentation of a specification. One technique that may reduce this tension is to use hyperlinks in the specification document.
In addition to functional requirements captured in a use case description, an analyst may include such non-functional requirements as response time, learnability, etc.
See also
References
43 year old Petroleum Engineer Harry from Deep River, usually spends time with hobbies and interests like renting movies, property developers in singapore new condominium and vehicle racing. Constantly enjoys going to destinations like Camino Real de Tierra Adentro.
External links
- Event partitioning Structured Analysis Wiki
- ↑ MCME-84: 20 year-old Real Estate Agent Rusty from Saint-Paul, has hobbies and interests which includes monopoly, property developers in singapore and poker. Will soon undertake a contiki trip that may include going to the Lower Valley of the Omo.
My blog: http://www.primaboinca.com/view_profile.php?userid=5889534 (ISBN 978-0-13-287905-7) - ↑ YOUR-89: Template:Cite web
- ↑ WARD-85: 20 year-old Real Estate Agent Rusty from Saint-Paul, has hobbies and interests which includes monopoly, property developers in singapore and poker. Will soon undertake a contiki trip that may include going to the Lower Valley of the Omo.
My blog: http://www.primaboinca.com/view_profile.php?userid=5889534 (ISBN 978-0-13-854787-5) - ↑ booking dialogue = * *
= *input* booking request + *output* booking confirmation
booking request = * *
= guest name + room type + (room facilities) +
arrival date-time + departure date-time
room type = * type of bedroom *
= * values : [ single ; double ; family ] *
room facilities = * booleans that indicate presence or absence of a facility *
= television + radio + alarm clock + climate control + Internet access +
telephone + refrigerator + mini-bar + toilet + sink + bath + shower + bidet
arrival date-time = * *
= date-time
departure date-time = * *
= date-time
date-time = * ISO 8601 format *
= year + month + day of month + 'T' + hour + minute > - ↑ cancellation dialogue = * *
= *input* cancellation request + *output* cancellation confirmation - ↑ arrival dialogue = * *
= *input* arrival message + *output* arrival packet
arrival packet = * *
= room key + room card + complimentary drink coupon - ↑ check-out dialogue = * *
= *input* check-out request + *output* guest bill - ↑ payment dialogue = * *
= *input* payment vehicle + *output* guest receipt
guest receipt = * *
= guest name + guest address + {charge detail} + charge total + (taxes) + amount due + amount paid