UFPE

CIn - UFPE

Pós-Graduação em Ciência da Computação
(Mestrado e Doutorado)



IN1045 - Tópicos Avançados em Linguagens de Programação 1 (Componentes e Reuso em Fábricas de software)

(1o. Semestre/2004)



Última atualização: Wednesday, Aug 11, 09:00:00 BRT 2004.



Objetivos da Disciplina

O objetivo desta disciplina é apresentar e discutir os conceitos essenciais relativos a reuso no contexto de fábricas de software.


Conteúdo Programático

1. Reuso de Software

2. Engenharia de Domínio

3. Desenvolvimento Baseado em Componentes (DBC)

4. Linha de Produtos

5. Processos de Reuso

6. Ambientes e Ferramentas de suporte à reutilização

7. Discussão de artigos selecionados sobre todos os temas


Pré-Requisitos

Alunos

 

Alunos

E-mail

1. Alexandre Alvaro  aa2@cin.ufpe.br
2. Fábio Moura Pereira  fmp2@cin.ufpe.br
3. Jairson Vitorino  jairsonvitorino@mundi.com.br
4. Jorge Cláudio Cordeiro Pires Mascena  jccpm@cin.ufpe.br
5. Luciana Valadares Pereira   lvp@cesar.org.br
6. Luiz Borba  borba@cesar.org.br
7. Nicomedes  nlcj@terra.com.br
8. Taciana Amorim Vanderlei   tav@cin.ufpe.br
9. Vanilson André de Arruda Burégio  vaab@cin.ufpe.br

 

Fábrica ABC


Cronograma de Aulas

Aula
Data
Assunto (Slides)
Leitura, atividade, referência...
01 22.mar   Porque Componentização e Reuso não funcionaram.....pelo menos até agora!

 

02 29.mar

 Apresentação da Disciplina 

 Apresentação do Project <X>

 Prova sobre a Aula 01. Duração: 30 minutos

03 05.abr Discussão de Papers

 1. Entrega: Plano de Definição da Fábrica

  1. Software Reuse 
  2. Reusing Software: Issues and Research Directions
04 12.abr  Engenharia de Domínio    
05 19.abr  Discussão de Dúvidas do Cap 02.

 Apresentação do Exercício - Definição de Escopo e Modelagem do Domínio 

  1. Discussão Cap 02. do Livro: Generative Programming 
  2. Mapeamento do Modelo de Features para modelo de projeto (ex. do modelo da aula passada - vide slides) {entrega dos modelos}
  3. Exercício - Definição de Escopo e Modelagem do Domínio 
06 26.abr
  1. Apresentação da Fábrica com Resposta RFP
  2. Apresentação da resolução do Exercício 1
  3. Desenvolvimento Baseado em  Componentes (DBC)
  4. Apresentação do Exercício - Elementos de DBC
  1. Fábrica no AR: Processo, Site, Artefatos, SLA, Time 
  2. Resposta a RFP Piloto
07 03.mai  Discussão de Papers

 Apresentação da resolução do Exercício 2

  1. Mass Produced Software Components (pg 79)
  2. Mercado Comum de Componentes: Até sua Mãe vai querer um!
  3. Challenges of component-based development
  4. Component Technology - What, Where, and How?
  5. A Taxonomy of Components
08 10.mai  Linha de Produtos de Software  
09 17.mai  ORION - A Component-Based Software Engineering Environment

 Reuso no C.E.S.A.R

 Métricas de Reuso do C.E.S.A.R

  1. Effects of Reuse on Quality, Productivity, and Economics
  2. Large-Scale Industrial Reuse to Reduce Cost and Cycle Time
  3. Measuring Reuse: A Cautionary Tale
  4. How Reuse Influences Productivity in Object-Oriented Systems
  5. An Industrial Study of Reuse, Quality, and Productivity
10 24.mai  Apresentação Fábrica com Piloto

 Apresentação Papers -  Software Reuse Track

 Papers: 

  1. Sixteen Questions About Software Reuse 
  2. Success and Failure Factors in Software Reuse 
  3. The Software Component Market on The Internet Current Status and Conditions for Growth 
  4. Strategies for Software Reuse: A Principal Component Analysis of Reuse Practices  

 Apresentações:

  1. Nicomedes
  2. Fabio
 Entrega de Projeto RFP Piloto 
11 31.mai  Apresentação Papers -  CBD Track

 Papers:

  1. Lessons Learned through Six Years of Component-based Development
  2. Lessons Learned from a Nationwide CBD Promotion Project
  3. Challenges of component-based development
  4. Risks and Challenges of Component-Based Software Development

 Apresentações:

  1. Alexandre
  2. Taciana
 Calibração da Fábrica e Relatório de Lições Aprendidas

 

12 07.jun  Apresentação Papers -  SPL Track

 Papers:

  1. SEI’s Software Product Line Tenets  
  2. The Economic Impact of Product Line Adoption and Evolution
  3. Applying Product Line Concepts in Small and Medium-Sized Companies
  4. Software Product Lines: Organizational Alternatives  

  Apresentações:

  1. Jairson
  2. Luciana
 
13 14.jun  Apresentação Papers - Practical SPL Track

 Papers:

  1. Product Line Engineering: The State of the Practice

  2. Software Product Families in Europe: The Esaps & Café Projects

  3. Modeling and Using Product Line Variability in Automotive Systems

  4. Developing Mobile Browsers in a Product Line  

  5. Product Line Architectures in Industry: A Case Study

  6. Analysis of a software product line architecture: an experience report

 Apresentações:

  1. Jorge
  2. Borba
  3. Vanilson
 
14 21.jun     Situação parcial {notas}

 RFP Projeto  

15 05.jul    Resposta a RFP-Projeto

 Plano Detalhado de Atividades até 09.ago

16 09.ago    Entrega do Projeto RFP 
16  23.ago    Entrega do artigo submetido


Referências Bibliográficas

1. I. Jacobson., M. Griss., P. Johnson, Software Reuse: Architecture, Process and Organization for Business Success, Addison-Wesley, Longman, 1997.

2. K. Czarnecki., U. Eisenecker, Generative Programming: Methods, Tools, and Applications, Addison-Wesley, 2000.

3. G.T Heineman., W.T. Councill, Component-Based Software Engineering: Putting the Pieces Together, Addison-Wesley, 2001.

4. C. Szyperski, Component Software: Beyond Object-Oriented Programming, Addison-Wesley, Second edition, 2002.

5. P. Clements., L. Northrop., Software Product Lines: Practices and Patterns, Addison-Wesley, 2002.



Referências Bibliográficas Complementar

1. Artigos de conferências:

  • International Conference on Software Engineering (ICSE)
  • Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA)
  • European Conference for Object-Oriented Programming (ECOOP)
  • International Conference on Software Reuse (ICSR)
  • International Symposium on Component-based Software Engineering (CBSE) in ICSE
  • Workshop on Component-Oriented Programming (WCOP) in ECOOP
  • International Conference on Generative Programming and Component Engineering (GPCE)
  • Software Product Line Conference (SPLC)

2. Artigos de journals:

  • Communications of the ACM
  • IEEE Transactions on Software Engineering
  • IEEE Software
  • IEEE Computer
  • Journal of Systems and Software

3. Links


Silvio Romero de Lemos Meira
Eduardo Santana de Almeida