Você está na página 1de 8

Universidade Federal do Piau

Centro de Tecnologia
Engenharia de Produo 2014.1


Lista de Atividades Introduo Engenharia de Software (Respostas)

1. Qual foi a principal causa do surgimento da Engenharia de software?
R: O crescente aumento no poder dos computadores da poca, aliado ao amadorismo no desenvolvimento
de software praticado.
2. No levantamento de requisitos para um sistema de controle acadmico, seguem alguns exemplos de
requisitos levantados. Qual deles um exemplo de requisito no-funcional?

A) Os coordenadores de cursos devem poder obter a quantidade de aprovaes e reprovaes de cada
disciplina em um determinado perodo.

B) O tempo de resposta esperado para a emisso de um histrico escolar de um determinado aluno deve
ser, no mximo, de um minuto.

C) O sistema deve permitir que cada professor realize o lanamento de notas das turmas nas quais
lecionou num determinado perodo.

D) A secretaria escolar deve poder atualizar os dados cadastrais de alunos e professores.

E) O sistema deve permitir que um aluno realiza a sua inscrio em disciplinas oferecidas em um perodo
letivo.


3. Quais eram os problemas associados Crise do Software?
R: Projetos estourando o oramento, projetos estourando o prazo, software de baixa qualidade, software
muitas vezes no atendendo os requisitos, projetos no gerenciveis e cdigo difcil de manter.

4. A crise do software realmente acabou? Comente sobre isso.
R: A crise acabou, mas apenas para aqueles que utilizam a Engenharia de Software como base para a
construo de produtos de software.

5. Sobre testes de softwaree avaliao de qualidades de testes INCORRETO afirmar que
a) testes podem anunciar a presena de defeitos em um programa e podem demonstrar que no existem
defeitos remanescentes.
b) teste de aceitao um processo de teste de usurio no qual o objetivo decidir se o software bom o
suficiente para ser implantado e usado em seu ambiente operacional.
c) testes de desenvolvimento so de responsabilidade da equipe de desenvolvimento de software,
enquanto outra equipe deve ser responsvel por testar o sistema antes que ele seja liberado para os
clientes.

d) testes de desenvolvimento incluem testes unitrios, nos quais so testados objetos e mtodos
especficos.
e) sempre que possvel recomendado escrever testes automatizados. Os testes so incorporados em um
programa que pode ser executado cada vez que uma alterao feita para um sistema.

6. Faca uma comparao entre a Engenharia de Software e o desenvolvimento de um carro.
R: Existem muitas similaridades no desenvolvimento de produtos de software e de carros. Ambos devem
partir de uma especificao de requisitos, detalhando como o produto deve ser. A partir de tais requisitos
poder-se-ia desenvolver prottipos, para validar o projeto dos produtos. A partir disso, seria iniciado a
produo dos componentes dos produtos, juntamente com a verificao de cada componente, com o
intuito de avaliar se as partes funcionam conforme o esperado. Em seguida, as partes seriam agrupadas,
tambm verificando-se a integridade dos componentes agrupados. Por fim, com o produto desenvolvido,
seriam feitos diversos testes para verificar se o resultado final funciona conforme o esperado.

7. Defina Engenharia de Software.
R: Aplicao de uma abordagem sistemtica, disciplinada e quantificvel para o desenvolvimento de
software.

8. Durante a fase de validao de requisitos, diferentes tipos de verificao devem ser neles efetuados
no documento de requisitos. A verificao que demonstra aos usurios finais e clientes um modelo
executvel do sistema em questo, possibilitando a experimentao do modelo e verificando se ele
atende s suas reais necessidades chamada de

a) verificabilidade.
b) gerao de casos de teste.
c) prototipao.
d) revises de requisitos.
e) verificao de consistncia.


9. Qual o trip em que a Engenharia de Software est baseada?
R: Processos, pessoas e tecnologia. No adianta termos os melhores profissionais do mundo se no
possumos boas tecnologias para uso ou se no possumos um processo que guie o desenvolvimento de
software. Da mesma forma, no adianta possuir as tecnologias mais avanadas se as pessoas no
conseguem utiliz-las. Alm disso, mesmo que parea inconcebvel para alguns, de nada adianta termos a
melhor tecnologia e as melhores pessoas se no existe um processo que guie as atividades dessas pessoas
utilizando tais tecnologias.

10. O que um sistema? Quais seus principais componentes?
R: Um sistema bem mais que o software. Na verdade, o sistema o conjunto de elementos,
coordenados entre si e que funcionam como uma estrutura organizada. Embora o software seja uma parte
importante de um sistema, ele no a nica. Se no existir o hardware para execuo do software, de
nada servir. Da mesma forma, necessrio existir bases de dados, uma vez que praticamente todos os
sistemas com algum tipo de utilidade devem armazenar dados. Atualmente, com o advento da Internet,
dificilmente um sistema seja til se no tiver certos mecanismos de comunicao associados.

11. Sobre os mtodos geis de desenvolvimento, considere:
I. Mtodos geis so mtodos de desenvolvimento incremental que se concentram em desenvolvimento
rpido, releases frequentes do software, reduo de overheads dos processos e produo de cdigos de
alta qualidade.

II. Extreme Programming um mtodo gil que integra um conjunto de prticas de programao, como
releases frequentes do software, programao em pares, melhorias contnuas do software e participao
do cliente na equipe de desenvolvimento.

III. Um ponto fraco no mtodo Extreme Programming a ausncia de desenvolvimento automatizado de
testes antes da criao de um recurso do programa, como possvel nos mtodos geis TDD e Scrum.
Est correto o que se afirma em

a) I e II, apenas.
b) I, II e III.
c) I e III, apenas.
d) II e III, apenas.
e) III, apenas.

12. possvel fazer a estimativa de custo e prazo para desenvolvimento de um software com apenas
alguns poucos minutos de conversa? Comente sobre isso relacionando sua resposta a outras reas.
R: Muito provavelmente no. Para se estimar custo e prazo com uma preciso mnima necessrio
entender bem o problema. Isso equivale a fazer uma planta de uma casa, com especificao dos materiais
e localizao do terreno a ser construdo.

13. O que so os mitos do Software?
R: So idias errneas sobre o desenvolvimento de software que normalmente propagam desinformao e
confuso, uma vez que eles tinham certos atributos que os tornavam parecidos com afirmaes razoveis,
tendo aspecto intuitivo e, muitas das vezes, eram divulgados por profissionais experientes e que deveriam
entender do assunto.

14. H diversos mtodos que podem ser utilizados na construo de sistemas de informao. Sobre eles,
analise:

I. O desenvolvimento feito em estgios formais, que devem evoluir em sequncia e ter resultados
definidos. Cada um precisa ser formalmente aprovado antes que o prximo se inicie. indicado para
grandes projetos que exijam especificaes formais e rgido controle administrativo sobre cada estgio do
desenvolvimento.

II. Consiste em desenvolver um sistema experimental de maneira rpida e barata para que os usurios
finais interajam com ele e o avaliem. Esse sistema refinado e aperfeioado at que os usurios sintam
que ele atende s suas necessidades, podendo ser usado como modelo para criar o sistema final.

Os itens I e II referem-se, respectivamente,

a) ao Ciclo de Vida de Sistema Tradicional e Prototipagem.
b) ao Modelo Espiral e ao Modelo em Cascata.
c) ao Modelo V e ao Modelo de Entrega por Estgios.
d) aos Modelos Prescritivos e aos Modelos geis.
e) ao Modelo Orientado a Cronograma e ao Modelo Orientado a Teste.

15. Cite alguns mitos relacionados ao gerenciamento, comentando a realidade relacionada aos mitos.
R: Mito 1. "Se a equipe dispe de um manual repleto de padres e procedimentos de desenvolvimento de
software, ento a equipe ser capaz de conduzir bem o desenvolvimento."
Realidade 1. Isso no o suficiente! preciso que a equipe aplique efetivamente os conhecimentos
apresentados no manual. necessrio que o manual reflita a moderna prtica de desenvolvimento de
software e que este seja exaustivo com relao a todos os problemas de desenvolvimento que podero
aparecer no percurso.
Mito 2. "A equipe tem ferramentas de desenvolvimento de software de ltima gerao, uma vez que eles
dispem de computadores modernos."
Realidade 2. Ter sua disposio o ltimo modelo de computador pode ser bastante confortvel para o
desenvolvedor do software, mas no oferece nenhuma garantia quanto qualidade do produto
desenvolvido. Mais importante do que ter um hardware de ltima gerao ter ferramentas para a
automao do desenvolvimento de software e sab-las utilizar adequadamente.
Mito 3. "Se o desenvolvimento do software estiver atrasado, aumentando a equipe poderemos reduzir o
tempo de desenvolvimento."
Realidade 3. Acrescentar pessoas em um projeto atrasado provavelmente vai atras-lo ainda mais. De
fato, a introduo de novos profissionais numa equipe em fase de conduo de um projeto vai requerer
uma etapa de treinamento dos novos elementos da equipe; para isto, sero utilizados elementos que esto
envolvidos diretamente no desenvolvimento, o que vai, consequentemente, implicar em maiores atrasos
no cronograma.

16. Cite alguns mitos relacionados aos clientes, comentando a realidade relacionada aos mitos.
R: Mito 4. "Uma descrio breve e geral dos requisitos do software o suficiente para iniciar o seu
projeto. Maiores detalhes podem ser definidos posteriormente."
Realidade 4. Este um dos problemas que podem conduzir um projeto ao fracasso, o cliente deve
procurar definir o mais precisamente possvel todos os requisitos importantes para o software: funes,
desempenho, interfaces, restries de projeto e critrios de validao so alguns dos pontos determinantes
do sucesso de um projeto. O deixar pra depois pode simplesmente no acontecer, a no ser em casos
previstos pelos processos geis em que os clientes esto sempre presente e dentro da organizao
desenvolvedora. No entanto, sabido que essa prtica uma das mais difceis de serem seguidas...
Mito 5. "Os requisitos de projeto mudam continuamente durante o seu desenvolvimento, mas isto no
representa um problema, uma vez que o software flexvel e poder suportar facilmente as alteraes."
Realidade 5. verdade que o software flexvel (pelo menos mais flexvel do que a maioria dos produtos
manufaturados). Entretanto, no existe software, por mais flexvel que suporte alteraes de requisitos
significativas sem um adicional em relao ao custo de desenvolvimento. O fator de multiplicao nos
custos de desenvolvimento do software devido a alteraes nos requisitos cresce em funo do estgio de
evoluo do projeto.

17. O teste de software destinado a mostrar que um programa faz o que proposto a fazer e a
descobrir seus defeitos antes do uso. O processo de teste tem dois objetivos distintos:

1. Demonstrar ao desenvolvedor e ao cliente que o software atende a seus requisitos.

2. Descobrir situaes em que o software se comporta de maneira incorreta, indesejvel ou de forma
diferente das especificaes.

Desse modo, correto afirmar que

a) no objetivo final dos processos de verificao validar os requisitos de especificao que no reflitam
os desejos ou necessidades dos clientes.
b) os testes podem mostrar a presena de erros e sua ausncia.
c) o objetivo de todo teste verificar se ele atende apenas aos requisitos funcionais.
d) verificao e validao no so a mesma coisa em relao a testes de sistema.
e) os testes podem demonstrar que um determinado software est livre de defeitos.


18. Cite alguns mitos relacionados aos profissionais do desenvolvimento de software, comentando a
realidade relacionada aos mitos.
R: Mito 6. "Aps a finalizao do programa e a sua implantao, o trabalho est terminado."
Realidade 6. O que ocorre na realidade completamente diferente disto. Segundo dados obtidos a partir
de experincias anteriores, ilustrados no livro de Roger Pressman, 50 a 70% do esforo de
desenvolvimento de um software empregado aps a sua entrega ao cliente (manuteno).
Mito 7. "Enquanto o programa no entrar em funcionamento, impossvel avaliar a sua qualidade."
Realidade 7. Na realidade, a preocupao com a garantia do da qualidade do software deve fazer parte de
todas as etapas do desenvolvimento. O teste, por exemplo, pode iniciar antes do produto atingir um
estado funcional, a partir do planejamento dos casos de teste.
Mito 8. "O produto a ser entregue no final do projeto o programa funcionando."
Realidade 8. O programa em funcionamento um das componentes do software. Alm do software em si,
um bom projeto deve ser caracterizado pela produo de um conjunto importante de documentos. Um
produto de software sem um manual de operao pode ser to ruim quanto um software que no
funciona!

19. Quais so as principais fases do ciclo de vida de um produto de software?
R: a concepo, onde o produto idealizado, a partir da percepo de uma necessidade; o
desenvolvimento, a partir da identificao dos requisitos e sua transformao em itens a serem entregues
ao cliente; operao, quando o produto instalado para ser utilizado em algum processo de negcio,
sujeito a manuteno, sempre que necessrio; a retirada, quando o produto tem sua vida til finalizada.

20. Sobre testes de softwaree avaliao de qualidades de testes INCORRETO afirmar que

a) testes podem anunciar a presena de defeitos em um programa e podem demonstrar que no existem
defeitos remanescentes.
b) teste de aceitao um processo de teste de usurio no qual o objetivo decidir se o software bom o
suficiente para ser implantado e usado em seu ambiente operacional.
c) testes de desenvolvimento so de responsabilidade da equipe de desenvolvimento de software,
enquanto outra equipe deve ser responsvel por testar o sistema antes que ele seja liberado para os
clientes.
d) testes de desenvolvimento incluem testes unitrios, nos quais so testados objetos e mtodos
especficos.
e) sempre que possvel recomendado escrever testes automatizados. Os testes so incorporados em um
programa que pode ser executado cada vez que uma alterao feita para um sistema.

21. Qual a ligao entre Ciclo de Vida e Processo de Software?
O Processo de Software um guia de como um produto de software deve ser construdo, do incio ao fim.
A ligao est no fato que esse guia depende do modelo de ciclo de vida utilizado. Existem vrios
modelos e dependendo dele, as atividades a serem executadas podem variar. Essa a ligao.

22. Qual a definio para Processo de Software?
Um processo um conjunto de passos parcialmente ordenados, constitudos por atividades, mtodos,
prticas e transformaes, utilizados para se atingir uma meta. Uma meta est associada a resultados, que
so os produtos resultantes da execuo do processo.

23. Sobre Anlise de Requisitos em Engenharia de Software, julgue as afirmativas a seguir e assinale a
alternativa correta.

I. Resulta na especificao das caractersticas operacionais do software.

II. Indica as interfaces do software com outros elementos do sistema.

III. Estabelece restries a que o software deve satisfazer.

a) Apenas as afirmativas I e II so corretas.
b) Apenas as afirmativas II e III so corretas.
c) Todas as afirmativas so corretas.
d) Apenas as afirmativas I e III so corretas.
e) Nenhuma das afirmativas correta.

24. Quais so os principais subprocessos (tambm conhecidos como fluxos ou disciplinas) ligados ao
desenvolvimento de software?
Requisitos: obteno do enunciado, completo, claro e preciso dos desejos, necessidades, expectativas e
restries dos clientes em relao ao produto a ser desenvolvido.
Anlise: modelagem dos conceitos relevantes do domnio do problema, com o intuito de verificar a
qualidade dos requisitos obtidos e detalhar tais requisitos em um nvel adequado aos desenvolvedores.
Desenho (ou projeto): definio de uma estrutura implementvel para um produto, que atenda aos
requisitos especificados.
Implementao: codificao das partes que compe o software, definidas no desenho, utilizando as
tecnologias selecionadas.
Teste: verificao dinmica das partes que constituem o software, utilizando um conjunto finito de casos
de teste, selecionados dentro de um domnio potencialmente infinito, contra seu comportamento
esperado.

25. Descreve o modelo de ciclo de vida denominado Codifica-Remenda.
O modelo de ciclo de vida mais utilizado o modelo codifica-remenda. Partindo de uma especificao
incompleta, ou mesmo ausente, inicia-se a codificao do software, que por sua vez tende a gerar algo.
Esse algo gerado, na grande maioria das vezes no o que o cliente deseja, mas vai sendo alterado e
consertado at que o produto atinja um estgio que permita seu uso. Nenhum processo seguido nessa
iterao.

26. Dentre as atividades tpicas de um processo de desenvolvimento de software, aquela em que se
determina como o sistema funcionar para atender aos requisitos, de acordo com os recursos
tecnolgicos existentes, denominada

a) anlise.
b) projeto.
c) implementao.
d) testes.
e) implantao.

27. Quais so os problemas relacionados ao modelo de ciclo de vida em cascata?
- Projetos reais raramente seguem o fluxo seqencial, conforme sugerido pelo modelo. Isso pode causar
grandes problemas quando temos mudanas em um projeto em andamento.
- Em geral, difcil para os clientes identificarem todos os requisitos explicitamente. Esse modelo exige
isso e tem dificuldade em acomodar a incerteza natural que existem em grande parte dos projetos.
- O cliente precisa ter pacincia, uma vez que a primeira verso executvel do produto somente estar
disponvel no fim do projeto. Erros grosseiros podem ser desastrosos e causar perda de praticamente todo
o trabalho. Esse talvez o maior problema: a baixa visibilidade por parte do cliente.

28. Como podemos relacionar o modelo em cascata e o modelo em espiral?
Podemos fazer uma comparao com o modelo em cascata: uma volta na espiral equivale execuo do
modelo em cascata para uma pequena parte do software.

29. Qual a grande diferena entre o modelo em espiral e o modelo incremental?
A grande diferena para o modelo anterior que as verses parciais do produto so efetivamente
entregues aos clientes, para que sejam verificadas, validadas e utilizadas no ambiente operacional.

30. Os mtodos geis so baseados no manifesto gil. Quais so os conceitos chaves desse manifesto?
Indivduos e interaes ao invs de processos e ferramentas;
Software executvel ao invs de documentao;
Colaborao do cliente ao invs de negociao de contratos;
Respostas rpidas a mudanas ao invs de seguir planos.

Você também pode gostar