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
- Definição
- Motivação
- Relatos de empresas
- Casos de sucesso e falhas
- Mitos
- Inibidores
2. Engenharia de Domínio
3. Desenvolvimento Baseado em Componentes (DBC)
- Definição
- Motivação
- Conceitos chaves
- Mercado de componentes
- Riscos e Mudanças associadas ao DBC
- Estado da arte
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
Java
Pressman
Sommerville
Ferramentas e Técnicas associadas ao reuso de software
Alunos
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
- Software
Reuse
- 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
|
- Discussão Cap 02. do
Livro: Generative Programming
- Mapeamento do Modelo de Features
para modelo de projeto (ex. do modelo da aula passada - vide slides)
{entrega dos modelos}
- Exercício - Definição
de Escopo e Modelagem do Domínio
|
06 |
26.abr |
- Apresentação da Fábrica com Resposta
RFP
- Apresentação da resolução do Exercício 1
- Desenvolvimento Baseado em
Componentes (DBC)
- Apresentação
do Exercício - Elementos de DBC
|
- Fábrica no AR: Processo, Site, Artefatos, SLA, Time
- Resposta a RFP Piloto
|
07 |
03.mai |
Discussão
de Papers
Apresentação da resolução do Exercício
2
|
- Mass
Produced Software Components (pg 79)
- Mercado
Comum de Componentes: Até sua Mãe vai querer um!
- Challenges of component-based development
- Component
Technology - What, Where, and How?
- 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
|
-
Effects of Reuse on Quality, Productivity, and Economics
-
Large-Scale Industrial Reuse to Reduce Cost and Cycle Time
-
Measuring Reuse: A Cautionary Tale
- How Reuse
Influences Productivity in Object-Oriented Systems
- An
Industrial Study of Reuse, Quality, and Productivity
|
10 |
24.mai |
Apresentação
Fábrica com Piloto
Apresentação Papers - Software Reuse Track
Papers:
- Sixteen Questions About
Software Reuse
- Success and Failure Factors in
Software Reuse
- The
Software Component Market on The Internet Current Status and Conditions for Growth
- Strategies
for Software Reuse: A Principal Component Analysis of Reuse Practices
Apresentações:
- Nicomedes
- Fabio
|
Entrega
de Projeto RFP Piloto
|
11 |
31.mai |
Apresentação Papers - CBD Track
Papers:
- Lessons
Learned through Six Years of
Component-based Development
- Lessons
Learned from a Nationwide CBD Promotion Project
- Challenges
of component-based development
- Risks
and Challenges of Component-Based Software Development
Apresentações:
- Alexandre
- Taciana
|
Calibração da Fábrica e Relatório de Lições
Aprendidas
|
12 |
07.jun |
Apresentação Papers - SPL Track
Papers:
- SEI’s
Software Product Line Tenets
- The
Economic Impact of Product Line Adoption and Evolution
- Applying
Product Line Concepts in Small and Medium-Sized Companies
- Software
Product Lines: Organizational Alternatives
Apresentações:
- Jairson
- Luciana
|
|
13 |
14.jun |
Apresentação Papers - Practical
SPL Track
Papers:
-
Product
Line Engineering: The State of the Practice
-
Software
Product Families in Europe: The Esaps & Café Projects
-
Modeling
and Using Product Line Variability in Automotive Systems
-
Developing
Mobile Browsers in a Product Line
-
Product Line
Architectures in Industry: A Case Study
-
Analysis
of a software product line architecture: an experience report
Apresentações:
- Jorge
- Borba
- 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