Sunteți pe pagina 1din 17

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 alg
uns 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 determi
nado aluno deve
ser, no mximo, de um minuto.

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

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

E) O sistema deve permitir que um aluno realiza a sua inscrio em disciplinas ofere
cidas 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 ma
nter.

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 software e avaliao de qualidades de testes INCORRETO afirmar qu
e
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 objeto
s e mtodos
especficos.
e) sempre que possvel recomendado escrever testes automatizados. Os testes so inco
rporados 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 carr
o.
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 par
tir 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 pa
rtes seriam agrupadas,
tambm verificando-se a integridade dos componentes agrupados. Por fim, com o prod
uto desenvolvido,
seriam feitos diversos testes para verificar se o resultado final funciona confo
rme o esperado.

7. Defina Engenharia de Software.
R: Aplicao de uma abordagem sistemtica, disciplinada e quantificvel para o desenvolv
imento 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 verificand
o 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 d
o mundo se no
possumos boas tecnologias para uso ou se no possumos um processo que guie o desenvo
lvimento de
software. Da mesma forma, no adianta possuir as tecnologias mais avanadas se as pe
ssoas no
conseguem utiliz-las. Alm disso, mesmo que parea inconcebvel para alguns, de nada ad
ianta termos a
melhor tecnologia e as melhores pessoas se no existe um processo que guie as ativ
idades 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 eleme
ntos,
coordenados entre si e que funcionam como uma estrutura organizada. Embora o sof
tware seja uma parte
importante de um sistema, ele no a nica. Se no existir o hardware para execuo do soft
ware, de
nada servir. Da mesma forma, necessrio existir bases de dados, uma vez que pratica
mente todos os
sistemas com algum tipo de utilidade devem armazenar dados. Atualmente, com o ad
vento da Internet,
dificilmente um sistema seja til se no tiver certos mecanismos de comunicao associad
os.

11. Sobre os mtodos geis de desenvolvimento, considere:
I. Mtodos geis so mtodos de desenvolvimento incremental que se concentram em desenvo
lvimento
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 auto
matizado de
testes antes da criao de um recurso do programa, como possvel nos mtodos geis TDD e S
crum.
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 softwa
re 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 nece
ssrio
entender bem o problema. Isso equivale a fazer uma planta de uma casa, com espec
ificao 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 de
sinformao e
confuso, uma vez que eles tinham certos atributos que os tornavam parecidos com a
firmaes razoveis,
tendo aspecto intuitivo e, muitas das vezes, eram divulgados por profissionais e
xperientes e que deveriam
entender do assunto.

14. H diversos mtodos que podem ser utilizados na construo de sistemas de informao. So
bre 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 so
bre cada estgio do
desenvolvimento.

II. Consiste em desenvolver um sistema experimental de maneira rpida e barata par
a que os usurios
finais interajam com ele e o avaliem. Esse sistema refinado e aperfeioado at que o
s usurios sintam
que ele atende s suas necessidades, podendo ser usado como modelo para criar o si
stema 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 rela
cionada aos mitos.
R: Mito 1. "Se a equipe dispe de um manual repleto de padres e procedimentos de de
senvolvimento 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 c
onhecimentos
apresentados no manual. necessrio que o manual reflita a moderna prtica de desenvo
lvimento de
software e que este seja exaustivo com relao a todos os problemas de desenvolvimen
to que podero
aparecer no percurso.
Mito 2. "A equipe tem ferramentas de desenvolvimento de software de ltima gerao, um
a vez que eles
dispem de computadores modernos."
Realidade 2. Ter sua disposio o ltimo modelo de computador pode ser bastante confor
tvel para o
desenvolvedor do software, mas no oferece nenhuma garantia quanto qualidade do pr
oduto
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-l
o 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 utilizado
s 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 relacion
ada 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 s
er 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 s
eguidas...
Mito 5. "Os requisitos de projeto mudam continuamente durante o seu desenvolvime
nto, 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 maio
ria dos produtos
manufaturados). Entretanto, no existe software, por mais flexvel que suporte alter
aes de requisitos
significativas sem um adicional em relao ao custo de desenvolvimento. O fator de m
ultiplicao nos
custos de desenvolvimento do software devido a alteraes nos requisitos cresce em f
uno 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 dis
tintos:

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

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 funcio
nais.
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 softw
are, 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 da
dos obtidos a partir
de experincias anteriores, ilustrados no livro de Roger Pressman, 50 a 70% do esf
oro 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 q
ualidade."
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 s
oftware em si,
um bom projeto deve ser caracterizado pela produo de um conjunto importante de doc
umentos. 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 process
o de negcio,
sujeito a manuteno, sempre que necessrio; a retirada, quando o produto tem sua vida
til finalizada.

20. Sobre testes de software e avaliao de qualidades de testes INCORRETO afirmar q
ue

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 objeto
s e mtodos
especficos.
e) sempre que possvel recomendado escrever testes automatizados. Os testes so inco
rporados 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. Exi
stem 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 ativida
des, 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 disciplin
as) ligados ao
desenvolvimento de software?
Requisitos: obteno do enunciado, completo, claro e preciso dos desejos, necessidad
es, 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 a
os desenvolvedores.
Desenho (ou projeto): definio de uma estrutura implementvel para um produto, que at
enda aos
requisitos especificados.
Implementao: codificao das partes que compe o software, definidas no desenho, utiliza
ndo as
tecnologias selecionadas.
Teste: verificao dinmica das partes que constituem o software, utilizando um conjun
to finito de casos
de teste, selecionados dentro de um domnio potencialmente infinito, contra seu co
mportamento
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 t
ende a gerar algo.
Esse algo gerado, na grande maioria das vezes no o que o cliente deseja, mas vai se
ndo 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, aq
uela 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 model
o. Isso pode causar
grandes problemas quando temos mudanas em um projeto em andamento.
- Em geral, difcil para os clientes identificarem todos os requisitos explicitame
nte. Esse modelo exige
isso e tem dificuldade em acomodar a incerteza natural que existem em grande par
te 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 perd
a de praticamente todo
o trabalho. Esse talvez o maior problema: a baixa visibilidade por parte do clie
nte.

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 efeti
vamente
entregues aos clientes, para que sejam verificadas, validadas e utilizadas no am
biente operacional.

30. Os mtodos geis so baseados no manifesto gil. Quais so os conceitos chaves desse m
anifesto?
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.