Upload
fernanda-alberto
View
217
Download
2
Embed Size (px)
Citation preview
Fábrica de Software III
Resposta à RFP do IEC
Breno CostaGerente de Negócios
Agenda Problema Apresentado Proposta de solução da Fábrica III Metodologia Fases x Artefatos Organização da Fábrica Métrica de Estimativa de Esforço Desenvolvimento Baseado em Componentes Ferramentas Acordo de Nível de Serviço (SLA)
Problema Apresentado
Alocação automática de recursos humanos e físicos para definição de horário e consultas
Sugestão de solução: Job Shop Problem e Time Scheduling
Investigações Fábrica III
Job Shop não é adequado para o problema Timetabling é mais indicado Diversas abordagens e variações para
solucionar timetabling Abordagem e algoritmo serão definidos no
início da fase de Desenvolvimento de Componentes
Atores e Casos de UsoAtores Gerente de alocações Usuário comum
Casos de Uso Manter cadastro de
professores/alunos Manter cadastro de
disciplina Manter cadastro de
recurso físico Realizar alocação Alterar/Cancelar alocação Solicitar sugestão de
alocação Consultar alocação
Cálculo do esforço
S M C1 Manter cadastro de professores/alunos 1 0 02 Manter cadastro de disciplinas 1 0 03 Manter cadastro de recurso físico 1 0 04 Realizar alocação 0 0 15 Alterar/Cancelar alocação 0 1 06 Solicitar sugestão de alocação 0 1 07 Consultar alocação 1 0 0
4 2 1
Complexidade
TotalPeso Total
Casos de Uso
55
S M C1 Gerente de alocações 0 0 12 Usuário comum 0 0 1
0 0 2Peso Total
Atores
6
Complexidade
Total de Atores
Pontos de Casos de Uso Não Ajustados (PCUNA) 61
# Fatores Técnicos Peso ValorPeso
x Valor
T1Sistema distribuído
2 0 0
T2
Objetivos de performance relativos à tempo de resposta e vazão
1 4 4
T3 Eficiência para o usuário (online)
1 1 1
T4 Processamento interno complexo 1 3 3
T5 Reutilização de código 1 0 0
T6 Facilidade na instalação 0,5 0 0
T7 Facilidade na utilização 0,5 0 0
T8 Portabilidade 2 0 0T9 Manutenabilidade 1 1 1T10 Concorrência 1 2 2
T11 Inclui características especiais de segurança
1 0 0
T12 Fornece acesso direto para terceiros 1 0 0
T13 facilidades de 1 0 0
Fatores de Complexidade Total dos Fatores Técnicos
0,7111
Cálculo do esforço# Fatores Ambientais Peso Valor
Peso x
Valor
FA1Familiaridade com o RUP (ou o processo de desenvolvimento
utilizado)1,5 4 6
FA2 Experiência na aplicação 0,5 5 2,5
FA3 Experiência em orientação a objetos 1 5 5
FA4 capacidade de liderança do analista líder 0,5 4 2
FA5 Motivação 1 4 4
FA6 Requisitos estáveis 2 4 8
FA7 Trabalhadores part-time -1 5 -5
FA8 Dificuldade na linguagem de programação -1 0 0
Total dos Fatores Ambientais 22,50,725Fatores Ambientais (FA)
Cálculo do esforço
31,4
70,6494A . Se QFA <= 2 565,1955diasEstimativa de Esforço (homens-hora)
Pontos de Casos de Uso (PCU)RESULTADOS
Esforço total: 565 horas
Prazo de entrega
6 semanas a partir da aprovação da proposta
Caso proposta seja aprovada em 21/07/2003, o prazo de entrega será 01/09/2003
Metodologia
Baseada no RUP Metodologia de desenvolvimento
dividida em 4 fases:– Comercial– Planejamento e Gerenciamento– Desenvolvimento de Componentes– Testes e Validação
Levantar Necessidades do Cliente
Elaborar Proposta Comercial
Elaborar Proposta Técnica
Estimar Esforço do Projeto
Elaborar Plano de Projetos Preliminar
Validar o Projeto junto ao Cliente
Definir o Controle do Projeto
Acompanhar e Gerenciar o Projeto
Comunicar Evolução do Projeto
Definir Problema
Implementar Componentes
Especificar Componentes
Projetar Componentes
Elaborar Plano de Testes
Avaliar Testes
Executar Testes de Aceitação
Implementar Testes
Realizar Testes
Fases da MetodologiaComercial
Planejamento e Gerenciamento
Desenvolvimento
Testes
Metodologia - Fases
Levantar Necessidades do Cliente
Elaborar Proposta Comercial
Elaborar Proposta Técnica
Estimar Esforço do Projeto
Elaborar Plano de Projetos Preliminar
Comunicar Evolução do Projeto
Validar o Projeto junto ao Cliente
Definir o Controle do Projeto
Acompanhar e Gerenciar o Projeto
1. Fase Comercial
2. Fase Planejamento e Gerenciamento
Metodologia - Fases3. Fase Desenvolvimento de Componentes
4. Fase Testes e Validação
Definir Problema
Implementar Componentes
Especificar Componentes
Projetar Componentes
Elaborar Plano de Testes
Avaliar Testes
Executar Testes de Aceitação
Implementar Testes
Realizar Testes
Fases x ArtefatosFase Artefatos
Comercial 1. Proposta Técnica2. Planilha de Estimativa de Esforço3. Proposta comercial
Planejamento e Gerenciamento
1. Plano de Projeto2. Ata de Reuniões3. Formulário de Controle de
Mudanças4. Formulário de Validação do
Cliente5. Relatório Avaliando Processo de
Desenvolvimento6. Avaliações periódicas7. Formulário de Controle de
Impactos
Desenvolvimento de Componentes
1. Documento de Requisitos2. Documentos gerados no
MVCASE3. Código-fonte
Testes e Validação 1. Plano de Testes2. Relatório de Avaliação dos Testes3. Componentes de Testes
Organização da Fábrica
Perfis que compõem a Fábrica III Gerente de Negócios Gerente de Projetos Analista de Sistemas Analista de Qualidade Engenheiro de Software Engenheiro de Testes Líder de Equipe
Organização da Fábrica
G eren te d e N eg ó c ios
E n g en h e iro d e S oftw areA n a lis ta d e S is tem asE n g en h e iro d e Tes tes
L íd er d e E q u ip e
E n g en h e iro d e S oftw areA n a lis ta d e S is tem asE n g en h e iro d e Tes tes
L id er d e E q u ip e
G eren te d e P ro je tos A n a lis ta d e Q u a lid ad e
Organização da Fábrica Equipe X Perfil
Breno Costa Gerente de Negócios e Engenheiro de Testes
Carlos Andreazza Engenheiro de Testes e Engenheiro de Software
Carlos Júnior Analista de Qualidade e Engenheiro de Software (líder)
Clarissa Borba Gerente de Negócios e Engenheiro de Testes (líder)
Eduardo Almeida Analista de Qualidade e Engenheiro de Testes
Fábio Ferreira Analista de Sistemas e Engenheiro de Software
Luiz Eduardo Leite Analista de Sistemas e Engenheiro de Software
Mônica Priscila França Analista de Sistemas e Engenheiro de Testes
Taciana Vanderlei Analista de Sistemas e Engenheiro de Software
Vanessa Bittencourt Gerente de Projeto e Engenheiro de Testes
Vivianne Medeiros Gerente de Projetos e Engenheiro de Software
Métrica de Estimativa de Esforço
Breve Histórico [Kirsten Ribu 01]– Ponto de equilíbrio entre investimento e precisão– Estimativa de Especialista– Analogia– FPA
Por que Pontos de Caso de Uso? Benefícios
– Facilidade de uso– Experiência da empresa no desenvolvimento O-O
Pontos de Caso de Uso [Gustav Karner 93]
Passos Necessários:1. Identificar Atores e Casos de Uso2. Categorizar Atores e Casos de Uso3. Calcular PCU Desajustados4. Calcular Fator Complex. Técnica5. Calcular Fator Complex. Ambiental6. Calcular PCU Ajustados7. Converter PCUA para HH - [Schneider and Winters
98]
Pontos de Caso de Uso
Experiência com a métrica Registro do esforço estimado x esforço
realizado Ajustes baseados em dados históricos Novo fator de conversão
Horas por PCU (realizado): 350/22,272 = 15,7148Novo Fator: 18
Reutilização de Software
Software reuse is the use of existing software knowledge or artifacts to build new software artifacts [Frakes, 1995]
Vantagens– Qualidade– Tempo de desenvolvimento– Redução nos custos de desenvolvimento,
testes, documentação e manutenção
Artefatos Reutilizáveis [D’ Souza, 1999]
Código compilado [fonte] Casos de testes Modelos e projetos: frameworks e
padrões Interface de usuário Planos, estratégias e regras
arquiteturais
Desenvolvimento Baseado em Componentes (DBC)
Visão anterior– Blocos monolíticos– Grande número de partes inter-relacionadas– Relacionamentos implícitos
Necessidade de “quebrar” esses blocos– Surgimento do DBC– Redução da complexidade e custo de
desenvolvimento Motivação
– Desenvolvimento da Internet– Evolução: Mainframes .... Objetos Distribuídos– Surgimento de Padrões – OMG, DCOM
Desenvolvimento Baseado em Componentes
Home-Page e Ferramentas http://www.cin.ufpe.br/~vnm/fabrica3
(acompanhamento) JBuilder (implementação) MVCASE [3] (modelagem) CVS [4] (controle de versões) Bugzilla [5] (reportar bugs) Project (gerenciador de cronograma) Word (documentação) PostgreSQL (armazenamento de dados) Twiki [6](compartilhamento de conhecimento)
Acordo de nível de serviço (SLA) [Naomi Karten] Serviço: desenvolvimento de software Indicadores:
– I1 - Problemas não-previstos– I2 - Total de dias de atraso– I3 - Relatórios semanais de status não-enviados
Metas Fórmula: Saldo = (I1-1) + (I3) + (I2-3) Penalidade: Saldo x 10 horas Bônus: Saldo x 0,1 (conceito) Aplicação do SLA apenas para o próximo projeto Revisão do SLA é possível e indicada
Referências Utilizadas[1] I. Aaen, P. Botcher, L. Mathiassen, Software Factories. Oslo, 1997 .[2] H. P. Siy, J. D. Herbsleb, A. Mockus, M. Krishnan, G. T. Tucker, Making the Software Factory Work: Lessons from a Decade of Experience.[D’Souza, 1999] D’Souza, D., F., Wills, C., A. Objects, Components, and Frameworks with UML – The Catalysis Approach. Addison-Wesley, 1999.[Frakes, 1995] Frakes, W., B., Fox, C., J. Sixteen Question about Software Reuse. Communications of the ACM. June 1995. [3] http://www.recope.dc.ufscar.br/mvcase/. [4] http://www.cvshome.org/. [5] http://bugzilla.mozilla.org/. [6] http://www.natalnet.br/twiki/.[Gustav Karner 93], Resource Estimation for Objectory Projects. Copyright Rational Software, Inc, 1993.[Kirsten Ribu 01], Estimating Object-Oriented Software Projects with Use Cases, Master of Science Thesis, University of Oslo, 2001.[John Smith 99], The estimation of Effort based on Use Cases, Rational Software White Paper, 1999.[Schneider and Winters 98]. Applying Use Cases. Addison-Wesley, 1998.[Naomi Karten], Establishing Service Level Agreements, 2001.
Referências Utilizadas[Jain98] Jain, A., Meeran, S. "A state-of-the-art review of job-shop scheduling techniques". Technical report, University of Dundee, Dundee, 1998.[Schaerf95] Schaerf, A., "A survey of automated timetabling,", Report, CWI, Amsterdam, 1995.[Terra01] Terra, I., "Uma Solução para a Confecção do Horário Acadêmico". Dissertação de Mestrado. Universidade Federal de Minas Gerais, 2001.[Gröbner02] Gröbner, M., Wilke P.,"A General View on Timetabling Problems", 4th International Conference on the Practice and Theory of Automated Timetabling, 2002,[Caldeira97] Caldeira, P., Agostinho, R., "School Timetabling Using Genetic Search", Practice and Theory of Automated Timetabling, Toronto, 1997.[Holland75] Holland J., Adaptation in Natural and Artificial Systems, University of Michigan Press, 1975.[Fang94] Fang, H., "Genetic Algorithms in Tametabling Problems", PhD Thesis, University of Edinburgh, 1994.[Fernandes02] Fernandes, C., Caldeira, J., "Infected Genes Evolutionary Algorithm for School Timetabling", WSES, 2002.
Referências Utilizadas[Souza01] Souza, F., Ochi, S., Maculan, N., "A GRASP-Tabu Search Algorithm to solve a School Timetabling Problem", Metaheuristics International Conference - MIC, July 2001[Aarts97] Aarts, E., Lenstra K., Local Search in Combinatorial Optimization, Wiley, 1997.[Feo95] Feo, T., Resende, M., "Greedy randomized adaptive search procedures". Journal of Global Optimization, 1995.[Abramson92] Abramson, D., Abela, J., "A Parallel Genetic Algorithm for Solving the School Timetabling Problem", 15 Australian Computer Science Conference, 1992.[Ribeiro01] Ribeiro, G., Lorena, L., "A Constructive Evolutionary Approach to School Timetabling", EvoCOP2001 - First European Workshop on Evolutionary Computation in Combinatorial Optimization, 2001