silviocesar org br joaufrpe br fbrica de software

  • Slides: 20
Download presentation
silvio@cesar. org. br joa@ufrpe. br fábrica de software: processos estocásticos, otimização, lógica de restrições.

[email protected] org. br [email protected] br fábrica de software: processos estocásticos, otimização, lógica de restrições. . . ? 1 -23

uma idéia: integrar projeto de sistemas integrados 1998 -2001 Orientação: Claudionor Coelho Jr. DCC

uma idéia: integrar projeto de sistemas integrados 1998 -2001 Orientação: Claudionor Coelho Jr. DCC – UFMG Lecom Audio. Lab 2 -23

o problema “Analisar e particionar o projeto de um sistema no nível conceitual utilizando

o problema “Analisar e particionar o projeto de um sistema no nível conceitual utilizando restrições de desenvolvimento (times) e de implementação (tecnologias)” 3 -23

Restrições de Projeto n Desenvolvimento u u u n Implementação u u n Times

Restrições de Projeto n Desenvolvimento u u u n Implementação u u n Times de desenvolvimento Carga de times Custo de integração Área Consumo de potência Atraso de propagação Custo de comunicação Restrições são traduzidas em estimativas dos times de desenvolvimento Produção u u Custo Risco 4 -23

Estimativas de Times n n PSP (Personal Software Process) [Hum 95, Hum 97 c]

Estimativas de Times n n PSP (Personal Software Process) [Hum 95, Hum 97 c] TSP (Team Software Process) [Hum 97 b, Hum 00] Histórico de atividades u Relatórios de tempo, esforço e recursos u Definições de métricas u n n Método de estimativas baseado em regressão-linear simples Estimativa de times u (valor, intervalo de predição) 5 -23

Caracterização de Estimativas n (m, M, c) m: minimum value u M: maximum value

Caracterização de Estimativas n (m, M, c) m: minimum value u M: maximum value u c: confidence degree u n Normal distribution (m, s) = (m, M, c) u m = (m+M)/2 u s = (M-m)/2 c u 99. 7% 95. 5% 68. 3% 6 -23

Suposições n n n Cargas dos times não mudam durante o projeto ou um

Suposições n n n Cargas dos times não mudam durante o projeto ou um novo conjunto de estimativas deve ser fornecido Times fornecem os dados honestamente Distribuição gaussiana (normal) é uma boa aproximação para estimativas dos times em todas as tecnologias 7 -23

Processo de Desenvolvimento n n Especificação da visão hierárquica do sistema Especificação das visões

Processo de Desenvolvimento n n Especificação da visão hierárquica do sistema Especificação das visões seqüencial e de desenvolvimento do sistema (restrições) Times fornecem suas estimativas para o projeto O sistema é particionado de acordo com as visões especificadas e com as estimativas dos times 8 -23

O Particionamento n Formulado como um problema de programação estocástica linear inteira max z

O Particionamento n Formulado como um problema de programação estocástica linear inteira max z = ij cij xij Prob{ j aijxij bi} (1 - i) aij : variáveis aleatórias distribuídas por gaussianas xij : variáveis de decisão especificando se a estimativa ij será utilizada, xij {0, 1} i : probabilidade de falha, {0 < i < 1} 9 -23

Aproximação por Valor Esperado aij = (ma + F-1 (1 - i) sa )

Aproximação por Valor Esperado aij = (ma + F-1 (1 - i) sa ) , ij ij onde F-1 (1 - i) é a função de distribuição inversa da gaussiana [Tri 82] u 1 - i = 50% => F-1 (1 - i) = 0 u 1 - i = 80% => F-1 (1 - i) = 1 u 1 - i = 97% => F-1 (1 - i) = 2 u 1 - i = 99% => F-1 (1 - i) = 3 10 -23

Estudos de Caso n n n Dados gerados aleatoriamente para as restrições não divulgadas

Estudos de Caso n n n Dados gerados aleatoriamente para as restrições não divulgadas na literatura Utilizamos C_PLEX em AMPL [FGK 93] Times de desenvolvimento simulados e suas estimativas geradas respeitando-se alguns princípios 11 -23

Princípios: Estimativas n n n Times mais precisos apresentam custos maiores e tempos de

Princípios: Estimativas n n n Times mais precisos apresentam custos maiores e tempos de desenvolvimento menores Times precisos apresentam pouca carga de trabalho disponível Times implementando tecnologias de hardware apresentam estimativas de tempo de execução menores. n n n Times menos precisos são mais baratos e estimativas de baixos tempos de desenvolvimento Times menos precisos apresentam estimativas de boa carga de trabalho Normalização dos dados 12 -23

Exemplo: SAR Image Processing Minimizing Development Time 13 -23

Exemplo: SAR Image Processing Minimizing Development Time 13 -23

Exemplo: Network Controller 14 -23

Exemplo: Network Controller 14 -23

Exemplo: Network Controller 15 -23

Exemplo: Network Controller 15 -23

Exemplo: Network Controller 16 -23

Exemplo: Network Controller 16 -23

Avaliando Tendências n n n O particionamento tende a escolher times mais precisos quando

Avaliando Tendências n n n O particionamento tende a escolher times mais precisos quando aumentamos o risco de sucesso Quando minimizamos custo, o particionamento tende a escolher times imaturos e vice-versa Quando minimizamos tempo de desenvolvimento, o particionamento tende a escolher times mais precisos 17 -23

Agrupando Soluções 18 -23

Agrupando Soluções 18 -23

uma fábrica de software… amanhã? n DESENVOLVIMENTO Modelagem e implementação usando Mozart, UML, SDL…

uma fábrica de software… amanhã? n DESENVOLVIMENTO Modelagem e implementação usando Mozart, UML, SDL… u Componentes u F u http: //www. cin. ufpe. br/~in 1045/ Acompanhamento de atividades com timesheet + ms_project retro-alimentação simulação de processos F modelagem de seres humanos F IA F u n Análise interativa e iterativa COMERCIAL TOC – based on risks u Engenharia de Vendas u n QUALIDADE 19 -23

o que mais fazer? n n n engenharia de produção… framework para fábricas constraint

o que mais fazer? n n n engenharia de produção… framework para fábricas constraint logic KOBRA … 2005/1? ? 20 -23