0 évaluation0% ont trouvé ce document utile (0 vote)
67 vues15 pages
1. O documento discute estimativas de custo de software e métodos para realizar essas estimativas.
2. Apresenta o método COCOMO para estimar esforço, custo e cronograma de projetos de software baseado em fatores como tamanho e complexidade.
3. Discutem a importância de estimativas precisas para planejamento eficaz de projetos de software.
1. O documento discute estimativas de custo de software e métodos para realizar essas estimativas.
2. Apresenta o método COCOMO para estimar esforço, custo e cronograma de projetos de software baseado em fatores como tamanho e complexidade.
3. Discutem a importância de estimativas precisas para planejamento eficaz de projetos de software.
Droits d'auteur :
Attribution Non-Commercial (BY-NC)
Formats disponibles
Téléchargez comme PDF, TXT ou lisez en ligne sur Scribd
1. O documento discute estimativas de custo de software e métodos para realizar essas estimativas.
2. Apresenta o método COCOMO para estimar esforço, custo e cronograma de projetos de software baseado em fatores como tamanho e complexidade.
3. Discutem a importância de estimativas precisas para planejamento eficaz de projetos de software.
Droits d'auteur :
Attribution Non-Commercial (BY-NC)
Formats disponibles
Téléchargez comme PDF, TXT ou lisez en ligne sur Scribd
FACULDADE METROPOLITANA DE CAMAARI CURSO DE BACHARELADO EM ENGENHARIA DE CONTROLE E AUTOMAO.
ESTIMATIVA DE CUSTO DE SOFTWARE.
Cludia Cristina Guimares. Hagner Vieira. Hcsa Pamela. Marinaldo de Jesus.
Camaari-Ba 2011 Pesquisa Bibliogrfica da disciplina Engenharia de Software a ser encaminhada professora Fernanda Silva para avaliao e anlise. Referente 1 Unidade do curso de Bacharelado em Engenharia de Controle e Automao (Mecatrnica).
"Lembrar que estarei morto em breve a ferramenta mais importante que j encontrei para me ajudar a tomar grandes decises. Porque quase tudo - expectativas externas, orgulho, medo de passar vergonha ou falhar - caem diante da morte, deixando apenas o que apenas importante. No h razo para no seguir o seu corao. Lembrar que voc vai morrer a melhor maneira que eu conheo para evitar a armadilha de pensar que voc tem algo a perder. Voc j est nu. No h razo para no seguir seu corao." (Steve Jobs)
6. REFERNCIAS BIBLIOGRFICAS...................................................................14 5 ESTIMATIVA DE CUSTO DE SOFTWARE.
1. INTRODUO. Os problemas relativos previsibilidade de projetos constituem uma das preocupaes da indstria de software. As estatsticas da Scientific American [Filho, 2000] mostram que o tempo realizado dos projetos de software excede em 50% o tempo planejado no cronograma do projeto. O Standish Groups relatou em 1994 [Standish, 1994] que apenas 16% dos projetos de software atingem o seu objetivo dentro do cronograma e do oramento previstos. Por outro lado, Glass em [Glass, 2003] afirma que algumas das principais causas para isso so estimativas feitas baseadas em informao insuficiente (usualmente sem que a especificao de requisitos esteja disponvel), estimativas feitas para satisfazer a direo, e projetos com requisitos demasiadamente flutuantes. Os dados de 2001 do Standish Groups [Standish, 2001] mostram as seguintes estatsticas: 27% dos projetos de software so finalizados no tempo e custo previstos; 40% dos projetos so cancelados antes de finalizarem; 42% dos projetos no apresentam as funcionalidades propostas originalmente; 50% dos projetos custam em mdia 180% a mais da estimativa original. Cabe salientar que ocorreu uma melhoria nas estatsticas de projetos que terminam dentro prazo (cronograma) e oramento previstos do Standish Group de 1994 (16%) para 2001 (27%). Esta melhoria ocorreu devido a percepo da indstria sobre a importncia estratgica do software [Pressman, 2000], devido ao surgimento de clientes mais exigentes e, especialmente, devido aos investimentos na implantao das melhores prticas da Qualidade de Software como o CMM (Capability Maturity Model) [PAU93] no Brasil [MCT, 2004a] [MCT,2004b]. Os dados da Boeing Information Systems apresentados em [Masters, 2000] demonstramque a previsibilidade de cronograma do projeto aumenta conforme a evoluo nos nveis de maturidade do modelo CMM. A variao de cronograma da Boeing foi reduzida em 125% durante a transio do nvel CMM 1 para o nvel 2 e ento em 24% durante a transio do nvel 2 para o nvel 3 e em 15% durante a transio do nvel 3 para o nvel 4. Embora tenham ocorrido melhorias, a indstria continua lidando com projetos mal sucedidos. O CHAOS Report de 2003 [Standish, 2003] apresentou os seguintes dados: apenas 34% dos projetos so bem sucedidos; 15% dos projetos foram cancelados; 43% o erro mdio em relao ao oramento do projeto daqueles que foram completados; e apenas 52% das caractersticas (requisitos no funcionais) e funcionalidades so entregues no produto. A maioria das tecnologias e metodologias de engenharia de software preocupam-se primordialmente com a qualidade da soluo de software gerada. No entanto, existem tambm vrios problemas associados gesto do projeto, tais como: tempo estimado de durao do projeto, custo, alocao de recursos, esforo gasto e outros. Muitos desses aspectos podem ser estimados quantitativamente. A grande dificuldade reside na gerao de estimativas fidedignas. Note que se um projeto subestimado, mesmo utilizando-se os melhores mtodos para a elicitao de requisitos, desenho, implementao e testes, o projeto corre o risco de ser cancelado. O principal risco que afeta os projetos de software subestimados o de presso excessiva do cronograma, o qual pode forar o 6 trmino prematuro do projeto, colocando em risco a qualidade e a funcionalidade do projeto [Jones, 1994]. Entre as possveis conseqncias desse risco temos: cancelamento do projeto, baixa moral da equipe, baixa qualidade, atrasos de cronograma, custos excessivos devido a um grande nmero de horas extras e atritos entre o gerente e a equipe [Hazan, 1999]. Assim, considera-se um dos principais problemas que afetam os projetos de software so os gerenciais [Forsberg, 1997]. Estes problemas, que possuem maior impacto em projetos complexos, freqentemente esto associados gesto de requisitos e previsibilidade de prazo e custo. As principais decises que devem ser tomadas por um gerente de projetos incluem, dentre outras, a negociao entre custo, cronograma, funcionalidade e fatores da qualidade. A definio do oramento e do cronograma constitui uma base para o planejamento e controle do projeto. Por exemplo, quantas pessoas devem ser alocadas nas fases inicial, intermedirias e final do projeto. Quanto esforo, custo e cronograma deve ser esperado para atingir os principais marcos do projeto [Boehm, 2000]. Um dos principais riscos que atinge o processo de estimativas a falta de credibilidade nas estimativas pelas equipes de desenvolvimento [Boehm, 2000]. Isto ocorre quando as estimativas so irreais, ou seja quando os projetos so subestimados ou superestimados. A acurcia das estimativas de tamanho torna-se fundamental para a elaborao de um cronograma e oramento realistas, pois as estimativas de tamanho constituem a base para a derivao das estimativas de custo e de esforo [SEI, 2002]. Na rea de gerao de estimativas de esforo, prazo e custo, destacam-se os modelos paramtricos COCOMO II (Constructive Cost Model) [Boehm, 2000] e o SLiM (Software Lyfe Cycle Model) [Putnan, 1992]. Estes modelos foram publicados [Boehm, 2000] [Putnan, 1992] e so respeitados tanto no meio acadmico quanto na indstria [Aguiar, 2004]. No entanto, os mtodos para a gerao das estimativas de tamanho de projetos de software, que constituem o principal insumo para a utilizao dos modelos de estimativa de esforo, tm sido muito pouco discutido pela literatura [Meli, 1997]. Este processo trata as estimativas de tamanho, esforo, prazo, custo e recursos computacionais crticos, seguindo as prticas de estimativas definidas na rea de processo - Planejamento do Projeto de Software do modelo CMMI [SEI, 2002]. 2. ESTADO DA ARTE.
Estimativas constituem o primeiro tipo de anlise quantitativa executado no projeto de software. Estimativas de m qualidade (sem acurcia) constituem uma das principais causas dos projetos cancelados [Jones, 1994]. As estimativas inadequadas podem levar a prazos no cumpridos, custos excessivos com horas extras e m qualidade do software. Esta seo tem como propsito apresentar uma viso geral das prticas de planejamento de projetos de software descritas no CMMI [SEI, 2002], destacando as atividades relativas s estimativas de projetos. A rea de processo de planejamento de projetos considera as seguintes estimativas: tamanho, esforo, custo, cronograma e necessidade de recursos computacionais crticos. Tambm so apresentadas as mtricas mais utilizadas pela indstria de software para as estimativas de tamanho de projetos, a saber: 7 Pontos de Funo (PF) e Pontos por Casos de Uso (PCU). Humphrey [Humphrey, 1990] define um projeto como sendo um esforo de trabalho real izado por um grupo de pessoas com um objetivo bem definido, dentro de prazo estabelecido e com recursos limitados. Dessa forma, pode-se caracterizar um projeto como uma ou mais demandas do cliente. Por exemplo: a elaborao de um sistema novo; a evoluo de uma ou mais funcionalidades de um sistema existente (manuteno evolutiva); e a migrao de um sistema existente para outra plataforma ou mudana de verso da linguagem de desenvolvimento do sistema (manuteno adaptativa). O Gerenciamento de Projetos a aplicao de conhecimentos, habilidades, e tcnicas para projetar atividades que visem atingir ou exceder as necessidades e expectativas das partes envolvidas, com relao ao projeto. O ato de atingir ou exceder as necessidades e expectativas das partes envolvidas, envolve o equilbrio entre demandas concorrentes de escopo, prazo, custo e qualidade [PMI, 2000].
Um dos objetivos da Gerncia de Projetos identificar, estabelecer, coordenar, e monitorar as atividades, tarefas e recursos necessrios de um projeto para produzir um produto e/ou servio, dentro do contexto dos requisitos e restries do projeto [ABNT, 1998]. Um segundo objetivo acompanhar, dirigir e registrar os resultados produzidos e os recursos consumidos no desenrolar da execuo do projeto, confrontando-os com o que era esperado pelos planos. Como conseqncia desse confronto o gerente estar capacitado a tomar medidas corretivas racionais, sempre que a execuo se desviar mais do que o tolerado do que era esperado. Os dois principais processos do Gerenciamento de Projetos de Software so: Planejamento do Projeto e Acompanhamento do Projeto. As principais atividades contidas nestes processos consistem no estabelecimento e acompanhamento das estimativas de tamanho, cronograma, recursos, custos e eficincia de remoo de defeitos e na obteno e manuteno de compromissos [Jones, 1997] [SEI, 2002]. O planejamento do projeto de software inicia com uma viso geral dos requisitos que definem o produto, e tem como propsito estabelecer e manter planos que definam as atividades a serem realizadas durante o projeto. A rea de processo Planejamento de Projeto do nvel 2 do modelo CMMI envolve as seguintes atividades [SEI, 2002]:
Desenvolver o plano do projeto. Interagir apropriadamente com os interessados (stakeholders). Planejar o envolvimento dos interessados identificados; Obter compromisso com o plano; Manter o plano; O estabelecimento de estimativas constitui uma das principais atividades do processo de planejamento do projeto de software. As estimativas devem ter uma base segura e fornecer confiana que os planos nelas baseados so capazes de conduzir aos objetivos do projeto, e que englobam funcionalidades, custo, prazo e caractersticas da qualidade. Os fatores tipicamente considerados nas estimativas incluem, dentre outros,o seguinte: 8 Requisitos do projeto; Escopo do projeto; Modelo do ciclo de vida do projeto selecionado (ex.: cascata, incremental, etc.); Abordagem tcnica; Tarefas e artefatos identificados e seus atributos; (ex.: tamanho e complexidade) Modelos e dados histricos para converso dos atributos dos artefatos e tarefas em horas de trabalho e custo. As estimativas e as premissas utilizadas para sua gerao devem ser documentadas para possibilitar o acompanhamento do plano, conforme o progresso do projeto. O processo de Estabelecer Estimativa abrange, dentre outras, as seguintes atividades [SEI, 2002]: Estabelecer e manter as estimativas dos atributos dos artefatos e das tarefas: as estimativas de tamanho constituem o insumo principal para a maioria dos modelos usados para estimar custo, esforo e cronograma. As estimativas de tamanho devem ser consistentes com os requisitos do projeto para determinar-se esforo, custo e cronograma adequados. Assim, sempre que ocorrerem mudanas alm do tolerado (relevantes) nos requisitos, as estimativas precisam ser revistas e o projeto replanejado. Sugere-se a utilizao da mtrica Pontos de Funo (PF) [IFPUG, 2004] para as estimativas de tamanho. Os PF fornecem uma mtrica de tamanho do projeto de software, quantificando as suas funcionalidades, sob o ponto de vista lgico, observando os requisitos do usurio [Garmus, 2001]. Alm de apoiar a implantao dos modelos CMM [Hazan, 2003] e CMMI [Dekkers, 2002], a mtrica foi reconhecida pela norma ISO/IEC 20926 [Dekkers, 2003]. Determinar as estimativas de esforo e de custo para os artefatos e tarefas: as estimativas de esforo e custo devem ser geradas baseando- se em dados objetivos, ou seja, utilizando mtodos e dados histricos. Os projetos com ausncia de dados histricos de esforo de projetos similares disponveis possuem um risco maior, necessitando de mais pesquisas para desenvolver bases racionais de estimativas.
Incluir a necessidade de uma infra-estrutura de suporte nas estimativas de esforo e custo: considerar a necessidade de recursos computacionais crticos no ambiente de desenvolvimento, no ambiente de teste, no ambiente de produo, ou em qualquer combinao destes. Estimativas de recursos computacionais incluem o seguinte: identificar os recursos computacionais crticos; e basear estimativas de recursos computacionais crticos em requisitos alocados. Exemplos de recursos computacionais incluem: memria, processador, espao em disco, perifricos, capacidade da rede e do banco de dados. 9 Uma vez que as estimativas foram estabelecidas, desenvolve-se o plano do projeto, que fornece uma base para execuo e controle das atividades do projeto. O plano do projeto precisa ser revisado quando ocorrem mudanas de requisitos ou de compromissos durante o projeto.Este tambm precisa ser revisado quando forem observados erros estruturais nas estimativas utilizadas. O propsito do processo do Acompanhamento do Projeto fornecer um entendimento visvel e confivel do progresso do projeto de modo que aes corretivas apropriadas possam ser tomadas quando o desempenho desviar significativamente do pl ano. Um desvio significativo se, caso no seja resolvido, o projeto no alcanar seus objetivos funcionalidades, atributos, custo e prazo). O progresso determinado pela comparao dos artefatos, tamanho, esforo, custo e cronograma atuais e os planejados nos marcos estabelecidos no plano do projeto. Note que o CMMI define as diretrizes para um processo de planejamento de projetos, estabelecendo as principais estimativas a serem consideradas: tamanho, esforo, prazo, custo e recursos computacionais crticos. No entanto, o modelo no descreve como estimar o tamanho de projetos de desenvolvimento e de manuteno de software, como derivar as estimativas de esforo, prazo e custo a partir das estimativas de tamanho. A literatura tem discutido bastante os modelos de estimativas de esforo, prazo e custo. O modelo COCOMO II [Boehm, 2000], desenvolvido na University of Southern California (USC) tem sido utilizado pela indstria [Aguiar, 2004]. As ferramentas SLiM, comercializada pela empresa QSM (Quantitative Software Management) e Knowledge Plan criada pela empresa SPR (Software Productivity Research), que utilizam modelos de estimativas proprietrios, tambm tem sido utilizadas pela indstria. No entanto, a maioria das empresas de software continuam estimando projetos, baseando-se na opinio e sentimento do gerente ou lder do projeto.A dificuldade no est na utilizao dos modelos de estimativas de esforo, prazo e custo. E sim no estabelecimento das estimativas de tamanho que constitui o principal insumo para a gerao das estimativas de esforo, prazo e custo. Custos do Software: Os custos do software dominam os custos do restante do sistema. No caso de software para computadores pessoais, o custo do software a maior parte. Software custam muito mais para se manter do que para desenvolvimento, especialmente software de vida longa. A engenharia de software deve preocupar-se fortemente com os custos de software. Os maiores custos de desenvolvimento so o de pessoal capital intelectual.
10 3. MTODO PARA ESTIMATIVA DE CUSTO. Segundo o modelo CMM, as estimativas de custo devem ser derivadas da estimativa de tamanho. Assim, de posse do tamanho da aplicao em Pontos de Funo, do esforo e do tamanho da equipe, o prximo passo a gerao da estimativa de custo. Neste procedimento, considera-se os seguintes atributos para a aferio da estimativa de custo: estimativa de mo de obra (considerando o custo por perfil do profissional), recursos computacionais, treinamento, consultoria, viagens e custos indiretos. importante destacar que as estimativas de custos de mo de obra dos sistemas terceirizados so aferidas com base no nmero de Pontos de Funo estimados e o preo por Ponto de Funo contido no contrato firmado entre a empresa contratante e a empresa contratada. Nos sistemas desenvolvidos por profissionais da empresa, o custo estimado considerando-se o esforo e o custo dos profissionais alocados para o desenvolvimento do projeto. importante destacar que o custo por Ponto de Funo pode ser bastante varivel, o esforo (HH/PF) e outros custos indiretos influenciam fortemente no custo/PF. A estimativa de custo deve considerar o valor da hora dos profissionais alocados ao projeto, bem como outros custos de ambiente, ferramentas, deslocamentos, consultoria, etc. A estimativa de recursos computacionais crticos em projeto WEB deve considerar a disponibilidade dos servidores utilizados para desenvolvimento, homologao e produo do sistema e outros recursos de Hardware relevantes. 4. MTODO COCOMO. O mtodo COCOMO (ou COnstructive COst MOdel) um modelo de estimativa do tempo de desenvolvimento de um produto. Criado porBarry Boehm. baseado no estudo de sessenta e trs projetos. Os programas examinaram de 2.000 a 100.000 linhas de cdigo emlinguagens de programao de Assembly a PL/I.
COCOMO consiste em trs implementaes:
Bsico um modelo esttico que calcula o esforo de desenvolvimento de software e seu custo, em funo do tamanho de linhas de cdigos desenvolvidas. 11 Cocomo bsico bom por ser rpido em estimativas e custos de software, mas sua exatido limitada por causa de sua falta de fatores para explicar as diferenas entre ferramentas, qualidade de pessoal e experincia, uso de ferramentas modernas e tcnicas, e outros atributos de projeto que influenciam nos custos de software.Pode-se conseguir um software interativo auxiliar na estimativa de custos e prazos de projetos de sistemas. A partir de um conjunto de atributos, premissas e modos de desenvolvimento o COCOMO estima os prazos, custos e recursos necessrios para cada etapa do ciclo de vida do produto.
Intermedirio Calcula o esforo de desenvolvimento de software em funo do tamanho do programa, que inclui custo, avaliao subjetiva do produto, hardware, pessoal e atributos de projeto. O mtodo intermedirio uma extenso do mtodo bsico, mas com mais categorias de controle como: Atributos do produto, Atributos de hardware, Atributos pessoais, Atributos do projeto.
Avanado So incorporadas caractersticas da verso intermediria com uma avaliao de impacto de custo em cada passo de todo o projeto. Nos anos 1980, Barry Boehm props uma hierarquia de modelos de estimativa de software denominada COCOMO (Constructive Cost Model).O modelo COCOMO tornou-se um dos modelos de estimativa de custo de software mais amplamente usados, mais tarde, o modelo COCOMO evoluiu para um modelo mais abrangente, chamado COCOMO II 4.1_ Modelo COCOMO II. uma hierarquia de modelos que tratam das seguintes reas: Modelo de composio da aplicao: Usado nos primeiros estgios da engenharia de software. Modelo do primeiro estgio de projeto: Usado depois que os requisitos foram estabilizados e a arquitetura foi estabelecida. Modelo para o estgio aps a arquitetura: Usado durante a construo do software. Como todos os modelos de estimativa de software, requer informao de tamanho.Trs opes: 12 Pontos por objeto Pontos por funo Linhas de cdigo-fonte Mtrica pontos por objeto calculada usando-se a contagem da quantidade de: Telas (na interface com o usurio) Relatrios Componentes que sero necessrios pra construir a aplicao. Cada objeto classificado em trs nveis de complexidade.A porcentagem de re- uso estimada e a contagem de pontos por objeto ajustada. A produtividade estimada usando-se: A experincia/capacidade do desenvolvedor. A maturidade/capacidade do ambiente de desenvolvimento. O esforo estimado usando-se os pontos por objeto e a produtividade.
13 5. CONCLUSO.
A estimativa precisa do custo e prazo de projetos de software no incio de seu ciclo de vida (ainda na fase de planejamento) fundamental para a indstria de software. Diversos projetos de software foram interrompidos devido a atrasos no prazo e, conseqentemente, devido ao custo real do projeto (ainda incompleto) ter superado significativamente o custo estimado no incio do mesmo. A gerncia do custo do projeto agrega os processos que envolvem planejamento, estimativa, oramento e controle de custos que sero necessrios para a concluso do projeto a partir de uma previso oramentria. Os processos de gerncia do custo do projeto incluem: Estimativa de custo: desenvolver uma aproximao dos gastos com os recursos necessrios para execuo do projeto; Oramento de Custo: agregar os custos estimados de atividades ou de pacotes individuais de trabalho para estabelecer uma base de custo; Controle de Custo: influenciar nos fatores que geram uma variao de custo e controlar as mudanas de oramento do projeto; A gesto de custos um processo em que se utiliza um conjunto de tcnicas multidisciplinares, que nos permite compreender a origem dos custos. Este processo pode conduzir ao aumento de proveitos, redues de custos e obteno de melhores nveis de produtividade.