Metoda BORM
Transkript
Metoda BORM
Vojtěch Merunka Metoda BORM BORM – Business and Object Relation Modeling BORM information engineering process Práce na BORMu začaly na počátku 90. let ve výzkumném projektu VAPPIENS Britské rady (Know-How Fund of the British Council). Metoda je od roku 1996 vyvíjena s podporou firmy Deloitte, kde se také používá. Podrobný popis BORMu lze nalézt v knize Carda, Merunka, Polák: Umění systémového návrhu - objektově orientovaná tvorba informačních systémů pomocí původní metody BORM, Grada 2003. Pro BORM se doposud používal CASE nástroj Metaedit® finské firmy Metacase Ltd nebo MS Visio. Craft.CASE se používá od roku 2005. Publikace o BORMu Umění systémového návrhu – Objektově orientovaná tvorba informačních systémů pomocí původní metody BORM, Grada, Praha 2003 knihy Management of the Object-Oriented Development Process, Akron Publishing, Virgin Island 2005 Accounting Information Systems, South-Western Publishing, Mason-Ohio 2004 Využití metod umělé inteligence ve vodním hospodářství, nakladatelství Akademie věd ČR, Praha 2004 a dalších cca 5 vysokoškolských skript The BORM methodology: a third-generation fully object-oriented methodology, Knowledge-Based Systems 3(10) 2003, Elsevier Science Publishing, New York. ččasopisy asopisy … a další 4 články v českých vědeckých časopisech Process Modeling for Object Oriented Analysis using BORM Object Behavioral Analysis, in Proceedings of Fourth International Conference on Requirements Engineering, ΙΕΕΕ Computer Society, Chicago 2000. … a dalších cca 20 příspěvků na konferencích doma i v zahraničí konference BORM - kontext celé metody business business map map konceptu ální konceptuální model model modely ů modely subjekt subjektů analýza ávrh analýza aa nnávrh business business struktur struktur řřešení ešení IS IS aa jejich ání jejich chov chování zadání pro IS Filosofie BORMu: business business in ženýrství inženýrství softwarový softwarový model model implementace implementace nnávrhu ávrhu návrh řešení tvorba informačního systému pomocí postupné transformace modelů softwarov é in ženýrství softwarové inženýrství ((tvorba tvorba softwaru ání kk řřešení) ešení) softwaru od od zad zadání řešení BORM and MDA Approach business engineering area business models participant software engineering area conceptual models (platform-independent) software models (platform-dependent) object object object collection collection collection class class class activity (job positions, perf. measures, devices) method method communication message participant (modeling card) states & transitions real world problem function, scenario (CSF, goals, targets, issues) message object oriented solution delegation association (relationship tables) relation is-a hierarchy BORM interviews BORM process diagrams data flows message parameters & return values has-a has-a composing dependency dependency dependency type hierachy polymorphism polymorphism inheritance inheritance UML-based models Transformation Techniques OBJECT OBJECT NORMALIZATION NORMALIZATION DESIGN DESIGN PATTERNS PATTERNS 1st, 1st, 2nd, 2nd, 3rd 3rd ONF ONF structural , structural patterns patterns, behavioral behavioral patterns patterns BEHAVIORAL BEHAVIORAL CONSTRAINTS CONSTRAINTS dependencies dependencies between between successors successors and and predecessors predecessors OBJECT OBJECT EVOLUTION EVOLUTION from from participants participants to to object , object classes classes, collections , … collections, … HIERARCHY HIERARCHY EVOLUTION EVOLUTION from -A through from IS IS-A through type type hierarchy hierarchy to to inheritance inheritance RELATIONSHIP RELATIONSHIP EVOLUTION EVOLUTION from from associations associations to to composition , composition, aggregations , … aggregations, … Transformation Techniques - Behavioral Constraints object relationship (from A to B) behavioral constraints B is dynamicaly accessible from A normal aggregation A needs B to perform anything Yes Yes Yes A needs to pass data to B Yes Yes A needs to get data from B Yes B shares the same behaviour as A inheritance B is an instance of a class A No No No Yes Yes No No No Yes Yes Yes No No No No No No No Yes Yes No No B uses the methods of A No No No No Yes No No values of A have influence to values or behav. of B No No No No No Yes No behav. (methods) of A have influence to values or behav. of B No No No No Yes No No values or behav. of B have influence to values or behav. ofA No No Yes No No No No HAS-A hierarchy IS-A hierarchy poly-morphism B is dependent on A Transformation Techniques - Hierarchy Evolution Motto: do not start system modeling with software-oriented concepts. IS-A HIERARCHY (business objects) POLYMORPHISM (conceptual objects) Collection INHERITANCE (software objects) Collection Collection IS-A IS-A type type Dictionary type Bag Set String Set IS-A Array Array Array IS-A type IS-A ByteArray IS-A type type Set Bag ByteArray String Bag Dictionary Dictionary ByteArray String Business Map Business Map „business analysis and design method based on combination of object-oriented approach and process modeling“ business business improvement improvement organization organization consulting consulting as -is &t o -b em od els business business map map ub r s ted avio n e h um d be c d o s an t jec modely ů modely subjekt subjektů business business struktur struktur aa jejich ání jejich chov chování software software engineering engineering req u nts e m ire ca ptu r ed inf o rm ati o n knowledge knowledge management management BORM - Business Map - framework 3. relationships subjects 2. structure components hierarchies of participants participant roles behavior 1. concept functions hierarchies of scenarios content of scenarios explanation: 4. processes diagrams 5. verification modeling cards simulation & testing phase phase thread thread task Funkce, Scénáře, Participanti a Modelové karty Users request new functionality Derived from: Admin and Maintenance Initiation: User requests new functionality. Action: IT Support evaluates the requests and accumulates relevant information for future development. Result: Developer periodically receives requests for upgrades (accumulated, not one-by-one). Developer IT Support Developer CVDB User IT Support New version release × × System error × × User Users request for change × × Users request new functionality × × Procesní diagram Ka ždý objekt, Každý objekt, který který vv procesu procesu participuje, á participuje, m má svoje ase svoje vv ččase prom ěnlivé chov ání proměnlivé chování aa komunikuje komunikuje ss druhými druhými objekty. objekty. Výsledný Výsledný proces proces je je ddán án sledem álostí sledem ud událostí vyvol ávaných vyvolávaných komunikacemi komunikacemi aa datovými datovými toky toky mezi mezi objekty. objekty. role objektů tvoří proces Transition from Business Engineering to Software Engineering Conceptual Model Creation Define software system boundary, select objects within the system from all business objects modeled. Document behavior of business objects outside the system boundary. OBJECT EVOLUTION: Decide for implementation of object types as classes or as collections. HIERARCHY EVOLUTION: Define object types and assemble type hierarchy. RELATIONSHIP EVOLUTION: Transform object associations to more concrete relations like object composing, object dependency, polymorphism or object delegation. Conceptual Diagrams Object Object A A BORM uses UML notation, but has following differences: Extra symbol for method. Object Object B B message parameter method A message method B message return Extra symbol for message among methods. collection collection name name collection collection type type Extra symbol for collection of objects. NAME attributes Extra symbol for class object. operations Extra symbols for relations known from pure object languages such as delegation, dependence, polymorphism independent in inheritance, etc. In each modeling phase, only limited set of concepts is used. For better expression of some modeling details, it is allowed to put together data, behavioral and history related concepts in one diagram. http://www.craftcase.com Projekt Craft.CASE je původní český modelovací a analytický CASE nástroj podporující metodu BORM®, která je založena na kombinaci objektově orientovaného přístupu a procesního modelování. Nástroj vzniká ve firmě e-Fractal s.r.o. Zadání vychází ze dvou potřeb: 1) Jednoduše ovladatelný a na prostředky počítače nenáročný. 2) Modelovací nástroj přesně šitý na míru metodě BORM, který je částečně konfigurovatelný, dokáže procesy simulovat a generuje výstupní dokumentaci. Program je vyvíjen v prostředí VisualWorks/Smalltalk a je určen pro použití ve Windows 2000 a XP. http://www.craftcase.com Shrnutí - projektování pomocí Craft.CASE spole čná datab áze společná databáze konceptu ální model konceptuální model business business diagramy diagramy simul átor simulátor y zb va modelov ání zad ání pro modelování zadání pro IS IS aa jeho ředí jeho prost prostředí transformace pomocn é hierarchie pomocné hierarchie konceptu ální diagramy konceptuální diagramy gener átor kkódu ódu generátor va zb y business business model model analýza ávrh IS analýza aa nnávrh IS Business Map - Simulační záznam D íky simulac ím lze ě analyzovat ů nebo Díky simulacím lze podrobn podrobně analyzovat role role jednotlivých jednotlivých objekt objektů nebo skupin skupin objekt ů vv modelovan ém procesu. objektů modelovaném procesu. Business Map - Procesní diagram - Simulace Ka ždý objekt, Každý objekt, který který vv procesu procesu participuje, á participuje, m má svoje ase svoje vv ččase prom ěnlivé chov ání proměnlivé chování aa komunikuje komunikuje ss druhými druhými objekty. objekty. Výsledný Výsledný proces proces je je ddán án sledem álostí sledem ud událostí vyvol ávaných vyvolávaných komunikacemi komunikacemi aa datovými datovými toky toky mezi mezi objekty. objekty. Business Map - Dokumentace Prvky Prvky všech všech modelů modelů jsou jsou ukládány ukládány do do databáze, databáze, se se kterou kterou lze lze přímo přímo pracovat. pracovat. Ve Ve většině většině případů případů se se prvky prvky musí musí do do databáze databáze předem předem vložit vložit aa teprve teprve potom potom lze lze ss nimi nimi pracovat pracovat vv diagramech. diagramech. Výstupní Výstupní dokumentace dokumentace je je tvořena tvořena hypertexty hypertexty ve ve formátu formátu HTML HTML aa také také PDF PDF aa obsahuje: obsahuje: 1. 1. 2. 2. 3. 3. 4. 4. seznamy seznamy prvků prvků zz databáze databáze diagramy diagramy simulační simulační záznamy záznamy modelové modelové karty karty (= (= tabulky tabulky ss křížovými křížovými referencemi) referencemi) MCDrive Scénáře Modelové karty APPENDIX - A Car Fleet I.S. Participant Relationships Process Diagram Move to Conceptual Diagram Conceptual Diagram Software Diagram - Client Side Software Diagram - Server Side SW Components SW Implementation relational data model (Oracle converted via ODBC into MS Acess) object structure - client data model (visual modeling in VisualWorks/Smalltalk) Car Fleet - VisualWorks/Smalltalk implementation program launcher borrowed car archive R.P.Knott, V. Merunka, J. Polak list of cars and garages database of car users workflow of car request from car user perspective create new request request after chief’s evaluation cancel request requests waiting at car assign workflow of car request from car user perspective - continued request after car assign request cancel car borrow borrowed cars car borrow must be completed by physical car return to garage. this is why here is no button car assign workflow of car request from chief perspective request to have assigned some car requests to be evaluated car is returned car state (reserved, in service, ...) request cancel APPENDIX - B BORM and ICT Management BORM in the ICT Lifecycle market conditions, vision&mission statements 1. 1. business business needs needs & & business business strategy strategy business requirements legacy situation (e.g. system architecture, architecture, bussiness processes, processes, applications&data) applications&data) (ideally all aspects of business incl. incl. measures; measures; usually in description of future business processes) processes) 2. 2. ICT ICT strategy strategy -- ICT ICT assessment assessment -- ICT ICT strategic strategic plan plan -- ICT ICT implementation/tactical implementation/tactical plan plan feedback changes in legacy situation (2(2-5 years need to update the whole ICT strategy) strategy) required target ICT architecture, architecture, ICT organization existing ICT systems, user requirements (e.g. toto-be processes including material flows & data flows), flows), ICTArchitecture 3. 3. project project initiation initiation -- ICT ICT project project goals goals & & objectives objectives -- gap gap analysis analysis to-be to-be vs. vs. as-is(processes/ICT) as-is(processes/ICT) -- business business case case (cost&benefit (cost&benefit analysis) analysis) -- decision decision on on package package or or in-house in-house devel. devel. project charter (project sponsor, sponsor, manager, team, schedule, schedule, budget, ...) 4. 4. in-house in-house development development -- analysis analysis & & design design & & implementation implementation -- tests tests -- roll-out roll-out 5. 5. using using packages packages -- configuration configuration -- test test -- roll-out roll-out new or updated ICT systems, systems, new or updated user behavior 6. 6. maintenance maintenance & & support support -- user user help help desk desk -- configuration configuration management management -- risk risk management management & & security security feedback (maintainance changes, changes, requests for new features) features) BORM Software Development Process – inspired by Ambler’s Approach project project initiation initiation INITIATE INITIATE •• well well define define user user requirements requirements in-house in-house development development using using packages packages maintenance maintenance & & support support CONSTRUCT CONSTRUCT •• well well end end efficient efficient performed analysis performed analysis DELIVER DELIVER •• start start system system use use seamless and efectively seamless and efectively MAINTAIN MAINTAIN & & SUPORT SUPORT •• to to have have satisfied satisfied users users •• repair repair defects defects •• select select optimal optimal solution solution •• prepare prepare all all required required for for project project start start success success .. .. .. •• best best system system assembling assembling and and testing testing •• to to have have good good documentation documentation .. .. .. development development platform platform •• well well prepare prepare users users of of the the system system .. .. .. •• to to have have good good knowledge knowledge base base for for possible possible new new version version start start .. .. .. operation operation platform platform Each phase has associate its key performance issues, corresponding roles, activities etc. BORM Software Development Process – detail project project initiation initiation INITIATE INITIATE in-house in-house development development using using packages packages maintenance maintenance & & support support CONSTRUCT CONSTRUCT JUSTIFY JUSTIFY DEFINE DEFINE REQUIREREQUIRE REQUIREMENTS MENTS DEFINE DEFINE MGMT MGMT DOCUMENTS DOCUMENTS DEFINE DEFINE INFRAINFRA INFRASTRUCTURE STRUCTURE zahajovac zahajovacíí tým tým DELIVER DELIVER MAINTAIN MAINTAIN & & SUPPORT SUPPORT MODEL MODEL TESTS TESTS IN IN THE SMALL THE SMALL TESTS TESTS IN IN THE LARGE THE LARGE RELEASE RELEASE SUPPORT SUPPORT GENERALIZE GENERALIZE PROGRAM PROGRAM REWORK REWORK ASSESS ASSESS IDENTIFY IDENTIFY DEFECTS DEFECTS pracovn pracovníí tým tým podpora é kancel áře podpora týmem týmem projektov projektové kanceláře spolupr áce zzástupců ástupců budouc ích uuživatelů živatelů spolupráce budoucích provozn provozníí tým tým podpora podpora týmem týmem „„help help desk “ desk“ spolupr áce vvšech šech budouc ích uuživatelů živatelů spolupráce budoucích PODP ŮRNÉ PROCESY PODPŮRNÉ PROCESY zaji štění kvality, zajištění kvality, people people management, management, risc risc management, management, reuse reuse management, management, pr ávní zabezpe čení, bezpe čnost, řřízení ízení infrastruktury, právní zabezpečení, bezpečnost, infrastruktury, ... ... BORM Software Development Process – Support Processes QUALITY QUALITY ASSURANCE ASSURANCE FOLLOW FOLLOW ISO ISO STANDARDS STANDARDS REUSE REUSE MANAGEMENT MANAGEMENT COLLECT COLLECT REUSABLE REUSABLE ITEMS ITEMS RISK RISK MANAGEMENT MANAGEMENT TRAINING TRAINING & & EDUCATION EDUCATION IDENTIFY IDENTIFY A A RISK RISK ASSESS ASSESS THE THE RISK RISK DEVELOP DEVELOP MITIGATION MITIGATION STRATEGIES STRATEGIES DEVELOP DEVELOP A A RISK RISK MANAGEMENT MANAGEMENT PLAN PLAN MITIGATE MITIGATE THE THE RISK RISK REPORT REPORT RISK RISK METRICS METRICS MANAGEMENT MANAGEMENT DEVELOP DEVELOP METRICS METRICS PLAN PLAN PERFORM PERFORM AND AND DISCUSS DISCUSS PERFORM PERFORM INTRO INTRO TRAININGS TRAININGS DELIVERABLES DELIVERABLES MANAGEMENT MANAGEMENT MANAGE MANAGE SOFTWARE SOFTWARE CONFI CONFIGURATION GURATION PERFORM PERFORM DETAILED DETAILED TRAININGS TRAININGS DEVELOP DEVELOP A A TRAINING TRAINING PLAN PLAN INFRA INFRA-STRUCTURE STRUCTURE MANAGEMENT MANAGEMENT APPLY APPLY CMM, CMM, … … TECHNIQUES TECHNIQUES Nasazení rolí v jednotlivých fázích je odlišné … model program generaliz e test in the small … … … development engineer modeler project manager subject matter expert / user technical writer … INITIATE INITIATE CONSTRUCT CONSTRUCT DELIVER DELIVER MAINTAIN MAINTAIN & & SUPPORT SUPPORT Struktura ASDM This is determining what needs to be built. Initial requirements are a foundation from which modeling can begin. allocated maintenance changes DEFINE AND VALIDATE INITIAL REQUIREMENTS from maintain & support phase INITIATE PHASE The main goal is to lay the foundation for a successful project. This is hard due to pressures by senior management and developers to start “real work” as soon as possible. define defineand and validate validate REQUIREREQUIREMENTS MENTS JUSTIFY JUSTIFY define define initial initial management management DOCUMENTS DOCUMENTS define define INFRAINFRAST RUCTURE STRUCTURE management documents initial req uirement project infrastructure project fund ing project charter vision commit ment reasib ility study existing applications mainten ance changes potential roles during this phase: project manager standards specialist analyst tools specialist subject matter expert project sponsor quality assurance engineer estimator / planner JAD / meeting facilitator process specialist technical writer infrastructure engineer DEFINE DEFINE SYSTEM SYSTEM FUNCTIONS FUNCTIONS DEFINE DEFINE SYSTEM SYSTEM SCENARIOS SCENARIOS DRAW DRAW PROCES PROCES MAPS MAPS HOLD HOLD SESSIONS SESSIONS CREATE CREATE MODELING MODELING CARDS CARDS PRIORITIZE PRIORITIZE REQUIREREQUIREMENTS MENTS INTERVIEW INTERVIEW USERS USERS SIMULATE SIMULATE SCENARIOS SCENARIOS WALK WALK THROUGH THROUGH PROT PROTOTYPES OTYPES INITIATE entranc e c onditions checklis t senior management support exists to initiate a new project maintenance changes pertaining to previous version (if any) are identified infrastructure is available INITIATE to be pe rformed c hec klist the initial requirements have been defined and validated the initial management documents have been defined the project has been technically, economically and operationally justified required project infrastructure has been defined potential reusable artifacts have been identified project team has been identified and trained where appropriate requirement documentation (forms, tables, diagrams, ...) project scop e CONSTRUCT/model - ukázka nastavení procesu v T-Mobile PM User / CIF PM - IT Business Analyst / Vendor Expert User appoint business model team wait for modeling finish PM Vendor receive acceptance receive business model and participate in workshop receive conceptual model accept vendor product IT Project Office provide reuse info gather metrics develop business model and provide reuse info wait for business model receive business model and reuse information participate in business model workshop after business model workshop model not approved request for business model revision wait for conceptual model receive conceptual model and reuse info has conceptual models conduct conceptual model workshop receive reuse info after concept. model workshop model approved finished business model consultations participate in business model workshop present business model conduct business model workshop after business model workshop model not approved request conceptual model revision consult business model finished business model consultations business model has business models model approved appoint conceptual modelling team consult business modelling finished business model after business model is finished after business model workshop develop conc. model and provide reuse info finished conceptual model present conceptual model conceptual model start modelling Environment Specialist & Programmer & IT Architect consult conceptual model finished conceptual model consultations participate in conceptual model workshop consult conceptual model finished conceptual model consultations participate in conceptual model workshop Technical Document Writer gather underlying material and update models