métricas e estimativas em processo de produção de software métricas e estimativas em processos...
TRANSCRIPT
Métricas e Estimativas em processo de produção de Software
Métricas e estimativas
em processos de
Produção de software
Métricas e estimativas
em processos de
Produção de softwareAula 2
Métricas e Estimativas em processo de produção de Software
Aula 2 - Funções de DadosConceitos IniciaisConceitos IniciaisALIsALIs
ConceitoRegras de identificaçãoDERRegras de contagem de DERsRLRRegras de contagem de RLRsTabelas(complexidades e contribuições)
AIEsAIEsConceitoRegras de identificaçãoDERRegras de contagem de DERsRLRRegras de contagem de RLRsTabelas(complexidades e contribuições)
Métricas e Estimativas em processo de produção de Software
Conceitos IniciaisVisão do usuárioVisão do usuário
A visão do usuário representa a descrição formal das necessidades do seu negócio, descrito
na sua própria linguagem. Desta forma é uma descrição das funções do negócio do usuário conforme
são vistas ou reconhecidas por ele. Somente as visões do usuário ser usadas em contagens de pontos
por função.
Identificável (ou reconhecido) pelo usuárioIdentificável (ou reconhecido) pelo usuárioRefere-se aos requisitos definidos pelos processos ou grupos de dados que são consentidos (vistos,
enxergados, compreendidos), tanto por usuários quanto pelos desenvolvedores.
Exemplo.Exemplo.
Usuários e desenvolvedores concordam que uma aplicação de Recursos Humanos
armazene e mantenha dados relativos a empregados.
Usuários e desenvolvedores concordam que uma aplicação se torna mais amigável se
contiver uma Combo Box sendo carregada com uma lista de opções (ex.: profissões).
Também concordam que serão úteis as funcionalidades de manutenção de dados que
atualizarão a lista de opções. Então a tabela do tipo Código / descrição que armazenará
estas informações será um ALI da aplicação.
Métricas e Estimativas em processo de produção de Software
Conceitos IniciaisMantido (ou manutenido)Mantido (ou manutenido)
É a habilidade em modificar dados através de um
processo elementar.
Adicionar, excluir, alterar, popular, revisar, associar ou
criar dados.
Exemplo:
Métricas e Estimativas em processo de produção de Software
Conceitos IniciaisProcesso elementarProcesso elementar
É a menor unidade de atividade significante para o usuário na aplicação.
Um usuário requer a habilidade de incluir um funcionário na
aplicação. Na visão do usuário, para a inclusão de um funcionário,
além das informações básicas (Nome, endereço etc), também são
necessários os dados sobre formas de pagamento que serão
praticadas (horário / mensal).
Então, adicionar somente os dados básicos de funcionários não é
uma atividade que caracteriza uma inclusão, sob o ponto de vista
do usuário.
Exemplo:Exemplo:
Um processo elementar deve ser auto contido (ou auto
suficiente) e deixar a aplicação em um estado consistente
após ser concluído.
Métricas e Estimativas em processo de produção de Software
Conceitos Iniciais
Se todas as informações obrigatórias (Sob o ponto de
vista do usuário) não são incluídas, o registro do novo
funcionário não pode ser criado, isto é, adicionando
somente uma parte da informação deixa a regra de
negócio de “incluir um funcionário” em um estado
inconsistente e, portanto, não é caracterizado como um
processo elementar.
Métricas e Estimativas em processo de produção de Software
Conceitos IniciaisInformações de controleInformações de controle
É um dado que influencia um processo elementar da aplicação sendo
contada. Ele especifica o que, quando ou como um dado deve ser
processado.
Exemplo:Exemplo:Suponha uma aplicação de folha de pagamento; alguém neste
departamento pode ser responsável por estabelecer uma programação de
eventos necessários para a confecção da folha.
O Ciclo ou agendamento do pagamento aos funcionários contem
periodicidades e datas que regulam os processos automatizados da
aplicação e podem, por sua vez, serem mantidos ( I / A / E ).
Os parâmetros que controlam os agendamentos destes eventos podem são
armazenados na aplicação e podem ser mantidos por processos
elementares
Assim, informações de controle podem ser vistas como dados utilizados
pelo aplicativo para garantir que todas as funções sejam realizadas de
acordo com requisitos dos usuários.
Métricas e Estimativas em processo de produção de Software
Arquivo Lógico Interno - ALIArquivo Lógico Interno - ALI
Conceito
Um arquivo lógico interno é um grupo de dados logicamente
relacionados ou
de informações de controle, identificáveis pelo usuário e
mantido dentro das
fronteiras da aplicação .
A intenção primária de um ALI é guardar dados mantidos
através de um ou
mais processos elementares da aplicação sendo contada.
(CPM 4.1.1)
O termo “arquivo” não deve ser entendido no seu sentido tradicional (arquivos
fisicamente implementados em um Banco de dados, por exemplo), mas sim referido
como um “grupo lógico de dados”.
Métricas e Estimativas em processo de produção de Software
Exemplo: Informações sobre funcionários de uma empresa, em uma aplicação de RH
Conforme o tipo de aplicação estes dois grupos de informações podem pertencer ao
mesmo ALI ou serem ALIs em separado. Tudo dependerá da visão do usuário.
Na APF informações de naturezas semelhantes podem se agrupar de formas
diferentes, dependendo de como o usuário vê ou enxerga a questão. Os processos
elementares são particularmente importantes para identificar estas visões.
Funcionários
Matrícula (Pk)
Nome
Endereço
......
Dependentes
CodigoDep (Pk)
Matrícula (Fk)
Nome
Endereço
......
1
n
Métricas e Estimativas em processo de produção de Software
Contagem de ALIsContar ALIs significa:
Identifica-los
Classifica-los quanto a sua complexidade
Pontua-los segundo suas complexidades
Métricas e Estimativas em processo de produção de Software
ALIS - Regras de identificaçãoTodas as regras abaixo devem ser satisfeitas - (CPM 4.1.1)
O grupo de dados ou de informações de controle é lógico e identificável pelo usuário.
O grupo de dados é mantido através de um processo elementar dentro da fronteira da
aplicação sendo contada.
Não são ALIs
Grupo de dados temporários
Dados inseridos no sistema devido a tecnologia utilizada
Dados relativos a índices alternativos para recuperação da informação
Dados de arquivos suspensos que não possam ser acessados ou atualizados
Backups que não foram exigidos pelos usuários
Métricas e Estimativas em processo de produção de Software
Contagem de ALIs - Classificação de complexidade
Dados Elementares Referenciados (DERs)
Registros Lógicos Referenciados (RLRs)
A classificação de ALIs é feita com base em dois fatores:
Métricas e Estimativas em processo de produção de Software
Regras de Contagem
Contar um DER para cada campo único, não repetitivo, reconhecido pelo
usuário e mantido em um ALI, através da execução de um processo
elementar.
Quando duas ou mais aplicações mantêm o mesmo ALI, mas cada uma
delas mantém DERs separados, contar somente os DERs usados em cada
aplicação, para o dimensionamento do ALI.
Contar um DER para cada pedaço de dado requerido pelo usuário para
estabelecer um relacionamento com um outro ALI, isto é, uma chave
estrangeira ou uma associação entre classes de objetos.
DER - Dado Elementar Referenciado
É um campo único, não repetitivo,reconhecido pelo usuário
Métricas e Estimativas em processo de produção de Software
Regras de Contagem - (uma delas deve acontecer)
Contar um RLR para cada subgrupo opcional ou mandatório de um ALI
ouou
Se não existirem subgrupos contar um RLR para cada ALI
RLR - Registro Lógico Referenciado
É um subgrupo de dados reconhecido pelo usuário dentro de um ALI
OpcionalAqueles que o usuário tem a opção de usar um ou mais dos subgrupos durante um processo elementar que adiciona ou cria dados - CPM 4.1.1
Mandatório
São subgrupos onde o usuário deve usar no mínimo um deles - CPM 4.1.1
Métricas e Estimativas em processo de produção de Software
Exemplo: CPM 4.1.1
Em uma aplicação de recursos humanos, as informações sobre um
empregado são adicionadas cadastrando-se dados genéricos. Também foi
determinado pelo usuário que existe a obrigatoriedade de cadastramento
do tipo de pagamento (por hora ou mensal) para o empregado.
No cadastramento de um funcionário podem ser incluídas informações a
respeito de seus dependentes.
No ALI funcionários existem 3 RLR que são:
As informações genéricas sobre o funcionário - Obrigatório;
Os dados sobre formas de pagamento - Obrigatório;
Os dados relativos aos seus dependentes - Opcional.
Certamente RLRs mandatórios farão parte do mesmo ALI, mas os opcionais
devem ser verificados quanto a “como são vistos pelos usuários”, pois
dependendo desta visão eles podem fazer parte de outro ALI ou até mesmo
ser um ALI em separado.
Métricas e Estimativas em processo de produção de Software
ALIs - Tabelas de Complexidade e Contribuição de PFs
RLR DER DER DER1 – 19 20 – 50 +50
1 Simples Simples Médio2-5 Simples Médio Complexo+5 Médio Complexo Complexo
Com os ALIs identificados, os dados apurados de RLRs e DERs devem ser verificados
na tabela de classificação de complexidades abaixo - CPM 4.1.1
A classificação de complexidade leva imediatamente ao número de pontos de função
do elemento apurado (ALI, neste caso)
Grau de complexidade Contribuição em Pontos por funçãoSimples 7Médio 10
Complexo 15
Métricas e Estimativas em processo de produção de Software
Arquivo de Interface Externa - AIE
Um arquivo de interface externa é um grupo de dados logicamente
relacionados ou de informações de controle, identificáveis pelo usuário e
referenciados pela aplicação, mas mantidos dentro da fronteira de uma outra
aplicação.(CPM 4.1.1)
Conceito
A intenção primária de um AIE é guardar dados referenciados através de
um ou mais processos elementares dentro da fronteira da aplicação sendo
contada
(CPM 4.1.1)
Isto significa que um AIE contado para uma aplicação deve obrigatoriamente
ser um ALI em outra aplicação.
A principal diferença entre um ALI e um AIE é que um AIE não é pode ser
mantido pela aplicação sendo contada.
Métricas e Estimativas em processo de produção de Software
Contagem de AIEs - Classificação de complexidade
Dados Elementares Referenciados (DERs)
Registros Lógicos Referenciados (RLRs)
A classificação de AIEs é feita com base em dois fatores:
Métricas e Estimativas em processo de produção de Software
AIEs - Regras de identificação
Todas as regras abaixo devem ser satisfeitas - (CPM 4.1.1)
O grupo de dados é lógico e identificável pelo usuário.
O grupo de dados é externo, referenciado, mas não mantido pela aplicação sendo
contada.
Não são AIEs
O grupo de dados é mantido como um ALI na aplicação referenciada.
Dados que sejam recebidos de outra aplicação e utilizadas para adicionar/alterar ou
remover dados em arquivo lógico interno (São Entradas externas - EEs)
Dados cuja manutenção é feita pela aplicação, mas que sejam acessados ou referen-
ciados por outra aplicação (São ALIs)
Dados processados e enviados (transmitidos) para uso em outras aplicações
(São SEs ou CEs).
Métricas e Estimativas em processo de produção de Software
Regras de Contagem
Contar um DER para cada campo único, não repetitivo, reconhecido pelo usuário e
referenciado em um AIE, através da execução de um processo elementar.
Quando duas ou mais aplicações referenciam o mesmo AIE, mas cada uma delas
referenciam DERs separados, contar somente os DERs usados em cada aplicação para
o dimensionamento do AIE.
Contar um DER para cada pedaço de dado requerido pelo usuário para estabelecer um
relacionamento com um outro AIE, isto é, uma chave estrangeira ou uma associação
entre classes de objetos.
DER - Dado Elementar Referenciado
É um campo único, não repetitivo, reconhecido pelo usuário
Métricas e Estimativas em processo de produção de Software
Regras de Contagem - (uma delas deve acontecer)
Contar um RLR para cada subgrupo opcional ou mandatório de um AIE.
ou
Se não existirem subgrupos contar um RLR para cada AIE.
RLR - Registro Lógico Referenciado
É um subgrupo de dados reconhecido pelo usuário dentro de um AIE
OpcionalAqueles que o usuário tem a opção de usar um ou mais dos subgrupos, durante um
processo elementar que adiciona ou cria dados - CPM 4.1.1
Mandatório
São subgrupos onde o usuário deve usar no mínimo um deles - CPM 4.1.1
Métricas e Estimativas em processo de produção de Software
AIEs - Tabelas de Complexidade e Contribuição de PFs
Com os AIEs identificados, os dados apurados de RLRs e DERs devem ser verificados na tabela de classificação de complexidades abaixo - CPM 4.1.1
A classificação de complexidade leva imediatamente ao número de pontos
de função do elemento apurado (AIE, neste caso)
Grau de complexidade Contribuição em Pontos por funçãoSimples 5Médio 7
Complexo 10
RLR DER DER DER1 – 19 20 – 50 +50
1 Simples Simples Médio
2-5 Simples Médio Complexo+5 Médio Complexo Complexo
Métricas e Estimativas em processo de produção de Software
Exemplo:Em uma aplicação de recursos humanos foi requisitado pelo usuário a capacidade de manter dadossobre os cargos possíveis de serem ocupados na organização, bem como poder associar um cargo acada funcionário. Cada cargo conterá as seguintes informações: Código do Cargo, Nome do cargo e um conjunto de linhas descritivas (cada uma com até 80 caracteres alfa-numéricos) sobre suas atribuições básicas. Podem existir tantas linhas quanto forem necessárias para descrever as atribuições de cada cargo.
Existe uma tabela corporativa que armazena informações das áreas da empresa, que serão usados na definição da área de lotação de cada empregado. Esta tabela é mantida fora das fronteiras desta contagem.
Segundo o usuário, é obrigatório que todos os cargos tenham suas respectivas descrições de atribuições para serem cadastrados.
Em termos de arquivos físicos a questão pode ser representada da seguinte forma:
Funcionários
Matrícula (PK)NomeEndereçoBairroCidadeEstadoCEPFoneData_nascimentoCICPFTitulo_eleitorLotaçãoCódigo_cargo (FK)Lotação (FK)
Cargos
Código_cargo (PK)Nome_cargo
Cargos_descricao
Código_descricao_cargo (PK)Código_cargo (FK)Descricao_cargo
UnidadeCod_Unidade (PK)
Nome_unidade
Endereço
.......
(10 DER)
Áreas_UnidadeCod_Área (PK)
COD_unidade (FK)
Nome_Área
Endereço
.......
(15 DER)
Métricas e Estimativas em processo de produção de Software
Funcionários é um ALI ?
Funcionários
Matrícula (PK)NomeEndereçoBairroCidadeEstadoCEPFoneData_nascimentoCICPFTitulo_eleitorLotaçãoCódigo_cargo (FK)
Cargos
Código_cargo (PK)Nome_cargo
Cargos_descricao
Código_descricao_cargo (PK)Código_cargo (FK)Descricao_cargo
É um grupo lógico de dados e identificável pelo usuário ?
É mantido por um processo elementar, dentro da fronteira da aplicação ?
Complexidade / Pontuação
1 RLR / 14 DER Simples 7PF
Métricas e Estimativas em processo de produção de Software
Como é o ALI de cargos ?
Funcionários
Matrícula (PK)NomeEndereçoBairroCidadeEstadoCEPFoneData_nascimentoCICPFTitulo_eleitorLotaçãoCódigo_cargo (FK)
Cargos
Código_cargo (PK)Nome_cargo
Cargos_descricao
Código_descricao_cargo (PK)Código_cargo (FK)Descricao_cargo
É um grupo lógico de dados e identificável pelo usuário ?
É mantido por um processo elementar, dentro da fronteira da aplicação ?
Complexidade / Pontuação
2 RLR / 3 DER SIMPLES 7PF
Métricas e Estimativas em processo de produção de Software
Unidades e áreas da unidade são um AIE ?
Funcionários
Matrícula (PK)NomeEndereçoBairroCidadeEstadoCEPFoneData_nascimentoCICPFTitulo_eleitorLotaçãoCódigo_cargo (FK)Lotação (FK)
Cargos
Código_cargo (PK)Nome_cargo
Cargos_descricao
Código_descricao_cargo (PK)Código_cargo (FK)Descricao_cargo
UnidadeCod_Unidade (PK)
Nome_unidade
Endereço
Áreas_UnidadeCod_Área (PK)
COD_unidade (FK)
Nome_Área
Endereço
O grupo de dados é lógico e identificável pelo usuário ?
O grupo de dados é externo, referenciado, mas não mantido pela aplicação sendo contada?
O grupo de dados é mantido como um ALI na aplicação referenciada ?
Complexidade / Pontuação
2 RLR / 6 DER Simples 5 PF