670 likes | 770 Views
Treinamento CFPS Interno Nov. 2010. Agenda. Parte 1 - Processo e Regras Visão do Usuário Determinar o Tipo de Contagem Identificar o Escopo da Contagem e da Fronteira da Aplicação Contar Funções de Dados Contar Funções de Transação. Parte 1: Visão do Usuário.
E N D
Treinamento CFPS Interno Nov. 2010
Agenda Parte 1 - Processo e Regras • Visão do Usuário • Determinar o Tipo de Contagem • Identificar o Escopo da Contagem e da Fronteira da Aplicação • Contar Funções de Dados • Contar Funções de Transação
Parte 1: Visão do Usuário Definição de Visão do Usário Uma visão do usuário representa uma descrição formal das necessidades do negócio do usuário, na linguagem do usuário.
Parte 1: Visão do Usuário • Uma visão do usuário: • É uma descrição das funções do negócio, aprovada pelo usuário e varia na forma física. • Exemplos: • Catálogo de transações • Solicitação de Propostas, RFP, Proposta Comercial • Documento de requisitos, visão, caso de uso • Documento de especificação de demanda • Manuais • Etc
Parte 1: Ciclo de Vida de uma Aplicação • Ciclo de Vida de uma Aplicação • Os requisitos do usuário evoluem rapidamente nas fases iniciais de um projeto. • Essa evolução é influenciada • Necessidades da organização • • Riscos (de negócios e técnicos) associados ao projeto • • Recursos disponíveis (ex. orçamento, pessoal) • • Tecnologia disponível na organização • • Influência de outros usuários ou desenvolvedores
Parte 1: Ciclo de Vida de uma Aplicação Ciclo de Vida de uma Aplicação Na visão do IFPUG no início de um projeto é realizado um estudo de viabilidade, curto e de alto nível. Este estudo de viabilidade evolui para uma especificação de requisitos No CPM o IFPUG considera 3 categorias (na verdade fases) de documentos de requisitos.“Este manual irá considerar, para fins de ilustração, um modelo com três categorias de documentos de requisitos”(CPM) • Requisitos Iniciais do Usuário • Requisitos Técnicos Iniciais • Requisitos Funcionais Finais “A Fase de Requisitos Funcionais Finais é a fase mais precisa para a contagem de pontos de função (CPM)”
Parte 1: Ciclo de Vida de uma Aplicação Características - Requisitos Iniciais do Usuário • Incompleta • Falta de funcionalidades ”utilitárias” • Impossibilidade de implementação ou uso muito difícil • Muito genérica • Necessidades funcionais variáveis, por usuários diferentes • Requisitos definidos sem considerar a fronteira da aplicação • Expressos em um contexto diferente ou em uma terminologia não compatível com a Análise de Pontos de Função.
Parte 1: Ciclo de Vida de uma Aplicação • Características - Requisitos Técnicos Iniciais • Visão do desenvolvedor • • Dependência tecnológica • • Identificação incorreta das necessidades funcionais dos usuários • • Terminologia não familiar aos usuários • • Funcionalidades podem ser determinadas enfatizando restrições técnicas • • Fronteiras são determinadas de acordo com a arquitetura técnica de outras aplicações na organização
Parte 1: Ciclo de Vida de uma Aplicação Características - Requisitos Funcionais Finais • Contém terminologia entendida por usuários e desenvolvedores • Fornece descrições integradas de todos os requisitos do usuário, inclusive requisitos de diferentes usuários. • É completa e consistente o suficiente para permitir contar PF • Cada processo e grupo de dados é aprovado pelo usuário • A viabilidade e usabilidade são aprovadas pelos desenvolvedores
Parte 1: Ciclo de Vida de uma Aplicação • Observações do Ciclo de Vida de Aplicação • Determine o ciclo de vida da aplicação antes de iniciar a contagem • Aproximação • Medição • Toda suposição deve ser documentada • Se utilizar uma abordagem interativa, espere trabalhar com proximações durante boa parte do ciclo de vida de desenvolvimento. • Os textos na maioria das vezes “Ipsis litteris” como no CPM, com objetivo de frisar os textos do manual. (Não foi preguiça de resumir não!rsrs).
Parte 1: Ciclo de Vida de uma Aplicação Observações do Ciclo de Vida de Aplicação Requisitos: Apenas os requisitos finais do usuário.
Parte 1: Determinar Tipo de Contagem • Determinar o Tipo de Contagem • Existem três tipos de contagem • • Projeto de desenvolvimento • • Projeto de melhoria • • Aplicação (Baseline)
Parte 1: Determinar Tipo de Contagem • Determinar o Tipo de Contagem
Parte 1: Scope Creep • Scope Creep • Identificação de novas funcionalidades a medida que • O escopo é esclarecido • Funções são desenvolvidas
Parte 1: Escopo da Contagem • Identificar o Escopo da Contagem e da Fronteira da Aplicação
Parte 1: Escopo da Contagem • Propósito da Contagem • Definição:O propósito da contagem de pontos de função é fornecer uma resposta a um problema do negócio. • • Determina o tipo de contagem e o escopo da contagem requerida para obter a resposta ao problema do negócio em questão • • Influencia o posicionamento da fronteira do software que está sendo • medido.
Parte 1: Escopo da Contagem • Escopo • define as funcionalidades que serão incluídas em uma contagem de pontos de função específica. • • Define um (sub)grupo do software que está sendo medido • • É determinado pelo propósito da contagem • • Identifica quais funções serão incluídas na contagem fornecer respostas relevantes ao propósito da contagem • • Pode incluir mais de uma aplicação
Parte 1: Fronteira da Aplicação • Fronteira • Indica o limite entre o sistema que está sendo medido e o usuário • Define o que é externo à aplicação • • Interface conceitual entre a aplicação ‘interna’ e o mundo ‘externo’ do usuário. • • Membrana através da qual dados passam para dentro e para fora da aplicação • • Inclui ALIs • • Ajuda na identificação de AIEs • • Depende da visão externa do usuário • independente de considerações técnicas ou de implementação
Parte 1: Fronteira da Aplicação E se o escopo definir a contagem das aplicações A e B, como fica a fronteira?
Parte 1: Fronteira da Aplicação Escopo A fronteira de cada aplicação permanece inalterada.
Parte 1: Fronteira da Aplicação • Fronteira • O posicionamento da fronteira da aplicação é importante porque impacta o resultado da contagem de pontos de função. • Atenção: • A fronteira é baseada na visão do usuário. • A fronteira entre aplicações relacionadas está baseada nas diferentes áreas funcionais como vistas pelo usuário, não em considerações técnicas. • O Escopo da contagem não influencia a fronteira inicial já contada.
Parte 1: Fronteira da Aplicação Dicas - Fronteira Utilize as especificações externas do sistema ou obtenha um fluxo do mesmo e desenhe a respectiva fronteira, destacando as partes internas e as externas à aplicação. Verifique como os grupos de dados estão sendo mantidos. Identifique as áreas funcionais, alocando certos tipos de objetos da análise (tais como entidades ou processos elementares) a uma área funcional. Observe dados de medição correlatos, tais como esforço, custo e defeitos. As fronteiras consideradas para os pontos de função e para os outros dados de medição devem ser as mesmas.
Parte 1: Fronteira da Aplicação Dicas - Fronteira Utilize as especificações externas do sistema ou obtenha um fluxo do mesmo e desenhe a respectiva fronteira, destacando as partes internas e as externas à aplicação. Verifique como os grupos de dados estão sendo mantidos. Identifique as áreas funcionais, alocando certos tipos de objetos da análise (tais como entidades ou processos elementares) a uma área funcional. Observe dados de medição correlatos, tais como esforço, custo e defeitos. As fronteiras consideradas para os pontos de função e para os outros dados de medição devem ser as mesmas.
Parte 1: Contar Funções de Dados • Contar Funções de Dados
Parte 1: Contar Funções de Dados Funções de Dados Representam a funcionalidade fornecida ao usuário para satisfazer requisitos de dados internos e externos.
Parte 1: Contar Funções de Dados • ALI • Definição: • Grupo de dados ou de informações de controle logicamente relacionados, reconhecido pelo usuário, mantido dentro da fronteira da aplicação • Intenção Primária: • Armazenar dados mantidos através de um ou mais processos elementares da aplicação que está sendo contada
Parte 1: Contar Funções de Dados • AIE • Definição: • Grupo de dados ou de informações de controle logicamente relacionados, reconhecido pelo usuário, referenciado pela aplicação, porém mantido dentro da fronteira de uma outra aplicação. • Intenção Primária: • Armazenar dados referenciados através de um ou mais processos elementares dentro da fronteira da aplicação que está sendo contada • Obs. Tem que ser ALI de outra aplicação.
Parte 1: Contar Funções de Dados • Resumo ALI X AIE • Qual a diferença primária? A chave é a intenção primária. A intenção do ALI é manter dados dentro da fronteira aplicação Cuidado com a expressão armazenar Intenção Primária do AIE é armazenar dados referenciados através de um ou mais processos elementares dentro da fronteira da aplicação que está sendo contada
Parte 1: Contar Funções de Dados • Exercício rápido para reflexão: • Você está contando uma aplicação e esta recebe para carga um arquivo do sistema de emissão de apólices, com o seguinte layout:
Parte 1: Contar Funções de Dados Exercício rápido para reflexão: 1 -Considerando que todos estes dados são utilizados de alguma forma pela aplicação que você está contando. A princípio, quantos ALI ou AIE você identifica a princípio? 2- Tá vago né? Então vamos considerar que a aplicação que você está contando pode adicionar ao corretor um apelido e um e-mail. E agora? 3- Agora investigando um pouco mais, verificou-se que no sistema de apólices existe uma funcionalidade que atualiza alguns dados do corretor e da corretora, mas que os dados iniciais são importados do cadastro de corretores e que neste caso, o usuário do sistema de apólice te disse que era um único grupo de dados. 4- E se no sistema de apólices o endereço for uma tabela a parte? 5- Voltando ao caso do corretor, você descobre que há um sistema de cadastro de corretores que mantém os dados das corretoras, os dados do corretor e que associa um corretor a uma ou mais corretoras. Conversando com o usuário deste sistema ele enxerga claramente 2 grupos de dados distintos e consultando a contagem baseline APF da aplicação você confirma que são 2 ALI´s.
Parte 1: Contar Funções de Dados Exercício rápido para reflexão: 1 –Por fim qual a conclusão? No sistema de emissão deveriam ter sido contados 1 ALI para Corretor e 1 ALI para Corretora Para a aplicação que está sendo contada são 1 ALI corretor,1 AIE corretora, 1 AIE para Apólice e Talvez 1 AIE para segurado.
Parte 1: Terminologia IC (Informações de Controle) Dados que influenciam um processo elementar da aplicação que está sendo contada. Especificam o que, quando, ou como dados serão processados. Mantidos O termo mantido é a capacidade de modificar dados através de um processo elementar.
Parte 1: Terminologia • Reconhecido pelo Usuário • O termo reconhecido pelo usuário refere-se a requisitos definidos para processos e/ou grupos de dados que foram acordados e entendidos tanto pelos usuários quanto pelos desenvolvedores de software. • Usuário • Pessoa que especifica requisitos funcionais • Pessoa ou coisa que interage com o sistema. • Um usuário é qualquer pessoa que especifica os Requisitos Funcionais do • Usuário e/ou qualquer pessoa ou coisa que se comunica ou interage com o software a qualquer momento. (CPM)
Parte 1: Terminologia Processo Elementar É a menor unidade de atividade que tem significado para o(s) usuário(s). Deve ser autocontido e deixar o negócio da aplicação que está sendo contada em um estado consistente. DER (Dado Elementar) É a menor unidade de dado que tem significado para o(s) usuário(s). É um campo único, não repetido e reconhecido pelo usuário.
Parte 1: Terminologia • RLR (Registro Lógico Referenciado) • É um subgrupo de dados reconhecido pelo usuário dentro de um ALI ou um AIE • Também descrito como Registro Elementar. • Pode ser de 2 Tipos: • Obrigatório • Opcional
Parte 1: Terminologia • RLR (Registro Lógico Referenciado) • É um subgrupo de dados reconhecido pelo usuário dentro de um ALI ou um AIE • Também descrito como Registro Elementar. • Pode ser de 2 Tipos: • Obrigatório • Opcional
Parte 1: Regras para identificação ALI • Regras para identificação ALI • Todas as seguintes regras de contagem devem ser satisfeitas. • O grupo de dados ou de informações de controle é lógico e reconhecido pelo usuário. • O grupo de dados é mantido através de um processo elementar dentro da fronteira da aplicação que está sendo contada.
Parte 1: Regras para identificação AIE • Regras para identificação de AIE • Todas as seguintes regras de contagem devem ser satisfeitas. • O grupo de dados ou de informações de controle é lógico e reconhecido pelo usuário. • O grupo de dados é referenciado por, e externo à aplicação que está sendo contada. • O grupo de dados não é mantido pela aplicação que está sendo contada. • O grupo de dados é mantido em um ALI de outra aplicação.
Parte 1: Regras para contagem DER • Regras para contagem de DERs • Todas as seguintes regras de contagem devem ser satisfeitas. • Conte um DER para cada campo único, reconhecido pelo usuário e não repetido, mantido ou recuperado de um ALI ou AIE através da execução de um processo elementar • Quando duas aplicações mantém e/ou referenciam o mesmo ALI/AIE, mas cada uma mantém/referencia diferentes DERs, conte apenas os DERs que estão sendo usados por cada aplicação para medir o ALI/AIE. • Conte um DER para cada parte de dado requisitada pelo usuário para estabelecer um relacionamento com outro ALI ou AIE.
Parte 1: Regras para identificação RLRs • Regras para identificação de RLRs • Uma das seguintes regras de devem ser satisfeitas. • Conte um RLR para cada subgrupo opcional ou obrigatório do ALI ou AIE. • ou • Se não existirem subgrupos, conte o ALI ou AIE como apenas 1 RLR.
Parte 1: Contar Função de Dados Processo para contagem de função de dados 1.0 – Identificar ALIs 2.0 – Identificar AIEs 3.0 - Determinar Complexidade e a Contribuição
Parte 1: Contar Função de Dados Complexidade para ALI e AIE Contribuição ALI Contribuição AIE
Parte 1: Contar Função de Transação • Contar Funções de Transação
Parte 1: Contar Função de Transação Processo para contagem de função de dados As funções de transação representam a funcionalidade fornecida ao usuário para o processamento de dados por uma aplicação (EE, CE, SE)
Parte 1: Contar Função de Transação EE Definição: Processo elementar que processa dados ou informações de controle que vêm de fora da fronteira da aplicação Intenção Primária: Manter um ou mais ALIs e/ou alterar o comportamento do sistema
Parte 1: Contar Função de Transação CE Definição: Processo elementar que envia dados ou informações de controle para fora da fronteira da aplicação Intenção Primária: Apresentar informações ao usuário através da recuperação de dados ou informações de controle de um ALI ou AIE. O processamento lógico não deve conter fórmulas matemáticas ou cálculos, nem criar dados derivados. Nenhum ALI é mantido durante o processamento O comportamento do sistema não é alterado.
Parte 1: Contar Função de Transação SE Definição: Processo elementar que envia dados ou informações de controle para fora da fronteira da aplicação Igual a CE. Intenção Primária: Apresentar informações ao usuário através de lógica de processamento. Pode incluir, ou não, a recuperação de dados ou informações de controle Pode alterar o comportamento do sistema
Parte 1: Contar Função de Transação Resumo e reflexão Observando o quadro abaixo, qual a diferença entre uma CE e um SE? E entre uma SE e uma EE?
Parte 1: Contar Função de Transação Resumo e reflexão A intenção primária é o que diferencia as todas funções, com exceção da diferença entre CE e SE.