Baixe o app para aproveitar ainda mais
Prévia do material em texto
D en iz e P im en ta 1 Este material está registrado na Biblioteca Nacional. Registro 397.004 - Livro 739 - Folha 164 Índice 1: Introdução à Técnica de Contagem de Pontos de Função 1.1 – Visão Geral 11 1.2 – Definições Gerais 19 1.3 – Processo de Contagem 23 2: Funções de Dados 2.1 – Definições 36 2.2 – Regras de Contagem 47 2.3 – Práticas de Contagem (Code Data) 54 3: Funções de Transação 3.1 – Definições 66 3.2 – Regras de Contagem 76 4: Práticas de Contagem 4.1 – Funções de Dados 91 4.2 – Funções de Transação 116 5: Complementando a Técnica 5.1 – Outros Tipos de Contagem 133 D en iz e P im en ta 2 5.2 – Ferramentas de Apoio 135 5.3 - Produtividade 136 5.4 - Demandas Não Mensuráveis 138 5.5 - Dúvidas 139 5.6 - Dicas 146 D en iz e P im en ta 3 D en iz e P im en ta 4 D en iz e P im en ta 5 D en iz e P im en ta 6 Observação: É possível verificar palavras similares para o mesmo conceito em bibliografias diferentes, eis aqui uma lista do que pode ser encontrado e como é nomeado nesta apostila (está em negrito). RLR – Registro Lógico Referenciado, ou Tipo de Registro Elementar. ALR – Arquivo Lógico Referenciado, ou Tipo de Arquivo Referenciado. DER – Dado Elementar Referenciado, ou Tipo de Dado Elementar (TD). D en iz e P im en ta 7 D en iz e P im en ta 8 D en iz e P im en ta 9 Objetivos do Capítulo 1: 1. Visão Geral 2. Definições Gerais D en iz e P im en ta 10 2. Definições Gerais 3. Processo de Contagem D en iz e P im en ta 11 D en iz e P im en ta 12 Ponto de Função é uma métrica funcional de sistemas, significa que: •Mede a funcionalidade entregue ao usuário, independentemente da forma de implementação; D en iz e P im en ta 13 •Independe de plataforma ou linguagem de programação; •Independe do estilo de programação utilizado; •Permite comparações de produtividade entre empresas, projetos, equipes, linguagens, etc.. (ISO/IEC 14143-1:1998) LOC As primeiras tentativas de medir o tamanho de um sistema levou em considerações as linhas de D en iz e P im en ta 14 As primeiras tentativas de medir o tamanho de um sistema levou em considerações as linhas de código (LOC’s). Certo sistema possui um número de LOC’s maior que um outro, portanto é maior e mais complexo. A conclusão é falsa, pois escrever 10 LOC’s em COBOL é mais simples do que escrever as mesmas LOC’s em ASSEMBLER. Ou seja, esta técnica não permite comparação entre programas escritos em linguagens distintas. Mais que isso em comparações de sistemas escritos na mesma linguagem LOC’s não permite quantificar a qualidade do código escrito. LOC’s só podem ser apurados para sistemas que já foram desenvolvidos. Análise de Pontos de Função Desenvolvida por Allan J. Albrecht analista da IBM em 1979, a pedidos do Grupo de Usuários da IBM que necessitavam de um métrica para determinar os fatores críticos de um sistema/aplicação. Até 1984 a técnica era utilizada para dimensionar sistemas, e consequentemente o esforço para seu desenvolvimento. Atualmente a utilização tem se dado através de implantação de programas de métricas para melhorar estimativas, gerenciar a qualidade e monitorar a produtividade. Assim como o metro quadrado serve para dimensionar o tamanho de um muro, e esta medida possibilita a estimativa de esforço e custo para a sua construção, da mesma forma atua o ponto de função dimensionando o software. D en iz e P im en ta 15 Além do tamanho algumas variáveis influenciam no preço e prazo da construção, e precisam ser definidas: material de acabamento (massa, ladrilho, tijolo, chapiscado de cimento, etc....), a marca do material, a expertise dos empreiteiros, etc.. e ainda assim com tudo definido o preço ainda varia de empresa para empresa. Em desenvolvimento de sistemas acontece o mesmo, a linguagem de desenvolvimento, a expertise da equipe, a complexidade e estabilidade do negócio, irão influenciar no preço e prazo. A quantidade de ponto de função calculada para o projeto serve como apoio para calcular o custo e prazo de desenvolvimento. Note que variando o material, por exemplo, ao invés de ladrilho optou-se por colocar pastilha, o preço e prazo são influenciados, mas o tamanho do muro não se altera. O mesmo ocorre com o ponto de função, pois este informa o tamanho da aplicação ou projeto e não é influenciada pela linguagem, nem pela equipe e etc.. Requisitos são importantes e interferem no tamanho do muro (curva, reto, altura, largura, etc.), em pontos de função os requisitos funcionais interferem diretamente na contagem. Objetivos da Técnica • A funcionalidade implementada no software, que o usuário solicita e recebe; • A funcionalidade impactada pelo desenvolvimento, melhoria e manutenção de software, D en iz e P im en ta 16 • A funcionalidade impactada pelo desenvolvimento, melhoria e manutenção de software, independentemente da tecnologia utilizada na implementação. Benefícios da Técnica •Determinar o tamanho de um produto adquirido (contagem das funções incluídas) – saber o que se está comprando. D en iz e P im en ta 17 •Auxilia a análise do tipo make or buy. •Dá suporte a análise de produtividade e qualidade. •Meio para estimar custo e recursos. •Fator de normalização para comparação de software. D en iz e P im en ta 18 D en iz e P im en ta 19 Visão do Usuário •Representa uma descrição formal das necessidades do negócio do usuário, na linguagem do usuário. Os desenvolvedores traduzem a informação do usuário para informações em linguagem técnica a fim de prover uma solução. D en iz e P im en ta 20 técnica a fim de prover uma solução. •Uma contagem de pontos de função é executada usando informações em uma linguagem comum a usuários e a desenvolvedores. •É uma descrição das funções do negócio. •É aprovada pelo usuário. •Pode ser usada para contar pontos de função. •Pode variar na forma física. (ex. catálogo de transações, propostas, documento de requisitos, especificações externas, especificações detalhadas). Processo Elementar (PE) É a menor unidade de atividades significativa para o usuário. Deve ser completo, independente e deixar o negócio da aplicação em estado consistente. D en iz e P im en ta 21 Por exemplo, é solicitado o desenvolvimento de uma nova funcionalidade para incluir um empregado na aplicação. A definição do usuário para empregado inclui as informações de salário e dependentes. Do ponto de vista do usuário, a menor unidade de atividade é a inclusão de um novo empregado. Adicionar apenas uma parte da informação, como salário ou dependentes, não é uma atividade que poderia ser qualificada como um processo elementar. Se todas as informações do empregado não estiverem inseridas, o empregado ainda não será adicionado. Adicionar apenas parte da informação deixa a funcionalidade de adicionar um empregado em estado inconsistente. Se ambas as informações de salário e de dependentes forem completamente inseridas, então o negócio estará consistente. A partir deste entendimento o processo elementar é o cadastro do empregado com suas informações de salário e dependentes. •Adicionar empregado sem associar informação dos seus dependentes – não é PE; •Adicionar somente dependente – não é PE; •Adicionar empregado com dependente – é um PE. Atenção: A identificação do processo elementar depende diretamente da visão do usuário. Algumas perguntas facilitam a identificação de um processo elementar, por exemplo: faz sentido ao negócio cadastrar o empregado sem as informações do dependente (quando este empregado possui dependente)? e cadastrar o dependente sem o empregado? Votação Eletrônica 1. O mesário informa o código do eleitor. 2. O sistema exibe o nome do eleitor conforme o código informado. D en iz e P im en ta 22 2. O sistema exibe o nome do eleitor conforme o código informado. 3. O eleitor informa o número do candidato. 4. O sistema exibe a foto, o número, o nome e a sigla do partido do candidato e do vice quando foro caso 5. O eleitor confirma a votação. 6. O sistema registra a votação atualizando o eleitor e voto do candidato. 7. O sistema emite um sinal sonoro e uma mensagem de confirmação. D en iz e P im en ta 23 Processo de Contagem 1. Reunir a documentação disponível. A documentação é o insumo para a contagem de pontos de D en iz e P im en ta 24 1. Reunir a documentação disponível. A documentação é o insumo para a contagem de pontos de função, deve descrever a funcionalidade entregue pelo software ou a funcionalidade impactada pelo projeto de software medido. A documentação reflete diretamente a qualidade da contagem, pois se a documentação fornecida como insumo para a contagem for pobre, consequentemente a contagem não vai fornecer qualidade suficiente para satisfazer seu objetivo. 2. Determinar o escopo e fronteira da contagem, identificando os Requisitos Funcionais do Usuário. Para determinar o escopo e fronteira da contagem e identificar os Requisitos Funcionais do Usuário, devem ser executadas as seguintes atividades: • Identificar o tipo de contagem, com base no propósito, como um dos seguintes: Projeto de Desenvolvimento, Aplicação e Projeto de Melhoria. • Determinar o escopo da contagem, com base no propósito e tipo de contagem. • Determinar a fronteira da aplicação. 3. Medir Funções de Dado. A funcionalidade de dados satisfaz os Requisitos Funcionais do Usuário referentes a armazenar e/ou referenciar dados. 4. Medir Funções de Transação. A funcionalidade de transação satisfaz os Requisitos Funcionais do Usuário que processam dados. Toda a funcionalidade de transação dentro do escopo da contagem deve ser avaliada, a fim de identificar cada processo elementar único. 5. Calcular o Tamanho Funcional. O objetivo e escopo da contagem deverão ser considerados na seleção e utilização da fórmula apropriada para calcular o tamanho funcional. 6. Reportar o resultado da contagem de Pontos de Função. Permite informar consistentemente o resultado da contagem inclusive informando o padrão utilizado. Determinar o Tipo de Contagem • Projeto de Desenvolvimento – para a primeira instalação do software, conta também se houver atividade de conversão de dados (do sistema antigo para o novo – que está sendo contado). D en iz e P im en ta 25 contado). • Projeto de Melhoria – é a contagem para manutenção de um sistema, exclusão, alteração ou inclusão de funcionalidades. • Aplicação – também chamado de baseline, ou contagem inicial, é a contagem de um software ou parte dele. Determinar a Fronteira da Aplicação •Deve-se ter como base, o ponto de vista do usuário. O foco deve estar no que ele pode entender e descrever; D en iz e P im en ta 26 •A fronteira entre aplicações deve ser baseada na separação das funções conforme estabelecido pelo negócio e não em considerações tecnológicas; •Em projetos de melhoria, a fronteira estabelecida no início do projeto deve estar de acordo com a fronteira estabelecida para a aplicação. Fronteira da Aplicação •É uma interface conceitual entre aplicação ‘interna’ e mundo ‘externo’ do usuário; •Atua como uma membrana através da qual os dados processados pelas transações passam D en iz e P im en ta 27 •Atua como uma membrana através da qual os dados processados pelas transações passam para dentro e para fora da aplicação; •Encapsula os dados lógicos mantidos pela aplicação (ALIs); •Auxilia na identificação dos dados lógicos referenciados, mas não mantidos pela aplicação (AIEs); •É dependente da visão de negócios externa do usuário; •É independente da tecnologia. No desenho podem ser observadas duas fronteiras a do Sistema de Controle de RH e a do Sistema de Controle de Acesso. Regras da Fronteira •É baseada na visão do usuário. O foco é no que o usuário pode entender e descrever; •A fronteira entre aplicações relacionadas é baseada em áreas funcionais distintas como são D en iz e P im en ta 28 •A fronteira entre aplicações relacionadas é baseada em áreas funcionais distintas como são vistas pelo usuário e não em considerações técnicas; •A fronteira inicial previamente estabelecida para a aplicação ou aplicações a ser modificada não é influenciada pelo escopo. Escopo da Contagem O escopo da contagem define quais funcionalidades serão incluídas em uma determinada contagem de pontos de função, por exemplo, em uma contagem de um projeto de novo desenvolvimento o escopo da contagem são todas as funcionalidades a serem desenvolvidas e mais as funções de D en iz e P im en ta 29 escopo da contagem são todas as funcionalidades a serem desenvolvidas e mais as funções de carga, necessárias para iniciar a aplicação. •Projeto de Melhoria inclui as funções adicionadas, alteradas e excluídas; •Projeto de Desenvolvimento inclui todas as funções; •Aplicação pode incluir (dependendo do propósito): •Somente as funcionalidades que estão sendo utilizadas pelo usuário; •Todas as funcionalidades entregues. A fronteira da aplicação indica os limites entre o sistema que está sendo medido e o usuário e demais sistemas. Funções de Dados – representam as funcionalidades fornecidas ao usuário para atender requisitos de dados internos e externos. •Arquivo Lógico Interno (ALI) – são os dados ou informações mantidas pela aplicação a ser contada. D en iz e P im en ta 30 contada. •Arquivo de Interface Externa (AIE) – são os dados lidos de outra aplicação. Funções Transacionais – representam as funcionalidades definidas pelo usuário para processamento de dados pela aplicação. •Entrada Externa (EE) – É o Processo Elementar que faz a manutenção dos dados ou informações de controle da aplicação. •Saída Externa (SE) – É o Processo Elementar que gera dados (calculados ou derivados) enviados para fora da fronteira da aplicação. •Consulta Externa (CE) – É o Processo Elementar que envia dados ou informações de controle para fora da fronteira da aplicação, é uma simples consulta. Fórmula para Cálculo do Projeto de Desenvolvimento O projeto que implanta a primeira versão do software é denominado Projeto de Desenvolvimento. D en iz e P im en ta 31 A fórmula é apresentada no slide acima, onde: DFP: é a contagem de pontos de função do projeto de desenvolvimento; ADD: é o tamanho das funções a serem entregues ao usuário pelo projeto de desenvolvimento (soma de funções de dados e funções transacionais); CFP: é o tamanho da funcionalidade de conversão. Fórmula para Cálculo do Projeto de Melhoria Os projetos que fazem manutenções evolutivas e implantam as demais versões do software são denominados Projetos de Melhoria. Onde: EFP: é a contagem de pontos de função do projeto de melhoria; ADD: é o tamanho das funções incluídas pelo projeto de melhoria; CHGA: é o tamanho das funções alteradas pelo projeto de melhoria – conforme as mesmas estão / estarão após a implementação; CFP: é o tamanho da funcionalidade de conversão; DEL: é o tamanho das funções excluídas pelo projeto de melhoria. As funções de conversão são contadas, tanto no Projeto de Desenvolvimento, quanto no Projeto de Melhoria, mas nunca altera o tamanho da Aplicação. Fórmula para Cálculo da Aplicação Inicialmente, o usuário está recebendo novas funcionalidades. Não existem alterações nas funcionalidades existentes ou exclusões de funcionalidades obsoletas ou desnecessárias. D en iz e P im en ta 32 Atenção: A contagem de pontos de função da aplicação não inclui requisitos de conversão. Onde: AFP: é a contagem de pontos de função da aplicação; ADD: é o tamanho das funções a serem entregues ao usuário pelo projeto de desenvolvimento (excluído o tamanho de qualquer funcionalidade de conversão), ou a funcionalidade existente no momento da contagem da aplicação. Fórmula para Cálculo da Aplicação Depois de um Projeto de Melhoria Quando um projeto de melhoria é instalado, a contagem de pontos de função da aplicação existente deve ser atualizada para refletir as modificações realizadas. As funcionalidades da aplicação podem ser alteradas de várias maneiras: • Funcionalidadesincluídas (novas) aumentam o tamanho da aplicação. • Funcionalidades alteradas aumentam, diminuem ou não afetam o tamanho da aplicação. • Funcionalidades excluídas diminuem o tamanho da aplicação. Onde: AFPA: é a contagem de pontos de função da aplicação após o projeto de melhoria; AFPB: é a contagem de pontos de função da aplicação antes do projeto de melhoria; ADD: é o tamanho das funções incluídas pelo projeto de melhoria; CHGA: é o tamanho das funções alteradas pelo projeto de melhoria – como estão / estarão após a implementação; CHGB: é o tamanho das funções alteradas pelo projeto de melhoria – como estão / estavam antes do início do projeto; DEL: é o tamanho das funções excluídas pelo projeto de melhoria. Exercícios do Capítulo 1: 1) O que não se aplica à definição de usuário? a) É quem utiliza o sistema. b) É quem especifica requisitos. c) É quem testa o sistema. d) É um outro software que interage com a aplicação em questão. 2) A fronteira da aplicação: a) É determinada após a definição do escopo da contagem. b) Depende das características gerais do sistema. c) Pode afetar o propósito da contagem. d) Nenhuma das respostas anteriores. 3) Fronteiras: a) Identificam a borda entre a aplicação ou o projeto a ser medido e as aplicações externas ou o domínio do usuário. b) Estabelecem o escopo do produto do trabalho a ser medido. c) Consideram a aplicação do ponto de vista do usuário, o que o usuário pode entender e descrever. d) Todas as opções acima. 4) Os procedimentos de contagem de pontos de função incluem os seguintes passos: a) Determinar quando a contagem será realizada. b) Determinar o tipo de contagem que será realizada. D en iz e P im en ta 33 c) Medir o esforço associado ao projeto de desenvolvimento. d) Todos os itens acima estão corretos. 5) A visão do usuário de uma aplicação é descrita por uma ou mais das seguintes possibilidades: a) É aprovada pelo usuário. b) Pode ser usada para contar pontos de função. c) Pode variar na forma física. d) Todas as possibilidades acima estão corretas. 6) Os objetivos da análise de pontos de função são: a) Medir o software independentemente da tecnologia utilizada para implementação. b) Medir a funcionalidade que o usuário requisita independentemente de se ele é ou não disponibilizada. c) Medir a produtividade associada com o desenvolvimento de um módulo do software. d) Medir o software independentemente da tecnologia utilizada para implementação e medir a produtividade associada ao desenvolvimento do software. Aprendemos neste capítulo: D en iz e P im en ta 34 •Em visão geral vimos: O que é a técnica, Objetivos, Benefícios. •Principais conceitos como: Visão do Usuário, Processo Elementar, Elementos Primários da Contagem (ALI, AIE, EE, CE, SE). •Definição do Propósito da Contagem (Definição do Tipo e Escopo da Contagem e Fronteira da Aplicação). Objetivos do Capítulo 2: 1. Definições 2. Regras de Contagem D en iz e P im en ta 35 2. Regras de Contagem 3. Práticas de Contagem (Code data) D en iz e P im en ta 36 D en iz e P im en ta 37 Funções de Dados As funções de dados representam a funcionalidade fornecida ao usuário para satisfazer requisitos de dados internos e externos. Os tipos de funções de dados são definidos como arquivos lógicos internos (ALIs) e arquivos de interface externa (AIEs). D en iz e P im en ta 38 internos (ALIs) e arquivos de interface externa (AIEs). O termo arquivo aqui não significa arquivo no sentido tradicional de processamento de dados. Neste caso, arquivo refere-se a um grupo de dados logicamente relacionados e não à implementação física destes grupos de dados. Procedimento de Contagem 1. Identificar os ALIs e AIEs reconhecidos pelos Processos Elementares. 2. Validar os ALIs e AIEs com as regras de contagem. 3. Determinar a complexidade dos ALIs e AIEs. 4. Determinar sua contribuição para a contagem de pontos de função. Arquivo Lógico Interno (ALI) Define o grupo de dados lógico que está dentro da fronteira da aplicação que está sendo contada, portanto deve ser mantido por alguma funcionalidade (processo elementar) desta aplicação. D en iz e P im en ta 39 Por exemplo, a aplicação de RH mantém dados de funcionário, de funções, benefícios, etc.. esses são alguns exemplos de grupos de dados lógicos mantidos por funcionalidades da aplicação. Exemplos de ALI • Tabelas que armazenam dados mantidos pela aplicação; • Arquivos de configuração mantidos pela aplicação; • Arquivos de segurança de acesso à aplicação (senhas), mantidos por ela; • Arquivos mantidos não só pela aplicação, mas também por outra aplicação. Não são exemplos de ALI • Arquivos temporários, de trabalho ou de classificação • Arquivos gerados para processamento em outra aplicação. • Arquivos de backup; • Arquivos introduzidos exclusivamente em função da tecnologia utilizada; • Arquivos de índices; • Operações de junção e projeção, visões (views); • Dados de auditoria. Arquivo de Interface Externa (AIE) Define o grupo de dados lógico que está fora da fronteira da aplicação que está sendo contada e deve ser mantido por alguma funcionalidade (processo elementar) de outra aplicação. D en iz e P im en ta 40 Por exemplo, a aplicação de RH consulta informações de permissões e segurança da aplicação de Controle de Acesso, esse é um exemplo de informação que é mantida por outra aplicação e que o sistema de RH somente referencia. Exemplos de AIE •Dados de referência externos utilizados pela aplicação; •Arquivos de help, desde que mantidos por outra aplicação; •Arquivos de mensagens de erro, desde que mantidos por outra aplicação. Não são exemplos de AIE •Arquivos recebidos de outra aplicação para manter um ALI; •Dados mantidos pela aplicação e utilizados por outra aplicação; •Dados formatados e processados para uso de outras aplicações. Na figura acima identificamos duas aplicações com suas fronteiras definidas pela linha tracejada, o escopo da contagem é marcado pela linha vermelha. A partir deste esquema é possível identificar que o grupo de dados ‘y’ é um ALI na contagem, pois a manutenção desses dados é feita pela função transacional ‘a’, e esta mesma função ainda referencia o grupo de dados ‘x’ da aplicação B, que D en iz e P im en ta 41 transacional ‘a’, e esta mesma função ainda referencia o grupo de dados ‘x’ da aplicação B, que também participa da contagem como AIE. Desta forma esta contagem possui: -1 ALI – ‘y’ -1 AIE – ‘x’ -1 função transacional – ‘a’ No mesmo exemplo com a definição de escopo de contagem alterada para aplicação ‘B’, podemos identificar: -1 função transacional – ‘ab’ D en iz e P im en ta 42 -1 ALI – ‘x’ PRINCIPAIS TERMOS Informações de controle são dados que influenciam um processo elementar da aplicação que está D en iz e P im en ta 43 Informações de controle são dados que influenciam um processo elementar da aplicação que está sendo contada. Especificam o que, quando, ou como dados serão processados. Por exemplo, alguém do departamento de folha de pagamento estabelece ciclos de pagamentos para especificar quando os funcionários de cada filial serão pagos. O ciclo de pagamento, ou cronograma, contém informações de periodicidade que determinam quando o processo elementar de pagamento de funcionários ocorrerá, afetando a execução do processo elementar de pagamento dos funcionários O termo reconhecido pelo usuário refere-se a requisitos definidos para processos e/ou grupos de dados que foram acordados e compreendidos tanto pelos usuários quanto pelos desenvolvedores de software. Por exemplo, usuários e desenvolvedores concordam que uma Aplicação de Recursos Humanos irá manter e armazenar informações do Funcionário. Manter é a capacidade de modificar dados através de um processo elementar. Exemplos incluem, mas não estão limitados a: inclusão, alteração, exclusão, carga inicial, revisão, atualização, atribuição (alocação) e criação. Processo Elementar É a menor unidade de atividade que tem significado para ousuário. O processo elementar deve ser autocontido e deve deixar a aplicação em estado consistente. Por exemplo, um usuário solicita a funcionalidade de incluir um novo funcionário na aplicação. A definição do usuário para funcionário inclui as informações de salário e dependentes. Do ponto de vista do usuário, a menor unidade de atividade é a inclusão de um novo funcionário. Adicionar apenas uma parte da informação, como salário ou dependentes, não é uma atividade que poderia ser qualificada como um processo elementar. Se todas as informações do funcionário não estiverem inseridas, o funcionário ainda não será adicionado. Adicionar apenas parte da informação deixa a funcionalidade de incluir funcionário em estado inconsistente. Se ambas as informações de salário e de dependentes forem completamente inseridas, então o negócio estará consistente. Definições • Dados Elementares Referenciados (ou Tipo de Dados, ou Data Element Type – DET) – é um campo único, reconhecido pelo usuário, não repetido. D en iz e P im en ta 44 • Registros Lógicos Referenciados (ou Record Element Type – RET) – subgrupo de tipos de dados reconhecidos pelo usuário, componente de um ALI ou AIE. Podem ser opcionais ou obrigatórios. � Subgrupos Opcionais são aqueles que o usuário tem a opção de usar um ou nenhum dos subgrupos durante o processo elementar que inclui ou cria uma instância do dado. D en iz e P im en ta 45 subgrupos durante o processo elementar que inclui ou cria uma instância do dado. � Subgrupos Obrigatórios são subgrupos onde o usuário deve usar pelo menos um. No primeiro exemplo identificamos dois subgrupos de pessoa, e pela regra do negócio sempre que uma pessoa for inserida devemos informar o subtipo, então temos um ALI com dois RLRs. Os subgrupos são mandatórios, pois obrigatoriamente uma pessoa é física ou jurídica. O segundo exemplo mostra dois subgrupos de informações de associados, o subgrupo de associado e outro subgrupo de informações de seus dependentes. O subgrupo dependente é opcional, pois um funcionário pode não possuir dependentes. A partir do requisito “Manter Carga” foi identificado que o usuário conhece este grupo de informações, são informações de negócio logicamente relacionadas com demais grupos de dados do sistema. D en iz e P im en ta 46 Houve a identificação dos Dados Elementares Referenciados (DER), são eles: Número, peso, data de validade e temperatura máxima e dos Tipos de Registros Elementares (RLR) que são: Carga Normal, Carga Perecível e Carga Sensível. Observação: estas informações são inerentes ao negócio, é preciso conhecer a visão do usuário para extraí-las, ou seja, a documentação de insumo para a contagem precisa representar todas estas questões. D en iz e P im en ta 47 D en iz e P im en ta 48 D en iz e P im en ta 49 Regras de Identificação de DER •Conte um DER para cada campo único, não repetido, identificado pelo usuário, mantido ou referenciado em um ALI ou AIE através da execução de um processo elementar. D en iz e P im en ta 50 •Quando duas aplicações mantêm e/ou referenciam o mesmo ALI/AIE, mas cada uma mantém / referencia DER’s distintos, conte apenas os DER’s que estiverem sendo utilizados por cada aplicação. •Conte um DER para dados requisitados pelo usuário para estabelecer um relacionamento com outro ALI ou AIE. Registros Lógicos Referenciados São os subgrupos dos grupos de dados identificados, caso seja possível a identificação. Portanto se o grupo de dados clientes possuir subgrupos, como por exemplo o subgrupo de clientes pessoa física e o de pessoa jurídica, teremos 2 RLR para o grupo de cliente. D en iz e P im en ta 51 e o de pessoa jurídica, teremos 2 RLR para o grupo de cliente. D en iz e P im en ta 52 D en iz e P im en ta 53 D en iz e P im en ta 54 D en iz e P im en ta 55 Dados de Negócio Dados de Negócio podem também ser referenciados como Dados Centrais do Usuário (“Core User Data”) ou Objetos de Negócio. Estes tipos de dados refletem a informação necessária para ser guardada e recuperada pela área funcional tratada pela aplicação. Dados de Negócio normalmente D en iz e P im en ta 56 guardada e recuperada pela área funcional tratada pela aplicação. Dados de Negócio normalmente representam um percentual significativo das entidades identificadas. A maior parte tem as seguintes características: Lógicas •Reflete as informações de uma área funcional da aplicação. •Representa um importante percentual das entidades identificadas. •Armazena dados principais (core user data) utilizados nas transações de negócio. •Muito dinâmico - operações normais do negócio fazem com que eles sejam referenciados, incluídos, alterados e excluídos rotineiramente. •Participa de relatórios e consultas, por ser o objetivo da aplicação. Físicas •Têm campos chaves e normalmente muitos atributos. •Podem ter de zero a infinitos registros. Exemplos Os grupos lógicos de dados de Cliente, Locação e Carro dentro do Sistema de Controle de Aluguel de Carro. A locação deve incluir itens como: - Data da locação - Data da devolução - Cliente - Item alugado, etc.. Dados de Referência São armazenados para auxiliar as regras de negócio para a manutenção dos Dados de Negócio. Por exemplo, uma aplicação de RH possui dados como os valores de Impostos Governamentais para cada faixa salarial e a data em que a taxa do imposto se tornou efetiva. Normalmente os Dados de D en iz e P im en ta 57 cada faixa salarial e a data em que a taxa do imposto se tornou efetiva. Normalmente os Dados de Referência representam um pequeno percentual das entidades identificadas. A maior parte tem as seguintes características: Lógicas •Armazena dados de suporte as regras de negócio. •Representa um pequeno percentual das entidades identificadas. •Pouco dinâmicas. •Transações processando Dados de Negócio frequentemente necessitam acessar os Dados de Referência. Físicas •Têm campos chaves e muitos atributos. •Normalmente pelo menos um registro ou um número limitado de registros. Exemplos •Tarifas da Função, Tarifas Abatidas, Tarifas dos Impostos, Dissídio. •Arquivo de Tarifas da Função – armazena informações sobre as tarifas a serem pagas para cada tipo de função e a habilidade exigida para aquele tipo de função. •Tipo da Função. •Situação, Tarifa do Cargo, Data Efetiva (1:n). •Descrição da habilidade da Função (1:n). Dados de Código (Code Data ou Code Table) Fornece uma lista de valores válidos que um atributo descritivo pode ter. Tipicamente os atributos dos Dados de Códigos são Códigos, Descrição e/ou outros atributos padrão descrevendo o código. Ex.: abreviação comum, data inicial, data final, dados de trilha de auditoria. D en iz e P im en ta 58 abreviação comum, data inicial, data final, dados de trilha de auditoria. A diferença chave entre Dados de Códigos e Dados de Referência é que com Dados de Código, você pode substituir o código pela descrição sem alteração do significado dos Dados do Negócio. Ex.: Código do Aeroporto X Nome do Aeroporto, Código da Cor X Descrição da Cor. Com Dados de Referência você não pode substituir (Ex.: Código do Imposto com a Alíquota do Imposto). Características Lógicas •Dados são obrigatórios para a área funcional, mas armazenado opcionalmente como um arquivo de dados. •Geralmente não identificado como parte dos requisitos funcionais; ele é normalmente identificado como parte do projeto para satisfazer requisitos técnicos. •Às vezes mantidos pelo usuário (normalmente por um usuário do suporte). •Armazena dados para padronizar e facilitar atividades do negócio e transações do negócio. •Essencialmente estático. •Transações do negócio acessam Dados de Código para melhorar casos de entradas de dados, melhorar a consistência de dados, garantir integridade de dados, etc.. •Se reconhecido pelo usuário, pode ser considerado (as vezes) como um grupo do mesmo conjunto de dados; Pode ser mantido utilizando a mesma lógica de processamento. CaracterísticasFísicas •Constitui-se de campos chave e normalmente um ou dois atributos apenas. •É estático, tipicamente tem um número estável de registros. •Às vezes desnormalizado e armazenado em uma tabela física com outros Dados de Código. •Pode ser implementado de diferentes formas (ex.: em uma aplicação separada, dicionário de dados ou hard-coded dentro de um software. Exemplos •Estado (Código do Estado, Descrição do Estado) •Tipo de Pagamento (Código do Tipo de Pagamento, Descrição do Tipo de Pagamento) Neste exemplo a “observação do item” é dependente do “item amostra”. Portanto temos um ALI “ITEM AMOSTRA” com 6 DER (NU_ITEM_AMOSTRA, D en iz e P im en ta 59 Portanto temos um ALI “ITEM AMOSTRA” com 6 DER (NU_ITEM_AMOSTRA, CO_USUARIO_AUDITADO, VR_ACERTO, DH_CRIACAO, DE_OBSERVAÇÃO, CO_USUARIO). Deve ser contado 2 RLRs o item e seu conjunto de observações. Um ALI com 6 DER e 2 RLR tem complexidade BAIXA e contribui com 7 pontos de função brutos. Requisitos e definições do negócio Foram solicitados pelo usuário processos na aplicação para cadastrar perguntas com seus D en iz e P im en ta 60 Foram solicitados pelo usuário processos na aplicação para cadastrar perguntas com seus subtipos (simples livre, simples múltipla escolha e composta). As perguntas simples devem se subdividir em pergunta simples livre e simples de múltipla escolha. Quando cadastrada uma pergunta composta devem ser selecionadas perguntas simples para sua composição. Foi identificado junto a área de negócio que a Categoria da Pergunta possui informações estáticas e não passa de 20 registros. Contagem 1º passo: Identificar os grupos de dados lógicos. Foi identificado o grupo de dados de Pergunta com as entidades (pergunta, simples, simples composta, composta, livre e múltipla escolha) e o grupo de dados de categoria de pergunta. 2º passo: Classificar os grupos de dados. O grupo de dados de pergunta é um ALI e o grupo de dados de categoria de pergunta deve ser classificado como code data. Os Tipos de Registros Elementares do ALI pergunta são os subtipos da pergunta, são elas: simples livre, simples múltipla escolha e composta. Os Dados Elementares Referenciados do ALI pergunta são: número, descrição, indicador de exclusão, descrição da categoria, indicador da natureza da resposta, indicador do tipo de escolha e a composição da pergunta que é formada pelo código da pergunta composta e os códigos das perguntas simples que compõem as perguntas compostas. 3º passo: Atribuir a Complexidade. De acordo com a tabela de complexidade, um ALI com 3 RLR e 10 DER possui complexidade BAIXA. 4º passo: Atribuir PF. De acordo com a tabela de contribuição, um ALI de complexidade baixa possui 7 Pontos de Função (PF). Conclusão Neste exemplo fica claro que a solução implementada pode ser variada e a contagem não poderá ser influenciada pela implementação, por exemplo, poderia ter sido criada uma única tabela para guardar informação de pergunta e a contagem seria a mesma. Mais uma vez o foco é no que o usuário pode distinguir, neste caso ele reconhece que existe o cadastro de perguntas independente da forma de implementação. Requisitos do Usuário Uma análise dos seguintes requisitos do usuário mostra uma necessidade para dados de auditoria: D en iz e P im en ta 61 1. Incluir dados de cliente. 2. Alterar dados de cliente. 3. Informar qualquer inclusão ou alteração de cliente, utilizando os seguintes dados: - Identificação do usuário que está incluindo ou alterando; - Identificação do cliente; - A imagem antes e depois de uma alteração feita; - A data e a hora que ocorreu a inclusão ou a alteração. 4. Capturar dados de auditoria para monitorar e informar diariamente atividades executadas. Este requisito foi determinado quando um projeto foi implementado para satisfazer os requisitos do usuário de segurança, ou seja, quando incluir cliente DEVO incluir auditoria. ---------------------------------------------------------------------------------------------- As Regras de Identificação de ALI se aplicam? 1) O grupo de dados ou informação de controle é lógico e identificável pelo usuário? Não. Os dados de auditoria incluem a entidade ou tabela de cliente para representar os requisitos do usuário para incluir informações de segurança. 2) O grupo de dados é mantido através de um processo elementar dentro da fronteira da aplicação sendo contada? Sim. Quando o acesso de cliente é incluído ou alterado, a informação de auditagem é mantida. Exercícios do Capítulo 2 1. Marque a opção incorreta a respeito de DER: a) No conceito de modelagem de dados, representa a menor unidade de um dado que tem significado no mundo real. b) É um grupo de itens relacionados que são tratados de forma única. c) Possui um mapeamento direto para o conceito de atributo e coluna em um banco de dados relacional. d) É um campo único, não repetido, reconhecido pelo usuário. 2. Qual a contribuição em pontos de função de um AIE de complexidade média? a) 3 b) 4 c) 5 d) 7 3. Assinale a afirmativa incorreta: a) Dados de negócio refletem a informação necessária a ser armazenada e recuperada pela área funcional atendida pela aplicação. Geralmente representam um percentual significativo das entidades e possuem características físicas e lógicas. b) Dados de referência são armazenados para apoiar regras de negócio para a manutenção de dados de negócio. Normalmente representam um pequeno percentual das entidades identificadas. c) Dados de código nem sempre são diretamente especificados pelo usuário. Algumas vezes, eles são identificados pelo desenvolvedor em resposta a um ou mais requisitos técnicos do usuário. Atributos típicos são: código e D en iz e P im en ta 62 ou mais requisitos técnicos do usuário. Atributos típicos são: código e descrição. d) Dados de código implementam requisitos técnicos. Então, além de influenciarem o tamanho técnico do produto de software, podem influenciar também o tamanho funcional. 4. Considerando que a aplicação A mantenha um grupo lógico de dados com 51 DER e 3 RLR e que a aplicação B referencie apenas 19 destes DER e altere o valor de um outro DER. Na perspectiva de ambas as aplicações existem 3 RLR. Como este grupo lógico de dados é classificado na aplicação A? a) 1 ALI de complexidade alta. b) 1 ALI de complexidade Alta e 1 AIE de complexidade baixa. c) 3 ALI de complexidade média. d) 1 ALI de complexidade alta e um ALI de complexidade baixa. 5. Baseado na questão anterior, como os grupos de dados são classificados na aplicação B? a) 1 ALI de complexidade baixa e 1 AIE de complexidade baixa. b) 1 ALI de complexidade alta. c) 1 ALI de complexidade média. d) 1 AIE de complexidade média. Cap. 2 – Exercício Prático Visão Geral: Você foi contratado para medir uma parte da aplicação existente no aparelho de telefone celular da ACME, modelo XYZ. O escopo da contagem abrangerá apenas parte das funções atualmente disponíveis. Tabelas Campos Agenda Telefônica Nome, Telefone Configuração Tipo de Toque, Volume de Toque Detalhamento das Funções: Assuma que a aplicação possui capacidade para emitir mensagens de erro e confirmação para todas as operações descritas. Inclusão na agenda: o usuário informa o nome e o telefone e os dados são gravados. Não são permitidos nomes duplicados. Se houver um nome já existente a aplicação pergunta se deseja sobrescrever os dados existentes. Busca na agenda: o usuário pode informar parte de um nome para busca direta ou pode navegar entre os registros existentes até encontrar o que deseja. São exibidos o nome e o telefone. Alteração na agenda: após a busca de um nome na agenda, o usuário pode alterar o nome e o telefone do registro corrente. Exclusão de registro da agenda: após a busca de um nome na agenda, o usuário pode excluir o registro corrente. Exclusão de todos os registros da agenda: nesta opção o usuário apaga todos os registros da agenda de uma única vez. Alteração de tipos de toque: O usuário pode selecionar dentre as opções de toque D en iz e P im en ta 63 Alteraçãode tipos de toque: O usuário pode selecionar dentre as opções de toque disponíveis, qual será a utilizada pelo aparelho. Alteração de volume: o usuário pode selecionar dentre os 5 níveis de volume disponíveis, qual será o utilizado pelo aparelho. Bloqueio/desbloqueio do teclado: com a mesma combinação de teclas, o usuário pode bloquear ou desbloquear o uso do teclado. Utilize a tabela abaixo para identificação das funções de dados. Descrição Tipo (ALI/AIE) DER (qtd) RLR (qtd) Complexidade (B – M – A) Pontos D en iz e P im en ta 64 Objetivos do Capítulo 3: 1. Definições 2. Regras de Contagem D en iz e P im en ta 65 2. Regras de Contagem D en iz e P im en ta 66 D en iz e P im en ta 67 Funções de Transação (ou transacionais) Representam a funcionalidade fornecida ao usuário para o processamento de dados por uma aplicação. Essas funções são definidas como entradas externas (EEs), saídas externas (SEs) e consultas externas (CEs). D en iz e P im en ta 68 consultas externas (CEs). Passos: 1. Identificar os processos elementares. 2. Determinar a intenção primária dos processos elementares identificados, e classificá-los como EE, SE ou CE. 3. Validar de acordo com as regras de identificação das transações (EE, SE, CE). 4. Determinar a complexidade das transações (EE, SE, CE). 5. Determinar a contribuição das transações (EE, SE, CE) para a contagem de pontos de função não ajustados. Entrada Externa É um processo elementar, que processa dados ou informações de controle recebidos de fora da fronteira da aplicação. O movimento dos dados atravessando a fronteira é do exterior para dentro da aplicação. D en iz e P im en ta 69 aplicação. Atenção: A Intenção Primária da EE é manter um ou mais ALIs e/ou modificar o comportamento do sistema. Exemplos de EE •Telas de inclusão, exclusão ou de alteração que atualizam grupo de dados; •Entradas batch que mantém um ALI; •Importar dados de outras aplicações; •Carga inicial de dados de uma aplicação faz parte da contagem do projeto de desenvolvimento. Não são exemplos de EE •Entrada de dados em uma funcionalidade cujo objetivo principal é uma consulta (tela de filtro). Informações de controle são dados que influenciam um processo elementar da aplicação que está sendo contada. Especificam o que, quando, ou como dados serão processados. Por exemplo, alguém do departamento de folha de pagamento estabelece ciclos de pagamentos, para planejar quando os funcionários de cada local serão pagos. O ciclo, ou programa de pagamento contém informações de datas e horários que irão afetar o momento da ocorrência do processo elementar de pagamento de funcionários. Saída Externa É um processo elementar, que envia dados ou informações de controle para fora da fronteira da aplicação D en iz e P im en ta 70 Atenção: A intenção primária de uma SE é apresentar informação ao usuário por meio de lógica de processamento (fórmula, cálculo criar dados derivados) que não seja apenas a recuperação de dados ou informações de controle. Pode manter um ou mais ALIs e/ou alterar o comportamento do sistema. Exemplos de SE • Relatório de clientes com totalização; • Impressão de cheque com atualização no ALI de pagamento; • Gráfico com totalização das vendas no ano; • Listagem de aniversariantes do dia com idade calculada. Não são exemplos de SE • Lista de clientes (sem cálculo); • Consulta detalhes de cliente; • Consulta dados do pedido (sem cálculo); • Inclusão de dados de cliente; Consulta Externa É um processo elementar, que envia dados ou informações de controle para fora da fronteira da aplicação. D en iz e P im en ta 71 Atenção: A intenção primária de uma CE é apresentar informação ao usuário por meio de uma simples recuperação de dados ou informações de controle de um ALI ou AIE. Não contém fórmulas ou cálculos, não cria dado derivado, não mantêm ALIs nem altera o comportamento do sistema. Exemplos de CE •Relatório de clientes sem totalização; •Lista de Itens (combo) com simples consulta; •Consulta de detalhes das informações do cliente (sem cálculo nem dado derivado). Não são exemplos de CE •Lista de itens sem recuperação de dados do banco (hard coded); •Relatório com totalização ou cálculo; PRINCIPAIS TERMOS Informações de controle são dados que influenciam um processo elementar da aplicação que está D en iz e P im en ta 72 Informações de controle são dados que influenciam um processo elementar da aplicação que está sendo contada. Especificam o que, quando, ou como dados serão processados. Por exemplo, alguém do departamento de folha de pagamento estabelece ciclos de pagamentos para especificar quando os funcionários de cada filial serão pagos. O ciclo de pagamento, ou cronograma, contém informações de periodicidade que determinam quando o processo elementar de pagamento de funcionários ocorrerá, afetando a execução do processo elementar de pagamento dos funcionários Processo Elementar É a menor unidade de atividade que tem significado para o usuário. O processo elementar deve ser autocontido e deve deixar a aplicação em estado consistente. Por exemplo, um usuário solicita a funcionalidade de incluir um novo funcionário na aplicação. A definição do usuário para funcionário inclui as informações de salário e dependentes. Do ponto de vista do usuário, a menor unidade de atividade é a inclusão de um novo funcionário. Adicionar apenas uma parte da informação, como salário ou dependentes, não é uma atividade que poderia ser qualificada como um processo elementar. Se todas as informações do funcionário não estiverem inseridas, o funcionário ainda não será adicionado. Adicionar apenas parte da informação deixa a funcionalidade de adicionar um funcionário em estado inconsistente. Se ambas as informações de salário e de dependentes forem completamente inseridas, então o negócio estará consistente. Dados derivados são criados através da transformação de dados existentes, para criar dados adicionais, não é simplesmente recuperado da base de dados. Por exemplo, para determinar (derivar) um número de registro do paciente (ex. BARJO01), os seguintes dados são concatenados: - As 3 primeiras letras do sobrenome do funcionário (BAR de Barros) - As 2 primeiras letras do nome do funcionário (JO de João) - Um número sequencial de dois dígitos (começando de 01) Outro exemplo: é armazenada a data de nascimento e em um relatório são listadas as pessoas maiores de 21 anos. Determinar a Complexidade Para determinar a complexidade de uma função transacional devemos identificar a quantidade de Arquivo Lógico Referenciado (ALR, AR, ou File Type Referenced – FTR) e de Dado Elementar Referenciado (DER, ou Data Element Type – DER). D en iz e P im en ta 73 Referenciado (DER, ou Data Element Type – DER). D en iz e P im en ta 74 D en iz e P im en ta 75 D en iz e P im en ta 76 D en iz e P im en ta 77 D en iz e P im en ta 78 Dados derivados são criados através da transformação de dados existentes, para criar dados adicionais. Por exemplo, para determinar (derivar) um número de registro do paciente (ex. BARJO01), os seguintes dados são concatenados: - As 3 primeiras letras do sobrenome do funcionário (BAR de Barros) D en iz e P im en ta 79 - As 3 primeiras letras do sobrenome do funcionário (BAR de Barros) - As 2 primeiras letras do nome do funcionário (JO de João) - Um número sequencial de dois dígitos (começando de 01) Lógica de Processamento é definida como requisitos especificamente solicitados pelo usuário para completar um processo elementar. Esses requisitos podem incluir as seguintes ações: 1. Validações são executadas – por exemplo, quando incluir um novo funcionário em uma organização, o processo de funcionário tem lógica de processamento que valida as informações que estão sendo incluídas. D en iz e P im en ta 80 processo de funcionário tem lógica de processamento que valida as informações que estão sendo incluídas. 2. Fórmulas matemáticas ecálculos são executados – por exemplo, ao produzir informações sobre todos os funcionários de uma organização, o processo inclui o cálculo do número total de funcionários assalariados, funcionários horistas e de todos os funcionários. 3. Valores equivalentes são convertidos – por exemplo, um processo elementar referencia taxas de câmbio do dólar para outras moedas. A conversão é executada através da recuperação de valores de tabelas, de modo que cálculos não são necessários. 4. Dados são filtrados e selecionados através da utilização de critérios especificados para comparar vários grupos de dados – por exemplo, para gerar uma lista de funcionários por atribuição, um processo elementar compara o código da tarefa de uma atribuição para selecionar e listar os funcionários com esta atribuição. 5. Condições são analisadas para determinar quais são aplicáveis – por exemplo, a lógica de processamento empregada por um processo elementar na inclusão de um funcionário, que irá variar dependendo do funcionário ser pago através de salário mensal ou horas trabalhadas. 6. Um ou mais ALIs são atualizados – por exemplo, ao incluir um funcionário, o processo elementar atualiza o ALI “funcionário” para manter os dados do funcionário. 7. Um ou mais ALIs e AIEs são referenciados - por exemplo, ao incluir um funcionário, o AIE “moeda” é referenciado para usar a taxa de câmbio do dólar correta, para determinar o valor da hora do funcionário em dólares. 8. Dados ou informações de controle são recuperados – por exemplo, para ver uma lista de faixas salariais possíveis, as informações de faixas salariais são recuperadas. 9. Dados derivados são criados através da transformação de dados existentes, para criar dados adicionais. 10. O comportamento do sistema é alterado. Ex: o comportamento do processo elementar de pagamento de funcionários é alterado quando uma mudança é feita para pagá-los às sextas-feiras, a cada duas semanas, ao invés de pagá-los no 15o dia e no último dia do mês. 11. Preparar e apresentar informações fora da fronteira. Ex: lista de funcionários apresentada ao usuário. 12. Existe a capacidade de receber dados ou informações de controle que entram pela fronteira da aplicação. 13. Dados são reclassificados ou rearrumados. Ex: usuário solicita a lista de funcionários em ordem alfabética. NOTA: Reclassificar ou rearrumar um grupo de dados não impacta na identificação de tipo ou de unicidade de uma função de transação. Um processo elementar pode incluir múltiplas alternativas ou ocorrências das ações acima. D en iz e P im en ta 81 D en iz e P im en ta 82 Não conte os itens a seguir como DERs: - Literais como títulos de relatório, tela ou identificador do painel, títulos de coluna e títulos de D en iz e P im en ta 83 - Literais como títulos de relatório, tela ou identificador do painel, títulos de coluna e títulos de atributos - Selos gerados automaticamente pelo sistema como atributos de data e hora e paginação. - Variáveis de paginação, número de páginas e informação de posicionamento; ex. ‘Linhas 37 a 54 de 211’ - Ajudas de navegação como a habilidade de navegar com uma lista utilizando “anterior”, “próximo”, “primeiro”, “último” e seus equivalentes gráficos - Atributos gerados dentro da fronteira pela função transacional e gravadas no ALI sem sair da fronteira Por exemplo, a fim de manter o salário-hora em dólar para funcionários horistas que trabalhem em outros países com outras moedas, o salário-hora local é informado pelo usuário. Durante o processamento dos dados fornecidos para incluir um funcionário, uma taxa de câmbio é recuperada pelo sistema de moedas, para calcular o salário-hora em dólares. O salário-hora em dólar é mantido no ALI funcionário, como resultado da inclusão do funcionário. O salário-hora em dólar não poderia ser contado como um DER para a EE porque não entra pela fronteira, sendo ao invés disso calculado internamente (i.e., é um dado derivado). - Atributos obtidos ou referenciados de um ALI ou AIE para a participação no processamento sem sair da fronteira Por exemplo, quando o pedido do cliente é incluído no sistema, o preço unitário é automaticamente recuperado para cada item pedido e gravado no registro da fatura. O preço unitário não poderia ser contado como um DER para a EE porque não atravessa a fronteira da aplicação quando o usuário inclui o pedido do cliente. D en iz e P im en ta 84 D en iz e P im en ta 85 D en iz e P im en ta 86 Exercícios do Capítulo 3: 1. Uma CE: a) É um processo elementar. b) Apresenta dados ou informações de controle não disponíveis em ALI ou AIE. c) Atualiza um ou mais ALI. d) Nenhuma das respostas anteriores. 2. As variáveis de paginação em uma SE devem ser contadas como: a) Cada variável como um novo DER. b) Da mesma forma que se contam os literais. c) Todas contam como um único DER. d) Nenhuma das respostas anteriores. 3. Qual dos seguintes passos não faz parte da contagem das funções tipo transação? a) Contar os tipos de dados. b) Contar os arquivos referenciados. c) Contar os tipos de registro. d) Calcular a complexidade e contribuição. 4. Qual das lógicas de processamento seguintes é obrigatória para uma EE? a) Atualização de ao menos um ALI. b) Capacidade de aceitar dados ou informações de controle que entram pela fronteira da aplicação. c) Alteração do comportamento do sistema. D en iz e P im en ta 87 c) Alteração do comportamento do sistema. d) Criação de dados derivados. 5. Qual o número de pontos de função não ajustados da seguinte aplicação: 1 ALI com 2 RLR e 15 DER, 2 entrada externa com 17 DER e 2 ALR, 1 entrada externa com 3 DER e 1 ALR, 2 consultas externas com 17 DER e 2 ALR e um AIE com 2 DER e 1 RLR? a) 31 b) 35 c) 38 d) 40 6. Uma instituição financeira necessita fornecer diariamente uma relação com os 20 maiores devedores com o nome do cliente e valor do saldo devedor. Como você classificaria este processo elementar? a) Entrada externa b) Saída externa c) Consulta externa d) Nenhuma das opções anteriores 7. Foi solicitado que fosse acrescentada ajuda on-line em uma aplicação, considerando que os textos serão mantidos por outra aplicação, o que é correto afirmar? a) Não é uma funcionalidade específica da aplicação b) 1 AIE de complexidade baixa e 1 CE para cada tipo de ajuda fornecida c) Aumenta o nível de influência da eficiência do usuário final d) Nenhuma das respostas anteriores Cap. 3 – Exercício Prático Visão Geral: Você foi contratado para medir uma parte da aplicação existente no aparelho de telefone celular da ACME, modelo XYZ. O escopo da contagem abrangerá apenas parte das funções atualmente disponíveis. Tabelas Campos Agenda Telefônica Nome, Telefone Configuração Tipo de Toque, Volume de Toque Detalhamento das Funções: Assuma que a aplicação possui capacidade para emitir mensagens de erro e confirmação para todas as operações descritas. Inclusão na agenda: o usuário informa o nome e o telefone e os dados são gravados. Não são permitidos nomes duplicados. Se houver um nome já existente a aplicação pergunta se deseja sobrescrever os dados existentes. Busca na agenda: o usuário pode informar parte de um nome para busca direta ou pode navegar entre os registros existentes até encontrar o que deseja. São exibidos o nome e o telefone. Alteração na agenda: após a busca de um nome na agenda, o usuário pode alterar o nome e o telefone do registro corrente. Exclusão de registro da agenda: após a busca de um nome na agenda, o usuário pode excluir o registro corrente. Exclusão de todos os registros da agenda: nesta opção o usuário apaga todos os registros da agenda de uma única vez. Alteração de tipos de toque: O usuário pode selecionar dentre as opções de toque D en iz e P im en ta 88 Alteração de tipos de toque: O usuário pode selecionar dentre as opções de toque disponíveis, qual será a utilizada pelo aparelho. Alteração de volume: o usuário pode selecionar dentre os 5 níveis de volume disponíveis, qual será o utilizado pelo aparelho. Bloqueio/desbloqueiodo teclado: com a mesma combinação de teclas, o usuário pode bloquear ou desbloquear o uso do teclado. Utilize a tabela abaixo para identificação das funções transacionais. Descrição Tipo (EE/SE/CE) DER (qtd) ALR (qtd) Complexidade (B – M – A) Pontos D en iz e P im en ta 89 Objetivos do Capítulo 4: 1. Tipos de contagem no Processo de Desenvolvimento 2. Dados Compartilhados D en iz e P im en ta 90 2. Dados Compartilhados 3. Exemplos de Funções Transacionais D en iz e P im en ta 91 Entidade (tipo) – Definições de Entidade (ou Tipo de Entidade) “Uma pessoa, lugar, coisa, evento ou conceito distinguível, sobre o qual informação é mantida.” D en iz e P im en ta 92 “Uma pessoa, lugar, coisa, evento ou conceito distinguível, sobre o qual informação é mantida.” (Thomas Bruce, 1992) “Uma coisa que pode ser identificada claramente.” (Peter Chen, 1976) “Um objeto distinguível que é para ser representado em um banco de dados” (C.J. Date, 1986). “Uma entidade de dados representa alguma “coisa” que é para ser armazenada para referência futura. O termo entidade refere-se a representação lógica dos dados.” (Clive Finkelstein, 1989) “A palavra entidade significa qualquer coisa sobre o qual nós armazenamos informação (por exemplo, um cliente, fornecedor, ferramenta de máquina, empregado, um polo de serviço público, uma poltrona de avião, etc..). Para cada entidade, certos atributos são armazenados.” (James Martin, 1989). “Uma entidade pode também representar a relação entre duas ou mais entidades, chamadas entidades associativas.” (Michael Reingruber, 1994). “Uma entidade pode representar um subconjunto de informações relevantes para uma instância de uma entidade, chamada entidade de subtipo (também conhecida como entidade secundária ou de categoria)” (Michael Reingruber, 1994). Resumindo, uma entidade: •É um objeto de dados principal o qual informações são coletadas •É uma pessoa, lugar, coisa ou evento de informação •Pode ter uma instância (uma ocorrência) •É uma coisa fundamental de relevância para o usuário, sobre o qual uma coleção de fatos é mantida; uma associação entre entidades que contém atributos é por si própria uma entidade •Envolve informações, uma representação de coisas similares que compartilham características ou propriedades •Muitas vezes descrito em um modelo de dados através de um retângulo, com o nome da entidade escrito dentro do retângulo. Mapeamento dos Conceitos de Dados para APF Tupla – é entendido como uma linha da tabela, também chamado de registro. Exemplo: Cliente de D en iz e P im en ta 93 Tupla – é entendido como uma linha da tabela, também chamado de registro. Exemplo: Cliente de Nome: José, CPF: 321654, Tel: 2451-8754. Registro Lógico Referenciado (RLR) – é um subgrupo de dados reconhecido pelo usuário dentro de um ALI ou AIE. D en iz e P im en ta 94 Atenção: Não confunda o conceito de entidade independente/entidade dependente com o conceito de relacionamento opcional/obrigatório. D en iz e P im en ta 95 Dica para identificação de entidades (in)dependentes: Faça a pergunta: se fosse excluída uma ocorrência da entidade A o que aconteceria à(s) ocorrência(s) relacionadas da entidade B? • Caso a exclusão da(s) ocorrência(s) relacionada(s) na entidade B seja(m) obrigatória(s) junto com a ocorrência da entidade A, então A e B devem ser agrupadas juntas no mesmo arquivo lógico. • Caso a exclusão da(s) ocorrência(s) relacionada(s) na entidade B não precise(m) ser(em) feita(s), então A e B devem ser consideradas arquivos lógicos separados. D en iz e P im en ta 96 Entidade Associativa não é contada como um ALR (ALI ou AIE) A secretaria tem um requisito para gerenciar todos os alunos registrados para um curso e para saber os cursos que o aluno completou previamente. D en iz e P im en ta 97 Curso é uma entidade, e Aluno é uma entidade. O modelador de dados criou uma entidade associativa chamada Curso do Aluno como uma interseção entre as duas, e esta entidade associativa apenas contém as chaves de cada entidade. A entidade Curso do Aluno não é considerada um ALR (arquivo lógico) separado porque ela não contém nenhum elemento de dado adicional além das duas chaves primarias (PK) das entidades que fazem a interseção, ou seja, a mesma não é significativa, existem apenas por razões de modelagem de dados e projeto de banco de dados e não como resultado de um requisito do usuário. Aluno é um arquivo lógico com 1 ALR (Aluno) e Curso é um arquivo lógico com 1 ALR (Curso). Entidade Associativa Contada como ALR A secretaria tem um requisito para identificar todos os alunos registrados para um curso. Além do mais ele precisa da informação sobre os resultados do curso para o(s) aluno(s). Curso e Aluno são entidades distintas no modelo. O modelador de dados criou uma entidade associativa chamada Curso D en iz e P im en ta 98 entidades distintas no modelo. O modelador de dados criou uma entidade associativa chamada Curso do Aluno como uma intersecção entre as duas, e esta entidade associativa contém as chaves de cada entidade tão bem como o resultado do curso do aluno. Não existe regra de negócio que solicite que curso do aluno seja mantido independentemente; então Curso do Aluno não satisfaz as regras para ser contado como um arquivo lógico separado. Neste caso, a entidade Curso do Aluno é considerado um RLR, pois ela contém pelo menos atributo reconhecido pelo usuário além das duas chaves primarias (PK) das entidades que participam da intersecção. Além das chaves primárias, um RLR adicional no arquivo lógico sempre contém um ou mais atributos próprios para ser contado como um RLR. Aluno é um arquivo lógico com 2 RLRs (Aluno e Curso do Aluno) e Curso é um arquivo lógico com 2 RLRs (Curso e Curso do Aluno). Se o requisito do negócio indicar que o relacionamento representado pela entidade associativa pertence a apenas um dos arquivos lógicos, o RLR seria contado apenas naquele arquivo lógico. Entidade Associativa Contada como Arquivo Lógico Um departamento de RH mantém informações sobre Funcionário, Funções e Funções Atribuídas. Função Atribuída é necessária, mesmo que um Funcionário não esteja mais associado com a Função ou que a Função não seja mais uma função disponível pra alocação. D en iz e P im en ta 99 ou que a Função não seja mais uma função disponível pra alocação. Embora Função Atribuída seja uma entidade associativa, ela é mais que um mapeamento key-to-key entre duas entidades, e é mais que um RLR associado com um arquivo lógico. Se uma regra de negócio solicita que a informação da Função Atribuída deva ser retida independentemente. Se não existirem regras de negócio solicitando que as informações da Função Atribuída devem ser retidas independentemente, então esta entidade associativa é contada como na situação 2 acima. D en iz e P im en ta 100 Entidade Atributiva Opcional Um funcionário pode aderir a um plano de benefícios. Em nosso modelo de dados, Funcionário é uma entidade. Benefícios de Funcionário é uma entidade atributiva de Funcionário e contém informações sobre os benefícios que o funcionário resolver aderir. Benefícios de Funcionário não pode existir sem D en iz e P im en ta 101 sobre os benefícios que o funcionário resolver aderir. Benefícios de Funcionário não pode existir sem Funcionário, e é então logicamente relacionado. Poderia ser implementado com os campos de benefícios opcionais na tabela de Funcionário. Portanto Benefícios de Funcionário é contado como um RLR pois ele é uma entidade atributiva opcional. Funcionário é um arquivo lógico com 2 RLRs, subgrupo de informações de Funcionário e o subgrupo de Benefícios de Funcionário. D en iz e P im en ta 102 Subtipo que é um subgrupo Um funcionário tem que ser um funcionário permanente ou um funcionário contratado, mas não pode ser os dois. Os dados comuns do funcionário são pertinentes a todos os funcionários e são obrigatórios. Além disso, os dados comuns são herdados pelas entidadessubtipo obrigatórias, D en iz e P im en ta 103 obrigatórios. Além disso, os dados comuns são herdados pelas entidades subtipo obrigatórias, permanente e contratado. Na revisão destes dados a partir da perspectiva de pontos de função, dois subgrupos lógicos do arquivo lógico Funcionário são identificados: • Dados do funcionário permanente incluem informações do funcionário permanente tanto quanto as informações comuns do funcionário. • Dados do funcionário contratado incluem informações do funcionário contratado tanto quanto as informações comuns do funcionário. Nesta situação existe um arquivo lógico (Funcionário) com dois RLRs, funcionário permanente e contratado. Subtipo que não é um subgrupo Se existem atributos únicos entre entidades subtipo, reflita para saber se um subgrupo separado realmente existe para constituir um Registro Lógico Referenciado (RLR). Um simples atributo opcional único, não resultaria em um RLR diferente, deve ser avaliada a visão do usuário. Cuidado, D en iz e P im en ta 104 opcional único, não resultaria em um RLR diferente, deve ser avaliada a visão do usuário. Cuidado, pois mesmo se representado como uma entidade subtipo em um modelo de dados lógico, não devemos nos deixar influenciar pela representação do modelo, mas sim pela visão do usuário. O estado civil de um Funcionário pode ser casado ou solteiro. Se casado, o nome do cônjuge é armazenado. Embora possa ser representado como um subtipo em um modelo de dados, o nome do cônjuge é apenas um atributo opcional dentro do grupo lógico de dados do Funcionário. Um atributo diferente neste caso não faz diferença significativo entre o funcionário casado e solteiro a partir da visão do negócio. Contagem de Atributos De acordo com a regra devemos contar cada campo reconhecido pelo usuário. D en iz e P im en ta 105 Considere os seguintes itens na tomada de decisão: a) Se o atributo é sempre usado por inteiro, então ele é contado como um único elemento de dados (DER). Não devem existir situações em que um componente individual de um atributo é usado sem os outros. Baseado neste uso, o atributo é contado como um único elemento de dado. b) Se em algumas situações, apenas uma parte do atributo (ex. o sobrenome) é usada, então mais do que um elemento de dados deve ser contado. Olhe para o uso em componentes dentro da aplicação para determinar quantas partes reconhecidas existem. Não necessariamente a opção é um ou todos. Baseado em o que você está vendo, pode ser apropriado contar apenas dois DERs, ainda que existam na realidade cinco partes físicas. c) Olhe para a existência de requisitos de ordenação ou de edições e critérios de seleção. Se um lista ou relatório é ordenado ou selecionado por um simples componente do atributo, isto sugere independência de componentes na visão do usuário. No exemplo acima o telefone foi contado apenas como um DER, pois para esta aplicação o usuário entende que a informação de telefone é sempre composta de DDD + Número do Telefone + Ramal, o telefone sempre é utilizado com esses três dados. Não há nenhuma consulta de funcionários por DDD, ou todos os funcionários que atendem em um determinado ramal. OBS: Pode ser que para outra aplicação, por exemplo, em empresas de telecomunicação o controle de DDD seja importante e esta seja uma informação utilizada separada das demais, então nestes casos o DDD deve ser contado como um DER separado. Campos Repetidos Funcionário é um arquivo lógico que inclui Dependente. Os arquivos lógicos de Funcionário e Dependente conteriam cada um o Código do Funcionário. Aplicando as regras de DER “repetitivos”, conte Código do Funcionário como um único DER para o ALI Funcionário. Agora determine se os D en iz e P im en ta 106 conte Código do Funcionário como um único DER para o ALI Funcionário. Agora determine se os requisitos do negócio ainda estão satisfeitos. O requisito era para manter Dependente como uma parte da informação do Funcionário. Sim, os requisitos do negócio estão satisfeitos, portanto, um DER é contado. Campos Repetidos Um sistema de reportar horas mantém o número de horas que uma pessoa trabalha a cada dia. Ao rever as estruturas de dados, as Horas Trabalhadas são salvas separadamente para cada dia da semana (Horas Trabalhada de Segunda-feira, Horas Trabalhada de Terça-feira, etc..). D en iz e P im en ta 107 semana (Horas Trabalhada de Segunda-feira, Horas Trabalhada de Terça-feira, etc..). Aplicando as regras de DER “repetitivos”, conte apenas Horas Trabalhadas. Determine se os requisitos do negócio ainda estão satisfeitos. Se a aplicação apenas mantém informação sobre Horas Trabalhadas, está satisfeito o requisito do negócio para manter horas trabalhadas a cada dia? Não, não está. A fim de satisfazer aquele requisito, conte Dia da Semana. A aplicação tem a habilidade de acompanhar separadamente cada hora trabalhada a cada dia (Horas Trabalhada de Segunda-feira, Horas Trabalhada de Terça-feira, etc..), portanto, dois DERs são contados. Contagem de Chaves Um funcionário pode ter um número ilimitado de salas. Uma sala só pode ser ocupada por um funcionário por vez. O Código da sala deve ser válido como identificado na tabela SALA. O DER estaria garantindo o requisito do negócio pela ilustração do relacionamento entre a entidade SALA e a D en iz e P im en ta 108 estaria garantindo o requisito do negócio pela ilustração do relacionamento entre a entidade SALA e a entidade FUNCIONARIO. De acordo com o DER, um Funcionário pode ter muitas salas, mas uma Sala só pode ser ocupada por um Funcionário. Nesta situação, o Código do Funcionário é um atributo em SALA. O relacionamento deveria ser refletido na tabela Sala pela identificação do Funcionário que ocupa a Sala. O código do Funcionário é contado como um elemento de dado (DER) para Sala. Cenário: Uma transação processada pelo Sistema B precisa de informações de um depósito de dados mantido dentro do Sistema A. O Sistema B é responsável pelo acesso dos dados no Sistema A, e o Sistema B D en iz e P im en ta 109 dentro do Sistema A. O Sistema B é responsável pelo acesso dos dados no Sistema A, e o Sistema B mantém o software para este acesso. --------------------------------------------- Interpretação da Contagem Sistema A: Na perspectiva do Sistema A, não existe requisito para enviar dados. Os dados estão disponíveis no Sistema A. Nenhum crédito é dado para o Sistema A para a transação executada pelo Sistema B, embora o arquivo de dados seja um ALI para o Sistema A. Sistema B: Na perspectiva do Sistema B, tanto logicamente quanto fisicamente, existe apenas um depósito de dados envolvido. O Sistema B conta o depósito de dados, que reside no Sistema A como um AIE. O Sistema B também conta aquele arquivo de dados como um RLR na transação. Cenário: O Sistema B requer a habilidade de acessar o arquivo X no Sistema A apenas para validação e referência. O sistema B requer (ex. performance, etc.) que o Sistema A envie um arquivo completo para o Sistema B. Os dados existentes armazenados no Sistema B são atualizados a cada vez com a D en iz e P im en ta 110 para o Sistema B. Os dados existentes armazenados no Sistema B são atualizados a cada vez com a cópia. -------------------------------------------------------- Interpretação da Contagem Na perspectiva do Sistema A, esta transferência de dados é uma solução técnica criada para satisfazer o requisito de negócio em que o Sistema B deve ter acesso, com o propósito de recuperação de dados, ao Arquivo X do Sistema A. Logicamente os dados armazenados permanecem no Sistema A. Neste caso, a cópia dos dados armazenados de um sistema para outro é a solução de um requisito técnico. (ex.: os dados no Sistema A não estão disponíveis quando forem solicitados pelo Sistema B). A intenção primária de B é referenciar os dados que estão logicamente em A. uma indicação adicional seria que o arquivo no Sistema B fosse "atualizado" a cada vez com a cópia. Da mesma forma, nenhuma lógica de processamentoé executada nem no Sistema A nem no Sistema B. Arquivos – Existe apenas um arquivo lógico envolvido. O Sistema A conta o Arquivo X como um ALI. O Sistema B conta sua versão copiada do Arquivo X como um AIE. Nenhum sistema conta o Arquivo Z como uma função de dados. Cenário: Tanto o Sistema A quanto o Sistema B mantêm o mesmo ALI. Cada um tem sua própria visão dos dados. Existem alguns elementos de dados comuns e outros são únicos para cada sistema. D en iz e P im en ta 111 dados. Existem alguns elementos de dados comuns e outros são únicos para cada sistema. ---------------------------------------------------------- Interpretação da Contagem Um ALI é contado para ambos os sistemas pois cada um tem transações para mantê-lo. Os Sistemas A e B mantêm dados no mesmo ALI. Cada sistema conta apenas um RLR (ALI) e DERs mantidos, utilizados ou referenciados por aquele Sistema. Cenário: O Sistema A gera um arquivo de transação de alterações, o Arquivo Z, que é carregado dentro do Sistema B. Os registros são usualmente de mais de um tipo. O Sistema B processa as transações de entrada de acordo com o tipo de transação dos registros do Arquivo Z, antes da atualização dos D en iz e P im en ta 112 entrada de acordo com o tipo de transação dos registros do Arquivo Z, antes da atualização dos registros no Arquivo interno Y. Os DERs no Arquivo X do Sistema A e o Arquivo Y do Sistema B são diferentes. Por exemplo, o Arquivo X é o Catálogo Principal de Material enquanto que o Arquivo Y é uma Lista de Produtos gerada localmente. O processamento inclui os seguintes tipos de transações: • Inclusão • Alteração • Exclusão Esta transferência de dados é um requisito de negócio do usuário. Tanto o Sistema A quanto o B tem um requisito para acessar uma versão do Arquivo X, entretanto os DERs nos dois arquivos são diferentes. O Sistema A envia dados relacionados apenas a alterações. O Sistema B lê os registros no Arquivo Z e baseado nos tipos de transação inicia diferentes lógicas de processamento. ---------------------------------------------------------- Interpretação da Contagem Se cada registro gravado pelo Sistema A no Arquivo Z é processado da mesma forma, apenas uma CE/SE é contada. Apenas quando existir diferentes lógicas de processamento envolvidas, você pode ter diversas funções de transação (ex. SE/CE) dentro de um simples arquivo. O Sistema B conta EEs para cada função de manutenção única no Arquivo Y. O número de Tipos de Transações no arquivo de transação Z, normalmente determina o número destas funções, mas isto não é necessariamente o caso. Diferentes lógicas de processamento devem ser demonstradas. Existem dois arquivos envolvidos. O Sistema A conta o Arquivo X como um ALI. O Sistema B conta o Arquivo Y como um ALI. Nenhum sistema conta o Arquivo Z como um arquivo lógico. Requisitos do Usuário O usuário de RH deseja a habilidade de manter informações de cada novo funcionário. As informações que devem ser mantidas pelo usuário de RH incluem: D en iz e P im en ta 113 informações que devem ser mantidas pelo usuário de RH incluem: • Código do Funcionário • Nome do Funcionário • Endereço para correspondência do Funcionário • Faixa Salarial do Funcionário • Nome do Cargo do Funcionário Como resultado da criação de um registro de um novo funcionário, a previsão da Data da Aposentadoria do funcionário deve ser automaticamente calculada e salva com as outras informações do funcionário. O usuário da Segurança solicita que um nível de segurança seja atribuído a cada novo funcionário. O departamento de Segurança faz uma discreta investigação logo que cada funcionário é contratado e atribui o nível de segurança apropriado. As informações que devem ser mantidas pelo usuário de Segurança incluem: • Código do Funcionário • Nível de Segurança do Funcionário O usuário de Segurança também solicita um relatório listado com as seguintes informações: • Contagem dos Códigos do Funcionário • Nome do Funcionário • Nível de Segurança do Funcionário ---------------------------------------------------------- Interpretação da Contagem – Sistema de Controle de RH 1 EE – Incluir funcionários – DER: cod func; nome func; end corresp; faixa salarial; nome cargo; 1 ALI – Funcionário – DER: cod func; nome func; end corresp; faixa salarial; nome cargo; dt aposentadoria; Sistema de Segurança 1 EE – Atribuir Nível de Segurança – DER: cod func; nome func; nível segur; 1 ALI – Funcionário – DER: cod func; nome func; nível segur; 1 SE – Relatório – DER: total funcionários; nome func; nível segur; Passo a passo para avaliar a aplicação das regras de contagem de ALI. 1) Determine se as informações do funcionário são um ALI para o Sistema de Controle de RH. As Regras de Identificação de ALIs se aplicam? a) O grupo de dados ou informação de controle é lógico e identificável pelo usuário? - Sim. Estas informações são reconhecidas e solicitadas pelo usuário de RH. b) O grupo de dados é mantido através de um processo elementar dentro da fronteira da aplicação sendo contada? - Sim. O processo de criação de um registro de funcionário está dentro da fronteira da aplicação de RH. 2) Determine se as informações do funcionário são um ALI para o Sistema de Segurança. As Regras de Identificação de ALIs se aplicam? a) O grupo de dados ou informação de controle é lógico e identificável pelo usuário? - Sim. Estas informações são reconhecidas e solicitadas pelo usuário de Segurança. b) O grupo de dados é mantido através de um processo elementar dentro da fronteira da aplicação sendo contada? - Sim. O processo de atribuição do nível de segurança do funcionário está dentro da fronteira da aplicação de Segurança. 3) Conte o número de tipos de elementos de dados (DERs) para o ALI funcionário no Sistema de Controle de RH. Regras de Identificação de DERs a) Conte um DER para cada campo único, reconhecido pelo usuário, não repetido, mantido em ou recuperado de um ALI ou AIE através da execução de um D en iz e P im en ta 114 mantido em ou recuperado de um ALI ou AIE através da execução de um processo elementar. Os seguintes campos são reconhecidos pelo usuário de RH: • Código do Funcionário • Nome do Funcionário • Endereço para correspondência do Funcionário • Faixa Salarial do Funcionário • Nome do Cargo do Funcionário • Data da Aposentadoria • Nível de Segurança do Funcionário b) Quando duas aplicações mantêm e/ou referenciam o mesmo ALI/AIE, mas cada uma mantém/referenciam DERs diferentes, conte apenas os DERs que estão sendo usados pela aplicação para medir o ALI/AIE. Existem campos deste tipo. Todos os campos são utilizados dentro da aplicação de RH exceto o Nível de Segurança do Funcionário. c) Conte um DER para cada dado solicitado pelo usuário para estabelecer um relacionamento com outro ALI ou AIE. Não existem campos deste tipo. Conte o número de tipos de registros elementares (RETs) para o ALI funcionário no Sistema de Controle de RH. 3) Identifique subgrupos baseados nas regras de contagem de RLR. a) Conte um RLR para cada subgrupo opcional ou obrigatório do ALI ou AIE. As informações do funcionário não têm subgrupos. b) Se não existirem subgrupos, conte o ALI ou AIE com um RLR. Como não existem subgrupos, conte o ALI funcionário no Sistema de Controle de RH com um RLR. O total de RLR e DER para o ALI funcionário no Sistema de Controle de RH: RLR: 1 DER: 6 4) Verifique o valor de pontos de função brutos consultando a tabela de complexidade e de atribuição. Um ALI com 1 RLR e 6 DER possui complexidade BAIXA. Um ALI de complexidade BAIXA contribui com 7 pontos de função brutos. D en iz e P im en ta 115 D en iz e P im en ta 116 Requisito Imprimir um cheque e, como resultado, marcar na conta como pago. Todos os dados impressos no cheque já estão armazenados no arquivo de cheque. D en iz e P im en ta 117 Análise O primeiro passo é identificar quantos processos elementares existem na visão do usuário apresentada. Portanto, somente marcar a conta como paga não
Compartilhar