Buscar

Análise e Projeto de Sistemas em TI

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 92 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 92 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 9, do total de 92 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

Prévia do material em texto

TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 1 de 92 
AULA 6 – ANÁLISE E PROJETO DE SISTEMAS 
Olá pessoal, tudo bem! 
Hoje trago para vocês a sexta aula do curso, com um Memorex complementar 
e muitas questões rs.. Espero que aproveitem! 
 
 “Sem o esforço da busca torna-se 
impossível a alegria da conquista”. 
Embora muitos concurseiros o façam, não devemos iniciar um projeto de 
estudo sem algumas ATITUDES BÁSICAS. 
Você até pode seguir adiante sem elas, mas com certeza terá grandes 
chances de desistir no decorrer da caminhada ou de gastar mais tempo do que 
o necessário. 
Então, vamos conhecê-las desde já, e tomar consciência de que são 
importantes para que você alcance o sucesso não só nas provas de concursos, 
mas em qualquer etapa/projeto da sua vida. 
Antes de falar sobre essas atitudes, é preciso que você tenha um 
objetivo claro e visão. O objetivo deve ser OTIMISTA e voltado para a 
realidade. A partir daí é preciso AÇÃO, pois apenas ela transforma a realidade. 
Então, primeiramente, acredite no seu SONHO, no entanto, ele só 
acontece quando agimos, trabalhamos, nos esforçamos para sua 
concretização. Assim, no momento em que temos um objetivo a ser alcançado 
e começarmos a agir, é preciso as cinco qualidades seguintes, já mencionadas 
pelo mestre William Douglas, que são: COMPROMISSO, AUTODISCIPLINA, 
ORGANIZAÇÃO, ACUIDADE (prestar atenção nas coisas) e 
FLEXIBILIDADE (adaptação). 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 2 de 92 
No próximo post da minha página do Facebook irei detalhar cada uma 
delas (espero vocês por lá!). Continuem firmes nessa caminhada e ótimos 
estudos! 
Um abraço, 
Profa Patrícia Lima Quintão 
Facebook: http://www.facebook.com/professorapatriciaquintao (Todo dia 
com novas dicas, desafios e muito mais, espero vocês por lá para CURTIR a 
página!) 
Instagram: patriciaquintao 
 
Conteúdo desta Aula Página 
 Memorex. 02 
 Lista de Questões Comentadas Nesta Aula. 21 
 Questões Apresentadas na Aula. 74 
 Gabarito. 92 
MEMOREX – Extra – Aproveitem! 
• Uma metodologia de processo genérica para engenharia de 
software estabelece cinco atividades metodológicas básicas, de acordo 
com Pressman, que são: comunicação, planejamento, modelagem, 
construção e entrega. 
Fluxo de Processo 
O fluxo de processo descreve como são organizadas as atividades 
metodológicas, bem como as ações e tarefas que ocorrem dentro de 
cada atividade em relação à sequência e ao tempo, como ilustrado nas 
figuras desta seção. 
1)Fluxo de Processo Linear 
Executa cada uma das cinco atividades metodológicas em sequência, 
começando com a de comunicação e terminando com a entrega (ou 
emprego, ou implantação). 
 
Figura. Fluxo de Processo Linear. Fonte: Pressman (2011) 
 
2)Fluxo de Processo Iterativo 
Repete uma ou mais das atividades antes de prosseguir para a 
seguinte, conforme listado na próxima figura. 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 3 de 92 
 
Figura. Fluxo de Processo Iterativo. Fonte: Pressman (2011) 
 
3)Fluxo de Processo Evolucionário 
Executa as atividades de forma “circular”. Cada volta pelas cinco atividades 
conduz a uma versão mais completa do software. 
 
Figura. Fluxo de Processo Evolucionário. Fonte: Pressman (2011) 
 
4)Fluxo de Processo Paralelo 
Executa uma ou mais atividades em paralelo com outras atividades (como 
por exemplo a modelagem para um aspecto do software poderia ser 
executada em paralelo com a construção de um outro aspecto do software). 
 
Figura. Fluxo de Processo Paralelo. Fonte: Pressman (2011) 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 4 de 92 
Modelos de Processo de Software 
Todos os modelos de processo de software, segundo Pressman (2011) podem 
acomodar as atividades metodológicas genéricas, aqui apresentadas, porém, 
cada um deles dá uma ênfase diferente a essas atividades e define um 
fluxo de processo que invoca cada atividade metodológica de forma 
diversa. 
Há vários processos de desenvolvimento propostos. Bezerra (2007) destaca 
que é um consenso na comunidade de desenvolvimento de software o fato de 
que não existe o melhor processo de desenvolvimento, aquele que melhor se 
aplica a todas as situações de desenvolvimento. Segundo o autor, cada 
processo tem suas particularidades em relação ao modo de arranjar e 
encadear as atividades de desenvolvimento. 
Há vários modelos de processo de software propostos, vamos ao estudo dos 
principais, importantes para a prova. 
 
• Modelo em Cascata 
Também chamado de clássico, ou linear, é o mais tradicional processo de 
desenvolvimento de software. 
Esse modelo sugere uma abordagem sequencial e sistemática para o 
desenvolvimento de software, aplicando as atividades de maneira linear. Em 
cada fase desenvolvem-se artefatos (produtos de software) que servem de 
base para as fases seguintes. 
Vide figura proposta por Pressman (2011) para esse modelo. 
 
Figura. Modelo Cascata, segundo Pressman (2011) 
Segundo proposta de Eduardo Bezerra, o modelo do ciclo de vida clássico 
da engenharia de software é dividido em seis atividades. São elas: 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 5 de 92 
 
Em seguida, a proposta de Kruchten (2003). 
 
O modelo em Cascata possui como vantagem principal a simplicidade para a 
sua aplicação e gerência. 
No entanto, algumas desvantagens podem ser observadas: 
• projetos reais raramente seguem este fluxo sequencial. 
• dificuldade do cliente em declarar todas as suas necessidades no início do 
projeto. 
• demora em apresentar resultados ao cliente. 
 
Uma variação do modelo cascata, destacada por Pressman (2011) é o 
modelo V. Segundo o autor, à medida que a equipe de software desce em 
direção ao lado esquerdo do V, os requisitos básicos do problema são refinados 
em representações progressivamente cada vez mais detalhadas e técnicas do 
problema e de sua solução. Uma vez que o código tenha sido gerado, a equipe 
sobe o V, realizando uma série de testes que validem cada um dos modelos 
criados do outro lado do V. 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 6 de 92 
Na realidade, segundo Pressman (2011) não existe diferença entre os 
modelos. O modelo V fornece uma maneira para visualizar como a verificação 
e as ações de validação são aplicadas ao trabalho de engenharia do ciclo de 
vida em Cascata. 
 
Figura. Modelo V. Fonte: Pressman (2011) 
 
• Modelo Incremental 
Este modelo foi proposto como uma alternativa ao modelo em cascata, 
aplicando-o iterativamente, tendo como objetivo a elaboração de um 
produto operacional a cada incremento. Os primeiros incrementos são 
versões simplificadas do produto final, mas oferecem capacidades que 
servem ao usuário, além de servir como uma plataforma de avaliação. 
Em cada iteração uma parte é concebida como a menor unidade que pode 
ser implementadae ainda assim fornecer alguma funcionalidade útil para os 
usuários. 
Os modelos incrementais combinam elementos dos fluxos de processos 
lineares e paralelos. 
Na figura seguinte, o modelo incremental aplica sequências lineares, de 
forma escalonada, à medida que o tempo vai avançando. Cada sequência 
linear gera “incrementais” (entregáveis/aprovados/liberados) do software. 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 7 de 92 
 
Figura. Modelo Incremental. Fonte: Pressman (2011) 
Este modelo possui como vantagem o fato de apresentar constantemente 
novas versões aos usuários. Pode ser aplicado também quando não houver 
mão-de-obra disponível para uma implementação completa, ou quando for 
necessário gerenciar riscos técnicos. 
 
• RAD (Rapid Application Development - Desenvolvimento Rápido 
de Aplicação) 
Trata-se de um modelo de processo de software incremental que 
enfatiza um ciclo de desenvolvimento curto. É uma adaptação “de alta 
velocidade” do modelo em cascata, no qual o desenvolvimento rápido é 
conseguido com o uso de uma abordagem de construção baseada em 
componentes. 
Desvantagens: projetos grandes precisam de muitas equipes; exige 
comprometimento dos clientes e desenvolvedores; sistemas não 
modularizados são problemáticos; não é adequado para projetos com 
grandes riscos técnicos. 
 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 8 de 92 
 
 
• Modelo Evolutivo (Modelo de Processo Evolucionário) 
Produz uma versão cada vez mais completa do software a cada 
iteração. 
 
• Prototipação (chamada também como Prototipagem) 
Em algumas situações, o cliente consegue definir apenas um conjunto de 
objetivos gerais do software, não identificando claramente seus requisitos. 
Em uma situação dessas, a prototipagem pode ser empregada em conjunto 
com outros modelos para auxiliar no entendimento do sistema. 
Os objetivos do software são estabelecidos na comunicação com o cliente. A 
partir daí, um protótipo descartável é elaborado com o intuito de facilitar a 
compreensão do sistema por parte dos usuários. 
Apesar da prototipagem poder ser aplicada como um modelo, em geral ela é 
mais utilizada como uma técnica para entendimento do sistema. A próxima 
figura apresenta o esquema deste modelo. 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 9 de 92 
 
Figura. O Paradigma da Prototipação. Fonte: Pressman (2011) 
 
Vantagens da prototipagem: 
• maior participação e comprometimento dos clientes e usuários; e 
• os resultados são apresentados mais rapidamente. 
Críticas: 
• forte dependência das linguagens e ambientes utilizados, bem como da 
experiência da equipe; 
• o cliente tende a considerar o protótipo como versão final, podendo 
comprometer a qualidade do projeto; e 
• o desenvolvedor tende a fazer concessões na implementação, a fim de 
colocar um protótipo em funcionamento rapidamente. Estas concessões 
podem se tornar parte integrante do sistema. 
 
• Modelo Espiral 
No modelo Espiral, assume-se que o processo de desenvolvimento ocorre em 
ciclos, cada um contendo fases de avaliação e planejamento em que a opção 
de abordagem para a próxima fase (ou ciclo) é determinada. 
Neste modelo acrescenta-se a Análise dos Riscos ao ciclo de vida para 
auxiliar as decisões a respeito da próxima iteração. A figura seguinte 
apresenta o esquema desse modelo. 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 10 de 92 
 
Figura. O Modelo Espiral Típico. Fonte: Pressman (2011) 
No modelo de processo de desenvolvimento em espiral, cada loop na espiral 
representa uma fase do processo de software. Este modelo exige a 
consideração direta dos riscos técnicos em todos os estágios do projeto e, 
se aplicado adequadamente, deve reduzir os riscos antes que eles se tornem 
problemáticos. 
Apesar desse modelo reunir as melhores características dos outros, algumas 
críticas podem ser feitas: 
• exige gerentes e técnicos experientes; 
• uma vez que o modelo em espiral pode levar ao desenvolvimento em 
paralelo de múltiplas partes do projeto, as tarefas gerenciais para 
acompanhamento e controle do projeto são mais complexas; 
• é necessário o uso de técnicas específicas para estimar e sincronizar 
cronogramas, bem como para determinar os indicadores de custo e 
progresso mais adequados. 
 
• RUP (Rational Unified Process) 
O Rational Unified Process (RUP) é um exemplo de modelo de processo de 
desenvolvimento baseado no Unified Process (Processo Unificado) desenvolvido 
pela Rational. 
O RUP oferece uma abordagem baseada em disciplinas para atribuir tarefas e 
responsabilidades dentro de uma organização de desenvolvimento. Sua meta 
é garantir a produção de software de alta qualidade que atenda às 
necessidades dos usuários dentro de um cronograma e de um orçamento 
previsíveis. 
O Rational Unified Process é um processo de desenvolvimento iterativo e 
incremental, no qual o software não é implementado em um instante no fim 
do projeto, mas é, ao contrário, desenvolvido e implementado em partes. A 
cada iteração deste processo utiliza-se quatro fases, a saber: Concepção, 
Elaboração, Construção e Transição. 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 11 de 92 
• Durante a Concepção ou Início (Inception), estabelece-se a lógica do 
domínio da aplicação para o projeto e decide o escopo do projeto. É aqui 
que se obtém o comprometimento do patrocinador do projeto para 
seguir adiante. Nesta fase compreende-se o problema da tecnologia 
empregada por meio da definição dos use cases mais críticos. Define-se 
aqui o caso de negócio e escopo do projeto. 
• Na Elaboração (Elaboration) coleta-se requisitos mais detalhados, faz 
uma análise e um projeto de alto nível para estabelecer uma arquitetura 
básica, e cria um plano para a construção do sistema. Deve-se analisar o 
domínio do problema, estabelecer a arquitetura, desenvolver o plano do 
projeto e eliminar elementos de alto risco. 
• A fase de Construção (Construction) consiste de várias iterações, 
nas quais cada iteração constrói software de qualidade de produção, 
testado e integrado, que satisfaz um subconjunto de requisitos de 
projeto. Cada iteração contém todas as fases usuais do ciclo de vida da 
análise, do projeto, da implementação e do teste. Desenvolve-se o 
software e prepara-se o mesmo para a transição para os usuários. Além 
do código, também são produzidos os casos de teste e a documentação. 
• Mesmo com este tipo de processo iterativo, algum trabalho tem que ser 
deixado para ser feito no fim, na fase de Transição (Transition). Nesta 
fase são realizados os treinamentos dos usuários e a transição do 
produto para utilização. Este trabalho pode incluir também testes beta e 
ajuste de performance. 
Os projetos variam de acordo com o volume de formalidade que eles têm. 
Projetos de muita formalidade têm muitos documentos formais a serem 
entregues, reuniões formais, encerramentos formais. Projetos de pouca 
formalidade podem ter uma fase de concepção que consiste de um bate-papo 
de uma hora com o patrocinador do projeto e um plano que cabeem uma 
folha de papel. Naturalmente quanto maior o projeto, mais formalidade 
precisa. O fundamental de cada fase ainda acontece, mas de formas bem 
diferentes. 
Após a fase de Transição de uma iteração completa, o produto pode voltar a 
percorrer cada uma das fases para se produzir uma nova versão do produto. 
Cada uma das quatro fases do RUP é dividida em iterações, onde cada 
uma delas é um ciclo completo de desenvolvimento resultando em uma versão 
de um produto executável que constitui um subconjunto do produto final. 
Cada iteração é organizada em fluxos de trabalho (workflows) de 
processo, com uma ênfase diferente em cada fase. 
Os fluxos de trabalho de processo do RUP são: 
• Gerenciamento de Projeto (Project Management); 
• Modelagem Comercial ou de Negócio (Business Modeling); 
• Requisitos ou Exigências (Requirements); 
• Análise e Projeto (Analisys & Design); 
• Implementação (Implementation); 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 12 de 92 
• Testes (Test); 
• Distribuição ou Entrega (Deployment); 
• Gerência de Configuração e Mudanças (Configuration and Change 
Management); e 
• Ambiente (Enviroment). 
 
A figura ilustrada a seguir apresenta o relacionamento entre as fases e o 
esforço de desenvolvimento em cada fluxo de trabalho de processo. 
 
O RUP é composto por nove disciplinas e quatro fases!!!! 
 
Figura. Fases e disciplinas do RUP. Fonte: (KRUCHTEN, 2003) 
 
Na figura, o eixo horizontal representa o tempo e mostra os aspectos do ciclo 
de vida do processo como se desdobra. Já o eixo vertical representa os fluxos 
essenciais do processo, que agrupa logicamente as atividades por natureza. 
 
• Processo Ágil 
A Engenharia de Software vem há anos criando técnicas de modelagem, 
projeto e desenvolvimento de sistemas. Dentre os desafios dos pesquisadores 
da área, pode-se citar a preocupação em desenvolver softwares com qualidade 
garantida, no prazo estabelecido e sem alocar recursos além do previsto. No 
entanto, muitas das metodologias criadas são consumidoras de muitos 
recursos, aplicando-se principalmente a grandes sistemas. 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 13 de 92 
Como a Engenharia de Software ainda está evoluindo, novos modelos estão 
sendo apresentados, como: desenvolvimento ágil; dentre outros. Aqui 
merecem destaque o SCRUM e eXtreme Programming 
 
SCRUM 
O Scrum é um processo de desenvolvimento ágil de software baseado em 
grupos de práticas e papeis pré-definidos. Ele é um processo iterativo e 
incremental para gerenciamento de projetos e desenvolvimento de 
sistemas, em que cada sprint é uma iteração que segue um ciclo PDCA (Plan, 
Do, Check, Act) e entrega um incremento de software pronto. 
Os principais papéis do Scrum são: Product Owner, Scrum Master e 
Scrum Team (equipe do projeto). 
Não há como fazermos um mapeamento direto entre os papéis do Scrum e os 
papéis convencionais conhecidos. Não existe a figura única do Gerente de 
Projetos. Suas responsabilidades estão diluídas entre os papéis citados. Cada 
um conhece sua participação frente ao projeto e trabalha em conjunto para 
conseguir alcançar o goal definido. 
Seus artefatos principais são: o Product Backlog (Produto Backlog) e 
Sprint Backlog – artefatos que representam seus requisitos/atividades, além 
de Burndown charts e impediment backlogs. 
 
eXtreme Programming 
A eXtreme Programming faz parte também de uma série de métodos 
denominados ágeis (agile). Estes métodos foram inicialmente considerados 
leves (lightweight) para diferenciá-los dos métodos tradicionais de 
desenvolvimento considerados pesados (heavyweight), os quais seriam 
baseados na produção de uma grande quantidade de documentação e modelos 
para guiar a programação. 
Ao contrário dos métodos tradicionais que são orientados ao planejamento, 
previsibilidade e ao controle, os métodos ágeis são orientados à construção, 
testes e principalmente, às pessoas. As metodologias ágeis enfatizam 
os aspectos humanos, as relações pessoais, uma vez que buscam 
valorizar o pensamento criativo dos indivíduos envolvidos no projeto, 
em que o conhecimento é fator importante para o sucesso do projeto. 
No desenvolvimento ágil a metodologia deve produzir conhecimento e não 
apenas documentação. Mas isto não significa que nos ambientes ágeis não 
exista documentação, apenas deixa de existir a filosofia de que “tudo tem que 
ser documentado” e sim documentar apenas o necessário uma vez que a 
documentação apenas auxilia e não guia o desenvolvimento. 
Na próxima figura podemos comparar a XP ao modelo tradicional de 
desenvolvimento de software. 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 14 de 92 
 
Como se vê na figura, o modelo em cascata estabelece uma ordenação linear 
no que diz respeito à realização das diferentes etapas, já o modelo iterativo 
é um modelo de processo de desenvolvimento que busca contornar algumas 
das limitações existentes no modelo cascata. Já a XP trabalha com 
iterações de menor tamanho possível, contendo os requisitos de maior 
valor para o negócio, sendo assim, a equipe produz um conjunto 
reduzido de funcionalidades e coloca em produção rapidamente de 
modo que o cliente já possa utilizar o software no dia-a-dia e se 
beneficiar dele. 
 
Valores 
Para implantar a XP é necessário que se norteie o trabalho baseado em quatro 
valores: 
• Comunicação: é o principal valor da XP. Grande parte das técnicas da XP 
está baseada na comunicação, e se esta não for eficiente, pode causar 
problemas e atrasos no desenvolvimento do sistema. 
• Simplicidade: a XP utiliza-se da simplicidade para implementar apenas 
aquilo que é suficiente para o cliente, não se procura fazer especulações 
sobre necessidades futuras, pois quase sempre são especulações errôneas, 
deixamos os problemas do futuro para o futuro. 
• Feedback: o cliente deve receber o sistema o quanto antes, a fim de poder 
dar um feedback rápido, guiando assim o desenvolvimento do software. 
• Coragem: é preciso muita coragem para mudar a maneira pela qual 
desenvolve-se sistemas. Colocar um sistema em produção assim que ele 
tenha valor para o cliente, fazer apenas o que se precisa para o momento e 
calcar o processo de análise principalmente na comunicação não é fácil, e 
precisa que a equipe esteja realmente decidida a mudar o seu processo de 
desenvolvimento. 
 
Práticas 
A XP é baseada em um conjunto de técnicas fundamentais (práticas), que 
podem ser aplicadas individualmente, cada uma delas gerando melhorias no 
processo de desenvolvimento, mas que funcionam melhor em conjunto, uma 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 15 de 92 
vez que uma técnica reforça o resultado da outra. Apresenta-se a seguir uma 
descrição de cada prática. 
• Cliente Presente (On-site customer) 
Na XP todas as decisões sobre o rumo do projeto devem ser tomadas pelo 
cliente. Ele deve priorizar as tarefas, ser responsável pelos testes de aceitação, 
e, acima de tudo, orientar e tirar dúvidas dos desenvolvedores durante o 
processo de programação. 
Se o cliente não puder estar junto dos desenvolvedores, algumas técnicas 
podem ser utilizadas, como, por exemplo, nomear um membro da equipe para 
representaro cliente. Também se podem agendar reuniões de 
acompanhamento com o cliente, pelo menos uma vez por semana. Nestas 
reuniões haverá muita discussão sobre prioridades, mas deve-se destinar uma 
parte significativa da mesma para que os programadores possam saber o que 
e como desenvolver. 
• Jogo do Planejamento (The Planning Game) 
O XP utiliza o planejamento para assegurar que a equipe de desenvolvimento 
esteja sempre trabalhando naquilo que irá gerar maior valor para o cliente a 
cada dia de trabalho. Este planejamento é feito diversas vezes ao longo do 
projeto, para que todos tenham a oportunidade de revisar as prioridades. 
Na XP o planejamento é um processo contínuo, e o mesmo é constantemente 
refinado pelo cliente e pela equipe de desenvolvimento, deixando assim a 
metodologia bastante flexível e entregando para o cliente sempre o máximo 
valor pelo investimento dele. 
• Pequenos Lançamentos (Small Releases) 
Para que o cliente possa fornecer constantemente feedback sobre o andamento 
do sistema, fazendo possível que o jogo do planejamento (planning game) seja 
executado, é importante que o sistema tenha releases pequenos, a fim de 
ajustar o desenvolvimento às necessidades que vão surgindo no decorrer do 
processo. 
Normalmente, trabalha-se com pequenas iterações gerando releases mais 
curtos, mas algumas empresas vêm suprimindo a etapa das iterações, 
lançando direto um release por semana. 
Quanto menor o intervalo de tempo entre cada versão que o cliente recebe, 
mais fácil será corrigir eventuais problemas, pois não terá sido entregue uma 
quantidade muito grande de funcionalidades, e mais fácil será fazer algum 
ajuste no software para atender a uma mudança de requisitos. Além disso, o 
XP recomenda que o cliente busque selecionar as funcionalidades que mais vão 
gerar valor para ele, com isso fazemos com que o cliente tenha um retorno de 
investimento o mais cedo possível. 
• Desenvolvimento Guiado pelos testes (Test First Design) 
O desenvolvimento guiado pelos testes define que qualquer método de um 
objeto que possa falhar deve ter um teste automatizado que garanta o seu 
funcionamento. 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 16 de 92 
• Integração Contínua (Continuous Integration) 
Quando uma equipe desenvolve um software é comum que o software seja 
“quebrado” em algumas partes a fim de que cada desenvolvedor implemente a 
sua parte, esta visão é interessante porque assim cada desenvolvedor tende a 
se preocupar só com a sua parte do sistema o que reduz a complexidade do 
problema. Neste caso são definidas interfaces para comunicação entre estas 
partes para posterior agrupamento e formação de um software coeso. Porém é 
muito comum acontecerem erros na integração, estes erros acontecem 
geralmente por que: 
� As interfaces definidas não foram respeitadas; 
� Não houve compreensão por parte de um desenvolvedor da 
interface do outro; 
� O sistema como um todo é pouco coeso. 
Devido a estes erros e também da instabilidade das interfaces, por estarem 
sempre em constante mudança, a integração contínua se faz necessária para 
amenizar e até suprimir esses erros, uma vez que expõe todo o estágio atual 
de desenvolvimento, oferece feedback constante e estimula agilidade no 
desenvolvimento do software. 
A técnica de integração contínua diz que o código desenvolvido por cada par de 
desenvolvedores deve ser integrado ao código base constantemente. 
• Projeto Simples (Simple Design) 
Kent Beck utiliza quatro regras básicas para definir simplicidade, são elas em 
ordem de prioridade: 
1. O sistema (código e testes em conjunto) deve expressar tudo aquilo que 
você deseja comunicar. 
2. O sistema não deve conter nenhum código duplicado. 
3. O sistema deve ter o menor número de classes possível. 
4. O sistema deve ter o menor número de métodos possível. 
• Refatoração (Refactoring) 
É o processo de mudar um sistema de software de tal forma que não se altera 
o comportamento externo do código, mas melhora sua estrutura interna. É um 
meio disciplinado de limpar o código e que reduz as possibilidades de introduzir 
erros. Em essência quando você refina o código, você melhora o projeto depois 
que este foi escrito. "Melhorar o projeto depois que foi escrito" é uma premissa 
do XP. 
A técnica de refinamento do design é utilizada sempre com o intuito de 
simplificar o código. Refactoring significa reescrever o código, melhorando e 
simplificando o mesmo, sempre que se tiver oportunidade. O projeto do código 
vai sendo aos poucos melhorado através de modificações que o aprimorem. 
Estas modificações partem de um código fonte o qual passa em todos os 
testes, e devem levar a um código-fonte que continue passando em todos os 
testes. 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 17 de 92 
• Programação em pares (Pair Programming) 
Todo o código que vai para a produção é escrito por um par de programadores 
que utilizam uma mesma estação de trabalho ao mesmo tempo, ou seja, um 
computador, um teclado e dois desenvolvedores. 
Na XP todo o código deve ser produzido por duas pessoas utilizando o mesmo 
computador. Enquanto um dos parceiros se preocupa com detalhes da 
implementação, ficando responsável pela digitação do código, o outro deve 
tentar ter uma visão mais ampla da rotina, imaginando as suas peculiaridades. 
Não apenas o código deve ser produzido por duas pessoas, como também todo 
o projeto da classe na qual vai se trabalhar. 
• Propriedade Coletiva (Collective Ownership) 
O código deve ser de propriedade de todos e todos devem ter permissão para 
alterar o que for necessário para que seu trabalho possa ser desenvolvido. Em 
estruturas onde determinadas rotinas são de “propriedade” de algumas 
pessoas, podem ocorrer atrasos no desenvolvimento devido à necessidade de 
que seja alterado algo nestas rotinas para que outras pessoas possam 
continuar com o seu trabalho. 
• Padrões de Codificação (Coding Standards) 
XP recomenda a utilização de padrões de codificação, que devem ser adotados 
no início do projeto com o consentimento de todos os desenvolvedores. Desta 
forma, qualquer desenvolvedor poderá ler o código com velocidade, sem se 
preocupar em compreender estilos de formatação especiais. 
• Ritmo Sustentável (40 Hour Week) 
Um dos grandes problemas que projetos de desenvolvimento de software 
enfrentam é o curto prazo de entrega do sistema. Com um prazo cada vez 
mais curto e sistemas cada vez mais complexos uma das alternativas dos 
desenvolvedores é o trabalho em excesso. As pessoas passam a trabalhar 
diariamente até mais tarde invadindo também finais de semana e feriados, 
porém trabalhar por longos períodos é contraproducente, e normalmente tende 
a piorar a situação. 
• Metáfora (Metaphor) 
Equipes XP mantêm uma visão compartilhada do funcionamento do sistema. 
Isto é feito através do uso de metáforas. Fazendo uso de metáforas podemos 
facilitar a explicação de qualquer aspecto dentro do projeto e ao mesmo tempo 
fixá-la com mais força na mente do ouvinte. 
Utilizam-se metáforas para vários aspectos na XP, dentre eles procura-se criar 
uma visão comum sobre todo o projeto de forma simples e objetiva facilitando 
assim a comunicação entre toda a equipe, uma vez que serve de base para os 
padrões de codificação e entre a equipe e o cliente, visto que o cliente, na 
maioria das vezes, não entende os termos técnicos relacionados ao 
desenvolvimento e usados diversas vezes pelos desenvolvedores e equipe. 
 
 
 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentosespecíficos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 18 de 92 
• Modelo Concorrente 
Esse modelo, algumas vezes denominado engenharia concorrente, 
possibilita à equipe de software representar elementos concorrentes e 
iterativos de qualquer um dos modelos de processos aqui descritos. Como 
exemplo, a atividade de modelagem definida para o modelo espiral pode ser 
realizada invocando uma ou mais das seguintes ações de engenharia de 
software: prototipagem, análise e projeto (Pressman, 2011). 
 
• Desenvolvimento Baseado em Componentes 
Desenvolve aplicações a partir de componentes de software pré-empacotados 
(faz reuso de componentes de softwares já existente, para conseguir redução 
no tempo do ciclo de desenvolvimento, bem como redução no custo do 
projeto) (Pressman, 2011). 
 
• Modelo de Métodos Formais 
Engloba um conjunto de atividades que conduzem à especificação 
matemática formal do software. 
 
APF – Análise de Ponto de Função 
Técnica que permite medir a funcionalidade de um software ou 
aplicativo, sob a visão do usuário, a partir da descrição dos requisitos 
do usuário. 
• É uma técnica de medição das funcionalidades fornecidas por um 
software do ponto de vista do usuário. 
• Trata-se de um método padrão para MEDIR desenvolvimento de software 
de acordo com a perspectiva do USUÁRIO. 
• Faz medição das funcionalidades fornecidas por um software do ponto de 
vista do usuário (Tamanho funcional). 
 
Objetivos 
• Medir o tamanho das funcionalidades requisitadas e recebidas pelo usuário 
• Medir desenvolvimento e manutenção de software independente da 
tecnologia. Por buscar independência da tecnologia utilizada para a 
construção do software, a APF independe da linguagem de programação 
utilizada. 
 
Visão do Usuário 
• Usuário – qualquer pessoa ou coisa que interaja com a aplicação ou 
especifique seus requisitos, como: Pessoa física; outra aplicação; Hardware; 
Ator em um caso de uso; Gestores de negócio que o software irá atender. 
• Uma visão do usuário representa uma descrição formal das necessidades do 
negócio do usuário, na linguagem do usuário. 
• É uma descrição das funções do negócio. 
• É aprovada pelo usuário. 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 19 de 92 
• 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, manuais do usuário). 
 
Componentes dos Pontos de Função (Importante) 
De acordo com o Manual de Práticas do IFPUG 4.2.1 temos cinco tipos de 
funções: 
• Arquivo Lógico Interno (ALI) 
• Arquivo de Interface Externa (AIE) 
• Entrada Externa (EE) 
• Saída Externa (SE) 
• Consulta Externa (CE) 
 
Etapas para Avaliação 
� Etapa I - Identificação do TIPO DE CONTAGEM a ser utilizado - O 
quê vou medir? 
Projeto de Desenvolvimento/Projeto de Manutenção/Projeto de 
Aplicação 
 
� Etapa II - Definição da FRONTEIRA da aplicação - Quais os limites 
do que vou medir? => Escopo do sistema objeto da avaliação. 
 
� Etapa III - Contagem de pontos de função não ajustados - Como 
vou medir? Reflete o conjunto de funções disponibilizadas ao 
usuário. 
� O resultado da contagem nessa etapa são pontos de função brutos! 
 
� Grupos de funções do tipo DADOS: 
Arquivo Lógico Interno (ALI) 
Arquivo de Interface Externa 
(AIE) 
 
� Grupos de funções tipo TRANSAÇÕES: 
Entrada Externa (EE) 
Saída Externa (SE) 
Consulta Externa (CE) 
 
� Etapa IV - Cálculo do fator de ajuste 
(Fatores relacionados com características da aplicação que afetam 
o tamanho funcional de um sistema). 
� O fator de ajuste é responsável pela correção das distorções da etapa 
anterior. 
� A metodologia de pontos de função considera que outros fatores 
afetam o tamanho funcional de um sistema. 
 
Estes fatores estão relacionados com características da aplicação: 
1. Comunicação de dados 8.Atualização on-line 
2. Funções distribuídas 9. Processamento complexo 
3. Performance 10. Reusabilidade 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 20 de 92 
4. Configuração do equipamento 11. Facilidade de implantação 
5. Volume de transações 12. Facilidade operacional 
6. Entrada de dados on-line 13.Múltiplos locais 
7. Interface com o usuário 14. Facilidade de mudanças 
 
� Processo de Cálculo: 
� Avaliar o impacto de cada uma das 14 características em relação 
ao sistema que está sendo avaliado, atribuindo pontuação de 0 a 5 
para cada característica. 
 
� Calcular o nível de influência geral a partir da soma dos pontos 
obtidos em cada uma das 14 características. 
� Aplica-se a seguinte fórmula: 
Fator de Ajuste = (NI * 0,01) + 0,65 
� Atualmente o fator de ajuste não tem sido muito utilizado, 
pois grande parte das características não se aplica a 
sistemas em plataformas web ou distribuídas. 
 
� Etapa V - Contagem de pontos de função ajustados 
� Correção das possíveis distorções acometidas durante o cálculo dos 
pontos de função não ajustados 
� Trata-se do processo que realiza a correção das possíveis 
distorções acometidas durante o cálculo dos pontos de função 
não- ajustados, aproximando as medidas à situação real com base 
no fator de ajuste. 
� Aplica-se a seguinte fórmula: PF = (PF não-ajustado) * (Fator 
de ajuste) O cálculo de Pontos de Função ajustados também 
não tem sido muito usado, pelos motivos relacionados ao 
fator de ajuste. 
 
Cálculo dos Pontos de Função 
 
• Cada tipo de função (ALI, entrada, saída etc.) é classificada de 
acordo com sua complexidade: Simples; Média; Alta/Complexa. 
• Cada complexidade funcional recebe uma pontuação. 
Rumo às questões!! 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 21 de 92 
LISTA DE QUESTÕES COMENTADAS NESTA AULA 
1. (CEPERJ/2010/IPEM-RJ/Analista de Sistemas) No que tange aos 
paradigmas da Orientação a Objetos (OO), um princípio está diretamente 
relacionado às operações realizadas por um objeto e ao modo como as 
operações são executadas, constituindo uma forma de restringir o acesso 
ao comportamento interno de um objeto. Nesse processo, um objeto que 
precise da colaboração de outro para realizar alguma tarefa deve enviar 
uma mensagem a este último. Além disso, separa os aspectos externos de 
um objeto dos detalhes internos da implementação. Considerando esse 
contexto, observe a figura abaixo. 
 
O princípio da OO é conhecido por: 
A) Compartilhamento 
B) Acoplamento 
C) Herança 
D) Polimorfismo 
E) Encapsulamento 
 
Comentários 
Encapsular é colocar em uma cápsula. Por mais estranho que pareça, pense 
que você poderia colocar todos os itens desejados em uma cápsula (como em 
um remédio) e proteger os componentes internos da ação externa. 
Em Orientação a Objetos é bem semelhante. A ideia de encapsular é criar uma 
proteção para os itens do objeto de forma que somente por meio das 
interfaces criadas possa ocorrer o acesso às estruturas internas. Isto cria uma 
proteção para os itens do objeto, que passam a ter o acesso controlado por 
meio da interface. 
O objetivo é separar os aspectos externos (o que faz) dos aspectos internos 
(como faz): 
• Aspectos externos = interface, contrato; 
• Aspectos internos = implementação. 
O encapsulamentopode ser visto como um complemento da abstração: 
• A abstração foca o comportamento observável de um objeto. 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 22 de 92 
• Encapsulamento enfoca a implementação que origina este 
comportamento. 
Além disso, ele – o encapsulamento – promove uma maior estabilidade, uma 
vez que clientes do objeto só conhecem sua interface e que podemos alterar a 
implementação de uma operação sem afetar o restante do sistema. 
Gabarito: letra E. 
 
2. (CESPE/BANCO DA AMAZÔNIA/Técnico Científico — Área: 
Tecnologia da Informação — ANÁLISE DE SISTEMAS/2010) Objetos 
têm identidade própria. Isso garante que, mesmo tendo os mesmos 
valores de variáveis e pertencendo à mesma classe, dois objetos sejam 
considerados diferentes. 
 
Comentários 
Na orientação a objetos, o conceito de identidade define que um objeto é 
uma instância única de uma classe, ocupando uma posição de memória 
específica. Então, podemos ter dois objetos não-idênticos (ocupam posições de 
memória distintas), mas iguais (são da mesma classe e possuem os mesmos 
valores para os atributos). 
Além disso, cada objeto ao ser criado, aloca espaço de memória para si e 
possui seus dados armazenados em estrutura própria. Não há confusão entre 
os objetos, especialmente quanto à identidade. Para simplificar o 
entendimento, podemos pensar em cada objeto como uma variável 
estruturada contendo os atributos. 
Gabarito: item correto. 
 
3. (CESPE/2010/TRE-MT/Técnico Judiciário/Programação de 
Sistemas) A estrutura interna de um objeto possui dois componentes 
básicos: atributos, que descrevem o estado do objeto; e métodos, que são 
responsáveis pela comunicação entre objetos. 
 
Comentários 
Em orientação a objeto, um método é uma subrotina que é executada por um 
objeto ao receber uma mensagem. Os métodos determinam o comportamento 
dos objetos de uma classe e são análogos à funções ou procedimentos da 
programação estruturada. A comunicação entre os objetos é realizada por 
mensagens que um objeto envia a outro. 
Gabarito: item errado. 
 
4. (ESAF/SEFAZ-CE/2007) A representação de classes em diagramas UML 
contempla os seguintes tipos básicos de informação: 
a) o nome da instância da classe e os seus objetos. 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 23 de 92 
b) o nome da classe, os seus atributos e os seus métodos. 
c) o nome da instância da classe e os seus relacionamentos. 
d) o nome da classe, os seus atributos e suas exceções. 
e) o nome da classe e suas visibilidades. 
 
Comentários 
A UML (Unified Modeling Language - Linguagem Unificada para 
Modelagem) normalmente é definida como uma linguagem de modelagem e 
não um método propriamente dito. A UML apresenta uma série de diagramas 
para a modelagem de sistemas orientados a objetos. 
De todos os diagramas da UML, é o diagrama de classes o mais comumente 
utilizado pelas empresas. Esse diagrama, de forma simplificada, descreve os 
“tipos” de objetos do software e os vários tipos de relacionamentos estáticos 
que existem entre eles. Uma proposta de processo de desenvolvimento que 
pode ser utilizada em conjunto é o RUP (Rational Unified Process), definido por 
Booch, Jacobson e Rumbaugh. 
 
Objetos 
 
• Representam elementos do mundo real. 
• É uma abstração de conjunto de coisas do 
mundo real. 
• Possuem: 
Atributos (estado) 
Operações (comportamento). 
• O único acesso aos dados desse objeto é através de suas operações. 
 
Classes 
• Permitem que sejam representados no mundo computacional elementos 
do mundo real, ou seja, do problema para o qual o software está sendo 
desenvolvido. 
• Elas permitem descrever um conjunto de objetos que compartilhem os 
mesmos atributos, operações, relacionamentos e semântica, e 
representam o principal bloco de construção de um 
software orientado a objetos. 
 
• Representam os tipos de objetos existentes no 
modelo, e são descritas a partir de seus atributos, métodos e 
restrições. 
 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 24 de 92 
A figura seguinte apresenta a simbologia para uma CLASSE chamada 
ContaBancaria, utilizando a UML. 
 
Figura. Classe ContaBancaria 
 
Com as classes definidas, precisam-se especificar quais são seus 
ATRIBUTOS (propriedades que caracterizam um objeto). Por 
exemplo, uma entidade conta bancária possui como atributos o número e 
o saldo. É bastante simples identificar os atributos de cada classe, basta 
identificar as características que descrevam sua classe no domínio 
do problema em questão. Cabe destacar que os atributos identificados 
devem estar alinhados com as necessidades do usuário para o problema. 
A figura seguinte apresenta a classe ContaBancaria com alguns de seus 
atributos. 
 
Figura. Classe ContaBancaria com alguns atributos 
 
Identificadas as classes e seus atributos, o próximo passo é a 
identificação das OPERAÇÕES de cada classe, também chamadas de 
métodos ou serviços. 
Fazendo um paralelo com objetos do mundo real, operações são ações 
que o objeto é capaz de efetuar. Dessa forma, ao procurar por 
operações, devem-se identificar ações que o objeto de uma classe é 
responsável por desempenhar dentro do escopo do sistema que será 
desenvolvido. 
 
A figura seguinte apresenta algumas operações da classe ContaBancaria. 
Ao contrário dos atributos, normalmente operações são públicas, 
permitindo sua utilização por outras classes e objetos. 
 
Figura. Classe ContaBancaria com seus atributos e operações 
 
Finalizando, a UML (Unified Modeling Language - Linguagem Unificada para 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 25 de 92 
Modelagem) nos permite representar graficamente as classes, conforme nos 
mostrou a figura anterior, dando ênfase às partes mais importantes de uma 
abstração: seu nome, atributos e operações. 
Gabarito: letra B. 
 
5. (CESPE/2009/CEHAP PB/Analista de Sistemas) O projeto orientado a 
objetos encapsula atributos e serviços ou operações (comportamentos) em 
objetos. Os objetos comunicam-se entre si por meio de associações e os 
relacionamentos entre classes se dão por meio de interfaces. 
 
Comentários 
Os objetos comunicam-se por meio de mensagens (interface) e os 
relacionamentos acontecem por meio de associações. 
Gabarito: item errado. 
 
6. (ESAF/2008/AFC-STN/INFRAESTRUTURA DE TI) A habilidade para 
uso de uma mesma mensagem para invocar comportamentos distintos de 
um determinado objeto é denominada 
a) Interface. 
b) Polimorfismo. 
c) Herança. 
d) Encapsulamento. 
e) Abstração. 
 
Comentários 
Item a. Coleção de métodos que indica que uma classe possui algum 
comportamento além do que herda de suas superclasses. Os métodos incluídos 
em uma interface não definem esse comportamento; essa tarefa é definida nas 
classes que implementam a interface. ITEM FALSO. 
Item b. Permite que referências de tipos de classes mais abstratas 
representem o comportamento das classes concretas que referenciam. Assim, 
é possível tratar vários tipos de maneira homogênea (através da interface do 
tipo mais abstrato). O termo polimorfismo é originário do grego e significa 
"muitas formas" (poli = muitas, morphos = formas).ITEM VERDADEIRO. 
Item c. É o mecanismo pelo qual uma classe (sub-classe) pode estender outra 
classe (super-classe), aproveitando seus comportamentos (métodos) e 
variáveis possíveis (atributos). Um exemplo: Mamífero é super-classe de 
Humano. Logo, um Humano é um mamífero. Há herança múltipla quando uma 
sub-classe possui mais de uma super-classe. ITEM FALSO. 
Item d. Consiste na separação de aspectos internos e externos de um objeto. 
Este mecanismo é utilizado amplamente para impedir o acesso direto ao 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 26 de 92 
estado de um objeto (seus atributos), disponibilizando externamente apenas 
os métodos que alteram estes estados. Exemplo: Não é necessário conhecer os 
detalhes dos circuitos de um telefone para utilizá-lo. A carcaça do telefone 
encapsula esses detalhes, provendo uma interface mais amigável (os botões, o 
monofone e os sinais de tom). ITEM FALSO. 
e) É a habilidade de concentrar nos aspectos essenciais de um contexto 
qualquer, ignorando características menos importantes ou acidentais. Em 
modelagem orientada a objetos, uma classe é uma abstração de entidades 
existentes no domínio do sistema de software. ITEM FALSO. 
Gabarito: letra B. 
 
7. (CESPE - 2009 - ANAC - Técnico Administrativo - Informática) A 
técnica conhecida como refactoring é constantemente aplicada no 
desenvolvimento baseado no método ágil extreme programming. 
 
Comentários 
"Melhorar o projeto depois que foi escrito" é uma premissa do XP. 
 “É o processo de mudar um sistema de software de tal forma que não se 
altera o comportamento externo do código, mas melhora sua estrutura 
interna. É um meio disciplinado de limpar o código e que reduz as 
possibilidades de introduzir erros. Em essência quando você refina o código, 
você melhora o projeto depois que este foi escrito”. 
Gabarito: item correto. 
 
8. (FUNRIO/Analista – Área S4/MPOG/2009) Na terminologia da UML, 
a participação é uma característica importante de uma associação, 
relacionada à necessidade, ou não, da existência dessa associação entre 
objetos. Por exemplo, numa associação com conectividade “um para 
muitos” entre as classes Departamento e Empregado, em que a 
multiplicidade do lado de Departamento é 1 e do lado de Empregado é 
1..*, a participação dos objetos de ambas as classes na associação é 
A) opcional. 
B)obrigatória. 
C) total. 
D) parcial. 
E) completa. 
 
Comentários 
A participação dos objetos de ambas as classes na associação é obrigatória 
porque o valor mínimo da multiplicidade é 1 em ambos os lados, e deve ser 
lembrado que a participação é uma característica da associação que está 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 27 de 92 
relacionada com a obrigatoriedade ou não da existência da associação entre 
todos os objetos das duas classes envolvidas nela. 
Gabarito: letra B. 
 
9. (FUNRIO/Analista – Área S4/MPOG/2009) Na modelagem de classes 
da UML, que tipo de associação entre objetos das classes “pedidos” e 
“itens de pedido” é identificado na sentença “pedidos são formados por 
itens de pedido”? 
A) Generalização. 
B) Especialização. 
C) Restrição. 
D) Composição. 
E) Classificação. 
 
Comentários 
Como a composição é um tipo de relacionamento que expressa a ação de fazer 
parte de algo, quando se fala que pedidos são formados por itens de pedido, 
este tipo de relacionamento seria o que expressaria melhor o que esta frase 
exprime. 
Gabarito: letra D. 
 
10. (FUNRIO/Analista – Área S4/MPOG/2009) Suponha um diagrama 
de casos de uso de um sistema de caixa bancário eletrônico, em que os 
casos de uso “Obter extrato”, “Realizar saque” e “Realizar transferência” 
têm uma sequência de interações comum para validar a senha do 
cliente, representada pelo caso de uso “Fornecer identificação”. Qual o tipo 
de relacionamento dos três primeiros casos de uso com o caso de uso 
“Fornecer identificação”? 
A) Extensão. 
B) Agregação. 
C) Distribuição. 
D) Colaboração. 
E) Inclusão. 
 
Comentários 
A resposta correta seria inclusão, porque o caso de uso "Fornecer 
identificação" inclui o comportamento de validar a senha do cliente no caso de 
uso “Realizar transferência”, sendo assim podemos dizer que “Realizar 
transferência” usa o caso de uso "Fornecer identificação". 
Gabarito: letra E. 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 28 de 92 
11. (ESAF/2005/UML) O modo para descrever os vários aspectos de 
modelagem ela UML é por meio do uso da notação definida pelos seus 
vários tipos de diagramas. Segundo as características desses diagramas, é 
correto afirmar que um diagrama de classe 
a) mostra a interação de um caso de uso organizada em torno de objetos e 
classes e seus vínculos mútuos, evidenciando a sequência de mensagens. 
b) denota a estrutura estática de um sistema. 
c) descreve a funcionalidade do sistema. 
d) descreve a interação de sequência de tempo dos objetos e classes 
percebida por atores externos. 
e) mostra as sequências de estados que uma classe e objetos assumem em 
sua vida em resposta a estímulos recebidos, juntamente com suas 
respostas e ações. 
 
Comentários 
Item a. O Diagrama de Classe mostra as diferentes classes que fazem um 
sistema e como elas se relacionam. Os diagramas de classe são chamados 
diagramas “estáticos” porque mostram as classes, com seus métodos e 
atributos bem como os relacionamentos estáticos entre elas: quais classes 
“conhecem” quais classes ou quais classes “são parte” de outras classes, mas 
não mostram a troca de mensagens entre elas. ITEM FALSO. 
Item b. Como foi mencionada na letra anterior, os Diagramas de Classe são 
chamados diagramas “estáticos” porque mostram as classes, com seus 
métodos e atributos bem como os relacionamentos estáticos entre elas. ITEM 
VERDADEIRO. 
 
Item c. O diagrama de caso de uso descreve a funcionalidade proposta para 
um novo sistema, que será projetado, ou seja, não está relacionado com o 
diagrama de classes. ITEM FALSO. 
 
Item d. A interação de sequência de tempo dos objetos e classes está 
relacionada ao diagrama de sequência. É representando pela sequência de 
processos (mais especificamente, de mensagens passadas entre objetos). O 
diagrama de sequência descreve a maneira como os grupos de objetos 
colaboram em algum comportamento ao longo do tempo. ITEM FALSO. 
Item e. O diagrama de estados mostra como um único objeto se comporta 
através de muitos casos de uso; mostra sequências de estados que um objeto 
ou uma interação assume em sua vida em resposta a eventos, juntamente 
com suas respostas e ações; é um complemento de uma classe relacionando 
os possíveis estados que objetos da classe podem ter e quais eventos podem 
causar a mudança de estado (transição). Este então não está relacionado ao 
diagrama de classes. ITEM FALSO. 
Gabarito: letra B. 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 29 de 92 
 
12. (FUNRIO/Analista de Sistemas/FURB/2010) Com base no 
Diagrama de Classe do Anexo II, indique a alternativa correta. 
 
 A) Os atributos da Classe A podem ser alterado indistintamente por qualquer 
outra classediretamente. 
B) A classe A possui um método que pode ser usado por outros métodos de 
qualquer classe. 
C) Todos os métodos da Classe A podem ser usados pelas suas classes 
derivadas. 
D) O mecanismo de mensagem deverá ser usado por outra classe para 
alteração de pelo menos 1 atributo da classe A. 
E) Os atributos da Classe A não podem ser herdados. 
 
Comentários 
Uma subclasse (ou classe derivada) é uma classe que herda comportamentos 
de outra classe, podendo sobrecarregar funcionalidades e adicionar novas a 
uma classe base (ou classe pai), construtores e destrutores não são herdados, 
e somente métodos e atributos públicos e protegidos são herdados. Métodos 
públicos e protegidos podem ser visíveis por outras classes. 
Gabarito: letra C. 
 
13. (CEPERJ/2010/IPEM-RJ/Analista de Sistemas) Um modelo é uma 
abstração de algo com a finalidade de entendê-lo antes de construí-lo. 
Todo sistema desenvolvido deve ser modelado e, nesse sentido, existem 
pontos de vista distintos, porém relacionados, cada qual capturando 
aspectos importantes e necessários para uma descrição completa. 
Enquanto o modelo de interações representa a colaboração de objetos 
individuais, os aspectos de “interações” de um sistema representam os 
aspectos estáticos, estruturais de “dados” e também podem representar os 
aspectos temporais e comportamentais, de “controle” desse mesmo 
sistema. Esses dois últimos são denominados, respectivamente, modelos 
de: 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 30 de 92 
A) Classes e Estados 
B) Dados e Controle 
C) Eventos e Estados 
D) Dados e Estados 
E) Classes e Controle 
 
Comentários 
Os dois últimos modelos “dados” e “controle” correspondem aos modelos de 
Classes e Estados, letra A. 
Classificação significa que os objetos com a mesma estrutura de dados 
(chamados atributos) e o mesmo comportamento (chamados operações ou 
métodos) são agrupados em uma classe. Classe é uma abstração que descreve 
propriedades importantes para uma aplicação e ignora o restante. O objetivo 
de um diagrama de classes é descrever os vários tipos de objetos no sistema e 
o relacionamento entre eles. 
Um diagrama de classes pode oferecer três perspectivas, cada uma para um 
tipo de observador diferente. São elas: 
• Conceitual 
o Representa os conceitos do domínio em estudo. 
o Perspectiva destinada ao cliente. 
• Especificação 
o Tem foco nas principais interfaces da arquitetura, nos principais 
métodos, e não como eles irão ser implementados. 
o Perspectiva destinada as pessoas que não precisam saber detalhes 
de desenvolvimento, tais como gerentes de projeto. 
• Implementação - a mais utilizada de todas 
o Aborda vários detalhes de implementação, tais como 
navegabilidade, tipo dos atributos, etc. 
 o Perspectiva destinada ao time de desenvolvimento. 
Um diagrama de classes contém: 
 * Entidades 
 * Relacionamentos 
Os Diagramas de Máquinas de Estados, ou simplesmente Diagramas de 
Estados, descrevem o comportamento dinâmico do sistema, representando os 
estados que um objeto passa durante a execução do sistema e como ele 
muda de estado em respostas aos eventos. Cada diagrama representa uma 
classe única. 
Em um diagrama de estado, um objeto possui um comportamento e um 
estado. O estado de um objeto depende da atividade na qual ele está 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 31 de 92 
processando. Um diagrama de estado mostra os possíveis estados de um 
objeto e as transações responsáveis pelas suas mudanças de estado. 
Gabarito: letra A. 
 
14. (CEPERJ/2010/IPEM-RJ/Analista de Sistemas) A Engenharia de 
Requisitos fornece o mecanismo apropriado para entender o que o cliente 
deseja, analisando as necessidades, avaliando a exequibilidade, 
negociando uma condição razoável, especificando a solução de forma clara, 
validando a especificação e gerindo os requisitos à medida que eles são 
transformados em um sistema operacional. Considerando esse contexto, 
observe a figura abaixo, utilizada no levantamento de requisitos. 
 
 
 
Essa figura é conhecida por Diagrama: 
A) Funcional 
B) De Classes 
C) De Contexto 
D) De Atividades 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 32 de 92 
E) Comportamental 
 
Comentários 
O objetivo do diagrama de atividades é mostrar o fluxo de atividades em um 
único processo. O diagrama mostra como uma atividade depende uma da 
outra. 
 
Um diagrama de atividade pode ser regiões denominadas swimlanes. Estas 
regiões estão associadas a um objeto do modelo. Desta forma, dentro de cada 
região, encontram-se as atividades relativas ao objeto da região. As atividades 
são conectadas através de arcos (transições), que mostram as dependências 
entre elas. 
 
Gabarito: letra D. 
 
15. (CEPERJ/2010/IPEM-RJ/Analista de Sistemas) A UML é uma 
linguagem de modelagem visual, podendo ser definida como um conjunto 
de notações e semântica correspondente para representar visualmente 
uma ou mais perspectivas de um sistema. Dentre os diagramas da UML, 
um diagrama foca os requisitos funcionais de um sistema, forçando os 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 33 de 92 
desenvolvedores a moldarem o sistema de acordo com o usuário, e não o 
usuário de acordo com o sistema, representando as especificações de uma 
sequência de interações entre um sistema e os agentes externos que 
utilizam esse sistema, por meio dos atores e relacionamentos entre eles. 
Esse diagrama é denominado: 
A) Casos de uso 
B) Casos de negócios 
C) Processos e funções 
D) Entidades e relacionamentos 
E) Processos e relacionamentos 
 
Comentários 
O diagrama que foca os requisitos funcionais de um sistema é o diagrama de 
casos de uso. 
Os casos de uso descrevem funcionalidades do sistema percebidas por atores 
externos. Um ator é uma pessoa (ou dispositivo, ou outro sistema) que 
interage com o sistema. 
 
 
Gabarito: letra A. 
 
16. (ESAF/2008/AFC/STN/ TI – Desenvolvimento de Sistemas) Em 
UML (Unified Modeling Language), o diagrama cujo foco é a organização 
estrutural de objetos que enviam e recebem mensagens, exibindo assim, 
tais objetos e as ligações entre eles, bem como as respectivas mensagens, 
é o diagrama de 
a) componentes. 
b) colaboração. 
c) objetos. 
d) atividades. 
e) caso de uso. 
 
 
 
 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 34 de 92 
Comentários 
Item a. Ilustra como as classes deverão se encontrar organizadas através da 
noção de componentes de trabalho. Por exemplo, pode-se explicitar, para cada 
componente, qual das classes que ele representa. Item FALSO. 
Item b. Exibe uma interação, consistindo de um conjunto de objetos e seus 
relacionamentos, incluindo as mensagens que podem ser trocadas entre eles. 
Item VERDADEIRO. 
Item c. É uma variação do diagrama de classes e utiliza quase a mesma 
notação. A diferença é que o diagrama de objetos mostra os objetos que foram 
instanciados das classes. O diagrama de objetos é como se fosse o perfil do 
sistemaem um certo momento de sua execução. Item FALSO. 
Item d. Representa os fluxos conduzidos por processamentos. É 
essencialmente um gráfico de fluxo, mostrando o fluxo de controle de uma 
atividade para outra. Isso envolve a modelagem das etapas sequenciais em 
um processo computacional. Item FALSO. 
Item e. Descreve a funcionalidade proposta para um novo sistema, que será 
projetado. Representa uma unidade discreta da interação entre um usuário 
(humano ou máquina) e o sistema. São tipicamente relacionados a "atores". 
Um ator é um humano ou entidade máquina que interage com o sistema para 
executar uma determinada tarefa. Item FALSO. 
Gabarito: letra B. 
 
17. (ESAF/2008/AFC/STN/TI/Infraestrutura) O diagrama UML que 
apresenta objetos e suas ligações mútuas, evidenciando a sequência das 
mensagens trocadas por meio de números de sequência, é o 
a) Diagrama de sequência. 
b) Diagrama de estado. 
c) Diagrama de colaboração. 
d) Diagrama de caso de uso. 
e) Diagrama de atividade. 
 
Comentários 
Item a. O Diagrama de Sequência representa a sequência de processos 
(mais especificamente, de mensagens passadas entre objetos) num programa 
de computador. Como um projeto pode ter uma grande quantidade de 
métodos em classes diferentes, pode ser difícil determinar a sequência global 
do comportamento. O diagrama de sequência representa essa informação de 
uma forma simples e lógica. Este descreve a maneira como os grupos de 
objetos colaboram em algum comportamento ao longo do tempo. Ele registra o 
comportamento de um único caso de uso e exibe os objetos e as mensagens 
passadas entre esses objetos no caso de uso. Item FALSO. 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 35 de 92 
Item b. O Diagrama de Estado mostra o ciclo de vida de um objeto os 
eventos pelos quais ele passa, as suas transições e os estados em que ele está 
entre estes eventos. Um estado de um objeto é um conjunto de circunstâncias 
ou atributos que caracterizam o objeto em determinado momento. Item 
FALSO. 
Item c. O Diagrama de Colaboração exibe uma interação, consistindo de um 
conjunto de objetos e seus relacionamentos, incluindo as mensagens que 
podem ser trocadas entre eles. O Diagrama de colaboração mostra, de 
maneira semelhante ao diagrama de sequência, a colaboração dinâmica entre 
os objetos. Se a ênfase do diagrama for o contexto do sistema, o diagrama de 
colaboração é o utilizado. Item VERDADEIRO. 
Item d. Tem o objetivo de auxiliar a comunicação entre os analistas e o cliente. 
Descreve um cenário que mostra as funcionalidades do sistema do ponto de 
vista do usuário. O cliente deve ver no diagrama de casos de uso as principais 
funcionalidades de seu sistema. Item FALSO. 
Item e. Uma atividade é o estado de estar fazendo algo: tanto um processo 
de mundo real, tal como datilografar uma carta, ou a execução de uma rotina 
de software, tal como um método em uma classe. Este descreve a sequência 
de atividades, com suporte para comportamento condicional e paralelo. Um 
Diagrama de Atividades é uma variante de um diagrama de estados no qual 
a maioria, se não todos, dos estados é estado de atividade. Portanto, muito da 
terminologia segue a mesma terminologia de estados. Item FALSO. 
Gabarito: letra C. 
 
18. (ESAF/2008/AFC/STN/TI/Infraestrutura) Considere o seguinte 
contexto: “Um cliente pode comprar vários livros”. Em um diagrama de 
classes, este é um exemplo de relacionamento do tipo 
a) Agregação. 
b) Generalização. 
c) Especialização. 
d) Associação. 
e) Dependência. 
 
Comentários 
Item a. Item FALSO. Agregação é uma forma especializada de associação na 
qual um todo é relacionado com suas partes. Também conhecida como relação 
de conteúdo. É representada como uma linha de associação com um diamante 
junto à Classe agregadora. A multiplicidade é representada da mesma maneira 
que nas associações. 
Complementando, a agregação é um caso particular da associação. A 
agregação indica que uma das classes do relacionamento é uma parte, ou está 
contida em outra classe. As palavras chaves usadas para identificar uma 
agregação são: “consiste em”, “contém”, “é parte de”. 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 40 de 92 
Comentários 
Item a. Adornos são detalhes da especificação adicionados às extremidades 
das linhas que representam os relacionamentos, usados na notação gráfica. 
Item FALSO. 
Item b. Permite estender o vocabulário da linguagem, criando novos elementos 
de modelagem. O estereótipo estende a semântica mas não a estrutura do 
elemento. Podem-se criar novos ícones para representar esses elementos 
numa forma gráfica individualizada. Item VERDADEIRO. 
Item c. Uma restrição estende a semântica de um elemento UML, permitindo 
a definição de novas regras ou modificação de regras existentes. Item FALSO. 
Item d. A UML não é só uma linguagem gráfica, por trás de toda parte gráfica 
há uma especificação que define a sintaxe e semântica de um elemento. A 
especificação pode ser construída de forma incremental e estará sempre por 
trás, valendo, para qualquer tipo de exibição utilizado. As especificações UML 
proveem um pano de fundo que envolve todas as partes de um modelo. Item 
FALSO. 
Item e. São relacionamentos de utilização no qual uma mudança na 
especificação de um elemento pode alterar a especificação do elemento 
dependente. A dependência entre classes indica que os objetos de uma classe 
usam serviços dos objetos de outra classe. Item FALSO. 
Gabarito: letra B. 
 
20. (FUNRIO/Analista – Área S4/MPOG/2009) Os modelos ágeis de 
desenvolvimento de software foram projetados para atender a quatro 
tópicos-chave. Qual das alternativas NÃO É um tópico-chave? 
 
A) Importância de equipes auto-organizadas que têm controle sobre o trabalho 
que executam. 
B) Automatização da documentação dos sistemas em bases de conhecimento. 
C) Comunicação e colaboração entre os membros da equipe e entre os 
profissionais e seus clientes. 
D) Reconhecimento de que modificações representam uma oportunidade. 
E) Ênfase na entrega rápida de softwares que satisfaçam ao cliente. 
 
Comentários 
Ágil é uma nova forma de gestão e desenvolvimento de Software que usa uma 
abordagem de planejamento e execução iterativa e incremental voltado para 
processos empíricos que divide o problema em produtos menores e que visa 
entregar software funcionando regularmente, visa a aproximação e maior 
colaboração do time de desenvolvimento com os experts de negócios, 
comunicação face-to-face, redução dos riscos associados as incertezas dos 
projetos, abraçar e responder as mudanças de forma mais rápida e natural e é 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 41 de 92 
claro a satisfação final dos clientes por meio da adoção de práticas de gestão e 
de engenharia de software com foco nos valores e princípios do Lean e do 
agile, resumindo, seu principal objetivo é entregar o produto que o cliente 
realmente deseja e que será útil e com qualidade. 
Gabarito: letra B. 
 
Com relação a conceitos gerais de engenharia de software, julgue os itens a 
seguir. 
21. (CESPE/TRT - 10ª REGIÃO (DF e TO) - Analista Judiciário - 
Tecnologia da Informação/2013) As atividades fundamentais 
relacionadas ao processo de construção de um software incluem a 
especificação, o desenvolvimento, a validação e a evolução do software. 
 
ComentáriosUm processo de software é um conjunto de atividades e resultados associados 
que levam à produção de um produto de software. 
Nesse contexto, Sommerville (2007, p. 43) destaca as quatro atividades 
fundamentais do processos de software, comuns a todos eles, que são: 
especificação de software, projeto e implementação de software, 
validação de software e evolução do software. 
 
Especificação de Software São definidas as funcionalidades do 
software e restrições para sua operação. 
Projeto e Implementação de 
Software 
O software que atenda à especificação 
deve ser produzido. 
Validação de Software O software deve ser avaliado para 
garantir que ele faça o que o cliente 
deseja. 
Evolução do Software O software evolui para atender às 
necessidades de mudança do cliente. 
Segundo o autor, essas atividades são organizadas de modo diferente nos 
diversos processos de desenvolvimento. Como exemplo, no modelo em cascata 
são organizadas em sequência, ao passo que, no desenvolvimento 
evolucionário, elas são intercaladas. Como essas atividades serão organizadas 
dependerá do tipo de software, pessoas e estruturas organizacionais 
envolvidas. 
Com algumas variações de nomes entre os principais autores da área 
(Pressman e Sommerville), é correto destacar que as quatro atividades 
básicas do processo de software são: especificação, desenvolvimento, 
validação e evolução. 
Gabarito: item correto. 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 42 de 92 
22. (CESPE/ 2013 /TRT - 10ª REGIÃO (DF e TO)/Analista Judiciário 
- Tecnologia da Informação) O ciclo de vida de um software, entre 
outras características, está relacionado aos estágios de concepção, projeto, 
criação e implementação. 
 
Comentários 
Sommerville (2007, p. 43) destaca as quatro atividades fundamentais do 
processos de software, comuns a todos eles, que são: especificação de 
software, projeto e implementação de software, validação de software 
e evolução do software. Segundo o autor, essas atividades são organizadas 
de modo diferente nos diversos processos de desenvolvimento. 
Pressman (2011) destaca que uma metodologia de processo genérica para 
Engenharia de Software compreende cinco atividades: 
• Comunicação – Antes de iniciar o trabalho, é de vital importância 
comunicar-se e colaborar com o cliente (e outros interessados, como: 
executivos, usuários finais, engenheiros de software, o pessoal de suporte, 
etc.). A intenção aqui é compreender os objetivos das partes interessadas 
para com o projeto e fazer o levantamento das necessidades que ajudarão a 
definir as funções e características do software. 
• Planejamento – Estabelecimento do plano de projeto de software, que 
descreve as tarefas técnicas a ser conduzidas, os riscos prováveis, os 
recursos que serão necessários, os produtos resultantes a ser produzidos e 
um cronograma de trabalho. 
• Modelagem – Criação de modelos representativos do software (para 
melhor entender as necessidades do software e o projeto que irá atender a 
essas necessidades). 
• Construção – Essa atividade combina geração de código (manual ou 
automatizada) e testes necessários para revelar erros na codificação. 
• Entrega (Implantação) – Entrega do produto ao cliente, que irá avalia-lo 
e fornecer feedback baseado na avaliação. 
Essas cinco atividades metodológicas genéricas podem ser utilizadas para o 
desenvolvimento de programas pequenos e simples, para a criação de grandes 
aplicações para a Internet e para a engenharia de grandes e complexos 
sistemas baseados em computador (Pressman, 2011). 
As atividades metodológicas são complementadas pelas atividades de apoio 
(umbrella activities), como: controle e acompanhamento do projeto, 
administração de riscos, garantia da qualidade, gerenciamento da configuração 
de software, dentre outras. 
Observe que os 2 autores trabalham com um modelo genérico de processo de 
software, e não com o ciclo de vida do software. No entanto, conceitualmente 
falando, o modelo de processo de software não se diferencia do modelo de 
ciclo de vida, ambos trazem uma descrição, em alto nível, das atividades 
envolvidas na construção de um software e suas dependências. Ainda, cabe 
destacar que as sequências de atividades trazidas pelo Pressman e 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 43 de 92 
Sommerville são essencialmente iguais e estão falando do mesmo processo: o 
desenvolvimento de um software. 
Assim, pode-se destacar que o ciclo de vida de um software, entre outras 
características, estará relacionado aos estágios de concepção, projeto, criação 
e implementação. 
Gabarito: item correto. 
 
23. (CESPE/TRE-BA/Analista de Sistemas/2010) Com relação à 
engenharia de software, julgue o item a seguir. Entre os desafios 
enfrentados pela engenharia de software estão lidar com sistemas legados, 
atender à crescente diversidade e atender às exigências quanto a prazos 
de entrega reduzidos. 
 
Comentários 
A proposta da Engenharia de software é possibilitar o desenvolvimento 
adequado do software, frente a inúmeros desafios, como: lidar com sistemas 
legados (sistemas de software mais velhos que permanecem vital para uma 
organização), atender à crescente diversidade e atender às exigências quanto 
a prazos de entrega limitados. 
Gabarito: item correto. 
 
24. (ESAF/MPOG/2008) O processo da engenharia de sistemas possui 
importantes diferenças em relação ao processo de desenvolvimento de 
software, principalmente no que se refere às suas fases. Indique a opção 
que representa as fases do processo da engenharia de sistemas. 
a) Comunicação, Planejamento, Modelagem, Construção e Implantação. 
b) Análise de requisitos, Projeto do sistema, Projeto do programa, 
Codificação, Testes de Unidades e de Integração, Teste do sistema, Teste 
de Aceitação, Operação e Manutenção. 
c) Definição de Requisitos, Projeto de sistemas e de software, 
Implementação e testes de unidades, Integração e testes de sistemas, 
Operação e manutenção. 
d) Análise dos requisitos do sistema, Projeto da arquitetura do sistema, 
Codificação e testes do sistema, Integração e teste do sistema, Teste de 
qualificação do sistema, Instalação do sistema e Descontinuação do 
sistema. 
e) Definição de requisitos, Projeto do sistema, Desenvolvimento de 
subsistemas, Integração do sistema, Instalação do sistema, Evolução do 
sistema e Desativação do sistema. 
 
 
 
TI EM EXERCÍCIOS P/ INSS 
Conhecimentos específicos - Formação em Tecnologia da Informação (TEINF) 
 
Prof
a
. Patrícia Lima Quintão www.pontodosconcursos.com.br 44 de 92 
Comentários 
A engenharia de sistemas é uma atividade de especificação, projeto, 
implementação, validação, implantação e manutenção de sistemas 
sociotécnicos. 
Os engenheiros de sistema são responsáveis pelos softwares, e não somente 
esses, mas também o hardware, as interações do sistema com os usuários e 
seu ambiente. Além disso, serviços que o sistema fornece, restrições de 
operação, criação e utilização, a fim de atingir seu propósito (SOMMERVILLE, 
2007). 
 
Figura. Fonte: (SOMMERVILLE, 2007) 
Gabarito: letra E. 
 
25. (CESPE/2013/TRT - 10ª REGIÃO (DF e TO)/Analista Judiciário - 
Tecnologia da Informação) Com relação a conceitos gerais de 
engenharia de software, julgue os itens a seguir. 
A engenharia de software engloba processos, métodos e ferramentas. Um de 
seus focos é a produção de software de alta qualidade a custos adequados. 
 
Comentários 
• Processo

Outros materiais