A WE DATA SOLUTION, pelo trabalho competente de suas equipes de Engenharia Eletrônica e de Software, automatizou o modelo de precificação de software com base no que é internacionalmente conhecido como modelo de regressão baseado no LOC (Lines Of Code), ou seja, o número de Linhas de Código. Trata-se de um modelo de estimativa de custos processuais para projetos de software e é freqüentemente usado como um processo de previsão confiável dos vários parâmetros associados à realização de um projeto, tais como tamanho, esforço, custo, tempo e qualidade. Historicamente, o modelo foi proposto por Barry Boehm em 1981, baseado no estudo de 63 projetos, o que o tornou um dos modelos mais bem documentados. Os parâmetros-chave que definem a qualidade de qualquer produto de software, que também são um resultado do modelo Cocomo, são principalmente Esforço e Cronograma:
Esforço: Quantidade de mão-de-obra que foi necessária para completar uma tarefa. É medida em unidades homem-mês.
Cronograma: Significa a quantidade de tempo que foi necessária para a conclusão do trabalho, que é, naturalmente, proporcional ao esforço empregado. É medido em unidades de tempo, tais como semanas e meses.
Diferentes modelos de Cocomo foram propostos para prever a estimativa de custos em diferentes níveis, com base na quantidade de precisão e exatidão necessária. Todos estes modelos podem ser aplicados a uma variedade de projetos, cujas características determinam o valor da constante a ser usada nos cálculos subseqüentes. Estas características pertencentes a diferentes tipos de sistemas são mencionadas abaixo. Existem algumas classificações para os sistemas, definidos por de Boehm como sistemas orgânicos, semi-detalhados e embutidos.
Orgânico: Diz-se que um projeto de software é um tipo orgânico se o tamanho da equipe requerida for adequadamente pequeno, se o problema for bem compreendido e tiver sido resolvido no passado e também se os membros da equipe tiverem uma experiência nominal com relação ao problema.
Semi-detalhado: Diz-se que um projeto de software é do tipo Semi-detalhado se as características vitais tais como tamanho da equipe, experiência e conhecimento dos vários ambientes de programação estiverem entre o de orgânico e o embutido (Embedded). Os projetos classificados como Semi-detalhados são comparativamente menos familiares e difíceis de desenvolver em comparação com os orgânicos e exigem mais experiência e melhor orientação e criatividade. Por exemplo: Compiladores ou diferentes Sistemas Embarcados podem ser considerados dos tipos Semi-detalhados.
Embutido (Embedded): Um projeto de software que requereu o mais alto nível de complexidade, criatividade e exigência de experiência. Tal software requer uma equipe maior do que os outros dois modelos e também os desenvolvedores precisam ser suficientemente experientes e criativos para desenvolver modelos tão complexos.
Desenvolvemos uma combinação de fatores e classificações de projetos para determinar com a precisão mais aproximada o custo de desenvolvimento de um produto de software.
Contudo, esse modelo básico assume que o esforço é apenas uma função do número de linhas de código e algumas constantes avaliadas de acordo com os diferentes sistemas de software. Sabemos, na realidade, que nenhum esforço e cronograma do sistema pode ser calculado exclusivamente com base em Linhas de Código. Para isso, vários outros fatores são considerados, como confiabilidade, experiência, capacidade, entre outros. Esses fatores são conhecidos como Cost Drivers e um Modelo Intermediário utiliza 15 desses drivers para a estimativa de custos. Os Controladores de Custo e seus atributos são: Extensão necessária da confiabilidade do software, tamanho do banco de dados da aplicação, a complexidade do produto, as restrições de desempenho em tempo de execução, restrições de memória, a volatilidade do ambiente da máquina virtual, tempo de retorno necessário, capacidade dos analistas, capacidade de engenharia de software, experiência em aplicações, experiência com máquinas virtuais, experiência em linguagem de programação, uso de ferramentas de software, aplicação de métodos de engenharia de software e cronograma de desenvolvimento necessário.
Do Modelo Intermediário, evolui-se para o Modelo Detalhado. Esse modelo incorpora todas as características da versão intermediária com uma avaliação do impacto do Cost Drivers em cada etapa do processo de engenharia de software. O modelo detalhado utiliza diferentes multiplicadores de esforço para cada atributo do driver de custo. No modelo detalhado, todo o software é dividido em diferentes módulos e depois aplicamos a metodologia em diferentes módulos para estimar o esforço e depois somar o esforço. As Seis fases do método detalhado são: Planejamento e requisitos, Projeto do sistema, Projeto detalhado, Código do módulo e teste, Integração e teste, e Custo Modelo construtivo
A parte mais desafiadora foi automatizar os diferentes drivers para ser empregado em qualquer modelo de desenvolvimento de software. E mais: Colocamos todos os elementos e variáveis em linguagem de programação Python, sendo possível a sua utilização nas mais variadas plataformas de operação da WE DATA SOLUTION: (Unix, Linux, Apple e Intel).
Precisa descobrir o valor de seu sofware? Consulte-nos.