Escolar Documentos
Profissional Documentos
Cultura Documentos
CICC
Centro de Cooperao Internacional para Computao
O que Metodologia
Conjunto sistematizado de tarefas necessrias para completar um projeto de desenvolvimento de software. formalizar os principais processos do projeto determinar todas as tarefas para cada processo organizar as tarefas considerando sequncia e simultaneidade organizar a estrutura de entradas e sadas das tarefas mapear um amplo gerenciamento e estrutura de suporte
Problemas Tpicos
Atraso no trmino do desenvolvimento Deteriorizao da qualidade Diminuio dos lucros Insatisfao dos clientes Dificuldades com terceirizaes
Causas
Falha de Comunicao entre usurios e desenvolvedores (50%) Falta de clareza nas especificaes Estimativas erradas Condies e termos contratuais severos Diviso de trabalho entre usurios e desenvolvedores no definida Conhecimento insuficiente da complexidade da converso
Causas (cont.)
Problemas de desenvolvimento de software (18%) Falta de controle sobre as terceirizaes Consideraes insuficientes sobre a performance Impacto no uso de novos softwares e hardwares Outros (32%) Gerencimento deficiente da evoluo do trabalho Padres e Documentaes inconsistentes Problemas nas definies das condies finais dos processos
SDEM 90
Software Development Engineering Methodology
Objetivos Melhorar a comunicao entre usurio e desenvolvedor Sistematizar e padronizar os itens de trabalho Auxiliar o gerenciamento do projeto Resultados Tarefas so agrupadas pelo tipo de pessoa envolvida: usurio, lder do projeto, engenheiros de hardware e software Usurio sente-se dono do sistema porque ele baseado nos requisitos do negcio e teve seu envolvimento durante todo o desesenvolvimento
Estrutura SDEM90
Negcio Interface Computador Fases Categoria Planejamento Projeto Construo Testes Implemento Operaes Negcio Especificao do Sistema Software Hardware Suporte ao Desenvolv. Gerenciam. Projeto
Logsitca Projeto
Sub-Categorias
Operaes do Negcio Especificao do Sistema Hardware Software Suporte ao Desenvolvimento Gerenciamento do Projeto
Operaes do Negcio
Analisar situao do negcio Produzir requisitos do sistema e do usurio Preparar testes operacionais Produzir manual de operaes Gerenciar mudanas nas especificaes (Grande envolvimento dos usurios)
Especificao do Sistema
Funo do Sistema: projeto das especificaes funcionais, testes do sistema, manual do usurio Estrutura de Dados: modelo de dados, telas, relatrios, padronizao de nomes Performance: requisitos, estimativas Confiabilidade e Segurana: procedimentos de recuperao Operao e Manuteno: procedimentos para o ambiente de desenvolvimento e produo, manual do operador Converso: migrao para novo sistema
Hardware
Equipamento hospedeiro: configurao do processador, memria e dispositivos de E/S Mquinas clientes: configurao das mquinas Rede: configurao da rede Facilidades: espao fsico, fornecimento de energia, ar-condicionado, equipamento de escritrio
Software
Aplicao: projeto, codificao e teste de programas, anlise de pacotes e converso de sistemas Dado: projeto das estruturas de dados e dados para testes Sistema: sistema operacional, banco de dados, rede, etc Ambiente: arquivos fsicos, ambientes de testes
Suporte ao Desenvolvimento
Padres: metodologia, padres para testes, revises e relatrios Tcnicas e Ferramentas: gerenciamento do projeto e suas atividades Educao: treinamento do grupo de desenvolvimento nos aspectos tcnicos e de negcio do projeto Configurao do Sistema: recursos de hw e sw, documentao do sistema Materiais: suprimento de insumos
Gerenciamento do Projeto
Mtricas: medidas quantitativas e estatsticas para avaliao do progresso do projeto Organizao e Funcionrios: definio de times, responsabilidades e liderana Custo: estimativas, revises e gerenciamento do oramento
Fases da Metodologia
Planejamento: Planejamento do Sistema, Anlises dos Sistemas Projeto: Interface do Usurio, Estrutura do Sistema, Estrutura do Programa Contruo: Programao Testes: Programa, Integrao, Sistema Implementao: Testes Operacionais, Manuteno e Avaliao
Planejamento
Planejamento do Sistema: Atravs do planejamento estratgico de informtica da empresa e do planejamento de projetos produzido o Plano de Desenvolvimento de Sistemas de Informao, envolvendo a anlise do negcio, a estratgia da empresa e a estratgia de processamento de informaes
Planejamento (cont.)
Anlise do Sistema: anlise do Sistema atual novos requisitos (usurios, funcionalidade, dados, performance, segurana) estrutura do projeto (hardware, software, padres, ferramentas, tcnicas, mtricas) de acordo com as estratgias da fase anterior
Projeto
Interface do Usurio: especificaes planejamento do teste operacional Estrutura do Sistema: processos lgicos, decomposio em programas gerao de arquivos fsicos procedimentos de recuperao, performance especificaes de testes (sistema, performance, mdulos) ambiente de desenvolvimento (software, hardware, ferramentas)
10
Projeto (cont.)
Estrutura do Programa lgica do programa especificaes de testes de integrao ambiente de teste para o programa manual de converso
Construo
Programao: projeto, codificao e testes de mdulos instalar hardware, software, rede, mquinas clientes e facilidades para o ambiente de produo
11
Testes
Programa: integrao de mdulos validao de interfaces testes de operaes, converses e performance incio dos manuais do Usurio e do Operador preparao do ambiente de negcio
Testes (cont.)
Integrao integrao dos programas em processos validao das interfaces com outros sistemas verificao de aspectos operacionais gerao do ambiente de teste (dados para teste de performance) treinamento dos usurios
12
Testes (cont.)
Sistema processos so integrados em sistemas testes de funcionalidade, performance, confiabilidade e operao testes de converso de dados criao de dados para testes operacionais treinamento dos usurios
Implementao
Teste Operacional certificao de todos os aspectos do sistema converso produo Manuteno e Avaliao monitoramento do sistema acerto de pequenos erros planejamento de novas funes avaliao do projeto e documentao
13
Decomposio e Integrao
Fases Categoria Mundo Real Planejamento SP SA Projeto UI SS PS Construo PG Testes PT IT ST Implementao OT ME
Corporao Negcio
Interface
Sistema
Processo
Computer
WBS
Work Breakdown Structure
Representao dos itens de trabalho:
Processo Ex: Definir os requisitos de dados
Atividades
Tarefas
Ex: (Anlise de Dados) Verificar dados relevantes, agrupar dados, definir, revisar
14
Pessoas Envolvidas
Fases Categoria Usurio Negcio Usurio final Espec. Sist. Proj. Aplic. Sofware Desenv. Sw Hardware Hardware Sup. Des. Espec. ferr. Ger. Proj. Ger. Proj. Usurio final Desenvolvimento Usurio final Planejamento SP SA Projeto UI SS PS Construo PG Testes PT IT ST Implementao OT ME
Benefcios SDEM90
Padronizao: lista detalhada e clara dos itens de trabalho, documentao Garantia da Qualidade: requisitos analisados e atendidos, testes a cada etapa, aspectos operacionais analisados (performance, segurana, manuteno e operao) Facilidades na estimativa de custo, tempo e alocao de pessoal Facilidades na negociao: justificar custos, escopo, delimitar responsabilidades
15
O que um projeto
Conjunto de atividades interrelacionadas Incio e fim pr-determinados Objetivo de gerar produtos com especificaes pr-definidas Conjunto de pequenos projetos
Planejamento
Definir as metas do projeto Verificar os objetivos do projeto Estabelecer pontos de controle, atividades, tarefas, relacionamentos e estimativas de tempo Preparar um cronograma geral do projeto
Organizao
Combinar recursos (humanos, materiais e financeiros) para alcanar as metas e objetivos do projeto Delimitar responsabilidades Manter bom nvel de comunicao Considerar mudanas nas tarefas ao longo da durao do projeto
Alocao de pessoal
Conseguir pessoas adequadas Alto potencial tcnico Bom senso poltico Vivncia na resoluo de problemas Orientadas a objetivos e metas Auto-estima
Gerenciamento
Facilitar cooperao entre os membros Generalista Conseguir entendimento a partir do desentendimento Incentivador Conciliador
Controle
Monitorar o progresso reduzindo a diferena entre o plano e a realidade Performance Custos Tempo
Motivao
Propsito: importncia do trabalho Valorizao dos resultados obtidos Auto-estima Reconhecimento profissional
10
11
12
13
14
Controle do Projeto
Gerenciamento dos produtos do projeto: cdigo fonte, telas, ambiente de software, planos de desenvolvimento, especificaes, manuais, material de teste Gerenciamento de problemas: documentao, verificao e soluo do problema, negociao com o cliente
15
Monitoramento do Projeto
Avaliao do progresso Registro do tempo gasto Reunies para avaliao (tardes, publicao imediata das atas) Relatrios disponveis a todos os envolvidos Controle do oramento
16
Auditoria do Projeto
Checar se a estrutura est correta Monitorar e controlar os procedimentos aplicados Verificar o cronograma geral e plano de controle Analisar as alocaes de pessoal Checar a contabilidade e oramento do projeto
17
18
Finalizao do Projeto
Planejamento da transio Aceitao dos produtos do usurio Treinamento do usurio Definir um limite de corte Definir compromisso de suporte e manuteno
19
20
Projeto
Conjunto de pessoas e recursos reunidos temporariamente para alcanar objetivos especficos dentro de um limite de tempo e custo Sujeito a mudanas Restries de qualidade nico
Gerenciamento de Projeto
Direcionamento e controle de pessoas alocadas de diversos departamentos para atingir os objetivos do projeto Organizar os dados do projeto Estabelecer um sistema de gerenciamento de dados que permita a tomada de decises Utilizar metodologia
Definio do Projeto
Definir objetivos e escopo: cenrio do negcio e como os objetivos sero satisfeitos Desenvolver um modelo do projeto: restries de custo, tempo e performance. Atravs dos objetivos a serem alcanados so definidos o custo e o perodo mximo Definir organizao do projeto: contratao de servios, definio do gerente
Planejamento do Projeto
Propsito: Facilitar, subsidiar e encorajar o alcance dos objetivos e metas do projeto. Proper planning prevents poor performance
Estimativa do Projeto
Quanto menores e mais especficas forem as tarefas, mais fceis sero de se estimar Quanto maior o risco do projeto, maior a possibilidade de erros na estimativa Estimativa do time Assuma que cada tarefa ser realizada por uma pessoa
10
Controle de Mudana
Associar nmero ao pedido de mudana Avaliao do impacto Estimar o custo da implementao ou indicar uma pessoa para avaliar o custo Aprovar a mudana Divulgar aos envolvidos Documentar
11
Relatrios
Coerentes com o plano Critrios definidos Ferramentas simples e atraentes (menos de uma hora) Intervalos pr-definidos (tamanho, estgio, risco) Discutidos em reunies: identificao de problemas e alocao de pessoas para resolv-los (no tentar resolv-lo na reunio) Reunies de problemas na sexta-feira e de progressos na segunda-feira
Controle de Qualidade
Planejamento de Qualidade: especificar como a qualidade ser alcanada, quais procedimentos da empresa que sero eficazes, garantias do Gerente e do time Assegurar a Qualidade: medidas preventivas para evitar problemas: padres, experincia, recursos qualificados Controle da Qualidade: diagnosticar e recuperar
12
Implementao
Habilidade para coordenar e organizar Conscientizar o cliente do seu papel nesta fase (aceitao) Eleger um comit de implementao Gerente de implementao
13
Implementao - Plano
Planeje a transio Certifique-se que o usurio aceitou o produto Treine o usurio na operao do produto (refinamento e manuteno): curso, cbt, vdeo, etc.. Defina o limite do projeto Determine compromisso de suporte e manuteno
Implementao - Plano
Para cada tarefa: Descrio detalhada Responsabilidades Procedimentos e responsabilidades de teste Equipamento necessrio Software necessrio
14
Implementao Monitoramento
Checagem do progresso Contabilidade dos gastos Performance Reaes do cliente
Comit de Implementao
Gerente de Projeto, Representante da Empresa, Cliente Trabalhar em equipe Delegar responsabilidades Cronograma Acompanhamento
15
Gerenciamento de Risco
Risco
Exposio ou chance de prejuzo ou perda Risco Especulativo: ganho ou perda Risco Puro: perda Depende do ponto de vista Viso construtiva
Gerenciamento de Risco
Identificar os eventos que podem ocorrer, analisar seus impactos e planejar como control-los de modo a minimizar a magnitude da perda Responsabilidade de todo o time Benefcios: Pensamento sistematizado Identificao do problema Planos de Contingncia Exposio do Projeto a riscos
Custos de implementao
Dinheiro, Tempo e Envolvimento do Gerente X Satisfao, Reputao e Prestgio da Empresa
Tipos de Risco
Desenvolvimento de Aplicaes
Projeto cancelado Atraso Oramento Funcionalidade Corresponder s expectativas do cliente Dificuldade
Tipos de Risco
Pessoal: doena, insatisfao, motivao, treinamento Tecnolgico: avano na indstria de software e hardware, maturidade, integrao com outros sistemas, falta de conhecimento Mercado: Constantes mudanas tecnolgicas considerando o tempo de desenvolvimento do sistema
Componentes do Risco
Ameaa: causas Recursos: bens, pessoas afetadas Fatores modificadores: fatores que variam a probabilidade da ameaa se tornar realidade Consequncias: modo e exteno dos efeitos sobre os recursos
Fatores modificadores
Projetos de Desenvolvimento de Software Fatores Estratgicos e de Negcio Tamanho e Escopo do Projeto Organizao Usurios Planejamento Tcnicas de Desenvolvimento Implementao Operao e Suporte
Grau de Impacto
Severidade X Frequncia
Grande Impacto Mdio Pequeno Menor Frequncia (Severidade)
Gerenciamento de Risco
Avaliao do Risco
Identificao: descobrir e reconhecer ameaas Anlise: identificar a severidade do risco Qualificao: priorizar riscos
Controle do Risco
Planejamento da Contingncia: aes a serem tomadas Controle: identificar fatores para evitar riscos Monitoramento: resoluo
Identificao do Risco
O que pode dar errado? O que acontecer se ? Identificar os possveis acontecimentos no desenvolvimento ou implementao do Sistema que impeam o cumprimento dos objetivos do cliente Riscos remotos e bvios
Anlise do Risco
Quo srio ele pode ser? Qual a probabilidade de ocorrncia? Estimativa:
Determinar Variveis ligadas a ocorrncia Identificar Consequncias do evento Determinar Magnitude das consequncias Eliminar Surpresas: probabilidade de ocorrer
Qualificao (Priorizao)
Criao do nvel de referncia do risco: classificar se o risco aceitvel Determinar o nvel de referncia do risco do Sistema: nvel do risco em relao ao projeto e a organizao Comparar o risco calculado com o risco do sistema: decidir se o sistema deve parar, ser revisto, etc..
Planos de Contingncia
Atividades: pr-ocorrncia (Preveno) ocorrncia (Emergncia): minimizar a durao do evento, maximizando o que puder ser salvo ps-ocorrncia (Recuperao): minimizar a interrupo das atividades
Controle do Risco
Reduo do risco: reduzir a probabilidade de ocorrncia do erro ou de suas consequncias. Reduz-lo a um nvel aceitvel Transferncia do risco; reduzir o impacto do risco, realocando o mesmo entre os componentes do projeto
Monitoramento do Risco
Atividade realizada independentemente da preveno Coleta de informaes Anlise da origem e ocorrncia do risco
Vantagens Adicionais
Gerenciamento de Risco: Melhorar a capacidade de estimativa de trabalho do projeto Prototipao: reduzir o risco do produto no atender s expectativas do cliente
10
FPA
Function Points= Unadjusted Function Points * Complexity Adjustment Complexity Adjustment = 0.65 + (Degree of Influence) Benefcios: os dados podem ser coletados no incio do projeto e no requer muito tempo para ser aplicado
Degree of Influence
Caracterstica Grau de influncia Data comunications Distributed functions Performance Heavily used configuration usage Transaction rate Online data entry End user efficiency Online update Complex processing Reusability Installation ease Operational ease Multiple sites Facilitate change Total
Funes Bsicas
External Input External Output Logical Internal Files External Interface Files External Enquiry
Complexidade da Aplicao
Data Comunications Distributed Functions Performance Heavily Used Configuration Usage Transaction Rate Online Data Entry End User Efficiency
Fatores Adicionais
Other Applications Security, privacy, auditability User training needs Use by third parties Documentation Others ?
COCOMO
Identificar as funes do projeto Para cada funo, estimar as linhas de cdigo Calcular o total de linhas de cdigo do projeto Decidir o modo de desenvolvimento: Organic, Semi-detached, Embedded Calcular homens-ms usando frmulas
COCOMO (cont.)
Ajustar a estimativa pelos atributos relacionados ao Produto, Computador, Pessoal e Projeto Calcular estimativa de tempo usando frmulas
Atributos
Produto RELY: Required software reliability DATA: Database size CPLX: Product complexity Computador TIME: Execution time constraint STOR: Main Storage constraint VIRT: Virtual machine volability TURN: Computer turnaround time
Atributos (cont.)
Pessoal ACAP: Analyst capability AEXP: Application experience PCAP: Programming experience VEXP: Virtual machine experience LEXP: Programmimg language experience
Atributos (cont.)
Projeto MODL: Use of modern programming practices TOOL: Use of software tools SCED: Required development schedule Classificao dos Atributos: Very Low, Low, Nominal, High, Very High
Utilizao
Fornecer dados FPA Escolher o compilador a ser utilizado Especificar tipo de desenvolvimento, nmero de linhas de cdigo (novas e adaptadas, convertidas) Fornecer dados COCOMO (atributos do produto, computador, pessoal e projeto) Relatrios: Custos, Linhas de cdigo, Esforos por fase