De centrale business classes in de meeste applicaties kennen verschillende stadia in hun levenscyclus. De overgangen tussen dergelijke stadia worden ingegeven door de aard van de business processen die geautomatiseerd worden in het project. Het kan voorkomen dat een klasse onder invloed van een groot aantal processen, in verschillende stadia voorkomt. Nu verdient het aanbeveling van een dergelijke klasse een state model te maken. Dit model verduidelijkt dan vooral de voorwaarden en momenten van overgang naar een volgend stadium. DoelEen state model geeft inzicht in de levenscyclus van objecten die in een groot aantal verschillende stadia kunnen bestaan. Stappen- Selecteren business classesSelecteer uit het business class model de klassen waarbij, tijdens de uitvoering van de stappenplannen van de use cases, zoals gemodelleerd in de sequence diagrammen, statusveranderingen optreden. Wanneer een klasse een redelijke aantal stadia kent, of als de klasse statusovergangen kent in verschillende, onafhankelijke use cases, wordt een state diagram gemaakt voor de klasse.
- Identificeren statesCreëer in dit model voor ieder, in de object sequence diagrammen gevonden, stadium een state. Geef van deze state een korte beschrijving.
- Modelleren statusovergangenGeef aan - in overleg met de gebruikersvertegenwoordigers - wanneer de verschillende statusovergangen plaatsvinden. Noteer hierbij de condities waaronder deze plaatsvindt. Deze condities volgen vrijwel altijd uit het desbetreffende sequence diagram. De statusovergang is altijd het gevolg van een actie in dit diagram.Modelleer dergelijke condities als "guards" in het state diagraml.
- Afstemmen state diagram met gebruikerStem het volledige state diagram af met de gebruikersvertegenwoordiger, of het diagram in overeenstemming is met de (gewenste) werkelijkheid. Let hierbij op ontbrekende stadia of missende condities.
RichtlijnenIndien een klasse slechts "standaard" stadia - zoals creëeren, wijzigen of vervallen - kent, is een state model weinig zinvol. Let op dat de condities bij statusovergangen altijd "mutually exclusive" zijn. Het is niet mogelijk dat twee condities voor overgang naar een ander stadium, vanuit het huidige stadium, tegelijk plaatsvinden. | |