Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre...

27
Modularidade de software Rodrigo Bonif´ acio

Transcript of Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre...

Page 1: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Modularidadede software

Rodrigo Bonifacio

Page 2: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Qual o significado do termomodularidade?

Page 3: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Modularidade e uma propriedade essencial para a construcao eevolucao (de forma bem sucedida)

de software

Page 4: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Modularidade e uma propriedade essencial para a construcao eevolucao (de forma bem sucedida)

de produtos pertencentes a qualquer industria

Page 5: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Modularidade e uma propriedade essencial para a construcao eevolucao (de forma bem sucedida)

de qualquer sistema complexo

Page 6: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Tres anos de atraso no lancamento do Windows Vista foramatribuıdos a decisoes erradas resultantes da falta de modularidade

no projeto1.

1Analysing the evolution of large scale software. . . (LaMantia et al.)

Page 7: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Desenho modular (David Parnas)

I desenvolvimento em paralelo

I facilidade em compreender os modulos de forma isolada

I possibilidade de manter os modulos de forma independente

E uma preocupacao mais relacionada com a distribuicao de tarefasdo que com uma perspectiva tecnologica.

Page 8: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Desenho modular (David Parnas)

I desenvolvimento em paralelo

I facilidade em compreender os modulos de forma isolada

I possibilidade de manter os modulos de forma independente

E uma preocupacao mais relacionada com a distribuicao de tarefasdo que com uma perspectiva tecnologica.

Page 9: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Qual o significado do termo modulo?

Page 10: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Qual o valor da modularidade?

Page 11: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Pesquisadores de diferentes areas (em particular das areas debusiness) tem investigado esses aspectos em domınios diversos(interacoes sociais, evolucao biologica, automotivo, hardware,software, . . . ).

Page 12: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar
Page 13: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Baldwin and Clark discutem o impacto de um desenho modular emtermos

I como um fator determinante para o sucesso de um produto

I da organizacao das equipes de trabalho envolvidas

I da quantificacao e valorizacao

O valor do produto esta diretamente relacionado as opcoes dedesign que podem ser customizadas no produto. A teoria envolvedesign structure matrixes e um conjunto de operacoes sugeridaspara melhorar a modularidade de um produto.

Page 14: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Baldwin and Clark discutem o impacto de um desenho modular emtermos

I como um fator determinante para o sucesso de um produto

I da organizacao das equipes de trabalho envolvidas

I da quantificacao e valorizacao

O valor do produto esta diretamente relacionado as opcoes dedesign que podem ser customizadas no produto.

A teoria envolvedesign structure matrixes e um conjunto de operacoes sugeridaspara melhorar a modularidade de um produto.

Page 15: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Baldwin and Clark discutem o impacto de um desenho modular emtermos

I como um fator determinante para o sucesso de um produto

I da organizacao das equipes de trabalho envolvidas

I da quantificacao e valorizacao

O valor do produto esta diretamente relacionado as opcoes dedesign que podem ser customizadas no produto. A teoria envolvedesign structure matrixes e um conjunto de operacoes sugeridaspara melhorar a modularidade de um produto.

Page 16: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Objetivo

O objetivo da disciplina e conduzir uma discussao sobremodularidade, modularidade de software e tecnicas que podemfavorecer a modularidade de software.

Page 17: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

. . . mais especificamente

I obter uma melhor compreensao sobre modularidade, atravesda leitura de livros e artigos relacionados ao tema.

I estudar as tecnicas que foram recentemente propostas paralidar com a modularidade de software e refletir se essastecnicas observam a nocao de modularidade como taskassignment.

I planejar e conduzir uma avaliacao empırica (estudo de caso)com o intuito de modularizar as caracterısticas de um softwareexistente utilizando algumas tecnicas recentes demodularizacao.

Page 18: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

. . . mais especificamente

I obter uma melhor compreensao sobre modularidade, atravesda leitura de livros e artigos relacionados ao tema.

I estudar as tecnicas que foram recentemente propostas paralidar com a modularidade de software e refletir se essastecnicas observam a nocao de modularidade como taskassignment.

I planejar e conduzir uma avaliacao empırica (estudo de caso)com o intuito de modularizar as caracterısticas de um softwareexistente utilizando algumas tecnicas recentes demodularizacao.

Page 19: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

. . . mais especificamente

I obter uma melhor compreensao sobre modularidade, atravesda leitura de livros e artigos relacionados ao tema.

I estudar as tecnicas que foram recentemente propostas paralidar com a modularidade de software e refletir se essastecnicas observam a nocao de modularidade como taskassignment.

I planejar e conduzir uma avaliacao empırica (estudo de caso)com o intuito de modularizar as caracterısticas de um softwareexistente utilizando algumas tecnicas recentes demodularizacao.

Page 20: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Ementa

O programa da disciplina est organizado, em tres modulos queenvolvem diferentes topicos de estudo.

Page 21: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Modulo 1

Definicoes sobre modularidade (aplicaveis a software e outrasindustrias); o retorno de investimento relacionado a um designmodular; como medir e acompanhar a modularidade de umproduto; como gerenciar na era da modularidade.

Page 22: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Modulo 2

Tecnicas recentes para a “modularizacao” de software e que forammotivadas pela sındrome da tirania da decomposicao dominante epela necessidade de customizacao em massa de produtos desoftware (Pohl, Bockle, & Linden, 2005).

Page 23: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Modulo 3

Metodos empıricos aplicados na engenharia de software— emparticular estudos de caso, e estilos de escrita de artigos tecnicospara a area de Ciencia da Computacao

Page 24: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Avaliacao

P1 envolvimento do aluno

P2 implementacao dos estudos de caso

P3 avaliacao aplicada ao termino do semestre

A nota final sera computada como:

(P1 × 3) + (P2 × 4) + (P3 × 3)

10(1)

Page 25: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Avaliacao

P1 envolvimento do aluno

P2 implementacao dos estudos de caso

P3 avaliacao aplicada ao termino do semestre

A nota final sera computada como:

(P1 × 3) + (P2 × 4) + (P3 × 3)

10(1)

Page 26: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Plano inicial de aulas

Data Conteudo

22/08 leitura dos capıtulos 2 e 3 de (Baldwin & Clark, 1999)29/08 leitura dos capıtulos 4 e 5 de (Baldwin & Clark, 1999)05/09 apresentacao dos artigos (D. L. Parnas, 1972; D. Parnas, 1976; D. L. Parnas, 1979)12/09 apresentacao dos artigos (Kersten & Murphy, 2005; Murphy, Kersten, Robillard, &

Cubranic, 2005)19/09 leitura do artigo (Tarr, Ossher, Harrison, & Sutton, 1999)26/09 apresentacao dos artigos (Kiczales et al., 2001; Aracic, Gasiunas, Mezini, & Ostermann,

2006)03/10 apresentacao dos artigos (Batory, Sarvela, & Rauschmayer, 2003; Apel, Kastner, &

Lengauer, 2009)10/10 leitura do artigo (Schaefer, Bettini, Damiani, & Tanzarella, 2010)

outubro conducao do estudo de casonovembro conducao do estudo de casodezembro prova + escrita de artigos

Page 27: Modularidade - de software - UnB · ...mais especi camente I obter uma melhor compreens~ao sobre modularidade, atrav es da leitura de livros e artigos relacionados ao tema. I estudar

Modularidadede software

Rodrigo Bonifacio