Reuso Estratégico com Linhas de Produtos de Software
Professor: Paulo Borba
Monitores: Leopoldo Teixeira, Laís Neves
Nome oficial: Tópicos Avançados em Engenharia de Software 3 (IN-980)
Lista de email: in980-l, assine já! (para assuntos particulares, escreva diretamente para phmb com TAES no subject)
Cronograma
9/3 (16hs, na sala A010): Apresentação da disciplina, definir equipe e aplicação a ser desenvolvida na disciplina
16/3 (16hs, no laboratório G5, B018): Desenvolver a aplicação escolhida usando linguagens e frameworks web de sua preferência
18/3 (14hs, no laboratório G5, B018): Desenvolver a aplicação escolhida usando linguagens e frameworks web de sua preferência
23/3 (16hs, no laboratório G5, B018): Desenvolver a aplicação escolhida usando linguagens e frameworks web de sua preferência
25/3 (14hs, no laboratório G5, B018): Criar família com duas aplicações para contemplar variações na funcionalidade e comportamento da aplicação original
30/3 (16hs, no laboratório G5, B018): Criar família com duas aplicações para contemplar variações na funcionalidade e comportamento da aplicação original
1/4:Feriado, Semana Santa
6/4 (16hs, na sala A010): Apresentar a família de aplicações e discutir problemas encontrados, discutir conceitos básicos de linhas de produtos de software
15/4 (14hs, no laboratório G5, B018): Criar modelos para a família de aplicações web desenvolvida
criar um modelo de features com base na descrição completa da família de aplicações web desenvolvida parcialmente; usar uma das ferramentas sugeridas
criar modelo de configuração com base na última versão da família de aplicações desenvolvida (que já é uma LPS) e contemplando o novo modelo de features criado
20/4 (16hs, no laboratório G5, B018 e depois na sala A010): Criar modelos para a família de aplicações web desenvolvida, rediscutir modelos (de feature, configuração, etc.) para linhas de produtos de software
estudar o artigo Safe Composition of Configuration Knowledge-based Software Product Lines (o grupo deve solicitar ao monitor) e a seção 2.1.2 da dissertação de mestrado Verification and Refactoring of Configuration Knowledge for Software Product Lines, MSc thesis de Leopoldo Teixeira, Universidade Federal de Pernambuco, Recife, Brasil, 2010.
Grupo responsável: Rodrigo Cardoso
22/4 (14hs, na sala A010): Discutir mecanismos para especificação de variações em requisitos
27/4 (16hs, no laboratório G5, B018): Estruturar artefatos de requisitos da família de aplicações web desenvolvida
usar o template para escrita dos requisitos para LPS
usar o Hephaestus (win | mac) para geração dos cenários de caso de uso do produto
instalar o glade (win | mac) para utilizar o Hephaestus (pré-requisito)
estudar o artigo Hephaestus: A tool for managing spl variabilities, de Rodrigo Bonifácio, Leopoldo Teixeira, and Paulo Borba. In Tools Session of the III Brazilian Symposium on Software Components, Architectures, and Reuse (SBCARS 2009), Natal-RN, Brazil, September 2009.
exercitar Hephaestus com os projetos de exemplo, que incluem transformações de cenários de casos de uso:
29/4 (14hs, no laboratório G5, B018 e depois na sala A010): Estruturar artefatos de requisitos da família de aplicações web desenvolvida, rediscutir mecanismos para especificação de variações em requisitos
11/5 (16hs, no laboratório G5, B018): Estruturar artefatos de código da família de aplicações web desenvolvida
13/5 (14hs, no laboratório G5, B018 e depois na sala A010): Estruturar artefatos de código da família de aplicações web desenvolvida, discutir mais mecanismos para especificação de variações em código
1/6 (16hs, no laboratório G5, B018): Evoluir a linha aplicações web desenvolvida
3/6:Feriado, Corpus Christi
8/6 (16hs, no laboratório G5, B018): Evoluir a linha aplicações web desenvolvida
10/6 (14hs, no laboratório G5, B018 e depois na sala A010): Evoluir a linha aplicações web desenvolvida, rediscutir refactoring de linhas de produtos de software
estudar o tutorial Software Product Line Refactoring, de Paulo Borba. GTTSE 2009. Braga, Portugal. (o grupo deve solicitar ao monitor)
Grupo responsável: Carlos Frederico Medeiros, Robson Medeiros e David Aragão
estudar o artigo Feature Oriented Refactoring of Legacy Applications, de Liu, J., Batory, D., and Lengauer, C. In Proceedings of the 28th international Conference on Software Engineering (Shanghai, China, May 20 - 28, 2006). ICSE '06. ACM, New York, NY, 112-121.
Grupo responsável: Viviane Souza e Gleibson Oliveira
15/6:Jogo do Brasil
17/6 (13h30, na sala A010): Apresentar e discutir resultados
13h30 - Renata e Jorge
14h - Rodrigo Cardoso
15h - Viviane Souza e Gleibson Oliveira
22/6 (16hs, na sala A010): Apresentar e discutir resultados
14h30 - Yuri Pereira
16h - George Valença e Paola Accioly
16h30 - David Aragão, Fred Medeiros, Robson Medeiros
17h - Leonardo Fernandes, Francisco Salanio
17h30 - Felype Santiago, Michelle Silva
24/6:Feriado, São João
29/6 (16hs, na sala A010): Exame escrito final
Avaliação
Alcance do intended learning outcome descrito nos slides da apresentação do curso
Participação efetiva nas aulas, questionando, comentando, criticando e pensando em como adaptar e aplicar as ideias vistas
a presença em todas as aluas, em sala ou laboratório, é obrigatória
Projeto (entregue em várias partes) e apresentações, em dupla
a entrega de todos os projetos é essencial para que o aluno passe por média
o relato do progresso da execução do projeto, nas aulas de laboratório, vale tanto quanto o resultado final do projeto