COSMIC é o acrônimo do Common Software Measurement International Consortium, a organização COSMIC. foi fundada em 1998, a COSMIC desenvolveu o método mais avançado de medir um tamanho funcional de software. Esses tamanhos são importantes como medidas de esforço, custo e prazo em um projeto de desenvolvimento de software.
O método, é aplicável a projetos de desenvolvimento de software realtime e software de negócios.
Fácil de aprender e simples de usar. O método é inteiramente “aberto”.
Toda a documentação do método está disponível no domínio público para download gratuito.
O método COSMIC define os princípios, regras e um processo para medir um tamanho funcional padrão de um pedaço de software. ‘Tamanho funcional’ é uma medida da quantidade de funcionalidade fornecida pelo software, completamente independente de quaisquer considerações técnicas ou de qualidade.
Aplicabilidade do Método
O método COSMIC pode ser usado para dimensionar software, tais como aplicações de negócios; Software em tempo real; Software de infra-estrutura, como em sistemas operacionais; E híbridos destes. A característica comum de todos esses tipos de software é que eles são dominados por funções que fornecem dados, armazenam e recuperam dados e dados de saída. O método não é projetado para ser aplicável ao software de tamanho que é dominado por funções que manipulam dados, como no típico software científico e de engenharia.
Sujeito ao acima, o método pode ser aplicado para medir o FUR de software:
- Em qualquer nível de decomposição, e. Um pedaço “inteiro” de software ou qualquer um dos seus componentes, subcomponentes, etc;
- Em qualquer camada de uma arquitetura multi-camada;
- Em qualquer ponto do ciclo de vida da peça de software;
Os princípios para medir o tamanho funcional COSMIC de um pedaço de software
O método COSMIC mede um tamanho visto pelos “utilizadores funcionais” da peça de software a ser medida, isto é, os remetentes e / ou os destinatários pretendidos dos dados que devem entrar ou sair do software, respectivamente.
O método utiliza um modelo de software, conhecido como “COSMIC Generic Software Model”, que se baseia em princípios fundamentais de engenharia de software, nomeadamente:
- Os requisitos funcionais do usuário de um pedaço de software podem ser analisados em processos funcionais únicos, que consistem em subprocessos. Um subprocesso pode ser um movimento de dados ou uma manipulação de dados;
- Cada processo funcional é acionado por um movimento de entrada de dados de um usuário funcional que informa o processo funcional que o usuário funcional identificou um evento que o software deve responder;
- Um movimento de dados move um único grupo de dados de atributos descrevendo um único “objeto de interesse”, onde o último é uma “coisa” de interesse para um usuário funcional;
Existem quatro tipos de sub-processos de movimento de dados. Uma ‘Entrada’ move um grupo de dados para o software de um usuário funcional e um ‘Sair’ move um grupo de dados para fora. ‘Grava’ e ‘Lê’ movem um grupo de dados para e do armazenamento persistente, respectivamente.
Como uma aproximação para fins de medição (e à luz da aplicabilidade do método, descrito acima), os subprocessos de manipulação de dados não são medidos separadamente.
O tamanho de um pedaço de software é então definido como o número total de movimentos de dados (entradas, saídas, leituras e gravações) somados sobre todos os processos funcionais da peça de software. Cada movimento de dados é contado como um ‘Ponto de Função COSMIC’ (‘CFP’). O tamanho de um processo funcional e, portanto, o tamanho de um pedaço de software, pode ser um mínimo de 2 CFP, sem limite superior.
O processo para medir o tamanho funcional COSMIC de um pedaço de software
O processo de medição COSMIC tem três fases, como mostrado na Figura abaixo:
Para obter as regras de medição detalhadas, consulte ‘O Método de Medição de Tamanho Funcional do COSMIC v4.0: Manual de Medição, o Guia de Implementação do COSMIC para ISO / IEC 19761: 2011’.