modularidade - de software - unb · ...mais especi camente i obter uma melhor compreens~ao sobre...
TRANSCRIPT
Modularidadede software
Rodrigo Bonifacio
Qual o significado do termomodularidade?
Modularidade e uma propriedade essencial para a construcao eevolucao (de forma bem sucedida)
de software
Modularidade e uma propriedade essencial para a construcao eevolucao (de forma bem sucedida)
de produtos pertencentes a qualquer industria
Modularidade e uma propriedade essencial para a construcao eevolucao (de forma bem sucedida)
de qualquer sistema complexo
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.)
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.
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.
Qual o significado do termo modulo?
Qual o valor da modularidade?
Pesquisadores de diferentes areas (em particular das areas debusiness) tem investigado esses aspectos em domınios diversos(interacoes sociais, evolucao biologica, automotivo, hardware,software, . . . ).
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.
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.
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.
Objetivo
O objetivo da disciplina e conduzir uma discussao sobremodularidade, modularidade de software e tecnicas que podemfavorecer a modularidade de software.
. . . 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.
. . . 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.
. . . 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.
Ementa
O programa da disciplina est organizado, em tres modulos queenvolvem diferentes topicos de estudo.
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.
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).
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
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)
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)
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
Modularidadede software
Rodrigo Bonifacio