Você está na página 1de 10

Lista Exercícios Processo de software

1. Sobre modelos de processo e processo responda:


a. Quais os 3 componentes de um modelo de processo qualquer? Explique
Atividades: As tarefas específicas que devem ser realizadas durante o processos
de desenvolvimento do software. Representam as etapas do processos e descrevem o que
precisa ser feito em cada fase do desenvolvimento.
Papéis: Os papéis se referem às pessoas que devem desempenhar
determinadas atividades no processo. Um papel pode ser desempenhado por uma ou mais
pessoas e uma pessoa pode desempenhar um ou mais papéis.
Artefatos: Tudo aquilo que é gerado no decorrer do projeto. Exemplos:
documentações, código fonte, entregáveis e etc.
b. O que são marcos e qual a importância deles?
Marcos são os checkpoints em um projeto. São usados, dentre outras coisas,
para definir transições entre atividades em um processo e para controle de tempo.
c. Cite uma vantagem em usar um processo de software já definido?
Usar um processo de software já definido nos permite ter maior controle sobre
o desenvolvimento do sistema, consistência na qualidade do produto, minimizar os riscos do
desenvolvimento e dentre outros pontos positivos.
d. Por que definimos processos? Quais as vantagens disso?
A engenharia de software define processos a fim de auxiliar a produção de
softwares, através do caráter dos processos definidos de buscar maior consistência na qualidade
do produto, minimizar os riscos no desenvolvimento, manter maior eficiência na produção e
dentre outros.
idealmente o uso de processos também nos auxilia a atingir o resultado
esperado do software, em tempo e custo esperados.

2. Considere o cenário a seguir.


Desenvolver um sistema para uma aplicação de comércio eletrônico. Apesar do cliente
ter uma certa urgência em colocar o sistema em operação, os requisitos para o mesmo
não se encontram bem definidos. O cliente se comprometeu em acompanhar o
desenvolvimento. Porém, este possui dificuldades em expressar os requisitos do
sistema.
Dentre os modelos de processo abaixo, qual é o ideal para apoiar o desenvolvimento
do sistema descrito no cenário?
a. Cascata
b. Evolutivo
c. Espiral
d. Prototipação
Temos esta resposta pois os requisitos não encontram-se bem definidos.
3. Considere o cenário a seguir.
Desenvolver um sistema de cadastro de usuários de uma biblioteca virtual. Os
requisitos para o sistema foram fornecidos pelo usuário de antemão e estão
relativamente bem definidos. A organização dispõe de uma quantidade adequada de
desenvolvedores experientes no domínio da aplicação. Porém, há uma alta disputa
interna entre a equipe de desenvolvimento.
Dentre os modelos de processo a seguir, qual é o ideal para apoiar o desenvolvimento
do sistema descrito no cenário?
a. Cascata
O modelo escolhido será o cascata pois os requisitos já estão bem definidos e os
desenvolvedores são altamente capacitados, entretanto, só podem participar no projeto
durante um curto período de tempo, sendo necessário aproveitá-los ao máximo em suas fases
de especialidade enquanto ainda estão no projeto.
b. Evolutivo
c. Incremental
d. Prototipação
4. Para cada um dos modelos de processos abaixo descreva as principais características,
quando o modelo de processo deve ser aplicado, cite 1 vantagem e 1 desvantagem:
a. Componentes
O uso de componentes já prontos permite maior rapidez na construção do
projeto, pois não é necessário criar tudo do zero.
Entretanto, o uso de componentes já prontos pode acarretar em alguns
problemas, como: gestão complexa dos componentes, contaminação do código-fonte (caso use
um componente GPL por exemplo) e dentre outros problemas.
b. Especificação Formal
A especificação formal é útil para sistemas críticos e tem consigo a vantagem de
apresentar uma rigorosa análise dos requisitos.
Entretanto, para ser realizada a especificação formal tem alto custo, pois
necessita de mão de obra especializada. Por isso a especificação formal, mesmo que em
sistemas críticos, comumente, não é usada em todas as partes do código.
c. Cascata
Uma das vantagens do modelo em cascata é que trata-se de um processo linear,
possui fase única de requisitos e é mais fácil de gerenciar.
Uma das desvantagens desse modelo é a baixa tolerância a mudanças dos
requisitos e necessidades do cliente.
d. Prototipação
Uma das vantagens da prototipação é retirar incertezas no desenvolvimento do
produto.
Uma das desvantagens é que, ao criar um protótipo que será apresentado ao
cliente, este pode achar que o software já está pronto.
e. Modelo em V
Nesse modelo temos a antecipação dos testes e, por consequência, um produto
de maior qualidade.
Entretanto, a desvantagem desse modelo é que exige um alto custo com
qualidade (equipe de QA e etc.) desde o começo do projeto.

5. Considerando o que foi aprendido sobre modelos de processos de software (ciclos de


vida), selecione a afirmação falsa.
a. O modelo de processo descreve as principais fases para o desenvolvimento do
software
b. O modelo de processo descreve as principais atividades a serem realizadas em
cada fase de desenvolvimento
c. O modelo de processo define os artefatos de entrada e de saída de cada fase
de desenvolvimento
d. O modelo de processo define os princípios e diretrizes que guiarão a execução
das fases de desenvolvimento
e. O modelo de processo especifica os papéis e ferramentas envolvidos em cada
fase de desenvolvimento
6. Sobre as características do modelo evolutivo (evolucionário), marque a afirmação
falsa.
a. O modelo evolutivo tem como base a entrega de implementações
intermediárias do produto
b. A prototipação é útil quando os requisitos são mal compreendidos
c. O desenvolvimento exploratório também é adotado quando os requisitos são
mal compreendidos, mas possui maior flexibilidade para lidar com as
mudanças solicitadas pelos clientes
O item está incorreto pois o desenvolvimento exploratório é adotado quando
os requisitos estão bem especificados e não possui tanta flexibilidade para lidar com as
mudanças solicitadas pelo cliente.
d. Uma desvantagem dos protótipos é que os clientes imaginam que o software
já está pronto
7. Compare o desenvolvimento de software que usa componentes prontos e o
desenvolvimento de software que produz componentes. (fale, por exemplo, do custo,
da avaliação dos componentes e da maturidade da equipe de desenvolvimento que é
necessária). O desenvolvimento de componentes é indicado para todos os tipos de
projeto?
O uso de componentes prontos permite que a equipe poupe tempo de
desenvolvimento ao utilizar soluções já prontas, entretanto, genéricas, para dar
continuidade ao desenvolvimento do sistema. Isso exige que a equipe tenha
maturidade para entender quando, onde e como utilizar os componentes. O uso dos
componentes já prontos tende a acarretar numa diminuição do custo de produção,
pois não é necessário “reinventar a roda”.
Por outro lado, existem casos em que é necessário criar os próprios
componentes, quando necessita-se de uma solução mais específica e especializada
para a aplicação. Nesse modelo, a equipe deve ser mais especializada para que a
criação desses componentes seja viável, sendo assim, há um maior custo de produção.
Os componentes criados devem ser avaliados.
Com base no que foi supracitado, podemos concluir que o desenvolvimento de
componentes não é indicado para todos os tipos de projeto.

8. Explique o que significam dizer que um processo é iterativo-incremental.


Um processo iterativo-incremental é aquele que se baseia na ideia de dividir o
desenvolvimento da aplicação em ciclos de desenvolvimento, na repetição de
determinadas atividades do processo, e ao final de cada ciclo temos um incremento do
produto, uma nova versão do produto que agrega valor ao cliente.
9. Explique as disciplinas e as fases do processo unificado.

Fases:
Iniciação: está relacionado ao levantamento de requisitos, estudo de viabilidade e
outras atividades relacionadas ao início do projeto ou de um novo ciclo de desenvolvimento.
Elaboração: Está relacionada a elaboração da arquitetura do projeto, diagramações e
etc. Aqui os requisitos são mais refinados e um plano mais completo para o projeto é elaborado.
Construção: Está relacionada desenvolvimento do sistema em si. Aqui é realizada a
codificação de fato e iniciam-se os testes em relação aos códigos feitos.
Transição: A transição se relaciona a entrega do incremento. E a garantia que o sistema
está pronto para a produção.
● Disciplinas:
Modelagem de negócios: essa disciplina concentra-se em entender o
contexto do negócio do cliente a fim de alinhar o sistema que será desenvolvido com os
objetivos do negócio do cliente.
Requisitos: Está relacionado à coleta, análise e documentação
requisitos do sistema.
Análise e design: Aqui o projeto de alto nível da solução é desenvolvido. São tomadas
decisões arquitetônicas e acontece a diagramação de partes do projeto.
Implementação: Nessa disciplina, o código-fonte da aplicação é desenvolvido.
Teste: O sistema é testado para garantir que atenda os requisitos especificados.
Implantação: Envolve a entrega do Sistema.
Ger. de configuração e mudança: Lida com o controle de versão do código,
gerenciamento de mudança e rastreamento de problemas e defeitos.
Gerenciamento de projeto: é uma disciplina crítica que envolve o planejamento, o
monitoramento e o controle do projeto. Isso inclui a gestão de recursos, cronograma, custos e
riscos.

10. Uma das dimensões do framework RUP é o eixo horizontal que representa o processo
através das fases. Cada fase possui maior ênfase em algumas disciplinas do que outras.
As opções a seguir indicam conjuntos de disciplinas trabalhadas no RUP. Associe cada
conjunto de disciplina à fase em que essas disciplinas possuem maior ênfase.
a. Modelagem de Negócios e Requisitos: - Iniciação
b. Análise e Design: - Elaboração
c. Implementação e Teste: - Construção
d. Implantação: - Transição
11. Três conceitos importantes no RUP são os papéis, as atividades e os artefatos.
Considerando os seguintes relacionamentos entre papéis, atividades e artefatos,
selecione o relacionamento incorreto.
a. O Gerente de Configuração deve Escrever Plano de Controle de Mudanças
para gerar o Plano de Controle de Mudanças
b. O Especificador de Requisitos deve Detalhar um Caso de Uso para gerar um
Caso de Uso
c. O Analista de Sistemas deve Desenvolver Visão para gerar os Atributos de
Requisitos
12. Três conceitos importantes no RUP são os papéis, as atividades e os artefatos.
Considerando os seguintes relacionamentos entre papéis, atividades e artefatos,
selecione o relacionamento incorreto.
a. O Designer da Interface do Usuário deve Criar um Protótipo da Interface do
Usuário para gerar o Protótipo da Interface do Usuário
b. O Especificador de Requisitos deve Revisar Requisitos para criar um Caso de
Uso
c. O Analista de Sistemas deve Desenvolver Visão para gerar a Visão do produto
13. Explique o manifesto ágil. Qual o objetivo dos proponentes com o manifesto? Quais os
princípios ágeis definidos no manifesto?
O manifesto ágil surgiu como uma tentativa de revolucionar a forma de fazer software,
visto a grande quantidade de processos fracassados que precederam o manifesto ágil. Os
principais pontos de fracasso nos processos anteriores aos ágeis eram o “estouro” do
orçamento e do prazo de entrega e também a produção de softwares que não atendiam às
necessidades dos clientes.
Tendo em vista os problemas citados, grandes nomes da engenharia de software se
juntaram e fizeram o Manifesto Ágil. Nesse documento estabeleceram uma abordagem mais
informal nos processos de software buscando atingir uma maior agilidade de processo.
Os ágeis valorizam:
Pessoas e interações > Processos e ferramentas
Produto em funcionamento > Documentação abrangente
Colaboração do cliente > negociações de contrato
Responder a mudanças > seguir um plano
Além desses princípios, também podemos dizer que os ágeis prezam pela entrega
incremental do software logo no início; Métodos informais de comunicação ao invés de
documentos escritos; Adotar o cliente como parte da equipe; Equipes de projeto pequenas e
motivadas; Ciclos de desenvolvimento mais curtos e etc.

14. Explique o scrum.

O Scrum é um framework de processo ágil e define um fluxo, eventos e alguns artefatos


importantes.
O Product Backlog guarda os requisitos (no formato de histórias do usuário) de todo o produto.
Vale destacar que o Product Backlog é mutável, permitindo que requisitos que já não cabem mais no
escopo do sistema sejam descartados e que novos requisitos sejam colocados.
O Sprint Planning é um importante evento. Nele estão envolvidos o PO e o dev team e trata-se
de uma reunião com o intuito de decidir quais requisitos do product backlog irão entrar no Sprint Backlog,
artefato que define quais serão os requisitos desenvolvidos durante a Sprint.
As Sprints são os ciclos em que o produto será desenvolvido. É aqui que ocorre a implementação
do código em si. Recomenda-se que as sprints durem de 1 a 4 semanas.
A Daily Meeting é uma reunião diária que tem por objeto entender o que cada um dos membros
da equipe está fez, o que fará, e se está enfrentando alguma dificuldade.
O Incremento trata-se de uma nova versão usável do produto que agregará valor ao cliente.

15. Considere que você é um dos membros de um time de desenvolvimento que adota o
Scrum. Nesse contexto, quando você poderá dizer que um produto está "Pronto"?
Explique o que significa um produto "Pronto" de acordo com o Scrum.
Um produto está pronto quando atingiu todos os requisitos do Backlog que ainda são
importantes no escopo do software, sendo que o sistema já atende a todos os requisitos de QA
e testes estabelecidos.

16. O Scrum recomenda um conjunto de artefatos que são desenvolvidos/utilizados


durante o desenvolvimento do software. A seguir, você deve associar a descrição de
cada artefato ao seu respectivo nome.
a. A única fonte dos requisitos para decidir sobre qualquer mudança a ser feita
no produto: - Product Backlog
b. Todo trabalho que o Time identifica como necessário para alcançar a meta da
Sprint - Sprint Backlog
c. A soma de todos os itens do Backlog do Produto completados durante a Sprint
e o valor do que foi desenvolvido nas Sprints anteriores - Incremento
17. O Extreme Programming (XP) é, talvez, o mais conhecido e mais utilizado dos métodos
ágeis. Dentre suas práticas se encontram programação em pares, integração contínua,
refatoração e...
a. Propriedade coletiva, que garante uma participação nos lucros aos membros
da equipe de desenvolvimento, técnica que incentiva e aumenta o
desempenho de toda a equipe.
b. Processo de desenvolvimento contínuo, em que a equipe se mantém focada
no sistema até que uma funcionalidade específica seja entregue, comumente
agregando horas extras ao turno de trabalho.
c. Utilização de técnicas de ofuscação do código fonte, trazendo segurança e
garantindo que apenas a equipe de desenvolvimento poderá ter acesso a este
código.
d. Desenvolvimento incremental e sustentado por meio de pequenos e
frequentes releases do sistema. Os requisitos são baseados em cenários ou em
simples histórias de clientes.
18. Não se aplica ao desenvolvimento de software baseado em Extreme Programming (XP)
a. Usa notações próprias para construir os diversos produtos de trabalho do
projeto.
b. Encoraja a refatoração para modificar um sofware sem alterar o externo do
código.
c. Recomenda que dois programadores trabalhem juntos no mesmo computador
para escrever um código.
d. Baseada em valores de simplicidade, comunicação, feedback e coragem.
e. Adota como um elemento-chave a criação de testes unitários antes da
codificação começar.
19. No desenvolvimento de software com Extreme Programming (XP) há uma confiança
muito grande na sinergia entre as práticas, já que os pontos fracos de cada uma são
superados pelos pontos fortes de outras. Dentre elas, aquela em que o código fonte
não tem dono e ninguém precisa solicitar permissão para poder modificá-lo,
permitindo, assim, que a equipe conheça todas as partes do sistema, é chamada de:
a. Whole Team (Time Coeso)
b. Sustainable Pace (Ritmo Sustentável)
c. Pair Programming (Programação em Pares)
d. Collective Ownership (Posse Coletiva)
e. Coding Standards (Padrões de Codificação)
20. Diversos modelos de processos de software emergiram nos últimos anos,
principalmente aqueles de natureza iterativa. Podemos citar o Processo Unificado
(RUP), Extreme Programming (XP) e, mais recentemente, o Scrum, como alguns dos
mais difundidos. Correlacione, a seguir, esses processos de software e suas
características.
Processos
I - RUP
II - XP
III - Scrum
Características
P - Reuniões diárias (em pé) com perguntas específicas
Q - Refatoração frequente
R - Priorização dos maiores riscos
S - Eliminação do desperdício
A relação correta é :
a. I - P, II - Q, III - R
b. I - R, II - Q, III - P
c. I - R, II - S, III - Q
d. I - S, II - P, III - R
e. I - S, II - R, III - P

21 não vai cair


21. Segundo a ISO/IEC 15504, para atribuir um nível de capacidade a um processo, é
necessário examinar os valores atribuídos a cada atributo do processo.
Os valores possíveis são:
N - o atributo não foi atingido pelo processo;
P - o atributo foi atingido apenas parcialmente pelo processo;
L - o atributo foi atingido largamente pelo processo;
F - o atributo foi atingido completamente (em inglês, fully) pelo processo.
Considere o processo com os seguintes valores atribuídos aos atributos de cada nível.
Nível 1
atributo 1.1 = F
Nível 2
atributo 2.1 = F
atributo 2.2 = F
Nível 3
atributo 3.1 = F
atributo 3.2 = L
Nível 4
atributo 4.1 = P
atributo 4.2 = P
Nível 5
atributo 5.1 = N
atributo 5.2 = N
Esse processo receberá qual nível de capacidade segundo a ISO/IEC 15504?
1 - Executado
2 - Gerenciado
3 - Estabelecido
4 - Previsível
5 - Otimizando
22. (SELECON 2022) CMMI é uma sigla para “Capability Maturity Model® Integration”, uma
abordagem de melhoria de processos que fornece às organizações elementos
essenciais de processos eficazes. O CMMI organiza as práticas que já foram provadas
como sendo efetivas, em uma estrutura que ajuda a organização a estabelecer metas e
prioridades para melhoria e fornece um guia na implementação dessas melhorias. A
figura abaixo mostra os cinco níveis de maturidade do CMMI.
Os níveis 2 – ALFA, 3 – BETA e 5 – GAMA são denominados, respectivamente:
a. Gerenciado, Definido e Otimização
b. Planejado, Definido e Homologação
c. Gerenciado, Implementado e Homologação
d. Planejado, Implementado e Otimização
23. (FGV 2022) O Modelo CMMI possui 5 níveis de maturidade. O nível em que os
processos são bem definidos, documentados, compreendidos e integrados em
processos-padrão de uma organização é denominado
a. inicial.
b. definido.
c. gerenciado.
d. em otimização
e. quantitativamente gerenciado.
24. (UFSC 2016) Assinale a alternativa que contém apenas práticas de gestão de requisitos,
de acordo com CMMI-DEV, nível 2 e MPS.BR, nível G.
a. Desenvolver requisitos de cliente; manter rastreabilidade bidirecional dos
requisitos; obter comprometimento com os requisitos.
b. Desenvolver requisitos de cliente; gerenciar mudanças nos requisitos; validar
requisitos.
c. Gerenciar mudanças nos requisitos; manter rastreabilidade bidirecional dos
requisitos; obter entendimento dos requisitos.
A paulyne disse que era essa
d. Identificar requisitos de interface; validar requisitos; identificar inconsistências
entre produtos de trabalho, planos de projeto e requisitos.
e. Alocar requisitos de componente de produto; gerenciar mudanças nos
requisitos; identificar inconsistências entre produtos de trabalho, planos de
projeto e requisitos.

Paulyne disse que não ia cobrar a 25


25. (CESGRANRIO 2021) O modelo do CMMI 2.0 está organizado em áreas de prática, que
se agrupam em áreas de capacidade, que, por sua vez, são agrupadas em 4 categorias.
A área de prática “Resolução e Prevenção de Incidentes” (Incident Resolution &
Prevention – IRP) está agrupada dentro da categoria
a. Apoiando (Supporting)
b. Fazendo (Doing)
c. Gerenciando (Managing)
d. Melhorando (Improving)
e. Planejando (Planning)
26. (CESPE 2021) O Capability Maturity Model Integration (CMMI) é uma abordagem de
melhoria de processos que fornece às organizações elementos essenciais de processos
eficazes. Quanto aos níveis de capacidade e maturidade do CMMI, julgue o item a
seguir. Com base no modelo de modalidades de maturidade, uma organização pode
priorizar as áreas de processos mais alinhadas com o seu negócio, de forma que sejam
desenvolvidas as metas específicas de processos, já que vários processos de diferentes
áreas poderão ser melhorados.
a. Certo
b. Errado
27. (CESPE 2021) O Capability Maturity Model Integration (CMMI) é uma abordagem de
melhoria de processos que fornece às organizações elementos essenciais de processos
eficazes. Quanto aos níveis de capacidade e maturidade do CMMI, julgue o item a
seguir. No nível 2 do CMMI, o processo é planejado e executado por pessoal
habilitado, utilizando-se recursos adequados para gerar saídas de forma controlada, de
acordo com políticas organizacionais. Esse processo envolve os grupos interessados
adequados, além de ser monitorado, controlado, revisado e avaliado quanto à
conformidade com sua descrição e ao desempenho previsto nos seus planos..
a. Certo
b. Errado
28. Os níveis de maturidade do MPS.BR são determinados a partir da combinação entre os
processos do nível que a organização deseja alcançar e a capacidade desses processos.
O MR-MPS define sete níveis de maturidade:
A - Em Otimização
B - Gerenciado Quantitativamente
C - Definido
D - Largamente Definido
E - Parcialmente Definido
F - Gerenciado
G - Parcialmente Gerenciado
A capacidade dos processos é determinada pelos atributos de processo (AP):
AP 1.1 – O processo é executado
AP 2.1 – O processo é gerenciado
AP 2.2 – Os produtos de trabalho do processo são gerenciados AP 3.1 – O processo é
definido
AP 3.2 – O processo está implementado
AP 4.1 – O processo é medido
AP 4.2 – O processo é controlado
AP 5.1 – O processo é objeto de inovações
AP 5.2 – O processo é otimizado continuamente
A seguir, cada opção possui um conjunto de atributos de processo necessários para
alcançar um nível de maturidade segundo o MPS.BR. Associe cada opção a apenas um
nível de maturidade dentre os que são apresentados nas caixas de seleção. Lembrando
que um nível de maturidade superior tem como base os oos processos e os atributos
de processo dos níveis anteriores.
a. AP 1.1 – O processo é executado; AP 2.1 – O processo é gerenciado
b. AP 1.1; AP 2.1; AP 2.2 - Os produtos de trabalho do processo são gerenciados
c. AP 1.1; AP 2.1; AP 2.2; AP 3.1 – O processo é definido; AP 3.2 – O processo está
implementado
d. AP 1.1; AP 2.1; AP 2.2; AP 3.1; AP 3.2; AP 4.1 – O processo é medido; AP 4.2 –
O processo é controlado
29. Para cada opção abaixo sobre o MPS.BR, selecione se ela é Verdadeira ou Falsa.
(V) À medida que a organização/unidade organizacional evolui nos níveis de
maturidade, um maior nível de capacidade para desempenhar o processo deve ser
atingido
(F) O MA-MPS define sete níveis de maturidade, que são uma combinação entre
processos e sua capacidade
(F) O processo Garantia da Qualidade não precisa sofrer nenhuma alteração se a
organização tiver sido avaliada com sucesso no Nível F e estiver buscando o Nível E
(V) O MR-MPS define um número maior de níveis de maturidade em comparação com
o CMMI, o que possibilita uma implantação mais gradual e uma maior visibilidade dos
resultados de melhoria de processo, com prazos mais curtos

Você também pode gostar