Rozdělení událostí - Event partitioning
Rozdělení událostí je snadno použitelný systémová analýza technika, která pomáhá analytikovi organizovat se požadavky pro velké systémy do sbírky menších, jednodušších, minimálně propojených a srozumitelnějších „mini systémů“ / případy užití.
Přehled
Přístup dělení událostí vysvětlují Stephen M. McMenamin a John F. Palmer Analýza základních systémů.[1] Stručná verze přístupu je popsána v článku o Diagramy toku dat (DFD). Podrobnější diskuse je v Edward Yourdon Jen dost strukturované analýzy.[2] Popis se zaměřuje na použití techniky k vytváření diagramů toku dat, ale lze ji použít k identifikaci případy užití také.
Předpokladem dělení událostí je, že systémy existují, aby reagovaly na externí události: identifikujte, co se stane v obchodním prostředí, které vyžaduje plánované reakce, poté definujte a vytvořte systémy, které budou reagovat podle pravidel podnikání. Zejména existuje obchodní systém, který slouží požadavkům zákazníků. Zákazník, v žargonu Unifikovaný Modelovací Jazyk (UML), je „herec ".
Témata dělení událostí
Herec → Událost → Zjistit → Odpovědět
Metoda má následující kroky.
- 1. Identifikujte externí systémy pomocí brainstorming seznam „herci"(externí systémy), které jsou zdrojem externích událostí. Pokud shledáte užitečnou grafiku, vytvořte a kontextový diagram ukazující aktéry mimo studovaný systém a toky / signály mezi nimi.
- 2. Postavit se v botách „herce“ (nebo ve spolupráci se zástupci herců), vymyslet seznam „vnější událostiSpouštěče „/“, na které chtějí, aby měl systém plánovanou odpověď. (Všimněte si, že systém nemůže pocházet externí Události; může jen herec.)
- 3. Určete, co systému umožní detekovat vnější události:
- příchod jednoho nebo více kusů data (případně ve formě zprávy)
- příjezd jednoho nebo více bodů do čas (M&P nazývají „časové“ události a odlišují se od vnějších událostí)
- 4. Určete plánováno reakce že systém může provést, když dojde k událostem. Jedná se o případy reakce / použití, které systému umožní dosáhnout svých cílů.
Tato technika byla rozšířena o události „bez událostí“ od Paul T. Ward a Stephen J. Mellor v Strukturovaný vývoj pro systémy v reálném čase: základní techniky modelování.[3]
„Vzhledem k tomu, že terminátoři [aktéři] jsou ze své podstaty mimo hranice úsilí o budování systému představovaného modelem, implementátoři nemohou libovolně modifikovat technologii terminátorů [aktérů], aby zlepšili její spolehlivost. Místo toho musí vytvářet reakce na terminátora [ Problémy aktéra] do základního modelu systému. Užitečným přístupem k modelování odpovědí na problémy terminátora [aktéra] je sestavení seznamu „normálních“ událostí a následný dotaz na každou událost „Musí systém reagovat, pokud tato událost selže dojít podle očekávání? ' " [4] [zvýraznění přidáno]
Zápis datového slovníku
Yourdon / DeMarco styl zápis datového slovníku lze použít k popisu složení a struktury dat.
Symbol | Význam |
---|---|
= | „obsahuje“, „je“ nebo „se skládá z“ |
+ | „a“, „i“ nebo „společně s“ (ne aritmetický "plus") |
[X ; y ; z] | "vyberte pouze jeden z nich X nebo y nebo z". Buď a středník (;) nebo a svislá čára (|) lze použít k oddělení položek v seznamu. |
m{X}n nebo m: n{X} nebo | "z m na n iterace X". Pokud m nebo n není zadán, pak je dolní nebo horní limit jednoduše „neznámý“ nebo „nespecifikovaný“. Vícedimenzionální pole lze určit vnořením, např. 10 {10 {x} 10} 10 definuje dvourozměrnou matici 10 řádků s 10 sloupci. |
(X) | „volitelně X". To odpovídá 0 {X}1 nebo 0:1{X} nebo . |
@ | předpona pro identifikátor v rámci iterace. Například v {@ i + @ j + x} i a j jsou identifikátory. |
* ... * | Cokoli mezi singly hvězdičky je považován za komentář. Na datový prvek úrovni může komentář obsahovat značky typu „range:“, „limits:“, „precision:“, „unit:“ nebo „values:“. |
Prvky datové struktury lze mapovat na strukturované programování kontrolní struktury:
- „+“ lze namapovat na „sekvenci“ příkazů (i když to tak nutně není)
- „[|]“ lze namapovat na „výběr“ (podmíněné, příkazy switch )
- „{}“, „()“ lze namapovat na „iteraci“ (počítací smyčka, smyčka před testem, smyčka středního testu, smyčka po testu a nekonečná smyčka )
Pozn. Definované položky mohou být „materiální“ (např. Klíč od pokoje) i „data“ (např. Datum a čas příjezdu).
Identifikace požadavků a jejich důvodů
Informace o reakci na událost mohou být zachyceny v tabulce. Událost je raison d’être za odpověď, která dává „sledovatelnost „z reakce zpět do prostředí.
1. Herec | 2. Externí událost / spouštěč | 3. Zjištěno uživatelem | 4. Odpověď / Případy použití |
---|---|---|---|
Host | Host požaduje pokoj určitého typu, pro konkrétní datum příjezdu, datum odjezdu, určitou sazbu atd. | žádost o rezervaci + (ověření platby) + (* externí rezervační systém * potvrzení rezervace) [5] | Book Room (může zahrnovat zaručenou rezervaci, alternativní rezervaci hotelu, rezervaci v seznamu |
Host | Host žádá o zrušení rezervace pokoje. | žádost o zrušení [6] | Zrušit rezervaci |
Host | Host dorazí do hotelu. | zpráva o příjezdu = * * = [jméno hosta; odkaz na rezervaci] [7] | Zkontrolujte hosta |
Čas / Plánovač | Host nedokáže dorazit do hotelu. [Toto je událost bez události.] | 23:00 (místního času) [Událost „bez události“ je detekována příchodem bodu v čase, termínu.] | Vytvořit účet hosta, Aktualizovat rezervaci |
Host | Host žádá o odhlášení z hotelu. | požadavek na odhlášení = * * = [jméno hosta; číslo pokoje] [8] | Vytvořit účet hosta, Aktualizujte obsazenost místnosti |
Čas / Plánovač | Host nedokáže podívejte se z hotelu. [Toto je událost bez události.] | 11:00 (místního času) [Událost „bez události“ je detekována příchodem bodu v čase, termínu.] | Vytvořte účet hosta |
Host | Host nabízí platbu účtu. | platební vozidlo = * * = [hotovost; šek ; kreditní karta ; debetní karta] + (ID hosta) [9] | Přijměte platbu od hosta |
Čas / Plánovač | Je čas připravit hlášení o obsazenosti pokoje za předchozí noc. | 8:00 (místního času) | Zpráva o obsazení místnosti |
Hotelový manažer | Manažer hotelu požaduje zprávu o obsazenosti pokoje. | žádost o hlášení obsazení | Zpráva o obsazení místnosti |
Kouřový / CO alarm | Alarm detekuje kouř. | kouřová poplašná zpráva | Nahlásit kouřový alarm |
Kouřový / CO alarm | Alarm detekuje CO (oxid uhelnatý). | CO alarmová zpráva | Nahlásit alarm CO |
Definování požadavků
Tento přístup pomáhá analytikovi rozložit systém na minisystémy o velikosti „mentálně bite“ pomocí událostí, které vyžadují plánovanou reakci. Úroveň podrobností každé odpovědi je na úrovni „primární“ případy užití ". Každou plánovanou odpověď lze modelovat pomocí zápisu DFD nebo jako jediný případ použití pomocí zápisu diagramu případů použití.
The základní tok v rámci procesu nebo případu použití lze obvykle popsat v relativně malém počtu kroků, často méně než dvaceti nebo třiceti, případně pomocí něčeho jako "strukturovaná angličtina V ideálním případě by všechny kroky byly viditelné najednou (často stránka nebo méně). Záměrem je snížit jedno z rizik spojených s krátkodobá paměť, a sice zapomenout na to, co není okamžitě viditelné („mimo dohled, mimo mysl“).
Alternativně by analytik pomocí notace strukturovaných technik mohl vytvořit „Nassi – Shneidermanův diagram ". V UML lze případ použití modelovat pomocí diagram činnosti, a sekvenční diagram nebo komunikační diagram. To může být problematické, pokud jich je mnoho scénáře případu použití; analytik může chtít modelovat všechny nebo většinu scénářů.
Složitost versus fragmentace
Je-li odpověď zdlouhavá nebo složitá (tj. Více než stránka textu), může analytik rozložit ("vyřadit" nebo deduplikát ) do menších „sekundárních případů použití“, aby byl „primární“ případ primárního použití menší a jednodušší. Tyto případy sekundárního použití se také mohou ukázat jako opakovaně použitelné. (V UML použít případový diagram, byly by nakresleny jako prodloužena nebo zahrnuta případy použití, které souvisejí s jedním nebo více primárními případy použití.)
Při popisu případu použití může analytik také odhalit „obchodní pravidla Někteří analytici navrhují zachytit obchodní pravidla v samostatném dokumentu pomocí Jazyk omezení objektu nebo nějaké jiné formální notace. Když se pak v případě použití musí dodržovat obchodní pravidlo, analytik na něj odkazuje. To minimalizuje opakování [10] v rámci specifikace, ale riskuje fragmentaci specifikace. Jednou z technik, která může toto napětí snížit, je použití hypertextové odkazy v dokumentu se specifikací.
Tento redukční přístup spočívá poněkud na rozdíl od a systémové myšlení přístup ve formě Peter Checkland je metodika měkkých systémů.
Navíc funkční požadavky zachycený v popisu případu použití, může analytik takový zahrnout nefunkční požadavky jako doba odezvy, učitelnost atd.
Viz také
Reference
- ^ MCME-84: McMenamin, Stephen M .; John F. Palmer (1984). Analýza základních systémů. Prentice-Hall (Yourdon Press). ISBN 0-13-287905-0. (ISBN 978-0-13-287905-7)
- ^ VAŠE-89: „yourdon.com - Jen dost strukturované analýzy, Kapitoly 18, 19 ". 1989. Archivovány od originál dne 2007-02-14. Citováno 2008-04-24.
- ^ WARD-85: Ward, Paul T .; Stephen J. Mellor (1985). Strukturovaný vývoj pro systémy v reálném čase: Volume 2, Essential Modeling Techniques. Prentice-Hall (Yourdon Press). ISBN 0-13-854787-4. (ISBN 978-0-13-854787-5)
- ^ WARD-85, str. 38-39.
- ^ rezervační dialog = * *
= * vstup * požadavek na rezervaci + * výstup * potvrzení rezervace
požadavek na rezervaci = * *
= jméno hosta + typ pokoje + (vybavení pokoje) +
datum a čas příjezdu + datum a čas odjezdu
typ pokoje = * typ ložnice *
= * hodnoty: [single; dvojitý; rodina ] *
vybavení pokojů = * booleovi které naznačují přítomnost nebo nepřítomnost zařízení *
= televize + rádio + budík + ovládání klimatizace + přístup k internetu +
telefon + lednička + minibar + WC + umyvadlo + vana + sprcha + bidet
datum a čas příjezdu = * *
= datum a čas
datum a čas odletu = * *
= datum a čas
datum-čas = * ISO 8601 formát *
= rok + měsíc + den v měsíci + 'T' + hodina + minuta> - ^ dialog pro zrušení = * *
= * vstup * požadavek na zrušení + * výstup * potvrzení o zrušení - ^ příjezdový dialog = * *
= * vstup * příchozí zpráva + * výstup * příchozí paket
příchodový balíček = * *
= klíč od pokoje + pokojová karta + kupón na nápoj zdarma - ^ check-out dialog = * *
= * vstup * požadavek na odhlášení + * výstup * účet za hosta - ^ platební dialog = * *
= * vstup * platební vozidlo + * výstup * potvrzení hosta
potvrzení od hosta = * *
= jméno hosta + adresa hosta + {podrobnosti o poplatku} + celková částka + (daně) + splatná částka + zaplacená částka - ^ viz také Neopakujte se, známé také jako „SUCHÉ“
externí odkazy
- Rozdělení událostí Wiki strukturované analýzy