Buscar

Atividades sobre Metricas de software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

FIC – Faculdades Integradas de Caratinga 
Ciência da Computação, autoriz. MEC, portaria 585, de 26/06/98 
Engenharia de software Prof. Msc. Fabrícia Pires 
 
Lista de Exercícios 
GRACE KELLY DA SILVA 
Atividades sobre Métricas de software – Valor 4 pontos 
 
1) Explique o que são métricas de software. 
As métricas podem ser consideradas como um conjunto de atributos, previamente 
documentados e conhecidos do ciclo de desenvolvimento de software. Métricas de softwares 
possibilitam realizar uma das atividades mais fundamentais do processo de gerenciamento de 
projetos: o planejamento. A partir desse, pode-se identificar a quantidade de esforço, de custo e 
das atividades que serão necessárias para a realização do projeto. 
 
2) Diferencie as métricas: 
1. Custo 
Visa medir o custo e os prazos, que são calculados em função do esforço, da equipe e do custo 
da mão de obra. 
2. Esforço 
Determina o número de pessoas para realizar uma atividade num período de tempo; O esforço 
depende do tamanho do software; A produtividade diminui em equipes maiores, principalmente 
devido à necessidade de comunicação e interação. 
3. Linhas de Código 
Usada para medir o tamanho de um programa de software, texto do código fonte do programa. 
4. Complexidade 
Utilizando métricas de complexidade na fase de teste, pode-se, dependendo dos elementos 
requeridos, selecionar casos de teste utilizando como base as informações dadas pela métrica. A 
partir disso se obtém dados que podem nos auxiliar a priorizar os elementos requeridos a serem 
testados, realizando os testes primeiramente nos trechos com maior probabilidade de possuir 
defeitos. 
5. Eficiência 
Mede o tempo de execução e os recursos envolvidos são compatíveis com o nível de 
desempenho do software. A eficiência inclui capacidade de resposta, tempo de processamento, 
uso de memória etc. 
 
FIC – Faculdades Integradas de Caratinga 
Ciência da Computação, autoriz. MEC, portaria 585, de 26/06/98 
Engenharia de software Prof. Msc. Fabrícia Pires 
 
Lista de Exercícios 
GRACE KELLY DA SILVA 
6. Memória 
Mede a quantidade de memória utilizada. Pois o software não deve desperdiçar os recursos do 
sistema, como memória e ciclos do processador. 
7. Número de Erros 
Por essa métrica se lê o código em detalhes procurando por possíveis erros e omissões. Em seguida, 
os problemas detectados são discutidos em uma reunião de revisão de código. 
8. Manutenibilidade 
Métrica onde se considera: uma avaliação da versão inicial, definição de uma proposta de 
modificações para a qual é estabelecido um prazo e, avaliação da versão modificada. 
9. Complexidade ciclomática 
é uma métrica de software usada para indicar a complexidade de um programa de computador. 
Ou seja, mede a quantidade de caminhos de execução independentes a partir de um código 
fonte. 
10. Funcionalidade 
Mede a capacidade de um software de prover funcionalidades que satisfaçam o usuário em suas 
necessidades declaradas e implícitas, dentro de um determinado contexto de uso. 
11. Qualidade 
Que permitem indicar o nível de resposta do software às exigências explícitas e implícitas do 
cliente, com relação ao definido pela gerência de qualidade; 
12. Velocidade de Execução 
Visa medir o tempo de execução do sistema. Ou seja, o tempo gasto pelo sistema para responder as 
solicitações do usuário. 
13. Confiabilidade 
Mede a capacidade do sistema de fornecer os serviços conforme especificado. Confiabilidade 
pode ser expressa quantitativamente como sendo a probabilidade de uma falha sob demanda ou 
como a taxa de ocorrência de falha. 
 
3) Cite exemplos de ferramentas que auxiliam na gestão ou cálculo destas métricas. 
FindBugs é um tipo de programa de código aberto que identifica erros em programas o escrito 
em Java. 
SLOCCount é uma ferramenta easy-to-use (fácil para usar) que conta linhas de código fonte. 
FIC – Faculdades Integradas de Caratinga 
Ciência da Computação, autoriz. MEC, portaria 585, de 26/06/98 
Engenharia de software Prof. Msc. Fabrícia Pires 
 
Lista de Exercícios 
GRACE KELLY DA SILVA 
CQUAL é uma ferramenta de análise que fornece um mecanismo leve, prático para especificar 
e verificar propriedades de programas C. 
PREfast é uma ferramenta de análise estática que identifica defeitos em programas C / C ++. 
Testwell CMT ++, Ferramenta de Complexidade de medição para C / C ++ / C #, é uma 
ferramenta de métricas de código easy-to-use para C, C ++ e C # 
Frama-C é um conjunto de ferramentas dedicada à análise do código-fonte do software escrito 
em C. 
 
4) Quanto às métricas propostas, explique sua origem, forma de utilização, aplicação e possíveis 
resultados. 
 
1. COCOMO; 
O modelo de custo construtivo foi desenvolvido por Barry Boehm no final de 1970. 
O Constructive Cost Model, (CoCoMo), segundo Boehm (2000), é um método que busca medir 
esforço, prazo, tamanho de equipe e custo necessário para o desenvolvimento do software, 
desde que se tenha a dimensão do mesmo, através de um modelo de estimativa de tamanho de 
software, como Análise de Pontos de Função. 
Devido à idade dos projetos que embasaram o modelo anterior, assim como sua incapacidade 
de lidar com ciclos iterativos e com a utilização de componentes Commercial-Off-The-Shelf 
(COTS)4 , o CoCoMo 81, Boehm (1981), é atualmente considerado obsoleto, tendo sido 
substituído pela sua versão II, publicada inicialmente em 2000 e vista em Aguiar (2004). 
O modelo CoCoMo II contribui para o atendimento das práticas relativas à estimativa de 
esforço e custo, que se encontram nas Áreas de Processo de Planejamento de Projetos e de 
Monitoramento e Controle de Projetos, ambas de nível 2 do CMMI (SEI 2004), considerando 
representação estagiada. Este nível de maturidade tem como propósito o foco nas atividades de 
gestão de projetos, de forma a enfatizar um processo gerenciado, monitorado, controlado, 
revisado e avaliado. Um processo com nível de capacidade 2 é caracterizado como um processo 
gerenciado, que além de ser executado também é planejado e executado de acordo com 
políticas, emprega pessoas capacitadas e recursos adequados para produzir resultados 
controlados. Também envolve stakeholders relevantes, e preocupa-se com a realização de 
outros objetivos específicos estabelecidos para o processo, tais como custo, prazo e qualidade. 
FIC – Faculdades Integradas de Caratinga 
Ciência da Computação, autoriz. MEC, portaria 585, de 26/06/98 
Engenharia de software Prof. Msc. Fabrícia Pires 
 
Lista de Exercícios 
GRACE KELLY DA SILVA 
Para o cálculo do custo deve-se conhecer o prazo e equipe de trabalho, para então chegar ao 
valor, sendo que para definir o tamanho do programa, torna-se necessário que se caracterize 
que medida será adotada (linhas de código, pontos por função ou pontos por caso de uso). 
2. APF; 
A técnica de Análise de Pontos de Função foi elaborada por Allan Albrecht, em meados da 
década de 1970, a partir de um estudo sobre a produtividade em projetos de software. Albrecht 
tinha o objetivo de elaborar uma medida que observasse aspectos externos (funcionalidades) do 
software, independente da tecnologia utilizada, melhorando assim o nível de assertividade das 
estimativas. Esse estudo foi publicado em 1979. 
Atualmente o padrão de APF é mantido pelo International Function Point Users 
Group(IFPUG), entidade sem fins lucrativos cuja finalidade é promover um melhor 
gerenciamento dos processos de desenvolvimento e manutenção de software. O IFPUG 
mantém o Manual de Práticas de Contagem de Pontos de Função, que é o principal guia de 
APF reconhecido pelo mercado. 
A técnica de APF consiste em atribuirum índice numérico a cada uma das funcionalidades do 
software, conforme a sua complexidade, a partir de um conjunto de critérios padronizados. A 
partir desses índices é determinada uma medida inicial de tamanho, a qual é normalizada 
através da incorporação de um conjunto de fatores relacionados ao software como um todo. 
Como resultado tem-se a quantidade de Pontos de Função do software. A técnica compreende 
todas as atividades relacionadas à construção e entrega dos requisitos funcionais, desde a 
especificação dos requisitos, passando pela análise e modelagem, até a codificação e testes, 
incluindo também artefatos tais como manuais de utilização. 
Tamanho pode ser estimado antes da especificação de requisitos estar completa 
• Muito útil em tempo de proposta e análise de viabilidade 
 • É uma técnica para macro-estimativas 
• Não recomendada para estimativas pontuais de atividades ou projetos muito pequenos 
Resultados melhores à medida que dados históricos de projetos são incorporados 
3. PONTOS DE CASOS DE USO 
Até o início da década de 90 havia a falsa noção de que a APF não era adequada para medir 
sistemas orientados a objetos. Aqueles que compartilhavam desta noção, na prática 
desconheciam a APF. 
FIC – Faculdades Integradas de Caratinga 
Ciência da Computação, autoriz. MEC, portaria 585, de 26/06/98 
Engenharia de software Prof. Msc. Fabrícia Pires 
 
Lista de Exercícios 
GRACE KELLY DA SILVA 
Com a disseminação da construção e projeto de sistemas orientados a objetos, houve também 
uma mudança na forma de se especificar e modelar os sistemas. A UML e os casos de uso 
rapidamente tornaram-se padrão na indústria de software. 
Dentro deste contexto, em 1993 Gustav Karner propôs em um trabalho acadêmico a 
metodologia dos Pontos por Caso de Uso (baseado na Análise de Pontos de Função) com o 
intuito de estimar recursos para projetos de software orientados a objeto desenvolvidos 
utilizando o processo Objectory. 
O processo de medição do PCU consiste resumidamente em: 
1 - Contar os atores e identificar sua complexidade; 
2 - Contar os casos de uso e identificar sua complexidade; 
3 - Calcular os PCUs não ajustados; 
4 - Determinar o fator de complexidade técnica; 
5 - Determinar o fator de complexidade ambiental; 
6 - Calcular os PCUs ajustados; 
Com o resultado desta medição e sabendo-se a produtividade média da organização para produzir 
um PCU, pode-se então estimar o esforço total para o projeto. 
 
4. NESMA 
A NESMA – Netherlands Software Metrics Association (Associação de Métricas de Software 
da Holanda) é uma organização similar ao IFPUG, fundada em 1989, também composta por 
voluntários, que mantém seu próprio Manual de Práticas de Contagens. 
A NESMA reconhece três tipos de contagem de pontos de função: 
- Contagem de pontos de função detalhada 
- Contagem de pontos de função estimativa 
- Contagem de pontos de função indicativa 
Contagem Detalhada 
determina-se todas as funções de todos os tipos (ALI, AIE, EE, SE, CE) determina-se a 
complexidade de cada função (Baixa, Média, Alta) calcula-se o total de pontos de função não 
ajustados. 
Contagem Estimativa 
Determina-se todas as funções de todos os tipos (ALI, AIE, EE, SE, CE) 
FIC – Faculdades Integradas de Caratinga 
Ciência da Computação, autoriz. MEC, portaria 585, de 26/06/98 
Engenharia de software Prof. Msc. Fabrícia Pires 
 
Lista de Exercícios 
GRACE KELLY DA SILVA 
toda função do tipo dado (ALI, AIE) tem sua complexidade funcional avaliada como Baixa, e 
toda função transacional (EE, SE, CE) é avaliada como de complexidade média calcula-se o 
total de pontos de função não ajustados. 
Logo, a única diferença em relação à contagem usual de pontos de função é que a 
complexidade funcional não é determinada individualmente para cada função, mas pré-definida 
para todas elas. 
Contagem Indicativa 
determina-se a quantidade das funções do tipo dado (ALIs e AIEs) calcula-se o total total de 
pontos de função não ajustados da aplicação da seguinte forma: 
tamanho indicativo (pf) = 35 x número de ALIs + 15 x número de AIEs. Portanto esta 
estimativa é baseada somente na quantidade de arquivos lógicos existentes (ALIs e AIEs). A 
contagem indicativa é baseada na premissa de que existem aproximadamente três EEs (para 
adicionar, alterar, e excluir dados do ALI), duas SEs, e uma CE na média para cada ALI, e 
aproximadamente uma SE e uma CE para cada AIE. 
A aplicação das regras da NESMA é bastante adequada para projetos de melhoria, pois 
proporciona uma melhor relação entre tamanho e esforço do projeto.

Outros materiais