25/3 (16hs, na sala A003): Discutir modelos (de feature, configuração, etc.) para linhas de produtos de software
estudar em detalhe Refactoring product lines, de Vander Alves, Rohit Gheyi, Tiago Massoni, Uirá Kulesza, Paulo Borba, e Carlos Lucena. In Proceedings of the 5th ACM International Conference on Generative Programming and Component Engineering (GPCE'06). ACM Press, Oct 2006.
analisar a documentação e código do estudo de caso escolhido e
identificar features existentes e possíveis features
desenhar o modelo de features
para cada feature, identificar pontos de variação e variações associadas
identificar se há interação entre features
para cada ponto de variação e variações associadas, identificar mecanismos de variação utilizados e avaliar se eles são os mais adequados (segundo os modelos de decisão apresentados); se para um determinado ponto nenhum mecanismo é usado ainda, avaliar qual seria o mais adequado
coletar métricas de pontos de variação, variações associadas, e mecanismos usados (de forma adequada e inadequada)
usar a ferramenta Captain Feature para desenhar o modelo de features
3/4: Desenvolver primeira parte do projeto
8/4: Desenvolver primeira parte do projeto
10/4: Desenvolver segunda parte do projeto (ver SmartHome para maiores detalhes)
estudar as abordagens de variação de requisitos apresentadas
estudar em detalhe Extracting and evolving mobile games product lines, de Vander Alves, Pedro Matos Jr, Leonardo Cole, Paulo Borba, and Geber Ramalho. In Proceedings of the 9th International Software Product Line Conference (SPLC'05), volume 3714 of Lecture Notes in Computer Science, pages 70-81. Springer-Verlag, Sep 2005.
29/4 (16hs, na sala A003): Discutir Capítulos 1 e 2 do livro Software Product Line Engineering
1/5: Dia do Trabalho
6/5: Desenvolver terceira parte do projeto
rever resultados e apresentações da primeira e segunda partes do projeto
extrair linha de produto (requisitos e código) a partir do seu estudo de caso
para extrair o código, usar a ferramenta FLiP, e estendê-la com novos refactorings necessários para a extração
em relação à extração de requisitos, as equipes que usaram a abordagem PLUSS para o SmartHome devem usar a abordagem Crosscutting (e vice-versa) nessa iteração. Os mesmos artefatos da primeira atividade (ver SmartHome) devem ser produzidos, incluindo uma estimativa do esforço necessário para cada atividade.
adicionar variações a pontos de variação existentes
adicionar novos pontos de variação, e variações associadas
reestruturar estudo de caso para usar mecanismos de variação mais adequados
contrastar resultados obtidos com resultados (modelos, tabelas, métricas, etc.) da primeira e segunda partes do projeto
registrar, passo-a-passo, extrações aplicadas (de forma manual ou com o FLiP), dificuldades e problemas encontrados, tempo necessário para cada extração, totalizações de tempo, extrações e outras métricas da primeira parte do projeto
colocar resultados de todas as partes do projeto no item Projetos realizados mais abaixo
8/5 (14hs, na sala A003): Discutir Capítulos 3 e 4 do livro Software Product Line Engineering
13/5: Desenvolver terceira parte do projeto
15/5 (14hs, na sala A003): Discutir Capítulos 5 e 6 do livro Software Product Line Engineering
20/5: Desenvolver terceira parte do projeto
22/5: Corpus Christi
27/5 (16hs, na sala A003): Discutir Capítulos 7 e 8 do livro Software Product Line Engineering
29/5: Desenvolver terceira parte do projeto
3/6: Desenvolver terceira parte do projeto
5/6: Desenvolver terceira parte do projeto
10/6: Desenvolver terceira parte do projeto
19/6 (14hs, na sala A003): Apresentar resultados da terceira parte do projeto
Projeto
Realizado desde o começo do curso, progressivamente