Francisco José Monteiro Duarte Automated Software Systems
Total Page:16
File Type:pdf, Size:1020Kb
Universidade do Minho Escola de Engenharia Francisco José Monteiro Duarte Automated Software Systems Generation for Process-oriented Organizations Março 2014 Universidade do Minho Escola de Engenharia Francisco José Monteiro Duarte Automated Software Systems Generation for Process-oriented Organizations Tese de Doutoramento Programa Doutoral em Tecnologias e Sistemas de Informação Professor Doutor Ricardo J. Machado Professor Doutor João M. Fernandes Março 2014 Ficha Técnica Título: Automated Software Systems Generation for Process-Oriented Organizations Autor: Francisco José Monteiro Duarte Âmbito: Tese de Doutoramento em Sistemas de Informação, Ramo do Conhecimento da Engenharia da Programação e dos Sistemas Informáticos Orientador: Ricardo Jorge Silvério Machado, Professor Associado com Agregação do Departamento de Sistemas de Informação da Universidade do Minho Co-orientador: João Miguel Lobo Fernandes, Professor Catedrático do Departamento de Informática da Universidade do Minho Instituição: Escola de Engenharia da Universidade do Minho Data de Início: Outubro de 2006 Data de Conclusão: Março 2014 Impressão e Acabamentos: Serviços de Reprografia e Publicações, Universidade do Minho Edição: 1.º edição (15 exemplares), Braga, Abril 2014 Copyright: Esta publicação pode ser reproduzida ou transmitida por qualquer forma ou por qualquer processo electrónico, mecânico, ou fotográfico sem autorização prévia e escrita do autor. A eventual transcrição de pequenos textos ou passagens é autorizada desde que devidamente referenciada. No entanto, esta autorização não é válida para recolhas antológicas ou similares, donde resulte prejuízo para esta publicação. Visual Studio, .net, .net compact framework, Visual Basic, C#, Active Server Pages (ASP), ASPX, ASP.net, Internet Information Server (IIS), Active Directory, Windows Mobile, Windows CE are trademarks of Microsoft Corporation ServiceMix, Tomcat, Geronimo, Camel, Felix, Karaf, Flex, Orchestration Director Engine (ODE), Hise, CXF, Maven, ActiveMQ, Struts, Jacob, Blueprint are trademarks of the Apache Software Foundation Rational Unified Process (RUP), Rational Method Composer (RMC), WebSphere Enterprise Service Bus, WebSphere Application Server Community Edition (WASCE) are trademarks of IBM Corporation Spring, Spring MVC are trademarks of SpringSource Hibernate is a trademark of JBoss Oracle, Oracle Service Bus, Java, JAX, JMS, JVM, Java Runtime Environment (JRE), JBI, Oracle Unified Method (OUM) are trademarks of Oracle Corporation Eclipse, Equinox, AspectJ, Eclipse Process Framework (EPF), Eclipse Modeling Framework (EMF), BPEL Designer, Jetty are trademarks of the Eclipse Foundation OSGi is a trademark of OSGi Alliance FUSE ESB is a trademark of Red Hat, Inc. Tibco ActiveMatrix Service Bus is a trademark of Tibco Software Inc. Nagios is a trademark of Nagios Enterprises Activiti is a trademark of activiti.org Adobe Flash Player is a trademark of Adobe Systems Software SAP R/3, BAPI, SAP ERP are trademarks of SAP Cirque du Soleil is a trademark of Cirque du Soleil ii Dedico este trabalho à memória de meu pai João, e de meus avós Guima e Conceição. À mãe Dores. Dedico-o também, como exemplo de perseverança, ao João Nuno, ao Hugo, e à Marta. ``Man gets tired, spirit don't. Man surrenders, spirit won't. Man crawls, spirit flies. Spirit lives when man dies. Man seems, spirit is. Man dreams, the spirit lives. Man is tethered, spirit free. What spirit is man can be.'' M.Scott iii Contents Prefácio xv Sumário xix Abstract xxi Part I - Prologue 1 1. Introduction 3 1.1. Information and Software Systems Development .................. 3 1.2. Motivation .................................... 9 1.3. Ambit ....................................... 10 1.3.1. Taxonomy and Basic Definitions ..................... 10 1.3.2. Scope of the Thesis ........................... 13 1.3.3. Definition of the Problem ......................... 13 1.4. Goals ....................................... 14 1.5. Research Method ................................. 14 1.6. Plan of Activities ................................. 16 1.7. Organization of the Document ........................... 17 Part II - Fundamental Concepts 21 2. Organizational and Information Systems Domains 23 2.1. Introduction .................................... 23 2.2. Business Organizations .............................. 25 2.2.1. Strategy of Organizations ......................... 26 2.2.2. Internal Configuration of Organizations . 28 2.2.3. Process-Oriented Organizations and Management Approaches . 30 2.2.3.1. Process-Oriented Organizations . 30 2.2.3.2. Management Approaches for Process-Oriented Organizations . 33 v Contents 2.2.4. Business Process Reference Models ................... 36 2.2.4.1. Definition and Characterization . 37 2.2.4.2. The SCOR Reference Model . 39 2.3. Information Systems ............................... 40 2.3.1. Information Systems Concepts ...................... 42 2.3.2. Ontologies and Metamodels ....................... 45 2.3.2.1. Ontologies .......................... 47 2.3.2.2. Metamodels .......................... 49 2.3.3. Business Modeling ............................ 51 2.3.3.1. Business Processes Modeling Languages . 54 2.3.3.2. Enterprise Architecture .................... 56 2.3.4. Manufacturing Execution Systems .................... 60 2.4. Conclusions ................................... 62 3. Software Systems Domain 65 3.1. Introduction .................................... 65 3.2. Business Software ................................ 67 3.2.1. Software Patterns ............................ 68 3.2.2. Software Frameworks .......................... 72 3.3. Software Engineering ............................... 77 3.3.1. Knowledge Areas ............................. 78 3.3.2. Software Development Processes .................... 79 3.3.2.1. Metamodels for Software Development Processes . 80 3.3.2.2. Traditional Approaches .................... 82 3.3.2.3. Agile Methods ......................... 83 3.3.2.4. Unified Process ........................ 85 3.3.3. Methodologies to Deploy Business COTS Software Systems . 86 3.4. Conclusions ................................... 88 Part III - Contribution 91 4. Action Research in Action 93 4.1. Introduction .................................... 93 4.2. Applying Action Research to Business Software Development . 95 4.3. An Initial Research Trigger: The Premium Wage Project . 100 4.3.1. Purpose of the Action . 100 4.3.2. Practical Action ............................. 100 4.3.2.1. Implemented Business Processes . 101 vi Contents 4.3.2.2. Development Project . 102 4.3.2.3. Resulting Software System . 104 4.3.3. Theory Adjustments . 105 4.3.3.1. Metrics and Lessons Learned . 105 4.3.3.2. Proposed Adjustments . 108 4.3.4. Social Environment ............................ 109 4.4. Conclusions ................................... 110 5. Building Software to Support Business Processes 113 5.1. Introduction .................................... 113 5.2. The SIIA Action .................................. 114 5.2.1. Purpose of the Action . 115 5.2.2. Practical Action ............................. 115 5.2.2.1. Implemented Business Processes . 116 5.2.2.2. Development Project . 119 5.2.2.3. Resulting Software System . 120 5.2.3. Theory Adjustments . 121 5.2.3.1. Metrics and Lessons Learned . 122 5.2.3.2. Proposed Adjustments . 125 5.2.4. Social Environment ............................ 126 5.3. The SOL Action .................................. 127 5.3.1. Purpose of the Action . 127 5.3.2. Practical Action ............................. 129 5.3.2.1. Implemented Business Processes . 129 5.3.2.2. Development Project . 131 5.3.2.3. Resulting Software System . 132 5.3.3. Theory Adjustments . 133 5.3.3.1. Metrics and Lessons Learned . 134 5.3.3.2. Proposed Adjustments . 136 5.3.4. Social Environment ............................ 136 5.4. Conclusions ................................... 137 6. Running Business Process Reference Models in Software Frameworks 141 6.1. Introduction .................................... 141 6.2. The Centauro 1.0 Action ............................. 143 6.2.1. Purpose of the Action . 143 6.2.2. Practical Action ............................. 143 6.2.2.1. Implemented Business Processes . 144 6.2.2.2. Development Project . 145 vii Contents 6.2.2.3. Resulting Software System . 146 6.2.3. Theory Adjustments . 147 6.2.3.1. Metrics and Lessons Learned . 151 6.2.3.2. Proposed Adjustments . 153 6.2.4. Social Environment ............................ 154 6.3. The Centauro 2.0 Action ............................. 154 6.3.1. Purpose of the Action . 154 6.3.2. Practical Action ............................. 155 6.3.2.1. Implemented Business Processes . 161 6.3.2.2. Development Project . 171 6.3.2.3. Resulting Software System . 172 6.3.3. Theory Adjustments . 175 6.3.3.1. Metrics and Lessons Learned . 176 6.3.3.2. Proposed Adjustments . 179 6.3.4. Social Environment ............................ 179 6.4. Conclusions ................................... 179 7. The Business Implementation Methodology 181 7.1. Introduction .................................... 181 7.2. The Methodology ................................. 183 7.2.1. Formalization .............................. 184 7.2.2. Activities Inside the Phases . 186 7.3. Supporting Technology .............................. 192 7.3.1. Technology for Development Time . 192 7.3.2. Technology for Operation Time . 193 7.3.3. Architectures for the Software-implemented PF . 195 7.4. Conclusions ................................... 197 Part IV - Epilogue 201 8.