41
FATTO Consultoria e Sistemas - www.fattoCS.com.br Medição e Estimativa de Software com o Método COSMIC Atualizado para a versão 4.0 do Manual de Medição – O guia de implementação do COSMIC para a ISO/IEC 19761

Medição e Estimativa de Software com o Método COSMIC · complexas, como sistemas especialistas, simulação, auto-aprendizado, previsão de clima, etc. ... Inicialmente, RNF RFU

Embed Size (px)

Citation preview

FATTO Consultoria e Sistemas - www.fattoCS.com.br

Medição e Estimativa de Software com o Método COSMICAtualizado para a versão 4.0 do Manual de Medição – O guia de implementação do COSMIC para a ISO/IEC 19761

FATTO Consultoria e Sistemas - www.fattoCS.com.br

Objetivo do Método de Medição COSMIC

2

...e o que vem a ser “tamanho funcional”?

Definir uma medida padrão do tamanho funcional do software Aplicabilidade - Software em aplicações comerciais - Software de tempo real - Híbridos

Possível definir extensões locais para - Funcionalidade relacionada a processamento matemático intensivo Funcionalidade em algoritmos complexos ou outras regras especializadas e complexas, como sistemas especialistas, simulação, auto-aprendizado, previsão de clima, etc. ⌖ Processamento de variáveis contínuas como sons em áudio ou imagens em vídeo

como em jogos, instrumentos musicais, etc. ⌖ Não considera aspectos da funcionalidade como complexidade que possa

ser considerada como contribuindo ao 'tamanho' do software

FATTO Consultoria e Sistemas - www.fattoCS.com.br

Tipos de Medida

3

Medição de Tamanho Funcional (MTF) Medição Técnica

Aproxima ou mede cedo o tamanho do software a partir dos requisitos

Apoia a estimativa do esforço do projeto ou quantificação do desempenho de produtos e serviços a partir da perspectiva do usuário ou dono para análise de produtividade

Deve ser independente de desenvolvimento técnico e decisões de implementação

Permite comparar a produtividade entre as diferentes técnicas e tecnologias disponíveis

Quantifica o desempenho técnico de produtos e serviços a partir de como são implementados

• Análise da eficiência do design

Melhor desempenho do design

Apoio à engenharia de requisitos

Apoio à verificação e validação

Exemplo: as métricas na família ISO/IEC 25.000 – Software product Quality Requirements and Evaluation (SQuaRE)

FATTO Consultoria e Sistemas - www.fattoCS.com.br

Categoria de Requisitos do Usuário

4

Requisitos Funcionais (RFU)Requisitos específicos de uma tarefa ou serviço do usuário descrevendo o que o software deve fazer

Qualquer outro requisito ou restrição de ordem geral no sistema ou projeto, exceto aquelas que evoluem em RFU

Manipulação e Movimentação de dados:

❑ Transferência ❑ Transformação ❑ Armazenamento ❑ Recuperação

Tecnologias de desenvolvimento, manutenção, suporte e execução ❑ Ferramenta de

programação e teste, OS, DBMS, UI, etc.

à Im

plem

enta

ção

❑ Desempenho ❑ Compatibilidade ❑ Usabilidade ❑ Confiabilidade ❑ Segurança ❑ Manutenção ❑ Portabilidade

à Q

ualid

ade

à O

rgan

izaç

ãoEquipamento alvo Aderência a padrões

Locais para operação

Interoperabilidade Privacidade Proteção contra danos ❑ Intencionais ❑ Acidentais

ao

Am

bien

te

Métricas de Tamanho Funcional

Métricas Técnicas e Indicadores de Produtividade e Qualidade

Requisitos não Funcionais (RNF)

FATTO Consultoria e Sistemas - www.fattoCS.com.br

Inicialmente, RNF RFU a ser desenvolvido ou adquirido

RNF após requisitos iniciais evoluírem em RFU

O tempo de resposta médio em horários de pico não deve exceder X segs.

❑ Fornecer dados externos em tempo real

❑ Monitorar e reportar tempo de médio de resposta

❑ Equipamento apropriado ❑ Parte do software escrito em

linguagem de baixo nível

A disponibilidade deve aumentar Y% em relação à média anual passada

❑ Habilitar troca rápida de processamento para um processador alternativo sem interrupção do serviço

❑ Processador alternativo operando em ‘hot stand by’

Parâmetros devem ser facilmente mantidos pela equipe do usuário

❑ Habilitar o usuário a manter as tabelas de parâmetros

❑ Nenhum

Deve ser passível de uso pelo público em geral sem treinamento a uma taxa de sucesso de Z%

❑ Recursos de ajuda ❑ Menus bem estruturados e fáceis

de usar ❑ Permitir o uso por usuários com

deficiências visuais

❑ Teclados em braile ❑ Teste extensivo por membros do

público em geral

Evolução dos RNF em RFU (ou não)

5

FATTO Consultoria e Sistemas - www.fattoCS.com.br

Extração dos Requisitos Funcionais do Usuário

6

Requisitos Funcionais do Usuário (‘RFU’) nos artefatos do software a ser

medido

artefatos com definição de requisitos

artefatos da modelagem /

análise de dados

artefatos com decomposição funcional

dos requisitos

pré-implementação

ambos os tipos de insumo demandam o mesmo trabalho?

artefatos de armazenamento físico de dados

procedimentos e manuais operacionais

do software

pós-implementação

programas físicos

FATTO Consultoria e Sistemas - www.fattoCS.com.br

⌖ ISO/IEC 14143 define os princípios da medição do tamanho funcional

⌖ Implementados em métodos de medição do tamanho funcional por

– COSMIC (ISO/IEC 19761:2011) – IFPUG APF (ISO/IEC 20926:2009) – UKSMA Mk II (ISO/IEC 20968:2002) – NESMA APF (ISO/IEC 24570:2005) – FiSMA (ISO/IEC 29881:2010)

O ISO/IEC padronizando a Medição do Tamanho Funcional

7

FATTO Consultoria e Sistemas - www.fattoCS.com.br

⌖ The COmmon Software Measurement International Consortium ⌖ Iniciativa voluntária de um grupo internacional de especialistas

⌖ Objetivo inicial de desenvolver, testar, trazer ao mercado e buscar aceitação de uma nova geração de FSM

⌖ Define uma medida padrão do tamanho funcional do software - Ponto de Função COSMIC (PFC)

⌖ Método COSMIC de Medição do Tamanho Funcional mantido pelo Comitê de Práticas de Medição do COSMIC (MPC)

O método e a organização COSMIC

8

FATTO Consultoria e Sistemas - www.fattoCS.com.br 9

Evolução do COSMIC

FATTO Consultoria e Sistemas - www.fattoCS.com.br

⌖ Visão Geral da Documentação e Glossário de Termos ⌖ Princípios e Regras para o Método

– Visão Geral do Método – Manual de Medição - O Guia de implementação do COSMIC para a

ISO/IEC 19761 – Tópicos Avançados e Relacionados

⌖ Documentos de Suporte Específicos de Domínios – Orientações para Aplicações Comerciais – Orientações para Software de Tempo Real – Orientações para Projetos Ágeis – Orientações para DW – Orientações para SOA – Estudos de Casos de Aplicações Comerciais – Estudos de Casos de Software de Tempo Real

⌖ Boletins de Atualização do Método (11)

Manuais de Referência – disponíveis em http://www.cosmicon.com (3.0.1)

10

FATTO Consultoria e Sistemas - www.fattoCS.com.br

Nível de confiabilidade compatíveis por todos os tipos de software

Está no domínio público e sem custos

Tem reconhecimento total do ISO/IEC

Projeto é simples

Base conceitual compatíveis com a moderna engenharia de software

⌖ Métodos de 1ª geração nem sempre tem força suficiente para atender as necessidades do mercado, ou funcionam apenas em domínios muito restritos

Estimativas e medição do desempenho com maior acuidade

Habilidade de capturar tamanho a partir de múltiplas perspectivas

Por que o Método COSMIC de Medição?

11

FATTO Consultoria e Sistemas - www.fattoCS.com.br

Estimativas e medição do desempenho com maior acuidade

12

Métricas de 1ª Geração

COSMIC

Variabilidade da produtividade Espaço entre a menor e maior produtividade

verificadas números meramente ilustrativos

% d

e de

man

das

por

faix

a de

pr

odut

ivid

ade

Há demandas com

desempenho melhor que 1

HH/PF

A maior parte das demandas

tem um desempenho

entre 8 e 9 HH/PF

Há demandas com

desempenho pior que 16 HH/

PF

Por que tanta variabilidade?

FATTO Consultoria e Sistemas - www.fattoCS.com.br

Estimativas e medição do desempenho com maior acuidade – Causas

13

Manutenção em software compartilhado que implementa regras de negócio usadas em várias funcionalidades

Validar CPF

Solução não Padrão ISO

FATTO Consultoria e Sistemas - www.fattoCS.com.brD

epoi

s

Ant

es

Estimativas e medição do desempenho com maior acuidade – Causas

14

Medição apenas na perspectiva da camada de aplicação e desconsiderando a medição manutenção ou desenvolvimento em outras camadas

Gerar PDFGerar DOC

Gerar XLSListar

Listar

aplicação

Infra

aplicaçãomelhoria

Proposta de solução que não aborda tão bem a variabilidade

FATTO Consultoria e Sistemas - www.fattoCS.com.br

Estimativas e medição do desempenho com maior acuidade – Causas

15

Variabilidade na extensão das funções tornam inadequado apenas três faixas de “complexidade”

Melhorias que afetam apenas poucas partes de uma funcionalidade provocam a medição da funcionalidade como um todo

(%)TD (%)AR ≤ 2/3 (x 100%) ≤100% >100%

≤ 1/3 (x 100%) 0,25 0,50 0,75≤ 2/3 (x 100%) 0,50 0,75 1,00

≤100% 0,75 1,00 1,25>100% 1,00 1,25 1,50

Proposta de solução usando

fatores de impacto

arbitrários

Função de Complex.

Alta com 06 PF

Função de Complex.

Alta com 06 PF

FATTO Consultoria e Sistemas - www.fattoCS.com.br

Habilidade de capturar tamanho a partir de múltiplas perspectivas

16

Adaptado do treinamento Mastering Requirements Management com Casos de Uso, IBM Sodtware Group

Aplicação de Negócio

Requisitos de Software

Especificações de Projeto (Design)

o quê

como

Infraestrutura de Suporte

o quê

como

funcional

Não funcional

funcional

Não funcional

relação entre um requisito não funcional em uma camada ser um (ou vários) requisitos funcionais em outra

FATTO Consultoria e Sistemas - www.fattoCS.com.br 17

Requisitos e o processo de Medição

Conjunto de:

• Modelos • Princípios • Regras • Processos

objetivos1

3

4

2

Projetado não depender de qualquer decisão de implementação embutida nos artefatos do software a ser medido

É um valor de uma quantidade de acordo com o método do COSMIC

Expresso em unidades: Pontos de Função COSMIC ou PFC

tamanho funcional do

pedaço de software

Descreve o que o software deve fazer para os usuários funcionais que são os destinatários e remetentes dos dados de e para ele

Exclui requisitos técnico ou de qualidade que diga como o software deva executar

A função é relativa ao processamento de informação que o software deve executar para seus usuários

requisitos funcionais do usuário nos artefatos do software a ser

medido

2

FATTO Consultoria e Sistemas - www.fattoCS.com.br

O Processo de Medição na Estrutura do Método COSMIC

18

Ver

são

4.0,

CO

SM

IC M

easu

rem

ent

Man

ual

© C

OSM

IC

O Processo de Medição

Tamanho funcional do software em

unidades de PFC

Objetivos1

4

3

estratégia de medição

6

Definição de cada pedação de software

a ser medido da medição exigida

7

fase de mapeamento

9

Modelo de contexto de

software5

Modelo geral de software8

Requisitos Funcionais do

Usuário na forma do modelo geral de

software

10

fase de medição

11

Requisitos Funcionais do Usuário em artefatos do software a ser

medido2

FATTO Consultoria e Sistemas - www.fattoCS.com.br

O Modelo de Contexto de Software do COSMIC e suas aplicações

19

Introduz os princípios e conceitos necessários à definição do escopo da medição

As camadas de software e componentes pares

O escopo de um pedaço de software a ser medido

Os usuários funcionais do pedaço de software

Os movimentos de dados

As fronteiras para apoiar medir os RFU, que podem estar em diferentes níveis de granularidade

Modelo de Contexto de

Software

5Estratégia de

Medição

Aplicam-se os princípios e conceitos ⑤ aos RFU do software a ser medido para responder questões como:

Qual medição é necessária?

Como interpretar esta medição?

6

Escopo de cada pedaço de software

a ser medido

Um pedaço de software a ser medido deve ser cuidadosamente definido no escopo da medição

A definição deve considerar o contexto com o qual o pedaço de software interage em termos de software e/ou equipamentos

7

FATTO Consultoria e Sistemas - www.fattoCS.com.br

Princípio (a) Software está contido em hardware

20

hardware de E/Susuários

software

hardware de E/S

equipamento de armazenamento

Software tipicamente é restrito por equipamentos de entrada e saída:

mouse, um teclado, uma impressora ou um monitor quando usado por pessoas

dispositivos como sensores ou relés em software de tempo real embarcado

Software também é vinculado a equipamento de armazenamento persistente como discos rígidos ou outros tipos de memória que podem ser usados para reter dados

Ainda que a medição do tamanho funcional seja feita com base em uma visão lógica que abstrai dessa visão física (hardware e software), é útil expor essa última porque o responsável pela medição deve distinguir uma da outra

Modelo de Contexto de

Software

5

FATTO Consultoria e Sistemas - www.fattoCS.com.br

(b) Software é tipicamente estruturado em camadas

21

COSM

IC M

easu

rem

ent

Man

ual,

4, it

em 2

.2.2

Camada de Aplicação

Camada de Middleware Serviços Utilitários Etc.

Camada de SGBD SGBD 1 SGBD 2

Camada do Sistema Operacional

Driver de teclado

Driver de tela

Driver de impressora

Driver de disco

Se um pedaço de software a ser medido é parte de uma arquitetura em camadas resultante de um projeto, deveria ser fácil decidir que camada o compreende

Se o ambiente de software cresceu e evoluiu ao longo do tempo, as camadas (se houver) podem não ser claramente distintas. Para esses circunstâncias, o método do COSMIC inclui algumas regras para distinguí-las

App 1 App 2 App nCamada Superior

Subordinada

depende de

Modelo de Contexto de

Software

5

FATTO Consultoria e Sistemas - www.fattoCS.com.br

(c) Componentes Pares em uma mesma Camada

22

O método fornece regras para dimensionar os principais componentes pares isoladamente. Importante para os propósitos de medição de performance e estimativas quando executam em plataformas técnicas diferentes

Qualquer pedaço de software em qualquer camada pode ser decomposto em seus componentes em vários níveis (ex., descer a módulos individuais ou objetos de classes) e o método pode ser utilizado para medir o respectivo tamanho em qualquer nível

Abaixo do nível de componentes pares principais em qualquer camada, deve-se definir padrões locais de níveis de decomposição (com o arquiteto), para manter a compatibilidade entre medições provenientes de diferentes fontes

principais componentes pares

Interface com usuário /

apresentaçãoregras de negócio

serviços de dados

camadas de infraestrutura

camada de

aplicação

Modelo de Contexto de

Software

5

FATTO Consultoria e Sistemas - www.fattoCS.com.br

(d) Uma demanda, várias camadas, diferentes escopos

23

Escopo A

Usuários

Escopo B

Escopo C

Hardware

Modificações na Camada de Aplicação

Modificações na Camada de InfraestruturaDesenvolvimento de novo Driver de Dispositivo

Adaptado do lívro COSMIC Function Pointd: Theory and Advanced Practices, 2011, Reiner Dumke and Alain Abran

Requisitos do Usuário

O escopo de qualquer pedaço de software medido deve estar inteiramente contido em uma única camada

Cada camada tem uma função especializada e pode ser desenvolvida com tecnologia diferente daquela utilizada nas outras camadas

Pode ou não fazer sentido medir o tamanho de alguns pedaços de software residentes em duas ou mais camadas e, depois, somar tais tamanhos como se o resultado representasse o tamanho de uma simples entidade

A medida de tamanho resultante poderia, assim como a soma dos tamanhos de maçãs e laranjas, ser muito difícil de interpretar e/ou comparar com outras medidas de tamanho funcional

Modelo de Contexto de

Software

5

FATTO Consultoria e Sistemas - www.fattoCS.com.br

(e) Diferentes propósitos, diferentes escopos

24

O tamanho medido de cada um dos três componentes servirá como entrada para uma fórmula de estimativa capaz de explicar diferentes tecnologias e/ou características das equipes de projeto de cada componente

Escopo 1 Escopo 2 Escopo 3

Escopo Único

Aplicação é um pedaço distinto de software, desenvolvido por uma equipe de projeto específica: para a maioria dos propósitos, faz sentido definir o escopo da medição como a aplicação como um todo

Aplicação desenvolvida como três componentes pares principais cada um com tecnologias diferentes ou desenvolvidos por diferentes equipes: para o propósito de estimar o esforço fará sentido definir três escopos de medição separados

Modelo de Contexto de

Software

5

FATTO Consultoria e Sistemas - www.fattoCS.com.br

(f) Usuários funcionais de um pedaço de software

25

usuário funcional humano

aplicação sendo medida

aplicação par

cam

ada

de a

plic

ação

usuário funcional da aplicação sendo

medida

Usuários funcionais de um pedaço de software a ser medido identificados a partir de seus RFU, como fontes e/ou destinos pretendidos para dados

Na visão lógica para um pedaço de software de aplicações de negócio, os RFU costumam descrever só a funcionalidade requerida do ponto de vista de usuários humanos e, talvez, outras aplicações pares que enviem ou recebam dados

Quaisquer camadas de software e dispositivos de hardware que suportem a interação dos usuários funcionais com a aplicação são facilitadores da trocas de dados e não remetentes ou destinatários

Modelo de Contexto de

Software

5

FATTO Consultoria e Sistemas - www.fattoCS.com.br

(g) Fronteira entre o pedaço de software e o usuário funcional

26

fronteira fronteiraaplicação sendo medida

aplicação par

cam

ada

de a

plic

ação

Fronteira definida como interface conceitual entre software e usuário funcional

Fronteira não deve ser confundida com qualquer linha desenhada em um diagrama para delimitar o escopo de um pedaço de software ou camada

Fronteira permite fazer distinção clara entre qualquer coisa parte do pedaço de software medido (dentro) e qualquer coisa parte do ambiente dos usuários funcionais (fora)

Modelo de Contexto de

Software

5

FATTO Consultoria e Sistemas - www.fattoCS.com.br

(g) Armazenamento persistente e movimentos de Dados

27

aplicação sendo medida

aplicação parentradas

saídas

exits

entries exits

entries

armazenamento persistente ca

mad

a de

apl

icaç

ão

Usuários funcionais interagem com o software através da fronteira via dois tipos de movimentos de dados (entries e exits)

software também troca dados com o dispositivo de armazenamento persistente via dois tipos de movimentos de dados (reads e writes)

O dispositivo de armazenamento não é considerado como um usuário do software e portanto está dentro da fronteira do software

leiturasgravaçõesmovimentos

de dados

Modelo de Contexto de

Software

5

FATTO Consultoria e Sistemas - www.fattoCS.com.br

(h) e (i) Níveis de granularidade e o nível do processo funcional

28

O RFU de software pode ser expresso em diferentes níveis de granularidade: nível de detalhe da descrição de um pedaço de software

Declarações de requisitos de alto nível compõem os RFU quando do início do desenvolvimento e são refinados e elaborados em mais detalhe a partir dai

definir nova turma

listar cursos ativos

listar alunos

inscritos

Inscrever aluno na

turma

listar turmas do

curso

Nível 2: processo funcional

Nível 3: passo ou regra de negócio

validar preenchimento da ficha de inscrição

calcular valor do desconto

atualizar arquivo de turmas

processo de venda de inscrições

processo abertura de turma

Nível 1: processo agregador

NÍVEIS D

E G

RA

NU

LAR

IDA

DE

O nível de granularidade no qual as medições devem ser normalmente feitas é o do processo funcional

Modelo de Contexto de

Software

5

FATTO Consultoria e Sistemas - www.fattoCS.com.br

(j) Medidas por aproximação e escaladas para o padrão

29

Comparar a medição (ou aproximação) cuidadosamente a partir de diferentes fontes ou para usar os resultados em algum outro processo, todas as medições devem ser feitas ou escaladas para um nível padrão de granularidade

visão delineando requisitos centrais para o sistema

O RFU de um pedaço de software de determinado escopo pode existir em diferentes níveis de granularidade

Devem-se calcular fatores de escala locais para converter tamanhos em diferentes níveis de granularidade para a unidade padrão no nível de granularidade do processo funcional

funções previstas e ambiente do sistema

especificação completa de requisitos

fase 1 fase 2 fase 3fator de escala

fator de escala

Modelo de Contexto de

Software

5

FATTO Consultoria e Sistemas - www.fattoCS.com.br

Objetivos - Estimar o esforço do atendimento da demanda para:

1) A equipe de automação bancária deve desenvolver o novo Internet Banking responsável por capturar, criticar, manter e fornecer reporte sobre transações financeiras, atuando também como um front-end de sistemas core legados de retaguarda, realizando a preparação e a passagem de movimentos com transações para processamento pelos mesmos

2) Deve permitir dois modos de operação: um voltado ao cliente e outro voltado aos administradores (da equipe de gestão do Internet banking) que será responsável pela definição e manutenção dos parâmetros operacionais do negócio. A equipe de suporte ao produto poderá manter constantes usadas no processamento para diminuir a necessidade de manutenção

3) Usa a plataforma iBanking, sob a responsabilidade da equipe de suporte ao desenvolvimento, que fornece uma infraestrutura serviços compartilhados como acesso a arquivos, controle de acesso, autorização, entre outros

4) Deve ser dado manutenção no iBanking para que sejam incluídas transações de geração de chaves privadas e públicas, criptografar e/ou assinar mensagens, descriptografar e/ou verificar assinaturas em mensagens

Modelo de Contexto de Software em ação – Enunciado

30

Modelo de Contexto de

Software

5

FATTO Consultoria e Sistemas - www.fattoCS.com.br

Modelo de Contexto de Software em ação – Análise

31

usuárioGestor na Equipe de Suporte ao Produto

Gestor de Negócio no Internet Banking

Cliente do Banco

iBanking

Sistema de Internet Banking Sistemas Legados Aplicação

Infraestrutura de Suporte

fronteiras

camadas

escopo (considerando os RFU de todos os usuários)

• Todas as funcionalidades no Sistema de Internet Banking • Funcionalidades incluídas e alteradas nos Sistemas Legados • Funcionalidades incluídas e alteradas no iBanking

Modelo de Contexto de

Software

5

componentes pares

FATTO Consultoria e Sistemas - www.fattoCS.com.br

O Modelo de Geral de Software do COSMIC e suas aplicações

32

Identifica os eventos no mundo dos usuários funcionais aos quais o software deve responder e dai identifica os processos funcionais

Identifica movimentos de dados (Entries, Exits, Reads e Writes) de cada processo funcional que, por sua vez, depende da identificação de grupos de dados que são movimentados

Fase de Mapeamento

9

Suporta a identificação dos componentes de funcionalidade que serão medidos

Busca estabelecer um entendimento comum sobre o que é software para fins de medição

Modelo Geral de Software8

ComponenteProcesso funcional Ped

ido

Componente A

Processo AProcesso BProcesso C

Itens

Produto

Cliente

Requisitos na forma do modelo geral de

software

10

E E

W W

R R

FATTO Consultoria e Sistemas - www.fattoCS.com.br

b) Os RFU de um pedaço de software a ser medido podem ser mapeados em processos funcionais únicos

e) Cada processo funcional é disparado por um movimento de dados Entry a partir do usuário funcional que informa ao processo funcional que o usuário funcional identificou um evento (disparador)

a) O software recebe dados de entrada de seus usuários funcionais e produz saídas e/ou outro resultado para os mesmos

Princípios de (a) a (e)

33

evento disparador

usuário funcional

entry

c) Cada processo funcional consiste de subprocessos

d) Subprocessos podem ser um movimento de dados ou manipulação de dados

processo funcional

RFUprocesso funcional

movimentos de dados

manipulação de dados

subprocessos

Modelo de Geral de Software

8

FATTO Consultoria e Sistemas - www.fattoCS.com.br

pedidoitem do pedido

clienteproduto

pedidoitem do pedido

Princípios (f) e (g)

34

usuário funcional processo

funcional

Modelo de Geral de Software

8

f) Um movimento de dados move um único grupo de dados

g) Um grupo de dados consiste de um conjunto único de atributos de dados que descreve apenas um objeto de interesse

objetos de interesse

cliente produto pedido

itens de pedido

confirmação de pedido

FATTO Consultoria e Sistemas - www.fattoCS.com.br

(h) Há 04 tipos de movimentos de dados

35

usuário funcional

processo funcional

entry

exit

read

write

Modelo de Geral de Software

8

fronteira

armazenamento persistente

manipulação

Entry e Exit: Movimentos de dados que atravessam a fronteira entre o usuário funcional e o software sendo medido

Read e Write: Movimento de dados entre software e armazenamento persistente

Os quatro tipos de movimentos de dados são distinguidos pela sua origem e destino

subprocessos de movimentação de dados

FATTO Consultoria e Sistemas - www.fattoCS.com.br

(i) Movimentos mínimos

36

usuário funcional

processo funcional

entry

exit

read

write

Modelo de Geral de Software

8

i) Um processo funcional deve incluir no mínimo um movimento de dados entry e um movimento de dados exit ou write; ou seja, um mínimo de dois movimentos de dados

armazenamento persistente

deve

deve* deve*

deve* - opcional se houver um outro deve* presente

manipulação

fronteira

FATTO Consultoria e Sistemas - www.fattoCS.com.br

(j) Medição indireta da manipulação

37

usuário funcional

processo funcional

entry

exit

read

write

Modelo de Geral de Software

8

armazenamento persistente

manipulação

j) Os subprocessos de manipulação não são medidos em separado; são medidos indiretamente pelos subprocessos de movimentação associados

deve

deve* deve*

deve* - opcional se houver um outro deve* presente

fronteira

FATTO Consultoria e Sistemas - www.fattoCS.com.br

processos funcionais parâmetros resultados memória mensagem

somar (+)

subtrair (-)

multimplicar (x)

dividir (÷)

raiz quadrada (√)

inverter (1/x)

memória – Armazenar (MS)

memória – Limpar (MC)

memória – Recuperar (MR)

memória – Somar (M+)

memória – Limpar Resultado (C)

E

E

E

E

E

E

E

E

E

E

E

X, W, R

X, W, R

X, W, R

X, W, R

X, W, R

X, W, R

X

W

W

R

R, W

W

X

X

X

X

X

X

X

X

X

X

Modelo Geral de Software – Análise

38

Modelo de Geral de Software

8

calculadora (modo básico)

componente

grupos de dados

Matriz do Modelo Geral de Software

46 CFP

FATTO Consultoria e Sistemas - www.fattoCS.com.br

Encerramento

O método do COSMIC está para o método do IFPUG, assim como o método do IFPUG está para a contagem estimativa da NESMA

Aborda - intrinsecamente - o requisito ser funcional ou não funcional conforme os usuários, permitindo de maneira unificada medir software de forma mais abrangente que a APF no IFPUG

Ainda que seja mais trabalhoso medir comparado ao método do IFPUG, pode facilmente ser usado em estimativas mais robustas que usando a complexidade e contribuição

39

FATTO Consultoria e Sistemas - www.fattoCS.com 40

Carlos Eduardo Vazquez [email protected] cvazquezbr (skype) +55 (27) 98123-9100

Guilherme Siqueira Simõess [email protected]

guilherme.s.simoes (skype) +55 (27) 98111-7505

FATTO Consultoria e Sistemas - www.fattoCS.com.br 41

www.fattocs.com/blog/

@fattocs

facebook.com/fattocs