You are on page 1of 10

CURSO: Bacharelado em Sistemas de Informao DISCIPLINA: Projeto e Desenvolvimento de Software PERODO: 5 ANO LETIVO: 2008/1 Sem PROFESSOR: Anderson

Dutra Moura Material: Estimativas de Software

Estimativas de Software O problema de se estimar um projeto de software envolve em sua grande maioria a previso de quatro variveis: o tamanho, o esforo, os prazos e a qualidade. O esforo normalmente obtido atravs do clculo do tamanho; o prazo e o custo so obtidos a partir do esforo; a qualidade obtida por meio de um conjunto de fatores que vai muito alm do tamanho, do esforo e dos prazos e custos. Estimativas de Esforo e Prazo Para estimar tamanho, esforo e prazo necessrio que seja selecionada uma abordagem, para obteno de estimativa. As abordagens existentes podem ser divididas em: Modelos paramtricos: assumem a existncia de uma relao matemtica entre tamanho, esforo e prazo. Tal relao afetada por parmetros de performance. Os relacionamentos so baseados em situaes tericas ou fatos histricos. Modelos baseados em atividades: tambm chamada de estimativa bottom up, Esta modalidade consiste em enumerar atividades e estimar esforo e prazo para cada uma delas. Analogia: esta tcnica baseia-se na comparao das caractersticas do projeto com a de outros projetos concludos. As diferenas so identificadas e as mudanas necessrias so introduzidas no processo. Relaes simples de estimativas: uma simplificao dos modelos paramtricos. Neste caso, utilizam-se relaes matemticas simples baseadas em fatos histricos, ao invs de relaes matemticas abrangentes. Estimativas de Tamanho As medidas de tamanho de software surgiram com o objetivo de estimar esforo (nmero de pessoas/hora) e o prazo associado ao desenvolvimento de sistemas. A seguir sero descritas algumas tcnicas existentes: APF UCP Mtrica mais antiga e mais utilizada no Mtrica relativamente nova e pouca mundo utilizada Padro internacional desde 2002 Ainda no alcanou o nvel de padronizao e nem foi incorporada em ferramentas populares No requer o uso de notao padro, mas Baseada no modelo de casos de uso baseada no modelo funcional e independente de tecnologia Largamente discutida na literatura Tem aumentado o uso e a publicao de estudos na literatura suportada pelo IFPUG e diversos grupos O Modelo de casos de uso ainda no possui nacionais de usurios e bases histricas de bons histricos de produtividade contagens realizadas

Possui regras de contagem padronizadas

No h padres para descrever casos de uso, h dvidas na contagem de casos de uso includos e estendidos e para determinar o nvel apropriado de detalhe para cada transao do caso de uso mais utilizada no final das fases de Utilizado na fase inicial do projeto anlise e projeto Viso do usurio Viso do usurio Alto nvel de maturidade Em fase de amadurecimento subjetiva e possui diferena entre subjetiva e possui diferena entre contadores contadores Oferece treinamento e certificao Ainda no oferece treinamentos e certificao Linhas de Cdigo: A tcnica de mensurao por linhas de cdigo (LOC Lines of Code) uma das medidas mais antigas para se determinar o tamanho, esforo e, conseqentemente, produtividade no desenvolvimento de software. Ela consiste basicamente na contagem da quantidade do nmero de linhas de cdigo de um programa de software. Anlise de Pontos de Funo (APF): A tcnica de Anlise de Pontos de Funo APF a tcnica mais utilizada no mercado para mensurao do tamanho de projetos de desenvolvimento e melhoria de sistemas. Esta tcnica consiste na determinao do tamanho funcional do sistema atravs da viso do usurio, independentemente da tecnologia utilizada. A unidade de medida utilizada na determinao do tamanho do sistema o Ponto de Funo. Mark II (ou MK II): Tcnica que visa melhorar a escala de tamanho funcional, contando mais apuradamente a complexidade de processamento interno de Sistemas de Informaes Gerenciais. Uma das principais diferenas entre APF e MK II que a primeira tcnica conta arquivos lgicos uma vez para cada parte de software sendo mensurada, enquanto que a MK II conta tipos de entidade toda vez que elas so referenciadas em cada transao lgica. Segundo o manual do MK II, as duas mtricas pontuam similarmente os projetos com at 400 pontos de funo. Ultrapassando esse valor, a tendncia que a mtrica MK II pontue valores maiores que a APF. Feature Points: Nessa tcnica, alm das funes de dados e funes de transao, existe um item de anlise de algoritmos. Ela se prope resolver as dificuldades que a tcnica de Anlise de Pontos de Funo apresenta quando conta sistemas em tempo real de controle de processos, e outros que apresentam alta complexidade algortmica. Use Case Points (UCP): Tcnica proposta para medir o tamanho de projetos de software orientados a objeto, o Use Case Points (ou Pontos por Caso de Uso) explora o modelo e a descrio do caso de uso, substitui algumas caractersticas tcnicas propostas pela APF, cria os fatores ambientais e prope uma estimativa de produtividade. A desvantagem que s pode ser utilizado por empresas que adotem os casos de uso como forma de expresso dos requisitos. A Empresa, Processos e Atividades A organizao em que este estudo prtico foi realizado, uma empresa de desenvolvimento de software que busca obter o nvel 2 do CMM. Sua estrutura divida em departamentos: Administrativo, Comercial (vendas), Suporte Tcnico, Desenvolvimento e Controle de Qualidade do Produto. Os softwares desenvolvidos pela empresa so voltados para a gesto de empresas e automao dos processos, focando-

se principalmente na rea de supermercados, lojas de departamentos e materiais de construo. Os processos e fluxos de tarefas realizados sero discutidos e detalhados nos prximos itens. Tarefas Para controle das tarefas realizadas na empresa, desenvolveu-se uma ferramenta de workflow que possibilita todo o controle do fluxo de tarefas, desde a criao desta pelos clientes ou colaboradores, at a sua finalizao.

A figura acima ilustra os possveis fluxos de tarefas de acordo com a realidade da empresa. No contexto de sua atuao, uma tarefa definida como uma solicitao de cliente (seja ela de dvida, anlise, de desenvolvimento de recursos, etc), como uma solicitao dos prprios colaboradores, como um item a ser analisado e discutido, como projetos ou propostas da prpria organizao, enfim, como todo e qualquer item que envolva a execuo de atividades por parte de uma ou mais unidades funcionais da empresa. Nas situaes mais comuns, ocorre a abertura de uma tarefa por meio de uma solicitao de cliente (esta abertura pode ser realizada tanto pelo prprio cliente atravs da ferramenta disponvel na web, quanto pelos agentes, analistas de suporte tcnico, ou qualquer outro colaborador da empresa). Esta tarefa passa pelo suporte tcnico que a resolve nos casos de seu tipo ser de dvida, atualizao ou solicitaes do gnero. Se a tarefa exigir a implementao ou alterao de uma soluo, ela entra para o planejamento de verso, que engloba todo o processo de desenvolvimento definido pela empresa (estaremos detalhando este processo em um item especfico). Aps concluda a implementao, ocorre a homologao pelo CQP controle de qualidade do produto, e ento a entrega da soluo ao cliente. Somente as solicitaes que exigirem implementao ou alterao de software que passaro pelos setores de desenvolvimento e controle de qualidade. Existem casos em que a solicitao chega ao desenvolvimento, mas a soluo no necessariamente o desenvolvimento de um

software para o cliente, mas sim uma alterao em seus processos, uma reestruturao de suas atividades. Processo de Desenvolvimento O Processo de Desenvolvimento (PD) definido pela empresa visa a melhoria contnua dos produtos e processos, e conseqentemente, o alcance do nvel 2 do CMM. Sua definio foi realizada para se ajustar s necessidades da organizao, de forma que proporcione o maior beneficio possvel, com o menor impacto em termos de custos para a empresa. Sua principal caracterstica um conjunto de etapas ou fases bem definidas, de responsabilidades claramente distribudas e de tarefas corretamente especificadas. O processo de desenvolvimento caracteriza-se por ser iterativo e incremental, utilizando uma forma de organizao estruturada em verses de produto. Na figura 2, apresenta-se um esquema das etapas de desenvolvimento do processo de desenvolvimento. O processo de desenvolvimento abrange todas as tarefas que so criadas e que de alguma forma, exigem o desenvolvimento ou alterao de um recurso de software para serem finalizadas. O fluxo destas tarefas controlado pela ferramenta de workflow da empresa, que orienta e trata cada fase do PD.

A Realizao de Estimativas no Processo de Desenvolvimento As estimativas de software realizadas dentro do PD so necessrias para a construo dos cronogramas, definies de escopo de verso, previso de alocao de recursos, de pessoas, e realizao de oramentos. Uma correta e bem realizada estimativa fundamental para a qualidade do processo, do produto e para a viabilidade da execuo das atividades. Seguindo o processo de desenvolvimento adotado pela empresa, toda solicitao que analisada para entrar em escopo de verso, para identificao do problema ou proposta de soluo, recebe uma estimativa de tempo para sua concluso. Este tempo multiplicado por um valor pr-determinado como custo hora/homem de trabalho para a empresa, retorna o custo total relacionado solicitao em discusso. Para o processo de desenvolvimento, a quantidade em Tempo essencial, o gerenciamento, controle e negociao quanto ao Custos financeiros, de responsabilidade do departamento Comercial\Administrativo. Verificao de Estimativas Nos processos da empresa toda estimativa realizada propicia um feedback para a realizao de novas estimativas. Isto no seria possvel sem o controle e a anlise do

tempo previsto versus o tempo realizado para cada solicitao desenvolvida. Para obter estas informaes, antes mesmo da realizao de uma pr-estimativa pelos analistas de requisitos, o tempo aplicado por cada colaborador da empresa para a resoluo de uma solicitao, j est sendo contabilizado. No momento em que uma nova solicitao (tarefa) iniciada, o sistema de controle da empresa inicia a contagem de tempo que a mesma utiliza em cada fase do fluxo de atividades, at a sua concluso. Este controle permite saber quanto tempo a tarefa ficou no suporte tcnico com o analista X, antes de ser encaminhada para anlise de requisitos; qual o perodo utilizado para a realizao da anlise, para a implementao, testes, at o encerramento da solicitao. O controle fornecido por fase\etapa do processo, pela(s) pessoa(s) responsvel(eis) em desempenhar a tarefa, e por execuo global, correspondendo ao tempo total que a tarefa consumiu desde a sua criao, at sua concluso. Estas informaes permitem analisar o quo corretas as estimativas esto sendo realizadas, quais os principais pontos de gargalo no processo, quais foram os responsveis pela execuo das atividades, e principalmente, possibilitam a gerao de conhecimento que servir como base para a realizao de novas estimativas, mais corretas, consistentes e eficientes. Estimativas de Software Utilizando a Tcnica de UCP A tcnica de Use Case Points (UCP) foi escolhida justamente por possibilitar a realizao de estimativas de software logo no inicio dos processos de desenvolvimento. Como especificado na descrio do PD, as estimativas so fundamentais para a organizao e planejamento de todas as atividades ligadas ao desenvolvimento de software, e isto exige que no inicio do processo, seja realizada uma estimativa que oriente todo esse controle. A principal dificuldade em realizar uma estimativa no inicio do processo de desenvolvimento, a no estabilidade dos requisitos e a ausncia de informaes sobre os mesmos. Mesmo com a utilizao de uma tcnica desenvolvida com este propsito, que o caso da UCP, a atividade de realizar estimativas continua muito dependente da experincia das pessoas envolvidas, e do conhecimento armazenado pela empresa sobre a realizao de estimativas. Para demonstrar a realizao de estimativas ser considerada a solicitao de uma implementao de um recurso relacionado ao gerenciamento de promoes de vendas, caracterizada como uma melhoria para o sistema j utilizado pelo solicitante. No sero descritos os casos de uso desta solicitao nem os seus requisitos de forma detalhada, o objetivo demonstrar a utilizao da planilha e os clculos realizados. UUCP (Unadjusted Use Case Points): Peso Total NoAjustado Neste item, so determinados os pesos dos atores e dos principais casos de uso. O peso total no ajustado (UUCP) determinado pela somatria dos dois pesos, conforme demonstram as tabelas 1 e 2.

Os valores da coluna Fator obedecem a seguinte definio: Atores: Ator Simples Peso 1: Outro sistema acessado atravs de uma API de programao; Ator Mdio Peso 2: Outro sistema interagindo atravs de um protocolo de comunicao, como TCP/IP ou FTP; Ator Complexo Peso 3: Um usurio interagindo atravs de uma interface grfica (stand alone ou Web) Casos de Uso: Se o caso de uso for considerado simples isto , conter uma interface com usurio simplificada e utilizar apenas uma entidade em um banco de dados caso de uso considerado fcil e tem peso 5. Se o caso de uso envolve uma interface mais trabalhada e utiliza-se de duas ou mais entidades de banco de dados, ele definido como mdio e recebe um peso 10. E se o caso de uso envolver 3 ou mais entidades em um banco de dados e contiver uma interface mais complexa, este considerado complexo e recebe um peso 15. O ndice de UUCP (Unadjusted Use Case Points) obtido pela soma dos pesos atribudos aos casos de uso e aos atores: 15+2 = 17

Fatores de Ajustes Tcnicos TCF Na tabela 3 realiza-se o clculo dos ajustes tcnicos (TCF), que influenciaro no resultado final da estimativa.

O resultado TCF final a soma de todos os Pesos Estimados. Estes pesos so obtidos pela multiplicao da coluna Peso (cujos valores so definidos pela tcnica) pela coluna Avaliao (definida pelo analista). Os valores 0,6 e 0,01 tambm so pr-definidos pela tcnica. Fatores Ambientais EF Estes fatores de ajuste correspondem ao nvel de disponibilidade do recurso no decorrer do projeto. Assim, determinar que um fator tem nvel de influncia alta (atribuir a ele o valor 5), significa que este fator est presente no projeto como um todo e influencia seu desenvolvimento. Por outro lado, a atribuio de um valor de influncia zero (nenhuma influncia) a um fator, indica que o mesmo no est presente no processo de desenvolvimento.

O clculo do Fator EF realizado da mesma forma que o Fator TCF. Os valores 1,4 e 0,03 tambm so pr-definidos pela tcnica juntamente com os Pesos da primeira coluna. Clculo do Porte do Sistema UCP Esforo Custo O clculo do UCP final, que corresponde ao porte do sistema sugerido pela tcnica, obtido pela frmula UCP = UUCP x TCF x EF, resultado da multiplicao dos pesos dos atores e dos casos de uso, pelos fatores de ajustes tcnicos e ambientais. No exemplo utilizado, obteve-se um UCP de 8 (17 * 0,66 * 0,71). A Produtividade definida pela empresa, correspondendo ao nmero de horas para cada ponto de UCP para determinar assim, o esforo necessrio em horas/homem para a realizao da tarefa. Podemos estimar o tempo necessrio para o desenvolvimento do projeto calculando-se uma mdia de 20 horas de trabalho por Ponto de Caso de Uso (UCP), experincias prticas no uso desta tcnica demonstram uma variao entre 15 e 30 horas por ponto. Para os processos de realizao de estimativas na empresa, adotou-se o valor de 17,00 horas por UCP, conforme demonstra a tabela 5.

O custo em valores pode ser obtido pela multiplicao entre as horas sugeridas e o valor pr-definido pela organizao (R$ 35,00 na tabela 5), resultando numa estimativa de desenvolvimento de 136 horas/homem e um custo de R$ 4.760,00. Anlise da Utilizao da Tcnica de UCP O clculo de estimativas atravs da tcnica de UCP demonstrou-se til principalmente para fornecer uma base do custo consumido em desenvolver novos sistemas, recursos ou mdulos, dos quais a empresa no dispe de informaes e nem de experincias j realizadas em um foco semelhante. A grande vantagem encontrada est na orientao que a realizao dos clculos exibidos nas tabelas 1 a 5 pode proporcionar, que combinada com as experincias e projetos j desenvolvidos e monitorados, possibilita a gerao de estimativas mais precisas e seguras. Porm, um dos principais pontos fracos encontrados na prtica justamente a grande variao na estimativa realizada frente pequenas alteraes nos pesos utilizados para o clculo, bem como a sua grande sujeio experincia e opinies pessoais dos analistas que a realizam. Devido organizao que a empresa estudada mantm, seus controles e processos bem definidos e inclusive pela capacidade das pessoas envolvidas, a utilizao de critrios menos rigorosos para a definio de estimativas pode ser indicada. Porm, necessria uma tcnica mais precisa, adequada e realista, aplicvel em pequenos e mdios projetos, e que seja mais independente do conhecimento prvio de seus usurios. Anlise da Tcnica de UCP Como proposta de refinamento da tcnica de UCP, propem uma variao na tcnica para estabelecer o valor de horas por UCP. Esta variao sugere que a presena de certos atributos influencia diretamente a mdia de horas por ponto calculado, utilizando a seguinte lgica: Conta-se a quantidade de fatores tcnicos entre T1 e T6 (ver a tabela 3) que receberam nvel de influncia maior que 3; e ento soma-se o valor obtido quantidade de fatores ambientais entre E7 e E8 (ver tabela 4) que receberam valor de influncia menor que 3.

O somatrio indica a quantidade sugerida de horas por ponto de caso de uso a ser adotada no projeto, sendo a mdia sugerida de: 20 horas por ponto, para um resultado de 2 ou menor. 28 horas por ponto, caso o somatrio resulte em 3 ou 4. 36 horas por ponto, para valores maiores que 4. Nos casos em que a sugesto de 36 horas, os autores sugerem que o projeto seja revisto, que os requisito e casos de uso sejam reavaliados, e principalmente que os fatores tcnicos e ambientais sejam estudados, pois talvez seja necessrio realizar um treinamento de pessoal, uma adequao de tecnologia ou reviso dos requisitos especificados, de modo que se torne possvel garantir um melhor aproveitamento de recursos, e principalmente, uma reduo no cronograma previsto.

You might also like