Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

1 
 
 
A)Quatro a seis 
 
ENGENHARIA DE SOFTWARE 
 
 2 
 
 
 
 
NOSSA HISTÓRIA 
 
 
A nossa história inicia-se com a ideia visionária e da realização do sonho 
de um grupo de empresários na busca de atender à crescente demanda de 
cursos de Graduação e Pós-Graduação. E assim foi criado o Instituto, como uma 
entidade capaz de oferecer serviços educacionais em nível superior. 
O Instituto tem como objetivo formar cidadão nas diferentes áreas de co-
nhecimento, aptos para a inserção em diversos setores profissionais e para a 
participação no desenvolvimento da sociedade brasileira, e assim, colaborar na 
sua formação continuada. Também promover a divulgação de conhecimentos 
científicos, técnicos e culturais, que constituem patrimônio da humanidade, 
transmitindo e propagando os saberes através do ensino, utilizando-se de publi-
cações e/ou outras normas de comunicação. 
Tem como missão oferecer qualidade de ensino, conhecimento e cultura, 
de forma confiável e eficiente, para que o aluno tenha oportunidade de construir 
uma base profissional e ética, primando sempre pela inovação tecnológica, ex-
celência no atendimento e valor do serviço oferecido. E dessa forma, conquistar 
o espaço de uma das instituições modelo no país na oferta de cursos de quali-
dade. 
 
 
 
 
 
 
 
 
 
 3 
 
 
Sumário 
NOSSA HISTÓRIA .................................................................................. 2 
1. PROCESSO DE DESENVOLVIMENTO DE SOFTWARE ............. 4 
1.1 Definição e importância processo de desenvolvimento de software
 ........................................................................................................................ 4 
1.2 Modelos de processos de software ................................................ 7 
1.2.1 Modelo em Cascata ................................................................. 9 
1.2.2 Modelo em Espiral ................................................................. 11 
1.2.3 Modelo em Prototipação ........................................................ 12 
1.2.4 Modelo em Desenvolvimento Incremental ............................. 13 
1.2.5 Modelo em entrega Incremental ............................................ 15 
1.2.6 Modelo Orientada ao Reuso ................................................. 16 
2. ATIVIDADES RELACIONADAS AO PROCESSO DE 
DESENVOLVIMENTO DE SOFTWARE .......................................................... 17 
2.1 Especificação de software ......................................................... 17 
2.2 Projeto e implementação de software ....................................... 20 
2.3 Validação de software ............................................................... 21 
2.4 Evolução de software ................................................................ 22 
3. ESTIMATIVA DE SOFTWARE ..................................................... 25 
3.1 Conceito e importância da estimativa de software .................... 25 
3.2 Métricas de Software ................................................................... 26 
3.2.1 Análise por ponto de função .................................................. 27 
3.3 Planning Poker .......................................................................... 34 
4 REFERÊNCIAS: .............................................................................. 36 
 
 
 
 4 
 
 
1. PROCESSO DE DESENVOLVIMENTO DE 
SOFTWARE 
 
1.1 Definição e importância processo de desenvolvimento de 
software 
 
Um software não se constitui unicamente pelas linhas de código 
executáveis. Incorpora toda a documentação necessária para a sua instalação, 
uso e manutenção, incluindo a configuração imprescindível ao seu correto 
funcionamento. 
Diante deste entendimento, o Processo de Desenvolvimento de Software 
ou simplesmente Processo de Software, se refere a toda uma gama de ações 
executadas no âmbito do desenvolvimento de um produto de software, 
incorporando desde o levantamento de requisitos, escolha da linguagem, e 
alcançando inclusive, a análise de performance (SOMMERVILLE, 2011, 
HIRAMA, 2012; PETERS, 2001). 
Assim, no Processo de Software são estabelecidos os métodos (norteia 
o que fazer), as ferramentas (define o material a ser utilizado), e os 
procedimentos (indicando o como fazer) de modo a garantir que o produto 
alcance o resultado planejado (PRESSMAN, 2011). 
É justamente pelo desenvolvimento de um bom Processo de Software 
que se pretende alcançar a qualidade do produto desenvolvido e/ou evoluído, 
o que por sua vez requer organização e definição de ações atuantes para o 
alcance de agilidade e transformação tecnológica, considerando o contexto de 
prazo e assertividade em produto (WAZLAWICK, 2013). 
Tratando destes aspectos, Wazlawick (2013) segue destacando que 
o prazo incorpora o tempo de execução do projeto, incluindo os limites e datas 
estabelecidos previamente, e a assertividade em produto se faz relacionada ao 
fato de o software, uma vez entregue ao cliente, se fazer preparado para atender 
as demandas que lhe foram solicitadas sem a incorrência de falhas ou a 
necessidade frequente de paralisação para manutenções e correções que não 
foram previamente definidas. 
 5 
 
 
Tal preocupação, deu-se a partir anos de 1960, quando, por falta de 
padronização no desenvolvimento, a demanda crescente de desenvolvimento, 
os custos e prazos mal definidos, o serviço descompromissado das equipes de 
tecnologia e a ausência de confiança dos clientes, fez surgir uma fase 
denominada pela expressão Crise do Software, evidenciando a necessidade de 
que adequações fossem definidas para que o processo se tornasse mais 
profissional (SOMMERVILLE, 2011). 
Era destaque à época a questão referente aos defeitos de software 
em face de seu mal dimensionamento, o custo elevado e a estimativa de 
prazos que não conseguia se fazer cumprida. A isto, somava-se a complexidade 
do código e a total ausência de documentação, o que dificultava a manutenção, 
atrapalhando o processo de evolução do software e o consequente 
acompanhamento ao progresso dos equipamentos existentes (PRESSMAN, 
2011). 
Além deste fato, a comunicação entre o cliente e a TI era precária 
ou inexistente, acarretando uma série de falhas no desenvolvimento pelo 
fato de a equipe de tecnologia ter dificuldade em compreender as reais 
necessidades a serem atendidas pelos softwares, levando a correções 
praticamente infinitas (WAZLAWICK, 2013). 
Outro aspecto impactante era a ausência de meios avaliativos de eficácia 
que permitissem proceder com a definição de estimativas de maior precisão 
em relação ao software desenvolvido e entregue, o que efetivamente impactava 
na possibilidade de se prospectar a necessidade de treinamentos e de 
manutenções preventivas aos sistemas (SOMMERVILLE, 2011). 
Assim, a Crise do Software impulsionou o Processo de Software, e este, 
por sua vez, passou a englobar atividades fundamentais voltadas ao 
desenvolvimento e/ou evolução em um processo de software, as quais seguem 
apresentadas no Quadro 1. 
 
Atividades fundamentais para o desenvolvimento e/ou evolução do 
processo de software 
 
 
 6 
 
 
Especificação de software Atividade em que se define as funcionalidades 
que devem ser atendidas pelo software e 
possíveis restrições que podem ser interpostas 
ao projeto. 
Projeto e Implementação 
de software 
Atividade longa que parte das especificações 
definidas anteriormente e se volta ao 
desenvolvimento do software. 
Validação de SoftwareAtividade de validação da ferramenta 
desenvolvida, no intuito de se atestar se a 
solução realiza o que fora solicitado pelo 
cliente. 
Evolução de software Atividade de ajuste com mudanças voltadas a 
garantir total atendimento às necessidades do 
cliente. 
Quadro: 1 
 
Tais ações demosntram o nível de profissionalismo alcançado a partir do 
Processo de Software em oposição à ausência de definição de processos como 
acontecia anteriormente à Crise do Software. 
O Processo de Software passou a permitir efetivas melhorias em relação 
ao treinamento de usuários, padronização de desenvolvimento e possibilidade 
da experiência do usuário ser mais bem compreendida e aperfeiçoada por meio 
do sistema (WASTLAWICK, 2013). 
Neste âmbito, cabe reconhecer que quando um Processo de Software é 
especificado também são definidas descrições como as referenciadas no 
Quadro 2. 
 
Outras especificações importantes no Processo de software 
 
Produtos Resultado que se deseja alcançar com o processo que 
se encontra em execução. 
Papéis Pessoas responsáveis e envolvidas no processo. 
Condições Declarações prévias ou posteriores ao processo e que 
merecem atenção 
Quadro: 2 
 
Cabe destacar em relação ao Quadro 2, que quando definidos os papeis 
referentes às pessoas responsáveis e envolvidas no processo tem-se um termo 
técnico comumente utilizado que é o de Stakeholders, ou seja, todos aqueles 
que são responsáveis, possuem interesses e/ou ainda são afetados pela criação 
 7 
 
 
de softwares e pela incorporação deles nas atividades de negócio (OLIVEIRA, 
2018). 
No intuito de que o Processo de Software, embasado nas ações e 
especificações já apontadas, alcançasse a possibilidade de acompanhar o 
desenvolvimento e a evolução de um software, concebeu- se o entendimento 
acerca do Ciclo de Vida de Software (WAZLAWICK, 2013). 
O Ciclo de Vida de Software, de acordo com Wazlawick (2013) incorpora 
em si as ações pertinentes a todo o período de existência de um software, 
incluindo a atualização do sistema em face das atividades do usuários sofrerem 
ajustes, o que, por conseguinte, leva a alterações evolutivas na ferramenta. 
 
1.2 Modelos de processos de software 
 
Um Processo de Software configura-se em um conjunto de atividades 
complexas e especializadas, de modo que o Modelo de um Processo de 
Software representa e fornece, de modo simples, informações e visibilidade 
acerca do processo em si traduzidas na forma de estruturas/esquematizações 
fornecedores de uma visão didática de como proceder com as etapas que devem 
se fazer efetivadas (SOMMERVILLE, 2011; PRESSMAN, 2011). 
Um Modelo de Processo de Software possui em seu bojo estruturas que 
demonstram as etapas atinentes ao desenvolvimento do software em si, por 
meio da organização do Ciclo de Vida de Software, no qual tem-se estruturadas 
as atividades a serem executadas, incorporando em si os conceitos listados no 
Quadro 3. 
Ciclo de Vida de Software 
 
Requisitos Etapa voltada ao levantamento de informações atinentes 
ao problema que a ferramenta de software se destinará 
a resolver. Tais informações, ou seja, os requisitos 
configuram-se como condições, necessidades, 
características, funcionalidades, restrições e demais 
aspectos que carecem ser atendidos, necessitando ser 
devidamente documentados. 
Análise Etapa que parte do levantamento de requisitos e permite 
que a equipe de processo conheça a atividade do 
 8 
 
 
usuário, discuta os requisitos levantados e identifique 
melhorias que carecem de implementação. 
Abstração e 
representação 
Etapa de elaboração de modelos mentais e conceituais 
voltados a solucionar as necessidades do cliente por 
meio do software. 
Projeto Etapa de desenho do produto de software, partindo dos 
requisitos, ou seja, do que o sistema deverá executar. 
Implementação Etapa de transformação do projeto através da linguagem 
de programação escolhida, não devendo se fazer 
completamente dissociada da interação com o cliente. 
Integração Etapa em que os módulos desenvolvidos durante a 
implementação se fazem integradas para que possam 
trocar dados entre si. 
Testes Etapa de verificação quanto ao alcance de objetivos por 
parte do software e da possibilidade de falhas de 
execução ou funcionalidades mal dimensionadas. 
Implantação Fase em que estando o sistema finalizado, ele é 
disseminado pela organização e o desenvolvedor se 
mantém em atenção para a necessidade de ajustes em 
face de questões de usuário ou modelo de negócios. 
Manutenção Fase em que após a entrega, faz-se importante a 
correção de falhas, a melhoria de desempenho e 
adaptações de acordo com a necessidade do cliente. 
Quadro: 3 
 
Cabe, por último considerar a importância da documentação completa do 
Processo de Software, no qual efetivamente, através de diagramas de casos de 
uso especifica-se todo o ciclo, incluindo desde os requisitos até o planejamento 
de manutenção, garantindo que outras equipes de tecnologia possam 
tranquilamente se posicionar em prol da evolução do sistema. 
Em relação à fase de Implantação apresentada a partir do Quadro 3, 
deve-se considerar os seguintes possibilidades descritas no Quadro 4 quando 
um software se fizer aplicado em substituição a outro que esteja em 
funcionamento. 
 
 
 
 
 
 9 
 
 
Processos de substituição de software 
 
Direita Assim que o sistema novo entrar em pleno funcionamento o 
antigo é retirado de operação completamente. 
Paralela Os sistemas, novo e antigo, permanecem funcionando 
paralelamente com acesso e atualização à mesma base durante 
certo espaço de tempo. 
Piloto O sistema novo refaz os processos efetivados pelo antigo com 
vistas a identificar os parâmetros de seu funcionamento e 
efetividade. 
Parcial Parte dos sistemas se complementam e aos poucos o novo 
sistema vai tomando todo o espaço do antigo. 
Quadro: 4 
 
Os conceitos apresentados apenas clarificam em relação às suas 
funções, e que não existe um único modelo para o desenvolvimento de um 
projeto, cabendo a escolha por parte da equipe de desenvolvimento embasada 
na filosofia de trabalho que emprega (PRESSMAN, 2011). 
No entanto, a possibilidade de associação entre modelos é uma realidade, 
de modo a garantir que se combine os melhores aspectos entre eles 
(SOMMERVILLE, 2011). 
 
1.2.1 Modelo em Cascata 
 
O Modelo em Cascata é clássico, desenvolvendo-se de forma 
sistemática, encadeada e previamente planejada em sua totalidade, de modo 
que uma etapa depende diretamente da outra e a próxima somente se inicia 
a partir do momento que a anterior se encontra finalizada (SOMMERVILLE, 
2011; PRESSMAN, 2011). 
 
A Figura 1 dispõe representação clássica do Modelo em Cascata 
permitindo melhor entendimento de suas fases. 
 10 
 
 
 
Figura: 1 
Representação dos estágios do Modelo em Cascata 
 
 
Justamente pelo fato de este modelo seguir um planejamento prévio, 
também chegou a receber a denominação de Processo dirigido a Planos, no 
entanto, vale a crítica de que, mesmo em sua orientação a planos, por vezes 
o modelo efetiva levantamento de requisitos de modo superficial, não define 
processos padronizados a serem seguidos pela equipe como um todo e conta 
com certa dificuldade em rever as falhas antes da finalização de uma etapa, e 
até do projeto como um todo (SOMMERVILLE, 2011; PRESSMAN; MAXIM, 
2016). 
Assim, pela não ocorrência de critérios de avaliação e controle que 
favoreçam o feedback das ações efetivadas durante a execução do projeto, 
tem-se que, por vezes, o projeto consegue ser paralisado em uma dada etapaem vista de conseguir cumprir os critérios estabelecidos, levando à não 
obediências de prazos ajustados com o cliente e, por conseguinte, o aumento 
do custo final do produto (PRESSMAN, 2011). 
Para este modelo a documentação se faz desenvolvida a cada fase, 
permitindo que as ações sejam visíveis para a gestão, no entanto a possibilidade 
de replanejamento e mudanças durante a execução não é parte do seu escopo, 
 11 
 
 
demonstrando riscos e incapacidades de gestão latentes (PRESSMAN, 2011; 
PRESSMAN; MAXIM, 2016). 
No entanto, cabe ressaltar que, em caso de definições bem efetivadas 
de requisitos e ausência de necessidade de mudanças/ajustes ao longo do 
desenvolvimento do sistema, o modelo se aplica perfeitamente, principalmente 
em face de sua simplicidade de compreensão e uso (WAZLAWICK, 2013). 
 
1.2.2 Modelo em Espiral 
 
Neste modelo, o processo se faz representado por uma espiral, devendo 
se fazer percorrido no sentido horário, de dentro para fora, no intuito de 
demonstrar que a evolução é a tônica do conjunto de ações efetivadas 
(SOMMERVILLE, 2011; PRESSMAN, 2011). 
Os riscos referentes ao não cumprimento de prazos, à mudança de 
tecnologia e ao custo com dimensionamento mal efetivado tornam-se 
gerenciáveis, permitindo que ajustes sejam passíveis de efetivação antes da 
finalização do produto (PRESSMAN, 2011; PRESSMAN; MAXIM, 2016). A 
Figura 2 dispõe representação do Modelo em Espiral permitindo melhor 
entendimento de suas fases. 
 
 
Figura: 2 
Representação dos estágios do Modelo em Espiral 
 
 
 12 
 
 
Conforme se observa na figura, à medida que se efetiva o 
desenvolvimento do projeto, cada fase adiciona novos requisitos, passando 
pelos estágios mais de uma vez até que o produto esteja finalizado, garantindo 
que os riscos sejam o fator de maior atenção no modelo, assim como a 
qualidade. 
 
1.2.3 Modelo em Prototipação 
 
O protótipo, sendo uma representação visual em baixa fidelidade do 
produto, permite ao usuário/cliente conhecer a proposição das funcionalidades 
efetivadas pela equipe de desenvolvimento através da experimentação, 
respaldando inclusive a troca de informações com vistas à efetivação de 
melhorias para a versão final (SOMMERVILLE, 2011; PRESSMAN, 2011; 
PRESSMAN; MAXIM, 2016). 
Contudo, o Modelo em Prototipação é indicado nos casos em que 
o cliente não consegue identificar claramente suas necessidades em matéria 
de software, mas participa ativamente das etapas do projeto, e assim, por meio 
da interação com o produto proposto consegue estabelecer as funcionalidades 
de que necessita com maior precisão (SOMMERVILLE, 2011). 
Seu custo que tende a ser relativamente baixo, demonstra atratividade 
pela incorporação de protótipos aos processos de desenvolvimento, uma vez 
que o levantamento de requisitos se torna mais eficiente, o feedback do 
cliente/usuário permite ajustes antes da finalização do produto e a usabilidade 
pode ser facilmente testada e ajustada (PRESSMAN, 2011). 
Assim, o modelo se aplica plenamente para o levantamento e validação 
de requisitos, como também para a avaliação de projetos e erros de interface, 
permitindo que a experiência do usuário seja o diferencial desse processo 
(WAZLAWICK, 2013). 
 
A Figura 3 dispõe representação de Modelo em Prototipação permitindo 
melhor entendimento de suas fases. 
 
 13 
 
 
 
Figura: 3 
Representação dos estágios do Modelo em Prototipação 
 
 
Com sua etapa inicial na etapa de Obtenção de Requisitos para o Plano 
de Prototipação, observa-se que em seu processo cíclico melhorias podem ser 
incorporadas até que o protótipo alcance a possibilidade de atender às 
necessidades do cliente, permitindo que o produto alcance condições de 
efetivamente implementado em código. 
Assim, compreende-se a partir de sua atuação como um objeto de 
experimentação, que o protótipo permite a adição e teste de funcionalidades, 
para que, diante de sua viabilidade, possam efetivamente fazer parte do produto 
em si (SOMMERVILLE, 2011). 
 
1.2.4 Modelo em Desenvolvimento Incremental 
 
No Modelo em Desenvolvimento incremental a criação do sistema ocorre 
em versões. A cada versão ajustes são adicionadas após terem passado por 
processo de avaliação efetivado por parte dos clientes/usuários ( 
SOMMERVILLE, 2011; PRESSMAN; MAXIM, 2016). 
Assim, o desenvolvimento ocorre em ciclos de especificação, 
desenvolvimento e validação efetivados a cada versão, permitindo sempre que 
 14 
 
 
novas funcionalidades sejam parte da versão em atualização (PRESSMAN, 
2011). 
A Figura 4 dispõe representação do Modelo em Desenvolvimento 
incremental permitindo melhor entendimento de suas fases. 
 
 
Figura: 4 
Representação dos estágios do Modelo em Desenvolvimento Incremental 
 
 
Na figura, observa-se por meio do diagrama iniciado na Descrição do 
esboço, que para a passagem de uma etapa a outra ocorrem interações, e 
somente após o seu pleno atendimento são efetivados os incrementos para as 
etapas seguintes. 
Complementando, a disposição composta por peças de um quebra -
cabeças demonstra que a cada etapa uma parte do produto vai sendo 
adicionada até que ocorra a sua conclusão. 
Cabe destacar, que este modo de ação foi concebido em correção 
ao Modelo Tradicional em Cascata, no qual os ajustes somente se fariam 
efetivados ao final de todo o processo de desenvolvimento e apenas sobre 
os pontos de maior criticidade (WAZLAWICK, 2013). 
Sua indicação de uso se faz nos casos em que se necessita privilegiar 
a liberação de alguma funcionalidade do sistema ou quando os profissionais 
envolvidos carecem de melhor distribuição nas atividades a serem 
desenvolvidas, permitindo que a gestão do tempo de execução seja mais efetiva 
(PRESSMAN, 2011; PRESSMAN; MAXIM, 2016). 
 
 15 
 
 
1.2.5 Modelo em entrega Incremental 
 
No Modelo em Entrega Incremental o cliente aponta quais as 
funcionalidades do sistema são de maior importância. Assim, posicionando-
os como de maior prioridade em desenvolvimento, estes são logo 
incrementados favorecendo a efetivação de entrega e aptidão para 
operacionalização (SOMMERVILLE, 2011). 
 Como vantagem ao uso deste modelo tem-se, entre outras, a 
possibilidade de que as primeiras versões, antes do incremento final, sirvam de 
protótipo, favorecendo a experimentação do usuário/cliente e a troca de 
informações com a equipe de desenvolvimento (PRESSMAN, 2011; 
PRESSMAN; MAXIM, 2016). 
A Figura 5 dispõe representação dos estágios do Modelo em Entrega 
Incremental permitindo seu melhor entendimento. 
 
 
Figura: 5 
Representação dos estágios do Modelo em Entrega Incremental 
 
 
A figura demostra que garantir as finalização do sistema e a efetivação de 
seus incrementos são preocupações do modelo, garantindo que a possibilidade 
de especificação não se efetive apenas no início do projeto. 
No entanto, vale destacar que o modelo de entrega Incremental não é 
indicado quando o sistema for de maior porte, o que requere a divisão de tarefas 
em equipes, e nem quando o sistema for desenvolvido para processos de maior 
criticidade e periculosidade (WAZLAWICK, 2013). 
 
 
 16 
 
 
1.2.6 Modelo Orientada ao Reuso 
 
 O Modelo Orientado ao Reuso se aplica nos casos em que o 
desenvolvimento de sistema estiver focado na integração de módulos já 
existentes, restando identificar se os componentes passíveis de integraçãosão 
aptos ou não ao recuso (SOMMERVILLE, 2011; PRESSMAN; MAXIM, 2016). 
Basicamente, são orientados ao reuso os Serviços Web, as coleções de 
Objetos em Frameworks de Componentes e Sistemas Stand-Alone, ou seja, que 
funcionam individualmente e isoladamente, sem interação com outros 
(WAZLAWICK, 2013). 
 
 
A Figura 6 dispõe representação dos estágios do Modelo Orientado ao 
Reuso permitindo seu melhor entendimento. 
 
Figura: 6 
Representação dos estágios do Modelo Orientado ao Reuso 
 
 
Assim, diminuindo a quantitativo de software a ser desenvolvido, este 
modelo se aplica na redução de custos e do tempo de execução do projeto, 
contudo, a possibilidade de que os requisitos não se mantenham sintonizados 
com as necessidades dos usuários e com os módulos entregues no sistema é 
elevada, levando por vezes à necessidade de retrabalho e até novos 
 17 
 
 
desenvolvimentos de software desde o processo inicial (PRESSMAN, 2011, 
HIRAMA, 2012; PRESSMAN; MAXIM, 2016; PETERS, 2001). 
Assim, em se tratando da manutenção de software, ou seja, da 
necesidade de ajustes após a entrega do produto em si, cabe destacar os tipos 
de manutenção existentes, os quais seguem especificadas no Quadro 5. 
 
Corretiva Efetivada após a entrega do produto no intuito de corrigir 
um erro descoberto em garantia de pleno funcionamento do 
sistema. 
Adaptativa Efetivada após a entrega do produto visando estabelecer 
ajustes/alterações que garantam o uso do sistema. 
Perfectiva Efetivada após a entrega do produto no intuito de melhorar 
o desempenho e/ ou a manutenibilidade. 
Preventiva Efetivada após a entrega do produto para o reparo de falhas 
antes que o sistema se faça afetado. 
Quadro: 5 
Sendo a manutenção um requisito necessário e relacionado diretamente 
com a qualidade de software (manutenibilidade), cabe que o Processo de 
Software incorpore em seu ciclo de execução esta fase, garantindo que o 
sistema não se torne obsoleto pelo simples fato de sua desatualização. 
 
2. ATIVIDADES RELACIONADAS AO PROCESSO 
DE DESENVOLVIMENTO DE SOFTWARE 
 
2.1 Especificação de software 
 
A Especificação de Software tem como função compreender os serviços 
que se fazem requisitados para o sistema assim como identificar os aspectos 
que podem se posicionar como restritivos para o seu desenvolvimento 
(SOMMERVILLE, 2011). 
Sua ação de fundamental importância pode se posicionar como marco 
de sucesso/insucesso para o Processo de Software e, justamente em face deste 
 18 
 
 
aspecto, requer senso de responsabilidade e conhecimento para a boa 
efetivação dos processos desenvolvidos (WAZLAWICK, 2013; VAZQUEZ; 
SIMÕES, 2016). 
Volta-se portanto a documentar os requisitos de especificação do si 
stema, permitindo que tanto usuários quanto desenvolvedores conheçam 
claramente e detalhadamente que aspectos deverão ser cobertos pela 
ferramenta computacional em desenvolvimento (PRESSMAN, 2011). 
Sommerville (2011) e Pressman (2011) apresentam as atividades que 
fazem parte do processo de Especificação de Software e estas seguem 
apresentadas no Quadro 6. 
 
 
 
 
 
Estudo de viabilidade 
Dada a necessidade de se desenvolver um 
sistema, investiga-se a possibilidade de a 
ferramenta a ser proposta efetivamente atender 
as necessidades do usuário partindo do 
ambiente computacional de hardware e software 
existentes, da interação com os 
clientes/usuários, do orçamento disponível e do 
ambiente de negócio vigente na organização. 
 
 
 
 
 
Elicitação e análise de 
requisitos 
Partindo do entendimento de que a organização 
possui ou não um ambiente computacional 
prévio de hardware e de software, efetiva-se 
interações com os usuários /clientes a fim de 
identificar suas reais necessidades as quais 
impulsionam para o desenvolvimento de novos 
sistemas, permitindo inclusive a idealização de 
ferramentas por meio de modelos voltados à 
prototipagem. 
 
 
 
 
Especificação de requisitos 
Tendo estudado a viabilidade e efetivada a 
elicitação de requisitos, parte-se para o 
levantamento de informações efetivas e que 
devem ser registradas por meio dos requisitos de 
usuário (abstrações das necessidades efetivas 
do cliente e do usuário) e requisitos de sistema 
(descrição das funcionalidades a serem 
implementa das pelo profissional de TI). 
Validação de requisitos Constata se os requisitos especificados serão 
efetivamente atendidos na ferramenta a ser 
desenvolvida, permitindo a correção das 
especificações. 
 19 
 
 
Quadro: 6 
 
Cabe o destaque quanto os modos de levantamento de informações junto 
a clientes/usuários na fase de Estudo de Viabilidade, de modo que estes podem 
se dar por meio de entrevista, questionário, reuniões, observações, análises 
documentais (WAZLAWICK, 2013; PRESSMAN, 2011). 
Quanto ao processo de Análise de Requisitos, naturalmente serão 
levantados Requisitos Funcionais e Não Funcionais. Em relação aos Requisitos 
Funcionais, tem-se que estes retratam as funcionalidades do software no intuito 
de que se planeje o treinamento dos usuários (exemplo: dados de cadastros 
de cliente, dados de cadastro de pedido); já os Requisitos Não Funcionais 
referem-se às estratégias utilizadas para que o sistema computacional esteja 
apto a resolver as problemáticas para as quais se fez desenvolvido (exemplo: 
efetivação de login e de autenticação de usuário) (WAZLAWICK, 2013; 
VAZQUEZ; SIMÕES, 2016; HIRAMA, 2012). 
Isto, se bem definido auxiliará no pleno entendimento das necessidades 
do cliente/usuário, na manutenção futura do sistema, na redução do esforço 
desempenhado para o desenvolvimento, na diminuição dos custos e tempos 
de entrega e na validação final do sistema (WAZLAWICK, 2013; PETERS, 2001) 
Em se tratando da Validação de Requisitos, é importante atentar para o 
papel do cliente/usuário neste processo, pois é justamente o seu feedback 
que dará ao desenvolvedor o entendimento quanto ao cumprimento dos 
requisitos funcionais e não funcionais levantados (PRESSMAN, 2011; 
VAZQUEZ; SIMÕES, 2016). 
Contudo, cabe destacar que a Especificação de software não é uma ação 
que se deve efetivar apenas no início do Processo de software, sendo importante 
que durante todo o cumprimento das ações de desenvolvimento do software a 
especificação se faça presente (PRESSMAN, 2011). 
 
 
 
 
 
 
 20 
 
 
2.2 Projeto e implementação de software 
 
O projeto de Software descreve o software a ser implementado 
considerando a ideia elaborada para sua estrutura e funcionalidades, partindo 
da ação conjunta de uma equipe de projetistas que juntos estabelecem e revisam 
os elementos que deverão fazer parte do projeto em sua versão final 
(SOMMERVILLE, 2011). 
No Projeto de um Software não se considera informações únicamente da 
ferramenta a ser desenvolvida, pois faz-se essencial considerar todo o 
macroambiente tecnológico em que ela se fará inserida, ou seja, a Plataforma 
de software a qual se faz composta pelo harware, sistema operacional, base de 
dados e outros (WAZLAWICK, 2013). 
Daí se identifica a importância e relação desta fase com a de 
Especificação de Software: é justamente na etapa anterior que todas estas 
informações da Plataforma de software serão identificadas, de modo a garantir 
que a ferramenta a ser desenvolvida se faça apta a usufruir das funcionalidades 
do ambiente para o qual ela será implementada (PRESSMAN, 2011). 
Pressman (2011) e Sommerville (2011) apresentam as atividades que 
fazem parte do Projeto de Software, e estas seguem apresentadas no Quadro 7. 
 
Projeto de Arquitetura Compreende a estruturação geral do sistema,considerando seus componentes, relacionamentos 
e distribuição destes. 
Projeto de Interface Compreende a definição de interfaces dos 
componentes e conexão entre estas interfaces. 
Projeto de 
componente 
Compreende o funcionamento ou as alterações que 
devem ser efetivadas para cada componente do 
sistema. 
Projeto de Banco de 
Dados 
Compreende o projeto de estrutura de dados, sua 
representação 
Quadro: 7 
 
Sendo consequência do projeto, a Implementação de Software deve 
ocorrer intercalado ao projeto, de modo a garantir que sempre possa ser 
efetivada a revisão das ações implementadas (SOMMERVILLE, 2011). 
A experiência do projetista, sua capacidade de abstração, o uso ajustado 
de sua intuição e a aplicação de ferramentas de projeto reconhecidas e bem 
 21 
 
 
desenvolvidas para esta finalidade devem representar papel importante na etapa 
de Projeto de Software, e é justamente tais fatores que serão de impacto na 
decodificação por meio da linguagem escolhida para o projeto (PRESSMAN, 
2011). 
Neste sentindo, o Quadro 8 apresenta aspectos que são fundamentais 
para todo e qualquer Projeto de Software. 
 
Abstração Solução identificada em atendimento ao problema 
relatado pelo cliente/usuário, podendo se 
apresentar sob a forma de procedimentos, 
algoritmos e código fonte. 
Abstração de dados Dados processados, agrupados, características e 
favoráveis a descrever um dado objetivo. 
Modularidade Divisão do software em partes, módulos, que 
podem interagir internamente e acoplar-se com 
outros externamente. 
Procedimento de software Especificações definidas para que cada módulo 
processe os seus próprios dados, podendo assim 
alimentar os demais. 
Quadro: 8 
 
Não havendo um padrão que obrigatoriamente deva ser seguido por todos 
os desenvolvedores, a equipe pode adotar uma abrodagem única, no entanto a 
preferência de por onde dar início ao trabalho de decodificação dependerá 
unicamente do profissional de desenvolvimento e de suas habilidades 
(WAZLAWICK, 2013). 
 
2.3 Validação de software 
 
A validação de software tem o papel de verificar se o software segue 
as especificações levantadas e se isto atende as necessidades apontadas pelo 
cliente/usuário (SOMMERVILLE, 2011). 
A principal técnica utilizada para a validação é o Teste de Software, 
dando-se principalmente durante e após o processo de transformação do projeto 
em código, ou seja, da implementação do sistema (WAZLAWICK, 2013). 
 22 
 
 
Contudo, relata-se que muitos erros de sistema a serem encontrados 
durante os testes podem se dar após a implementação completa, levando o 
retrabalho do desenvolvedor e ao atraso na entrega do produto (PRESSMAN, 
2011). Pressman (2011) e Sommerville (2011) apresentam os estágios do 
Processo de Testes de software, e estes seguem apresentados no Quadro 9. 
 
Testes de 
desenvolvimento 
Os testes são efetivados em componentes 
isoladamente pelos próprios desenvolvedores., 
Testes de 
sistema 
Estando os componentes integrados o sistema 
como um todo é testado no intuito de se encontrar 
erros e possibilidades de não atendimento aos 
requisitos. 
Testes de 
aceitação 
O cliente fornece dados para que se efetive testes 
simulados no sistema, podendo revelar problemas 
nos requisitos e no desempenho. 
Quadro: 9 
Estágios do Processo de Testes 
 
Os testes de aceitação podem ser efetivados até que as falhas sejam 
completamente sanadas, neste caso, tem-se os testes alfa. 
Contudo pode ocorrer casos em que o produto de software está finalizado 
e passa a ser utilizado por um grupo de usuários no intuito de que estes relatem 
suas experiências através dos testes beta, efetivados no intuito das devidas 
correções até que se torne apto para a comercialização/distribuição em definitivo 
(PRESSMAN, 2011). 
 
2.4 Evolução de software 
 
Os softwares envelhecem passando anteriormente por processo de 
nascimento, maturação e estabilidade, e por isso necessitam de atenção 
especial para que se mantenham funcionalmente em atividade, atendendo 
as demandas dos usuários (PRESSMAN, 2011). 
Assim, no intuito de que, neste processo evolutivo o softwar e não 
venha a declinar e consequentemente “morrer”, faz-se primordial a 
implementação de ações de manutenção que favoreçam a constante evolução 
do sistema, permitindo assim que sejam efetivadas adequações voltadas à 
 23 
 
 
interação entre software e hardware, garantindo que se mantenham em 
harmonia e plena produtividade (WAZLAWICK, 2013). 
Tornar então o software apto para a evolução, tornando melhor o desenho 
de sua estrutura é um meio de garantir a longevidade do sistema, assim como 
documentar todo o projeto, desenvolvimento e manutenções permitindo que 
no futuro outras equipes de TI também possam garantir a operacionalização e 
produtividade do ambiente computacional já existente (PRESSMAN, 2011). 
A Evolução do Software é composta por ações únicas que muito se 
adequam quando não há viabilidade no desenvolvimento de um software 
des de seu estágio inicial, tratando-se, portanto dos ajustes necessários para 
que o sistema se mantenha em pleno atendimento às necessidades de 
clientes/usuários mesmo havendo a mudança de requisitos de hardware na 
infraestrutura de tecnologia da organização (SOMMERVILLE, 2011; VAZQUEZ; 
SIMÕES, 2016). 
Neste sentido, e servindo de embasamento para o desenvolvimento de 
modos diferenciados de se compreender o desenvolvimento de software a partir 
de metodologias ágeis, nos anos 70 foram lançadas as Leis de Lehman e estas 
seguem devidamente apontadas no Quadro 10. 
 
Lei da Mudança contínua 
A manutenção do sistema o adapta para que atenda às necessidades do 
usuário, requerendo portanto interação constante, mesmo que elas se alterem 
de modo crescente, sob pena de que a produtividade e satisfação sejam 
afetados consideravelmente ao longo do tempo. 
Lei da complexidade Crescente 
Sempre que um software sofre ajustes o seu nível de complexidade tende 
a aumentar, principalmente quando tais alterações não seguirem um 
planejamento estruturado de engenharia, podendo levar à necessidade de 
reestruturação do sistema caso alcance o nível de não mais atender às 
necessidades, produtividade e satisfação do usuário. 
Lei da Autorregulação 
Os esforços dispendidos a cada versão e no tamanho do sistema não 
tende a variar durante a vida do sistema, seguindo as diretrizes definidas pela 
organização solicitante da ferramenta. 
Lei da Conservação da Estabilidade Organizacional ou Lei da Taxa 
Constante de Trabalho 
 24 
 
 
Será contínua a necessidade de evolução do sistema, contudo isto não 
demandará aumento na equipe de tecnologia sob a pena desta se tornar 
improdutiva. 
Lei da Conservação de Familiaridade 
O incremento de ajustes na evolução de um software é constante a cada 
versão, sendo importante que a equipe de tecnologia envolvida se mantenha 
harmoniosa e alinhada aos objetivos que necessitam ser seguidos. 
Lei do Crescimento Contínuo 
Um sistema não deve ser ajustado apenas a nível de correção de erros, mas 
também na adição de novas funcionalidades, aumentando assim a satisfação 
do usuário. 
Lei da Qualidade Decrescente ou Declinante 
A evolução do sistema é parte de seu processo de uso, elevando a qualidade. 
Assim, a ausência de mudanças não é boa como se pensa, sendo importante 
que os ajustes aconteçam em prol da elevação da qualidade por meio do 
reajuste do sistema ao desenho dos processos. 
Lei do sistema de Retorno ou de Feedback 
Faz parte do processo evolutivode software que usuários efetivem retornos 
avaliativos tanto positivos quanto negativos, pois é justamente estas ações 
que favorecem os ajustes e a evolução do sistema evitando sua “morte” 
prematura. 
Quadro: 10 
Leis de Lehman acerca da evolução de software 
 
Assim, foi importante observar que a Evolução de software incorpora em 
si o entendimento da necessidade de manutençãi, pois sem esta ação se faz 
possível os ajustes ao longo da vida útil do sistema. 
Contundo, as constantes alterações em software levam à possibilidade de 
que o projeto de desenvolvimento nunca consiga alcançar uma finalização, sem 
que ao menos as versões sejam efetivamente finalizadas. A este tipo de contexto 
denominna-se de Beta Eterno, onde, apesar de se percorrer todas as etapas 
tradicionais de desenvolvimento, o que se faz liberado ao usuário é uma versão 
beta, a qual ainda passará por uma inifinidade de adequações que em tese 
levariam à finalização de sua elaboração (ALÃO, 2018). 
Diante deste modo de pensar, a possibilidade de dispor o software a uma 
quantidade grande de usuários antes de sua finalização, funcionaria como meio 
de aceleração no desenvolvimento, contudo, conforme destaca Alão (2018), não 
é o que acontece, pois, a exemplo de gigantes da tecnologia como o Google, 
 25 
 
 
tem-se a prática como meio de distorcer o entendimento do usuário de que sendo 
uma versão beta, as falhas são perdoáveis. 
Isto coloca a necessidade de reflexões em relação aos processos 
praticados em um mundo de versões beta, principalmente se considerando as 
Leis de Lehman em relação à evolução de software. 
 
3. ESTIMATIVA DE SOFTWARE 
 
3.1 Conceito e importância da estimativa de software 
 
O termo estimativa, conforme o Dicio (2023), refere-se ao cálculo 
efetivado no intuito de se avaliar algo/alguém, tendo por base evidências que 
permitam melhor conhecer e quantificar estatísticas acerca do ser/objetivo 
avaliado. 
Aliado a este entendimento, Wazlawick (2013) destaca que, dificilmente 
uma atividade profissional, seja ela qualquer, não possua suas próprias 
maneiras de estimar o esforço aplicado para obtenção de um dado resultado, 
favorecendo assim, para que no âmbito gerencial se alcance um maior controle 
das ações desempenhadas assim como da qualidade alcançada em relação 
ao elemento produzido. 
Neste intento de estimar, tem-se o entendimento de medição, que 
segundo Vazquez et al. (2018) e Wazlawick (2013), refere-se ao processo direto 
de atribuir números no intuito de quantificação das características atribuídas a 
um determinado elemento, necessitando-se assim, identificar que atributos são 
estes de tamanha relevância a ponto de despertar o interesse para sua 
mensuração. 
Por conseguinte, a métrica se refere à quantificação indireta, e nela tem-
se o cálculo aplicado sobre a medição, destacando qual o critério que se fará 
avaliado, ou seja, a característica que será medida e que já fora anteriormente 
identificada como de destaque/relevância (WAZLAWICK, 2013). 
Assim, o resultado alcançado a partir da aplicação de uma medição tem 
o intuito de permitir que as pessoas envolvidas no des envolvimento de um dado 
 26 
 
 
projeto compreendam como os elementos envolvidos podem afetar cliente e 
usuário, viabilizando o conhecimento e a correção dos problemas rapidamente 
e sem que consigam acarretar maiores impactos (VAZQUEZ ET AL., 2018). 
Diante destes entendimentos, Sommerville (2011) destaca que, em se 
tratando da medição de software, tem-se a possibilidade de, por meio dela e dos 
elementos característicos do processo de mensuração, identificar questões 
referentes à qualidade do software desenvolvido, documentação e/ou qualidade 
dos processos que permeiam as tarefas desempenhadas. 
 
3.2 Métricas de Software 
 
Em se tratando especificamente de Métricas de Software, vale destacar 
que o termo se refere ao processo de medir algo ao relação a um dado atributo 
que seja de relevância para o software (PRESSMAN; MEXIM, 2016) 
Neste contexto a categorização de medidas para a construção de 
software pode ser fazer atribuída em nível de medidas de produto, projeto e 
recurso, como segue melhor identificado no quadro abaixo. 
 
Medidas de 
Produto 
Refere-se a característocas como tamanho, estrutura e 
qualidade. 
Medidas de 
Projeto 
Refere-se aos desempenho de um software podendo 
ser calculado por porcentagem. 
Medidas de 
Recursos 
Refere-se aos recursos e materiais aplicados no 
desenvolvimento do projeto de software. 
Medidas de 
Processo 
Refere-se à coleta de informações que permitem 
identificar os pontos fortes, fracos, deficiências, e 
avaliação após implementação/mudança em software. 
Quadro: 11 
Medidas de Software 
 
 
É justamente a partir destas medidas que são especificadas as métricas 
a serem atribuídas para a medição de software, de modo a garantir que dúvidas 
a respeito do projeto de software possam efetivamente ser respondidas. 
Por conseguinte, as métricas de software podem ser categorizadas 
conforme se verifica no Quadro abaixo. 
 
 27 
 
 
 
Méttricas de controle ou 
Métricas de Projeto 
Embasa o gerenciamento de processos de 
software, especificando meios de avaliação do 
seu andamento, riscos, problemáticas, fluxo de 
tarefas e habilidades da equipe, sendo coletadas 
durante toda a efetivação do projeto a fim de 
permitir o estabelecimento de indicadores de 
melhoria a longo prazo. 
 
Métricas de Previsão ou 
Métricas de Produto 
Embasam a previsão e mediação dos atributos 
internos de um software, ajudando a estimar o 
esforço dispendido para o desenvolvimento e 
alterações do sistema em face de seu grau de 
complexidade, seu tamanho, riscos e tecnologia 
aplicada. 
Quadro: 12 
Métricas de Software 
 
 
Demonstra-se assim que as métricas ultrapassam a visão da simples 
efetivação de controle, permitindo que variáveis importantes sejam consideradas 
no projeto de desenvolvimento do software (PRESSMAN; MAXIM, 2016). 
Reconhece-se, por tanto, o papel das métricas em permitir que o 
desenvolvimento de software seja constantemente aperfeiçoado, uma vez que 
as informações alcançados embasam a tomada de decisão da gestão e da 
equipe desenvolvedora, favorecendo o processo de planejamento ( 
PRESSMAN, 2011; WAZLAWICK, 2013). 
A estimativa de software não se efetiva de modo aleatório, podendo fazer 
uso de técnicas já estabelecidas que passaram por todo um processo de análise 
e testes até se tornarem referência, garantindo que o planejamento forneça 
efetivamente a direção que deve se fazer ser seguida pelos envolvidos 
(PRESSMAN; MAXIM, 2016). 
Neste âmbito, segue a apresentação de ferramentas passíveis de 
utilização visando as efetivação de estimativas de software: a Análise de Pontos 
de Função e o Planning Poker. 
 
3.2.1 Análise por ponto de função 
 
A Análise por Ponto de Função (APF) ou Function Point Analysis (FPA) 
configura-se como técnica voltada à medição das funcionalidades, 
 28 
 
 
dimensionamento e complexidade de um software por meio de processos 
aplicados ao tamanho do projeto, contundo, tendo por parâmetro o ponto de 
visão do usuário (PRESSMAN; MAXIM, 2016; VAZQUEZ et al., 2018). 
Como os métodos de medição identificam e quantificam as qualidades 
existentes em um produto, em se tratando de Pontos de Função, tem-se um 
processo que mede os requisitos funcionais atribuíveis ao usuário em um 
software (histórias de usuário), ou seja, os requisitos de negócio, sem 
estabelecer atenção ao as pecto tecnológico, de plataforma e/ou linguagem, 
focando exclusivamente naação direta da ferramenta desenvolvida (VAZQUEZ 
et al., 2018). 
Como já especificado, considera-se como requisitos funcionais aqueles 
que expressam as ações do software ao ser aplicado na atividade do 
usuário, de modo que, caracterizam elementos aplicados ao processo 
de negócios da organização, podendo se fazer relacionados à 
transferência e armazenagem de da dos (WAZLAWICK , 2013). 
Deste modo, aos Pontos de Função, sendo os requisitos que passarão 
por medição, efetiva-se a atribuição de valores numéricos, os quais processados 
posteriormente, permitem identificar o esforço dispendido durante o 
desenvolvimento do software, pois em se tratando deste aspecto, amplia-
se o entendimento considerando esforço, prazo, custo e demais parâmetros, o 
que pode em projetos de software respaldar as conclusões acerca do seu 
tamanho e complexidade (WAZLAWICK, 2013; VAZQUEZ et al., 2018). 
Nesta base, destaca-se os seguintes elementos dispostos na figura 
abaixo como objetivo atribuíveis à Análise por Pontos de Função. 
 
Figura: 7 
 29 
 
 
 
Efetivando-se a Análise por Pontos de Função em atributos do sistema, 
aos quais compreende-se que sejam os requisitos, o resultado alcançado pelo 
processo também pode se voltar a intenções que não estejam elencadas na 
Figura 7, cabendo ainda para outros intentos como os apontados por meio da 
Figura 8. 
 
Figura: 8 
 Para tal, o processo que envolve a Análise por Pontos de Função 
necessita seguir os parâmetros dispostos pela figura 9: 
 
Figura: 9 
Parâmetros ideais para a Análise por Pontos de Função 
 
 
A contagem de Pontos de Função, visando sua posterior análise, efetiva-
se de modo simplificado por meio da sistemática dispostas na figura 10. 
 30 
 
 
 
Figura: 10 
Sistemática simplificada de contagem de Pontos de Função 
 
Neste contexto, em se tratando dos elementos destacados na sistemática 
simplificada presente no meio da figura 11, tem-se de modo mais abrangente um 
detalhamento de ações apresentadas através do quadro 13. 
 
 31 
 
 
 
Quadro: 13 
Considerando a figura 10 e o Quadro 13, e compreendendo que a 
dimensão dos requisitos funcionais do usuário recebe a denominação de 
tamanho funcional e que uma aplicação seja um conjunto composto de dados 
e procedimentos que sofreram automatização fornecendo suporte ao processo 
de negócio de acordo com a ação do usuário (VAZQUEZ et al., 2018) os Tipos 
de Contagem passíveis de efetivação na Análise por Pontos de Função, seguem 
explicitados por meio da Figura 11. 
 
Figura: 11 
Tipos de Contagem em Análise por Pontos de Função 
 
Em se tratando do aspecto referente à Fronteira da Aplicação, tem-se a 
identificação dos limites entre o software e o mundo em que ele se faz inserido, 
seguindo os critérios de ponto de vista do usuário, a separação de funções 
atribuídas aos negócios, e, em caso de projetos de melhoria, os aspectos já 
definidos devem ser reanalisados com intuito de verificar se existe a 
 32 
 
 
necessidade de adaptação (VAZQUEZ et al., 2018). Neste sentido, tem-se como 
aspectos facilitadores para a identificação das fronteiras de uma aplicação estes 
que se fazem citados na Figura 12. 
 
Figura: 12 
Aspectos que facilitam a identificação das Fronteiras de uma aplicação 
 
Referindo-se ao Escopo, tem-se a identificação de quais as 
funcionalidades a serem contadas por meio da sistemática escolhida, podendo 
incorporar todas as existentes, apenas aquelas que são utilizadas pelo usuário, 
ou ainda algumas em específico (VAZQUEZ et al., 2018). 
Tem-se, deste modo, a identificação de quantos sistemas serão 
quantificados, definindo claramente onde começam e terminam (WAZLAWICK, 
2013). 
Por conseguinte, define-se o Tipo de Método, podendo, conforme 
Pressman e Maxim (2016) ser: 
a) Estimado: Calcula os Pontos de Função de acordo com regras 
internacionalmente definidas no intuito de estimar as Funções de Dados 
(preferencialmente de complexidade baixa) e as Funções de Transação 
(preferencialmente de complexidade média); 
b) Detalhado: Efetiva a quantificação dos Pontos de Função com regras 
internacionalmente definidas no intuito de estimar as Funções de Dados e de 
Transação de acordo com as especificidades do caso. 
 33 
 
 
Em relação à contagem/medição das Funções de Dados e de Transação, 
identificar a natureza dos dados configura-se como o primeiro passo do 
processo, pois é justamente a partir dele que se reconhece as reais 
necessidades do usuário em relação ao negócio, assim como as 
funcionalidades previstas pelos usuários (VAZQUEZ et al., 2018; PRESSMAN; 
MAXIM, 2016; WAZLAWICK, 2013), sendo tais ações melhor especificadas por 
meio do Quadro 14. 
 
Quadro: 14 
Especificações acerca de Funções de Dados e Funções de Transação 
 
 Por conseguinte, após a identificação das funções a serem contadas, é 
requerida a identificação de seu fator de complexidade, devendo este seguir os 
parâmetros dispostos por meio do quadro 15. 
 34 
 
 
 
Quadro: 15 
Tipos de Função conforme fatores de complexidade 
 
 
Conforme os parâmetros apresentados no Quadro 15 referentes aos 
fatores de complexidade concernentes às funções de dado e transação, os 
pontos alcançados devem ser somados a fim de que se identifique o Tamanho 
Funcional da aplicação (WAZLAWICK,2013). 
Isto se efetiva identificando-se os tipos de registro da Função de Dados e 
a quantidade de campos da Função de Transação, de modo que com a 
atribuição dos pesos de complexidade apresentados tem-se a quantificação dos 
Pontos de Função a Ajustar (PRESSMAN; MAXIM, 2016). 
 
3.3 Planning Poker 
 
O Planning Poker é uma técnica aplicável também à estimativa de 
complexidade, considerando o tamanho de projetos que incorporam 
metodologias ágeis e as histórias de usuário como elementos base para o 
levantamento de requisitos (COHN, 2005; GOMES, 2014). 
Contudo, sua aplicação em conjunto com a Metodologia Scrum, apesar 
de bastante afinada, não se faz obrigatória, dependendo de definições 
 35 
 
 
estabelecidas no planejamento do projeto, os quais se efetivam por meio da 
gestão (GOMES, 2014; SABBAGH, 2022). 
Se aplica muito bem a equipes ágeis por seu dinamismo, requerendo 
apenas dedicação de tempo para execução, o que se faz compensado pelo 
retorno alcançado no processo (AUDY, 2022). 
O Planning Poker age no sentido de pertencimento dos indivíduos 
envolvidos, no aprendizado coletivo e contínuo, na importância dos variados 
tipos de conhecimento e especialidades de pessoas que perfazem o corpo do 
time, e no papel do consenso para se alcançar o melhor resultado possível 
(AUDY, 2022). 
Por meio da aplicação e do uso de um jogo de cartas, os indivíduos 
que perfazem a equipe de desenvolvimento posicionam-se, considerando a sua 
visão de complexidade em relação ao sistema, tendo por parâmetro os fatores 
tempo e esforço, os quais servem como elementos-base para que se alcance 
um consenso a respeito do assunto em voga (COHN, 2005). 
 
 
 
 
 
 
 
 
 
 
 
 36 
 
 
4 REFERÊNCIAS: 
 
 
ALÃO, Rui. Estratégias de design para contextos complexos. In: 
CONGRESSO PESQUISA & DESENVOLVIMENTO EM DESIGN, 13 ., Joinville, 
5-8 nov. 2018. Anais [...]. Santa Catarina: Univille, 2018. 
AUDY, Jorge. Scru m 360. Um guia completo e prático de agilidade . São 
Paulo: Casa do Código ,2022. 
COHN, M. Agile Estimating and Planning. [s. l.]: Prentice Hall, 2005. 
DICIO. Dicionário Online de Português. Estimativa. 2023. 
GOMES, André Farias. Agile: desenvolvimento de software com entregas 
frequentes e foco no valor de negócio. São Paulo: Casa do Código, 2021. 
HIRAMA, Kechi. Engenharia de Software: qualidade e produtividade com 
tecnologia. Rio de Janeiro : Elsevier, 2012. 
OLIVEIRA, Bruno Souza de. Métodos Ágeis e Gestão de Serviços de TI. 
Rio de Janeiro: Brasport, 2018. 
PETERS, James F., Engenharia de Software: Teoria e Prática. Rio de 
Janeiro: Campus, 2001. 
PRESSMAN, Roger S. Engenharia de Software. 7. ed. São Paulo: Pears 
on Prentice Hall, 2011. 
PRESSMAN, Roger S.; MAXIM, Bruce R. Engenharia de Software: uma 
abordagem profissional. 8 . ed. Porto Alegre: AMGH , 2016. 
SOMMERVILLE, Ian. Engenharia de Software. 9. ed. São Paulo: Pears 
on, 2011. 
VAZQUEZ, Carlos Eduardo; SIMÕES, Guilherme Siqueira. Engenha ria 
de Requisitos: software orientado ao negócio. São Paulo: Brasport, 2016. 
VAZQUEZ, Carlos Eduardo; SIMÕES, Guilherme Siqueira; ALBERT, 
Renato Machado. Análise de Pontos de Função: medição, estimativa e gerencia 
mento de projetos de software. 13 e d. São Paulo: Érica:Sarai va, 2018. 
WAZLAWICK, R. S. Engenharia de software: conceitos e práticas. Rio 
de Janeiro: Elsiever, 2013.

Mais conteúdos dessa disciplina