Guia de Contagem para Desenvolvimento Orientado a Servios por
Pontos de Funo (PFS)
Agncia de Tecnologia da Informao do Estado de Pernambuco. 1. Introduo
Mediante a necessidade de medir projetos baseado na metodologia SOA, a Agncia de Tecnologia da Informao do Estado de Pernambuco (ATI), decidiu desenvolver uma mtrica prpria baseada em APF, a PFS. A ATI construiu a mtrica baseada na NESMA , porm com modificaes necessrias para atender as necessidades do Estado. 2. Glossrio
PFS Unidade de Ponto por Funo para Projetos SOA SOA Arquitetura Orientada a Servios Inventrio de Servios Conjuntos de servios que fazem parte de um mesmo escopo de projeto. XML eXtensible Markup Language XSD XML Schema Definition SOAP Simple Object Access Protocol WSDL Webservice Definition Language
3. Definio da Mtrica 3.1 Componentes da Contagem SOA
Este captulo tem o objetivo de descrever os componentes utilizados na PFS.
3.2 Escopo O escopo faz referncia abrangncia das funcionalidades que sero contadas. Com isso, todas as funcionalidades que fazem parte do projeto fazem parte do seu escopo. 3.3 Funes de Dados As estruturas de dados utilizados nos servios de entidades so contadas como Funes de Dados. A identificao de uma funo de dado como ALI ou AIE definida abaixo: Arquivo Lgico Interno (ALI): Um servio de entidade identificado como Arquivo Lgico Interno (ALI), se ele pertence ao escopo do projeto e persistido por outras funes. Arquivo de Interface Externa (AIE): Um servio de entidade identificado como Arquivo de Interface Externa (AIE), se ele no fizer parte do escopo do projeto, mas for utilizado por alguma funo interna. Em projetos SOA os AIEs so geralmente utilizados em servios de negcio ou servios Orquestrados. 3.4 Funes Transacionais Servios de Negcio, Orquestrados e Utilitrios, so identificados como funes transacionais. As operaes dos servios definem os tipos de funes: Entrada Externa Operaes que alterem o estado de algum arquivo lgico interno (Entidade): incluso, alterao, excluso etc.. Sada Externa Operaes que retornem algum resultado calculado ou processado; Consulta Externa Operaes que retornem dados sem nenhum calculo ou processamento. Embora as estruturas de dados (XSD) dos servios de entidades sejam contadas como funes de dados, as operaes desses servios so contadas como funes transacionais. Assim, todas as operaes de todos os servios envolvidos na contagem, sero consideradas funes transacionais. 3.5 Tipos de contagem
Para a criao da PFS foram adaptadas as seguintes mtricas do NESMA: estimativa (Early) e detalhada (Detailed). 3.5.1 Estimativa (Inicial e Intermediria) Na PFS, a fase Estimativa ser dividida em duas subfases Inicial e Intermediria. 3.5.1.1 Inicial A Estimativa Inicial feita nas primeiras atividades do projeto, utilizando o Documento de Viso, e tem como objetivo obter um valor aproximado do esforo total do projeto, baseando- se na experincia do contador. Artefato necessrio: Documento de Viso do Projeto. 3.5.1.2 Intermediria A Estimativa Intermediria feita no incio do projeto, aps a Estimativa Inicial e aps a concluso do levantamento inicial dos requisitos do sistema sem que haja a necessidade de definio dos campos existentes em cada funcionalidade do sistema. O objetivo dessa estimativa conseguir uma previso de esforo necessrio para que os servios levantados sejam criados/desenvolvidos. Por no haver a necessidade de definio dos campos, a mdia da margem de erro de 30%. Artefatos necessrios: Documento de Requisitos e a Descrio da lista de servios candidatos do projeto. Os passos executados para estimar so: 1. Definio do escopo do Inventrio de servios ou do projeto; 2. Listagem das funes de dados: 2.1 Funes de dados mantidas dentro do escopo (ALI); 2.2 Funes de dados mantidas fora do escopo (AIE). 3. Listagem das funes transacionais: 3.1 Entrada Externa (EE); 3.2 Sada Externa (SE); 3.3 Consulta Externa (CE). 4. Contar o projeto (baseando-se no item 4 - Tabelas de Medio, deste documento). Na contagem utilizando a mtrica estimativa, toda funo de dado (ALI, AIE) tem sua
complexidade funcional avaliada como Baixa, e toda funo transacional (EE,SE,CE) tem sua complexidade avaliada com Mdia. 3.5.2 Detalhada A Estimativa Detalhada requer que o sistema esteja na Fase de Construo. Com isso, podem ser utilizadas todas as informaes referentes s funcionalidades do sistema. Na fase detalhada, possvel mensurar o tamanho do projeto para fins de pagamento ao(s) fornecedor (es) e para determinar um cronograma de execuo das atividades. Por j utilizar todas as informaes referentes s funcionalidades do sistema, a margem de erro prxima a zero. Artefatos necessrios: WSDLs e XSDs dos servios e o Documento de Arquitetura do Inventrio dos Servios ou Documento de Arquitetura do Sistema. Para realizar a contagem detalhada, alm de determinar as funes de dados (ALI, AIE) e transacionais (EE, SE, CE), necessrio determinar o grau de complexidade funcional (Baixa, Mdia, Alta) de cada funo do sistema individualmente. A complexidade funcional de cada funo do sistema ser determinada pelo nmero de tipos de dados, pelos tipos de registros e pelos arquivos lgicos referenciados que so relevantes a funo. Assim sero analisados com mais detalhes quais elementos de dados (DETs) e arquivos lgicos (FTR) so usados por cada funo transacional (EE,SE,CE), e quais os grupos lgicos de dados (RETs) e elementos de dados (DETs) compem a funo do tipo de dado (ALI, AIE). 4. Tabelas de Medio Essa seo lista as tabelas de medio separadas por componente, e utilizadas pra a contagem de PFSs de um projeto. 4.1.1 Tabelas de Funes de Dados
Para Arquivo Lgico Interno (ALI) RET (Grupo Lgico de Dados) DETs (Tipo de Elemento de Dado) 1-19 20-50 51 ou mais 1 RET Baixa Baixa Mdia 2-5 RETs Baixa Mdia Alta 6 ou mais RETs Mdia Alta Alta
Valores Por Peso Baixa 7 Media 10 Alta 15
Para Arquivo de Interface Externa (AIE) RET (Grupo Lgico de Dados) DETs (Tipo de Elemento de Dado) 1-19 20-50 51 ou mais 1 RET Baixa Baixa Mdia 2-5 RETs Baixa Mdia Alta 6 ou mais RETs Mdia Alta Alta
Valores Por Peso Baixa 5 Media 7 Alta 10
4.1.2 Tabelas de Funes Transacionais
Para Execuo Externa (EE) FTR (Arquivo Lgico Referenciado) DETs (Tipo de Elemento de Dado) 1-4 5-15 > 15 < 2 Baixa Baixa Mdia 2 Baixa Mdia Alta > 2 Mdia Alta Alta
Valores Por Peso Baixa 3 Media 4 Alta 6
Para Sada Externa (SE) FTR (Arquivo Lgico Referenciado) DETs (Tipo de Elemento de Dado) 1-5 6-19 > 19 < 2 Baixa Baixa Mdia 2 ou 3 Baixa Mdia Alta > 3 Mdia Alta Alta
Valores Por Peso Baixa 4 Media 5 Alta 7
Para Consulta Externa (CE) FTR (Arquivo Lgico Referenciado) DETs (Tipo de Elemento de Dado) 1-5 6-19 > 19 < 2 Baixa Baixa Mdia 2 ou 3 Baixa Mdia Alta > 3 Mdia Alta Alta
Valores Por Peso Baixa 3 Media 4 Alta 6 5. Definio de Produtividade
A produtividade mnima esperada de 8 horas para cada PFSOA Produtividade Mdia Tecnologia ndice Java 10 .Net 10 Ensemble 8
Com base no total de PFSs e no ndice de produtividade, possvel definir o prazo mximo em que se espera que o produto seja concludo, utilizando a seguinte frmula:
Total de PFSs * ndice de Produtividade Mdia
5.1 Manuteno
Durante a manuteno de um projeto, a forma de contagem de PFSs ser realizada da mesma forma. Porm ser necessrio categorizar as PFSs como: PF_INCLUIDO (PFS Includos), PF_EXCLUIDO (PFS Excludos) e PF_ALTERADO (PFS Alterados). Onde: PF_INCLUIDO = Quatidade Total de PFS Includos
PF_ALTERADO = PF_FD_ALTERADO + PF_FT_ALTERADO
PF_EXCLUIDO = Quantidade de PFS Excludos * 0.40
Para contar o total de PF_ALTERADO, necessrio dividi-los em duas categorias: PF_FD_ALTERADO(PFS alterados para Funes de Dados) e PF_FT_ALTERADO (PFS alterados para Funes Transacionais), onde: PF_FD_ALTERADO = Quantidade de PF * Fator de impacto
PF_FT_ALTERADO = Quantidade de PF * Fator de impacto
Para determinar o fator de impacto em cada tipo funo (Dados ou Transacionais), necessrio extrair o percentual de alterao em cada tipo de funo. Abaixo esto as frmulas para extrair os percentuais:
% Alterao para Funes de Dados DETs de Funes de Dados Alteradas * 100 / Total de DETs de Funo de Dados
% Alterao para Funes Transacionais DETs de Funes Transacionais alteradas * 100 / Total de DETs de Funo de Transacionais
Calculo do Fator de Impacto: % Alterao Entre 0 e 33 Entre 33 e 66 Entre 66 e 100 Maior que 100 Fator de Impacto 0.25 0.5 0.75 1
Sendo assim o total de PFs para uma manuteno extrado da seguinte formula: PF_INCLUIDO + PF_ EXCLUIDO + PF_ALTERADO 6. Administrao e Monitoramento de Servios A administrao e o monitoramento dos servios desenvolvidos tambm sero feitos baseados em PFS. Os servios sero classificados por complexidade: Simples, Intermediria e Complexa. Simples: So servios mais simples como servios de Entidades, utilitrios, Proxy e servios de negcio e orquestrados com no mximo duas composies. Intermediria: So servios de complexidade moderada. So considerados os servios de Negcio e Orquestrados com pelo menos 3 composies. Complexa: So servios de complexidade alta. So considerados os servios de Negcio e Orquestrados a partir de 6 composies. A tabela abaixo serve como guia para poder classificar os servios: ALI/AIE EE SE CE Complexidade 0 a 2 at 3 At 3 At 4 Simples 1 a 2 3 a 5 3 a 5 At 8 Intermedirio > 2 Maior que 5 Maior que 5 Maior que 8 Complexo
Os diversos tipos de servio sero pagos mensalmente conforme tabela a seguir: Complexidade Pontos de Funo de Servio Simples 2 Intermediria 4 Complexa 6