ECOSSISTEMAS DE SOFTWARE MODELOS E REUTILIZAÇÃO EM ECOSSISTEMAS DE SOFTWARE Alunos: Felyppe Rodrigues da Silva (Mestrado) Gabriella Castro Barbosa Costa (Doutorado) Professor: Toacy Cavalcante de Oliveira Disciplina: Reutilização de Software AGENDA 1. Introdução 2. Tipos de ECOSs Definições Taxionomia de ECOSs Ecossistema / App Analisados Android App DiaDia 3. Modelos 4. Plano de Reutilização em ECOSs 5. Introdução Software Supply Network (SSN) Introdução Diagramas Referências Bibliográficas 2 1. INTRODUÇÃO Tipos de Ecossistemas Ecossistemas de Negócios ? Ecossistemas Sociais Ecossistemas de Software 3 1. INTRODUÇÃO Definições (1/3) Um ECOS consiste em um conjunto de atores funcionando como uma unidade que interage com um mercado distribuído entre software e serviços, juntamente com as relações entre estas entidades. Estas relações são frequentemente apoiadas por uma plataforma tecnológica ou por um mercado comum e realizadas pela troca de informação, recursos e artefatos. JANSEN et al., 2009 4 1. INTRODUÇÃO Definições (1/3) Um ECOS consiste em um conjunto de atores funcionando como uma unidade que interage com um mercado distribuído entre software e serviços, juntamente com as relações entre estas entidades. Estas relações são frequentemente apoiadas por uma plataforma tecnológica ou por um mercado comum e realizadas pela troca de informação, recursos e artefatos. JANSEN et al., 2009 5 1. INTRODUÇÃO Definições (2/3) Ecossistemas de Software são redes sociotécnicas de desenvolvimento de produtos e serviços de software relacionados, formadas por um conjunto de componentes, conhecidos ou não, que se relacionam para realizar a engenharia e o gerenciamento de uma ou mais plataformas e para gerar valor e inovação na indústria de software SANTOS, 2013 6 1. INTRODUÇÃO Definições (2/3) Ecossistemas de Software são redes sociotécnicas de desenvolvimento de produtos e serviços de software relacionados, formadas por um conjunto de componentes, conhecidos ou não, que se relacionam para realizar a engenharia e o gerenciamento de uma ou mais plataformas e para gerar valor e inovação na indústria de software. SANTOS, 2013 7 1. INTRODUÇÃO Definições (3/3) Um ECOS é uma interação de um conjunto de atores sobre uma plataforma tecnológica comum, que resulta em um número de soluções ou serviços de software. Cada ator é motivado por um conjunto de interesses ou modelos de negócio e está conectado aos demais atores e ao ECOS como um todo por meio de relacionamentos simbióticos. Por sua vez, a plataforma tecnológica está estruturada para permitir o envolvimento e a contribuição dos diferentes atores. 8 MANIKAS e HANSEN, 2012 1. INTRODUÇÃO Definições (3/3) Um ECOS é uma interação de um conjunto de atores sobre uma plataforma tecnológica comum, que resulta em um número de soluções ou serviços de software. Cada ator é motivado por um conjunto de interesses ou modelos de negócio e está conectado aos demais atores e ao ECOS como um todo por meio de relacionamentos simbióticos. Por sua vez, a plataforma tecnológica está estruturada para permitir o envolvimento e a contribuição dos diferentes atores. 9 MANIKAS e HANSEN, 2012 1. INTRODUÇÃO Taxionomia de ECOSs Taxonomia dos ECOSs BOSCH, 2009 10 2. ECOSSISTEMA / APP ANALISADOS Android 11 2. ECOSSISTEMA / APP ANALISADOS Android Interdependência entre usuários, desenvolvedores e fabricantes de equipamentos Um não pode existir sem o outro Os usuários compram dispositivos e aplicações Fabricantes de equipamentos vendem dispositivos, às vezes junto com aplicações Desenvolvedores compram dispositivos, em seguida, fazem/vendem aplicativos. 12 2. ECOSSISTEMA / APP ANALISADOS DiaDia Sistema de gerenciamento de glicemias e auxílio no tratamento de pacientes diabéticos para smartphones Registro de glicemias e extração de informações úteis destes resultados Proporciona uma maneira simples de armazenar glicemias e acompanhar variações no desempenho do tratamento do usuário. SILVA, 2013 13 2. ECOSSISTEMA / APP ANALISADOS DiaDia 14 SILVA, 2013 Diagrama de Casos de Uso 2. ECOSSISTEMA / APP ANALISADOS DiaDia 15 Tela Inicial do Aplicativo Exemplo de Gráfico SILVA, 2013 3. MODELOS Introdução a) Software Supply Network (SSN): Atores e seus relacionamentos. b) SECO: SSNs e seus relacionamentos. c) SECOs: SECOs e seus relacionamentos. 16 BOUCHARAS et al., 2009 3. MODELOS Introdução Tipos de papéis chave nos ECOSs 17 HANSSEN, 2012 3. MODELOS Software Supply Network (SSN) Notação 18 BOUCHARAS et al., 2009 3. MODELOS Software Supply Network (SSN) Notação 19 BOUCHARAS et al., 2009 3. MODELOS SSN DiaDia 20 4. PLANO DE REUTILIZAÇÃO Introdução Visão do ECOSs em três dimensões 21 CAMPBELL e AHMED, 2010 4. PLANO DE REUTILIZAÇÃO Introdução Framework “3+1” para E&G de ECOSs 22 WERNER et al., 2012 4. PLANO DE REUTILIZAÇÃO 23 4. PLANO DE REUTILIZAÇÃO Configuração do Ambiente de Desenvolvimento 24 4. PLANO DE REUTILIZAÇÃO Configuração do Ambiente de Desenvolvimento 25 4. PLANO DE REUTILIZAÇÃO Desenvolvimento do Aplicativo 26 5. REFERÊNCIAS BIBLIOGRÁFICAS BOSCH, J., 2009, “From Software Product Lines to Software Ecosystem”, In: Proceedings of 13th International Software Product Line Conference, pp. 1-10, San Francisco, CA, USA, August. BOUCHARAS, V., JANSEN, S., BRINKKEMPER, S., 2009, “Formalizing Software Ecosystem Modeling”, In: Proceedings of the 1st International Workshop on Open Component Ecosystems, ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 41-50, Amsterdam, The Netherlands, August. CAMPBELL, P.R.J., AHMED, F., BOSCH, J. & JANSEN, S., 2010, “2nd International Workshop on Software Ecosystems (EcoSys)”, In: Proceedings of the Fourth European Conference on Software Architecture, 2nd International Workshop on Software Ecosystems, pp. 63-64, Copenhagen, Denmark, August. HANSSEN, G.K., 2012, “A Longitudinal Case Study of an Emerging Software Ecosystem: Implications for Practice and Theory”, Journal of Systems and Software, v. 85, n. 7 (July), p. 1455-1466. JANSEN, S., FINKELSTEIN, A., BRINKKEMPER, S., 2009, “A Sense of Community: A Research Agenda for Software Ecosystems”, In: Proceedings of the 31st International Conference on Software Engineering, New and Emerging Research Track, pp. 187-190, Vancouver, BC, Canada, May. MANIKAS, K., HANSEN, K.M., 2012, “Software Ecosystems – A Systematic Literature Review”, Journal of Systems and Software. 27 5. REFERÊNCIAS BIBLIOGRÁFICAS SANTOS, R. P., 2013, Engenharia e Gerenciamento de Ecossistemas de Software. Exame de Qualificação de Doutorado, COPPE/UFRJ, Rio de Janeiro, RJ, Brasil. SILVA, F. R., 2013, Sistema de gerenciamento de glicemias e auxílio no tratamento de diabetes para smartphones. Trabalho de Conclusão de Curso, UERJ, Nova Friburgo, RJ, Brasil. WERNER, C.M.L., SANTOS, R.P., ALVES, C.F., 2012, “Ecossistemas de Software: Estágio Atual, Direções de Pesquisa e a Prática na Indústria de Software”, In: Anais do III Congresso Brasileiro de Software: Teoria e Prática, Tutoriais, pp. 1213, Natal, RN, Brasil, Setembro. 28 ECOSSISTEMAS DE SOFTWARE MODELOS E REUTILIZAÇÃO EM ECOSSISTEMAS DE SOFTWARE Alunos: Felyppe Rodrigues da Silva (Mestrado) Gabriella Castro Barbosa Costa (Doutorado) Professor: Toacy Cavalcante de Oliveira Disciplina: Reutilização de Software