1 Metodika SELECT Perspective Zdroj: www.lbms.cz 2 Projektový postup • Stuart Frost a Paul Allen, 1991 • Kombinace procesního modelování a objektově orientované metodiky • Businness Process Reengineering (BPR) • Object Modelling Technique (OMT) • Využívá UML diagramy a procesní mapy • Inkrementální postup • Architektura systému založená na komponentách 3 Model firemních procesů Pro každý přírůstek VĚCNÉ VYMEZENÍ PROJEKTU NASAZENÍ PŘÍRŮSTKU PLÁNOVÁNÍ PŘÍRŮSTKŮ PROTOTYP NÁVRH & TVORBA PŘÍRŮSTKU ANALÝZA PROBLÉMOVÉ OBLASTI Model typových úloh Model tříd Model interakcí Dynamický model Model tříd Model interakcí Dynamický model NÁVRH TECHNOLOGICKÉ ARCHITEKTURY Projektový postup 4 Skupina služeb Poskytování veřejných kurzů Plánování kurzů * Prodej a rezervace kurzů * Konání kurzů * Poskytování In-house kurzů * Poskytování konzultací * Dekompozice firemních procesů: • Nejvyšší úroveň: Organizace (resp. její část) • Nejnižší úroveň: Neelementární proces popsaný diagramem procesních řetězců Diagram hierarchie procesů 5 Diagram procesních řetězců Kurz hotov Požadavek na kurz Rezervace Kurzu Čekání na potvrzení Potvrzení rezervace Čekání na uskutečnění kurzu Konání kursu Potvrzení rezervace Datum konání Follow-up kurzu Zhodnocení kurzu Propočet náhrad Použití: Modelování „toku“ firemních aktivit Iniciace: Jednou či více firemními událostmi Ukončení: Jedním nebo více firemními výstupy (Procesní mapa) 6 Přechod od procesního modelu k objektovému * * * * * Elementární proces vede obvykle na jeden případ užití (use case) 7 Use case diagram 8 Další UML diagramy Na základě use case diagramů jsou následně vytvořeny: - sekvenční diagramy (pro každý use case) - diagramy spolupráce - diagramy tříd - diagramy objektů - stavové diagramy (pro dynamicky se chovající objekty) - diagramy činností (pro dynamicky se chovající objekty) - diagramy komponent 9 Inkrementy V každém inkrementu by měl být pokryt alespoň jeden případ užití (use case), resp. větší množství („násobek celých“) případů užití. V opačném případě uživatel nepocítí rozšíření funkcionality. 10 Posloupnost tvorby modelů 1. Modelování firemních procesů 2. Modelování případů užití 3. Modelování tříd objektů 4. Modelování interakcí objektů 5. Modelování dynamiky objektů 6. Modelování komponent 11 Nedochází k provázání přes datovou vrstvu ... Aplikační vrstva Datová vrstva Prezentační vrstva Aplikační skript Aplikační skript Klient Klient Klient CLEN CLEN_ID ADRESA CISLOOP DATUMPOSLAKTIVITY INDENTCISLOCLENA RODNECISLO TELEFON TITUL_ID* TITUL TITUL_ID CISLOTITULU DENNIPUJCOVNE NAZEVTITULU POPISTITULU TYPHRACIKONSOLE ZNACKAHRACIKONSOLE KOPIE_TITULU KOPIETITULU_ID CLEN_ID* IDENTIFIKACNICISLOKOPIE TITUL_ID* UMELEC UMELEC_ID JMENO PRIJMENI KOPIETITULU_ID* REZERVACE CLEN_ID* TITUL_ID* DATUMCASMANIPULACE STAVREZERVACE ROLE TITUL_ID* UMELEC_ID* NAZEVROLE ZAPUJCKA KOPIETITULU_ID* DATUMZAPUJCENI DENNIPUJCOVNEZAPUJCKY UCET_CLENA UCETCLENA_ID SALDO CLEN_ID* CLEN CLEN_ID ADRESA CISLOOP DATUMPOSLAKTIVITY INDENTCISLOCLENA RODNECISLO TELEFON TITUL_ID* TITUL TITUL_ID CISLOTITULU DENNIPUJCOVNE NAZEVTITULU POPISTITULU TYPHRACIKONSOLE ZNACKAHRACIKONSOLE KOPIE_TITULU KOPIETITULU_ID CLEN_ID* IDENTIFIKACNICISLOKOPIE TITUL_ID* UMELEC UMELEC_ID JMENO PRIJMENI KOPIETITULU_ID* REZERVACE CLEN_ID* TITUL_ID* DATUMCASMANIPULACE STAVREZERVACE ROLE TITUL_ID* UMELEC_ID* NAZEVROLE ZAPUJCKA KOPIETITULU_ID* DATUMZAPUJCENI DENNIPUJCOVNEZAPUJCKY UCET_CLENA UCETCLENA_ID SALDO CLEN_ID* CLEN CLEN_ID ADRESA CISLOOP DATUMPOSLAKTIVITY INDENTCISLOCLENA RODNECISLO TELEFON TITUL_ID* TITUL TITUL_ID CISLOTITULU DENNIPUJCOVNE NAZEVTITULU POPISTITULU TYPHRACIKONSOLE ZNACKAHRACIKONSOLE KOPIE_TITULU KOPIETITULU_ID CLEN_ID* IDENTIFIKACNICISLOKOPIE TITUL_ID* UMELEC UMELEC_ID JMENO PRIJMENI KOPIETITULU_ID* REZERVACE CLEN_ID* TITUL_ID* DATUMCASMANIPULACE STAVREZERVACE ROLE TITUL_ID* UMELEC_ID* NAZEVROLE ZAPUJCKA KOPIETITULU_ID* DATUMZAPUJCENI DENNIPUJCOVNEZAPUJCKY UCET_CLENA UCETCLENA_ID SALDO CLEN_ID* Relationship9 Relationship9 Relationship10 Relationship10 Aplikační skript 12 ... ale k provázání přes aplikační vrstvu Aplikační vrstva Datová vrstva Prezentační vrstva Clen Clen_id adresa cisloOP datumPoslAktivity indentCisloClena KopieTitulu rodneCislo telefon Titul Titul Titul_id cisloTitulu denniPujcovne nazevTitulu popisTitulu typHraciKonsole znackaHraciKonsole KopieTitulu KopieTitulu_id Clen_id* identifikacniCisloKopie Titul_id* Umelec Umelec_id Jmeno Prijmeni Rezervace Clen_id* Titul_id* datumCasRezervace stavRezervace RoleUmelce Titul_id* Umelec_id* nazevRole Zapujcka KopieTitulu_id* datumZapujceni denniPujcovneZapujcky UcetClena UcetClena_id UcetClena Clen_id* Aplikační Komponenta Clen Clen_id adresa cisloOP datumPoslAktivity indentCisloClena KopieTitulu rodneCislo telefon Titul Titul Titul_id cisloTitulu denniPujcovne nazevTitulu popisTitulu typHraciKonsole znackaHraciKonsole KopieTitulu KopieTitulu_id Clen_id* identifikacniCisloKopie Titul_id* Umelec Umelec_id Jmeno Prijmeni Rezervace Clen_id* Titul_id* datumCasRezervace stavRezervace RoleUmelce Titul_id* Umelec_id* nazevRole Zapujcka KopieTitulu_id* datumZapujceni denniPujcovneZapujcky UcetClena UcetClena_id UcetClena Clen_id* Clen Clen_id adresa cisloOP datumPoslAktivity indentCisloClena KopieTitulu rodneCislo telefon Titul Titul Titul_id cisloTitulu denniPujcovne nazevTitulu popisTitulu typHraciKonsole znackaHraciKonsole KopieTitulu KopieTitulu_id Clen_id* identifikacniCisloKopie Titul_id* Umelec Umelec_id Jmeno Prijmeni Rezervace Clen_id* Titul_id* datumCasRezervace stavRezervace RoleUmelce Titul_id* Umelec_id* nazevRole Zapujcka KopieTitulu_id* datumZapujceni denniPujcovneZapujcky UcetClena UcetClena_id UcetClena Clen_id* Aplikační Komponenta Aplikační Komponenta Klient Klient Klient 13 Komponenta Specifikace Služby určují funkcionalitu komponenty. Služba má jméno, seznam parametrů. Implementace Implementace (zdrojový kód) definuje jak jsou spouštěny služby. Pro různé platformy může být různá implementace. Rozhraní Definuje množinu služeb, které zapouzdřují funkcionalitu komponenty. Může jich být několik. Komponenta Spustitelné soubory Pro každou implementaci může být několik spustitelných souborů pro vlastní použití, příklady, či ladění. .DLL .EXE .OCA /OCX