AASSQ – Programação

*Atenção: Anunciamos que todos os inscritos no SBQS poderão participar da Escola Avançada.*

Veja os resumos das palestras e tutoriais abaixo:

Palestra 1 - “Prevendo o valor global de decisões relativas à gestão de projetos/produto de software”

Emilia Mendes (BTH)

Resumo:

No atual cenário de competitividade nas indústrias de produtos e serviços, o software tornou-se o principal diferencial para a vantagem competitiva, permitindo inovação mais rápida e barata na diferenciação do produto, sem restrição de domínio. Assim como o tamanho e a complexidade das soluções baseadas em software aumentam, o mesmo acontece com o impacto das decisões de desenvolvimento de software sobre a oferta global do produto. Desta maneira, todas as decisões tomadas em relação à gestão e desenvolvimento de produtos/projetos de software (por exemplo, quais as características de design, qual o nível de qualidade a oferecer, ou qual a tecnologia a escolher) irão impactar em todo o ciclo de vida do produto/projeto de software, além de limitar as possibilidades futuras e direcionamento tanto do software quanto do negócio.

Várias empresas em todo o mundo entregam produtos e serviços baseados intensamente em software. Um dos maiores desafios é causado frequentemente pela tomada de decisões de gestão de produto/projeto considerando apenas os custos de curto prazo (custos estimados) ignorando aspectos de valores de longo prazo para o negócio, tais como a sustentabilidade e inovação. Para sustentar o crescimento, manter a vantagem competitiva e inovar, essas empresas devem fazer uma mudança de paradigma por também adotar aspectos relacionados ao valor de longo prazo, a fim de orientar a sua tomada de decisão. Essa necessidade está claramente pressionando indústrias inovadoras, tais como: TICs (Tecnologia de Informação e Comuncação) e Serviços Digitais.

O objetivo desta palestra é apresentar um framework de engenharia de software baseada em valor que permita às empresas elaborar modelos preditivos para fornecer estimativas do valor global de cenários de decisão relativos à gestão de produto/projeto de software dentro do domínio das TICs e serviços digitais e cenários “e-se”, que podem ser comparados e contrastados, permitindo assim uma melhor tomada de decisão e contribuindo para o aprimoramento de modelos mentais para tomada de decisão (conhecimento tácito).

Palestra 2 - A Evolução da Experimentação em Engenharia de Software: Uma Perspectiva Pessoal

Victor R. Basili (Universidade de Maryland)

Resumo:

Apesar de que quase todas as disciplinas científicas e de engenharia enxergam a experimentação como elemento base do seu estudo, esta visão não tem sido tradição em engenharia de software. Não tem tido uma relação simbiótica entre o desenvolvimento de teorias e conceitos de engenharia e estudos experimentais que testam e evolvem essas teorias e conceitos.

Esta palestra discute a evolução da experimentação nas disciplinas de engenharia de software desde o início dos anos 70 com relação aos tipos de estudo sendo executados, o conjunto de métodos sendo aplicado, a natureza das publicações, a comunidade de pesquisadores experimentais, o status das replicações e meta-analises, e o papel das variáveis de contexto. Ela proporciona uma visão pessoal e histórica da evolução de estudos experimentais através de uma série de exemplos de aplicação que demonstram os vários papeis que a experimentação pode desempenhar e o que temos aprendido. Os exemplos são retirados de estudos em que o palestrante tem se envolvido. A palestra oferece um conjunto de críticas sobre o que está faltando, sugestões do que precisamos fazer, e quais barreiras enfrentamos para atingir uma disciplina de engenharia real que continue a evoluir nosso conhecimento e demonstrar o impacto da pesquisa.

Palestra 3 – “Sensíveis, invisíveis, às vezes tolerantes, heterogêneos, descentralizados e interoperáveis…e precisamos garantir sua qualidade…”

Guilherme Horta Travassos (COPPE/UFRJ)

Resumo:

Sistemas de software contemporâneos apresentam propriedades que se somam aquelas apresentadas em software convencional. Características relacionadas a onipresença de serviços, captura de experiências e intenções, adaptação ao comportamento, descentralização, descoberta de serviços,  heterogeneidade de serviços e dispositivos, interoperabilidade, mínima intervenção do usuário e tolerância a falhas normalmente emergem neste cenário tecnológico.  Em geral, estes sistemas de software interagem com atores, não necessariamente humanos, e  são sensíveis ao contexto, ou seja, capturam o contexto e o utilizam como guia comportamental na interação ator-computador.

Garantir a qualidade de qualquer software é de fundamental importância, tendo em vista sua inserção no dia a dia da sociedade. Entretanto, realizar a verificação e validação (testes) destes sistemas de software contemporâneos considerando que as tecnologias disponíveis não foram, em geral,  desenvolvidas para tratar e/ou considerar estas propriedades torna-se um desafio.

Esta palestra intenciona discutir estas questões. Tendo como base evidencias obtidas nas pesquisas desenvolvidas no Grupo de Engenharia de Software Experimental da COPPE/UFRJ e mais recentemente no contexto do projeto CNPq (484380/2013-3) CAcTUS – Testes Sensíveis ao Contexto para Sistemas Ubíquos, desafios da pesquisa e da prática serão apresentados a audiência.

Palestra EPQS – “Melhoria de Processos Multimodelos: Como Direcionar a Implementação de Melhorias aos Benefícios Esperados pelas Organizações”

Ana Regina Rocha (COPPE/UFRJ)

Resumo:

Esta palestra mostrará como a implementação de melhorias de processo em uma organização pode ser dirigida aos benefícios esperados  e à resolução de seus problemas críticos maximizando o retorno do investimento. Serão apresentados os modelos MPS-Software, MPS-Serviços e CERTICS. 

Palestra Para Jovens Pesquisadores - Uma Agenda Tentativa e Perspectivas para Jovens Pesquisadores em Engenharia de Software”

Claudia Werner (COPPE/UFRJ)

Resumo:

Tornar-se um novo professor em uma universidade ou pesquisador em um laboratório de pesquisa na indústria é um desafio. Há uma enorme pressão para ensinar/treinar jovens engenheiros de software, supervisionar alunos/subordinados, colaborar com a indústria/academia, levantar fundos para pesquisa/projetos, ser líder em sua área, e/ou publicar artigos/relatórios em revistas/conferências.

Além disso, há uma grande escassez de professores/profissionais de Engenharia de Software (ES) em vários países no mundo. No Brasil, esta situação não é diferente. Portanto, é importante ajudar os jovens pesquisadores em ES a sobreviverem na academia ou indústria no início de suas carreiras.

Questões, tais como: “Como planejar uma agenda de pesquisa em ES?”, “Como tem sido a evolução de ES no Brasil?”, “Quais são as possíveis carreiras na academia/ indústria depois dos estudos?” e “Como balancear entre a carreira e a vida pessoal?”, precisam ser tratadas.

Esta palestra tem como objetivo discutir uma agenda tentativa e perspectivas para o jovem pesquisador em ES, provendo ideias sobre diretrizes práticas para se ter uma carreira acadêmica/industrial de sucesso e satisfatória. Apresentaremos também a trajetória de pesquisa no Brasil e alguns desafios a serem enfrentados nesta área.

Tutorial 1 – “Coordenação de Requisitos para Aquisição em Ecossistemas de Software”

Claudia Werner (COPPE/UFRJ) e Rodrigo Santos (COPPE/UFRJ)

Resumo:

A globalização da indústria de software ampliou as possibilidades de negócio para instituições que contratam e fornecem produtos e serviços, gerando redes de fornecimento denominadas Ecossistemas de Software. Neste contexto, a escolha de qual produto adquirir requer uma análise criteriosa, a fim de avaliar qual das opções disponíveis melhor atende às necessidades dos interessados e ao orçamento disponível, sobretudo quando organizações desejam compartilhar ativos de software. Visando à sustentabilidade dos produtos adquiridos quando integrados à base de ativos de software dessas organizações, requisitos atuais e futuros precisam ser conciliados para lidar com valor agregado a longo prazo. Neste minicurso, o objetivo é apresentar conceitos de Ecossistemas de Software, de maneira a discutir impactos no processo de aquisição e como coordenar requisitos a fim de otimizar o valor estratégico da base de ativos nesse cenário.

Tutorial 2 – “Experimentação em Engenharia de Software: Conceitos e Estratégias”

Guilherme Horta Travassos (COPPE/UFRJ)

Resumo:

A finalidade deste tutorial é apresentar os conceitos envolvidos na realização de estudos primários em Engenharia de Software e discutir algumas estratégias que podem ser usadas para realizar investigações na área. Aspectos relacionados ao planejamento de estudos sua utilização para apoiar o desenvolvimento de tecnologias de software serão também tratados.

Tutorial 3 – “Entendendo o que os Desenvolvedores Fazem: Métodos de Pesquisa Qualitativa em Engenharia de Software”

Igor Steinmacher (UTFPR)

Resumo:

Métodos de pesquisa qualitativos foram desenvolvidos nas ciências sociais para possibilitar que os pesquisadores estudassem fenômenos sociais e culturais e foram projetados para auxiliar no entendimento das pessoas dentro do contexto no qual elas estão inseridas. Questões de pesquisa relacionadas aos aspectos humano e colaborativo do desenvolvimento de software trouxeram à tona a necessidade de adotar métodos qualitativos na área de Engenharia de Software. Nesse contexto, o objetivo desse tutorial é apresentar a aplicação de métodos de pesquisa qualitativa no domínio da engenharia de software. Serão abordados mecanismos de coleta e análise de dados, incluindo uso de entrevistas, feedback, estudos baseados em diários e codificação.

Tutorial 4 – “Aplicações de Ontologias em Engenharia de Software”

Ricardo Falbo (UFES)

Resumo:

Ontologias têm sido cada vez mais utilizadas em aplicações na área de Engenharia de Software. Neste tutorial, serão abordadas algumas dessas aplicações, procurando destacar o quão fértil é a área de Engenharia de Software para a aplicação de teorias ontológicas. Este tutorial apresentará inicialmente o que são ontologias e tipos de ontologias. Na sequência, serão discutidas aplicações de ontologias na Engenharia de Requisitos, Engenharia de Domínio, Integração de Aplicações, Harmonização de Normas e Modelos de Qualidade de Software, Documentação Semântica e Gestão do Conhecimento.