cbsoft
-
Minicurso 1 Minicurso 2 Minicurso 3 Minicurso 4 Minicurso 5 Minicurso 6 Minicurso 7 Minicurso 8 Minicurso 9 Minicurso 10 -
Minicurso 01: Teste Formal de Software
Na prática, o teste de software é a técnica mais utilizada na tentativa de se desenvolver aplicações com qualidade. Uma outra maneira de melhorar a qualidade dos sistemas é através da utilização de métodos formais. Através da combinação de testes de software com métodos formais surge um novo conceito chamado teste formal que consiste na geração de casos de teste a partir de especificações formais e na verificação da satisfação destes casos de teste de uma maneira rigorosa usando um subconjunto finito de dados de teste. Especificações informais são, comprovadamente, bases inapropriadas para geração de casos de teste e interpretação de seus resultados. Por outro lado, especificações formais têm se mostrado essenciais para o estabelecimento de métodos e técnicas de teste efetivos, principalmente no contexto do teste de conformidade, cujo objetivo é verificar se as funcionalidade da aplicação estão de acordo com sua especificação. O objetivo deste minicurso é introduzir a teoria de teste formal de conformidade juntamente com a ferramenta SYMBOLRT.
Palestrantes:
Patrícia Machado
Possui Bacharelado em Ciência da Computação pela Universidade Federal da Paraíba (1992), Mestrado em Ciências da Computação pela Universidade Federal de Pernambuco (1994) e o título de PhD in Computer Science – University of Edinburgh (2000). Atualmente é professora Associada da Universidade Federal de Campina Grande. Tem experiência na área de Ciência da Computação, com ênfase em Engenharia de Software, atuando principalmente nos seguintes temas: Teste Formal, Teste Funcional de Componentes, Teste Baseado em Modelos, Especificações Algébricas, Aplicações com Mobilidade.
Wilkerson Lucena Andrade
Wilkerson de Lucena Andrade concluiu a graduação, o mestrado e o doutorado em Ciência da Computação pela Universidade Federal de Campina Grande em 2005, 2007 e 2011, respectivamente. Atualmente é professor adjunto na Universidade Federal de Campina Grande. Já trabalhou na Universidade Estadual da Paraíba e também na Universidade Federal da Paraíba Campus IV). Atua na área de Ciência da Computação, com ênfase em Engenharia de Software. Em seu currículo Lattes os termos mais frequentes na contextualização da produção científica, tecnológica e artístico-cultural são: Engenharia de Software, Componentes de Software, Automação de Testes, Teste Formal, Teste Baseado em Modelos, Teste de Aplicações para Celulares, Teste de Sistemas de Tempo Real, computação Quântica, Especificações Algébricas e Software Livre.
-
MINICURSO 02: MODELO DE CONFIANÇA PARA A INTEROPERAÇÃO EM AMBIENTES DE NUVEM COM FOCO NA INTERMEDIAÇÃO DE SERVIÇOS POR ARBITRAGEM
Os recentes avanços na tecnologia de computação em nuvem demonstram um aumento nos problemas relacionados à segurança, privacidade e confiança em diferentes aspectos, os quais não haviam sido previstos na concepção dos ambientes de computação em nuvem. Entre estes, o problema da confiança entre os consumidores e os provedores de serviços, e a garantia do acesso seguro aos recursos destes ambientes tem merecido uma atenção especial, principalmente na realização de transações entre diversos ambientes de nuvem. O objetivo deste minicurso é apresentar uma revisão dos conceitos da computação em nuvem, no que se refere aos aspectos de confiança e reputação, e em outras questões em aberto relacionadas à segurança e privacidade em ambientes de computação em nuvem. O foco será tratar a intermediação de serviços por Arbitragem pelo uso de modelos de confiança computacional. Neste sentido, será apresentado um modelo de confiança de alto nível para garantir a operação interoperável – confiável e padrão – na composição de serviços em uma nuvem privada, apresentado o cálculo da confiança entre os diversos atores de nuvem, de acordo com as métricas estabelecidas.
Palestrantes:
Aletéia Patrícia Favacho de Araújo (UnB)
possui graduação no curso de Bacharelado em Ciências da Computação pela Universidade Federal do Pará (1997), mestrado em Ciências da Computação e Matemática Computacional pela Universidade de São Paulo (1999) e doutorado em Informática pela Pontifícia Universidade Católica do Rio de Janeiro (2008). Atualmente é professora Adjunta II da Universidade de Brasília. Tem experiência na área de Ciência da Computação, com ênfase em Processamento Paralelo, Sistemas Distribuídos, Otimização Combinatória e Metaheurísticas, atuando principalmente nos seguintes temas: nuvem computacional, grid computacional, algoritmos paralelos e distribuídos.
Edna Dias Canedo (UnB)
Doutora em Engenharia Elétrica pela Universidade de Brasília (UNB). Área de concentração: Telecomunicações. título concedido em 15.08.2012. Mestre pela Universidade Federal da Paraíba UFPB. Área de concentração: Sistemas de Software. Área Especifica: Engenharia de Software, título concedido em 29.08.2002. Graduada em Análise de Sistemas pela Universidade Salgado de Oliveira; Goiás (1999). Professora do curso de Engenharia de Software da Faculdade FGA Gama, da Universidade de Brasília UNB. Atua na área de desenvolvimento de sistemas desde 1998, tendo trabalhado como Analista de Sistemas na Empresa de Processamento de Dados do Estado de Goiás Prodago, até o ano de 2000. Em Brasília atuou na Poliedro como Consultora de Desenvolvimento e Gerência de Projetos e como Analista de Sistemas Pleno em Desenvolvimento na ECT – Empresa de Correios e Telégrafos até abril de 2010, desenvolvendo atividades na área de Governança em Tecnologia da Informação na implantação do framework COBIT. Desde 2000 dedica-se a atividades de docência universitária nos cursos de graduação e pós-graduação, atuando na área de Sistemas de Software, Redes de Petri, Engenharia de Software, Orientação a Objetos, Gerência de Projetos, Teste de Software, Arquitetura Orientada a Serviços, Programação e Governança em Tecnologia da Informação.
Maristela Terto de Holanda (UnB)
Possui graduação em ENGENHARIA ELETRICA pela Universidade Federal do Rio Grande do Norte (1996), mestrado em Engenharia Elétrica pela Universidade de Brasília (1999) e doutorado em Engenharia Elétrica pela Universidade Federal do Rio Grande do Norte (2007). Professora Adjunta da Universidade de Brasília desde 2009. Pesquisadora da área de banco de dados com ênfase em controle de concorrência, sistemas distribuídos e móveis, banco de dados geográficos banco de dados para bioinformática.
Rafael Timóteo de Sousa Junior (UnB)
Possui graduação em Curso de Engenharia Elétrica pela Universidade Federal da Paraíba, Campina Grande (1984), mestrado (DEA) em Telemática e Sistemas de Informação pela Ecole Supérieure dElectricité – SUPELEC (1985) e doutorado em Processamento de Sinais e Telecomunicações pela Université de Rennes I (França, 1988). Fez pósdoutorado na Ecole Supérieure dElectricité – SUPELEC (2006-2007). Atualmente é professor adjunto da Universidade de Brasília, curso de Engenharia de Redes de Comunicação. É líder do Grupo de Pesquisa CNPq QUARELA: Aplicações em Ambiente de Qualidade de Serviços de Redes e Processamento de Alto Desempenho. Atua na pesquisa principalmente nos seguintes temas: segurança da informação e confiança computacional, gerência de redes, mobile ad-hoc networks (manet), computação distribuída na Internet.
Valerio Aymoré Martins
Possui graduação em Engenharia pela Universidade do Estado do Rio de Janeiro (1988). Tem experiência na área de Ciência da Computação, com ênfase em Sistemas de Informação. Mestrado concluído em Engenharia de Elétrica e de Telecomunicações pela UnB em 2012. Bolsista da UnB atuando em projetos do Ministério do Planejamento na elaboração e avaliação de modelos de Business Intelligence.
-
Minicurso 03: Introdução ao projeto de experimentos e aplicações em engenharia de software
Engenharia de software tem como objetivo desenvolver, de forma eficiente e eficaz, softwares que atendam às condições de mercado, a um baixo custo de manutenção. Nesse minicurso vamos mostrar como experimentos bem projetados são estratégicos não apenas para o processo de validação de pesquisa na área de software, mas também para o desenvolvimento de softwares de qualidade, que atendam as condições de eficiência em desenvolvimento e manutenção impostas pela competitividade de mercado. Os princípios de planejamento de experimentos comparativos serão apresentados. Vários exemplos práticos serão discutidos, motivados por situações relacionadas a inovação de produtos e processos, artificialmente construídas para servirem a propósitos didáticos.
Palestrante:
Cristiano Ferraz (UFPE)
Cristiano Ferraz é PhD em Estatística pela Iowa State University, professor da pós-graduação em Estatística da UFPE, e suas áreas de interesse incluem o planejamento e análise estatística de experimentos e amostras
com aplicações em indústrias e engenharia de software. É autor do livro “Sample design for survey’s quality evaluation”. -
Minicurso 04: Lean Startup
Será o empreendedorismo digital a nova corrida do ouro do velho oeste? No chamado Vale do Silício, na Califórnia, centenas de novos negócios para a Internet nascem a cada ano. Alguns, ficam para contar a história. Em outros, sequer ouvimos falar. São as chamadas startups. Grupos de pessoas à procura de modelos de negócios repetitíveis e escaláveis em cenários de extrema incerteza. Parece loucura, mas trata-se de um mercado que hoje movimenta bilhões de dólares, de onde saíram Facebook, Twitter e, pasmem, Google! Mas, afinal, o que há tão de especial nesta nova onda? O que difere este momento da história daquele do início do século, quando do estouro da Bolha da internet? O que estão fazendo de diferente? O que se aprendeu desde então. Essas e outras perguntas serão o tema a ser debatido neste mini-curso. Se você planeja empreender no mundo digital, não perca esta oportunidade.
Palestrante:
Alexandre Gomes (SEATECNOLOGIA)
Acredita no software como instrumento de transformação social. Atuando na área há mais de 20 anos, já foi servidor público, trabalhou em grandes multinacionais, como Oracle e Sun Microsystems, e leva hoje uma vida de equilíbrios administrando seu próprio negócio, a SEA Tecnologia. Em Brasília, junto com sua equipe, foi pioneiro na prestação de serviços profissionais em Software Livre e Métodos Ágeis para o Governo Federal e compartilha hoje com seus clientes a visão da TI como política pública para a entrega de valor ao cidadão, da promoção da transparência, da participação e do controle social.
-
Minicurso 05: Fundamentos da Programação em Lua
Lua é uma linguagem de programação desenvolvida na Pontífica Universidade Católica do Rio de Janeiro, que veio a se tornar a linguagem de script mais usada em vídeo games. Lua é também usada, de forma extensiva, em dispositivos embarcados, como settop boxes e TVs, e outras aplicações como Adobe Lightroom, TeX e Wikipedia. Ao longo dos anos, o design de Lua manteve a simplicidade como um de seus principais objetivos, dentro dos limites de uma linguagem com uma comunidade de usuários significativa. Neste minicurso, introduziremos a linguagem Lua, enfatizando as escolhas envolvidas para manter a simplicidade da linguagem.
Palestrante:
Roberto Ierusalimschy (PUC-RJ)
Roberto Ierusalimschy é Professor Associado do Departamento de Informática da PUC-Rio, onde trabalha na área de projeto e implementação de linguagens de programação. Ele é o arquiteto-chefe da linguagem Lua e autor do livro “Programming in Lua” (na sua terceira edição e traduzido para alemão, chinês, coreano e japonês). Roberto é mestre e doutor em ciência da computação pela PUC-Rio. Ele foi pesquisador visitante na Universidade de waterloo, ICSI (Berkeley) e GMD (Berlim), Tinker Professor em Stanford, e é atualmente um “Distinguished Speaker” da ACM e Conferencista Senior da SBC.
-
Minicurso 06: Modelagem e Análise de Ecossistemas de Software
O desenvolvimento de software enfrenta desafios que estão além da alçada puramente técnica. A construção de um sistema como um único produto de software tem sido substituída pelo desenvolvimento de múltiplos produtos, derivados de uma plataforma baseada em uma arquitetura comum e integrados a outros sistemas por meio de redes de artefatos e atores. Nesse sentido, o estudo de Ecossistemas de Software (ECOSs) emerge como um tópico de pesquisa aplicada na área de Engenharia de Software. Os ECOSs consistem em uma abordagem para representar e apoiar as relações intra e interorganizacionais da indústria de software. Eles buscam promover a reutilização ao envolver usuários e desenvolvedores externos no processo de abertura e desenvolvimento de plataformas de software. Este minicurso apresenta a origem e os principais conceitos, características e classificações relacionados a ECOSs, além de uma visão geral de suas dimensões técnica, transacional e social. Uma dinâmica considerando a modelagem e análise de casos reais de ECOSs será realizada a fim de explorar estudos realizados na academia e na indústria. Por fim, serão apresentadas e discutidas as direções de pesquisa e prática em ECOSs para os próximos anos.
Palestrantes:
Rodrigo Pereira dos Santos
Rodrigo Pereira dos Santos é aluno de doutorado agraciado com a bolsa “Doutorado Nota 10” da FAPERJ e mestre (2010) do Programa de Engenharia de Sistemas e Computação (COPPE/UFRJ), bacharel (2007) em Ciência da computação pela UFLA. Possui 10 anos de experiência na área de Computação, cujos resultados estão apresentados em relatórios de pesquisa e em publicações nacionais e internacionais, além de consultorias em Engenharia e Processo de Software pela Fundação Coppetec no Centro de Pesquisa em Energia Elétrica (CEPEL), Centro Avançado de Pesquisa em Governo da COPPE (CAPGov) e Ministério do Planejamento, Orçamento e Gestão do Governo Federal (MPOG). Realiza pesquisas nos temas: Ecossistemas de Software e Reutilização; e Educação em Engenharia de Software baseada em Jogos e Experimentação.
George Augusto Valença Santos
George Augusto Valença Santos é professor assistente do Departamento de Informática (DEINFO) da Universidade Federal Rural de Pernambuco (UFRPE) na área de Gestão de Projetos, Qualidade de Software e Governança de TI. Atualmente conduz pesquisa de doutorado no Centro de Informática (CIn) da Universidade Federal de Pernambuco (UFPE), onde investiga a negociação entre atores de Ecossistemas de Software no contexto da Engenharia de Requisitos. Obteve o grau de mestre (2012) e bacharel (2010) em Ciência da Computação pelo CIn/UFPE.
Cláudia Maria Lima Werner
Cláudia Maria Lima Werner é doutora (1992) e professora associada IV do Programa Engenharia de Sistemas e Computação da COPPE/UFRJ na área de Engenharia de Software desde 1994, onde lidera o Grupo de Reutilização de Software. É pesquisadora 1 do CNPq e tem desenvolvido atividades de coordenação de projeto há 20 anos, nos temas Reutilização de Software, Desenvolvimento Baseado em Componentes, Linha de Produtos de Software e educação em Engenharia de Software.
Carina Frota Alves
Carina Frota Alves é professora adjunta III do Centro de Informática (CIn) da UFPE. PhD em Ciência da Computação pela University College London (2005). Atualmente, é coordenadora de Cooperação e Empreendedorismo e chefe do Departamento de Sistemas da Computação do CIn. Recebeu bolsa de pós-doutorado da CAPES para conduzir projeto de pesquisa intitulado “Modelos de Interação entre Atores em Ecossistemas de Software” na Utrecht University durante o período de Dezembro 2013 – Novembro 2014. Participou do comitê organizador do International Workshop on Software Ecosystems em 2012 e 2013. É editora convidada da edição especial sobre Ecossistemas de Software do periódico Information and Software Technology (IST).
-
Minicurso 07: Programação Segura
O mini-curso de Programação Segura tem como objetivo visitar técnicas para se desenvolver software resistente à exploração remota por estouro de buffer ou entrada maliciosa, elevação artificial de privilégios e vazamento de informação sensível por canais laterais. Adicionalmente, serão discutidas técnicas para uso correto de algoritmos criptográficos, com ênfase no problema do armazenamento seguro de senhas. Os exemplos serão ilustrados na linguagem de programação C, mas as técnicas apresentadas possuem aplicação em diversos outros contextos.
Palestrante:
Diego Aranha (UnB)
É Bacharel em Ciência da Computação pela Universidade de Brasília (2005), Mestre (2007) e Doutor (2011) em Ciência da Computação pela Universidade Estadual de Campinas. Foi doutorando visitante por 1 ano na Universidade de Waterloo, Canadá, e hoje atua como Professor Adjunto no Departamento de Ciência da Computação da Universidade de Brasília. Tem experiência na área de Criptografia e Segurança Computacional, com ênfase em implementação eficiente de algoritmos criptográficos e projeto de primitivas criptográficas para fornecimento de anonimato computacional. Foi coordenador da primeira equipe de investigadores independentes capaz de detectar e explorar vulnerabilidades no software da urna eletrônica em testes controlados organizados pelo Tribunal Superior Eleitoral.
-
Minicurso 08: Requisitos de software ágeis
Descrição: Desde o surgimento, de fato, de práticas ágeis de desenvolvimento de software, a Engenharia de Software vem buscando uma nova forma de tratar seus requisitos. Abordagens tradicionais, até então utilizadas, em certa medida, não dão conta dos conceitos e princípios ágeis. Sendo necessária a inovação e criação de uma abordagem para lidar com os requisitos de software.
Inserido nesse contexto, várias perguntas surgem:Como tratar os requisitos a nível organizacional e em nível de projeto?
Como tratar requisitos que influenciam um ou mais projetos?
Como estruturar esses requisitos e mantê-los sob controle?
Que práticas e conceitos podem ser reaproveitados e/ou ajustados, a partir do tratamento de requisitos tradicionais?
Existe a melhor ou pior abordagem de requisitos ágeis?
Entre outras…
Assim, o minicurso “Requisitos de Software Ágeis” visa trazer essas e outras questões, bem como práticas e visões complementares, como intuito de ampliar a discussão sobre “como tratar requisitos de software, a partir de abordagens de desenvolvimento de software ágeis”.Palestrante:
George Marsicano (UnB)
George Marsicano é professor do curso de Engenharia de Software na Universidade de Brasília (UnB). Mestre em Gestão do Conhecimento e da Tecnologia da Informação MGCTI (UCB), Especialista em Sistemas Orientados a Objetos (UCB) e Graduado em Processamento de Dados (UCB). Coach certificado pela Escola Internacional de Coach – The Newfield Network, Santiago do Chile, Gerente de Projeto certificado PMP e Scrum Master. Como docente, também, atuou em cursos de Pós-Graduação na Universidade Católica de Brasília, UDF e Fundação Getúlio Vargas, entre outros. Suas principais linhas de pesquisa referem-se a: requisitos de software, gestão e liderança de projetos, formação de equipes e processos de desenvolvimento de software. Atua na Engenharia de Software, desde 1999, tendo trabalhado como: desenvolvedor, analista de requisitos, projetista, analista de negócios, analista de processos, gerente de projetos e coach. Em sua trajetória passou por empresas privadas e Instituições do Governo Federal.
-
Minicurso 09: Fundamentos de Programação Distribuída Usando a Linguagem Scala
A linguagem Scala tem ganhado popularidade nos últimos anos após sua adoção por grandes redes sociais como Twitter, Foursquare e Linkedin. Martin Odersky, criador da linguagem Scala e pai do compilador de referência do Java (javac) combinou os paradigmas de programação funcional e orientação a objetos em uma sintaxe coesa e elegante. Conceitos como pattern matching, clojures, traits e actors permitem o desenvolvimento de sistemas complexos, distribuídos e escaláveis de forma simples e natural. Embora seja fortemente tipada, a linguagem é flexível o suficiente possibilitando extensão de sua própria sintaxe como a introdução de novos operadores e blocos de código. O objetivo deste minicurso é introduzir os principais conceitos da linguagem Scala com ênfase no desenvolvimento de sistemas distribuídos utilizando o Akka e o paradigma funcional.
Palestrante:
Leone Parise Vieira da Silva (UnB)
Leone Parise Vieira da Silva é bacharel em Ciência da Computação pela Universidade de Brasília (UnB) e Mestrando em Informática pela mesma universidade. Apaixonado por novas tecnologias que envolvem sistemas distribuídos e escalabilidade, ainda na graduação, publicou artigos em conferências nacionais e internacionais com uma proposta de unir sistemas multi-agentes e tecnologias Peer-to-Peer com o objetivo de desenvolver sistemas mais tolerantes. Começou a estudar tais temas ainda em 2011, com o intuito de solucionar o problema de processamento distribuído e clusterização de mensagens em redes sociais. Desde então tem utilizado a combinação Scala/Akka em diversos projetos e defendido uma ênfase maior em lingagens funcionais no currículo padrão do curso de Ciência da Computação.
-
Minicurso 10: CMP – Cloud Management Platform com OpenStack
O OpenStack é um software open source para Cloud Management Platform, altamente escalável que possibilita a gestão, orquestração e automação dos recursos de TI para a construção de nuvens privadas e públicas com alto grau de eficiência.
A iniciativa OpenStack foi criada pela Rackspace e a NASA em 2010, transformando-se em uma fundação independente em outubro de 2011. Envolve uma comunidade dinâmica e de rápido crescimento, que reúne atualmente mais de 800 organizações e 6.000 desenvolvedores como membros da fundação em todo o mundo. Entre elas, a própria Rackspace, Nasa, Dell, Intel, Cisco, HP, Red Hat, Canonical, IBM e no Brasil a Dualtec estabeleceu uma parceria com a StackOps para acelerar a adoção do OpenStack , fundada em 2011, a StackOps Technologies é uma referencia mundial em OpenStack e desenvolveu a primeira distribuição OpenStack, que possui mais de 50 mil downloads em todo o mundo.
O Mini Curso abordará as melhores práticas, arquiteturas e componentes na versão Folsom do OpenStack:
- Da virtualização ao Cloud Computing;
- Projeto OpenStack: Visão Geral;
- Arquitetura de um ambiente;
- Visão geral da arquitetura;
- Quais as novidade presentes no Folsom?;
- Melhores práticas;
- Ecossistema OpenStack.
Na segunda parte do minicurso acontecerá uma demonstração de Cloud Management Platform com OpenStack, com instalação de um ambiente Openstack