Lista Exercicio

3
Universidade Estadual do Piauí – UESPI Curso: Ciência da Computação Disciplina: Engenharia de Software Professor: José Bringel Filho Capítulos da prova (Wilson de Pádua): 1, 2, 6 e 7 Lista de Exercícios Pesquise, discuta, discorra sobre (ou responda) as questões a seguir: 1 O que é domínio da aplicação (ou do problema)? 2 Qual a importância da engenharia de software e como se justificam os custos a ela associados? 3 O que você entende por processo de desenvolvimento de software e qual a sua importância para a qualidade dos produtos de software? Qual a diferença entre processo e projeto de software? 4 O que você entende por qualidade de software? 5 Um programa desenvolvido em sala de aula ou em casa para fins didáticos pode ser considerado um software? Por quê? 6 Qual a diferença entre um software e um sistema? Qual dos dois conceitos é mais amplo? Por quê? 7 O que é um subsistema? 8 Na sua opinião, qual a vantagem em se dividir um sistema complexo em subsistemas? 9 Suponha que você ̂ iniciou suas atividades em uma empresa e lhe é solicitado desenvolver um software. Quais as suas primeiras providências, antes de colocar em prática suas habilidades de desenvolvedor? 10. O que é o ciclo de vida de um software? Onde deve ser definido? 11. Faça uma pesquisa e dê exemplos, além dos citados em aula, de processos de software. 12. O que é um modelo de processo de software? Quais os tipos mais comuns? Quais os modelos gerais (ou paradigmas) mais conhecidos? 13. Para que serve um método de desenvolvimento de software? Quais são os métodos base mais conhecidos? 14. Qual a principal desvantagem do modelo em cascata de processo de software? 15. Qual a principal vantagem do modelo espiral de processo de software? 16. Entre os processos de software citados, cite um que usa o modelo espiral. 17. O que significa dizer que o modelo espiral é iterativoincremental? 18. Descreva com suas palavras as relações entre modelos, métodos e processos de software. 19. Orientação a Objetos é uma metodologia (processo) de software? Porquê? UML é uma metodologia (processo) de software? Porquê? 20. O que são ferramentas CASE? Cite exemplos dessas ferramentas. 21. Fale sobre os grandes desafios da Engenharia de Software. 22. O que é um protótipo? Que cuidados são importantes e próprios desse modelo no que diz respeito a comunicação com os clientes? 23. Quais são as vantagens e desvantagens do modelo de protótipos?

Transcript of Lista Exercicio

Page 1: Lista Exercicio

Universidade  Estadual  do  Piauí  –  UESPI  Curso:  Ciência  da  Computação  Disciplina:  Engenharia  de  Software  Professor:  José  Bringel  Filho    Capítulos  da  prova  (Wilson  de  Pádua):  1,  2,  6  e  7    

Lista  de  Exercícios    Pesquise,  discuta,  discorra  sobre  (ou  responda)  as  questões  a  seguir:    1-­‐  O  que  é  domínio  da  aplicação  (ou  do  problema)?    2-­‐  Qual  a  importância  da  engenharia  de  software  e  como  se  justificam  os  custos  a  ela  associados?  3-­‐  O  que  você  entende  por  processo  de  desenvolvimento  de  software  e  qual  a  sua  importância  para  a  qualidade  dos  produtos  de  software?  Qual  a  diferença  entre  processo  e  projeto  de  software?  4-­‐  O  que  você  entende  por  qualidade  de  software?  5-­‐   Um   programa  desenvolvido   em   sala   de   aula   ou   em   casa   para   fins   didáticos  pode  ser  considerado  um  software?  Por  quê?  6-­‐  Qual  a  diferença  entre  um  software  e  um  sistema?  Qual  dos  dois  conceitos  é  mais  amplo?  Por  quê?  7-­‐  O  que  é  um  subsistema?  8-­‐  Na  sua  opinião,  qual  a  vantagem  em  se  dividir  um  sistema  complexo  em  subsistemas?  9-­‐  Suponha  que  voce  iniciou  suas  atividades  em  uma  empresa  e  lhe  é  solicitado  desenvolver  um  software.  Quais  as  suas  primeiras  providências,  antes  de  colocar  em  prática  suas  habilidades  de  desenvolvedor?  10.  O  que  é  o  ciclo  de  vida  de  um  software?  Onde  deve  ser  definido?  11.  Faça  uma  pesquisa  e  dê  exemplos,  além  dos  citados  em  aula,  de  processos  de  software.  12.  O  que  é  um  modelo  de  processo  de  software?  Quais  os   tipos  mais  comuns?  Quais  os  modelos  gerais  (ou  paradigmas)  mais  conhecidos?  13.   Para   que   serve   um  método  de   desenvolvimento   de   software?  Quais   são   os  métodos  base  mais  conhecidos?  14.   Qual   a   principal   desvantagem   do   modelo   em   cascata   de   processo   de  software?  15.  Qual  a  principal  vantagem  do  modelo  espiral  de  processo  de  software?  16.  Entre  os  processos  de  software  citados,  cite  um  que  usa  o  modelo  espiral.    17.  O  que  significa  dizer  que  o  modelo  espiral  é  iterativo-­‐incremental?  18.  Descreva  com  suas  palavras  as  relações  entre  modelos,  métodos  e  processos  de  software.  19.   Orientação   a   Objetos   é   uma  metodologia   (processo)   de   software?   Porquê?  UML  é  uma  metodologia  (processo)  de  software?  Porquê?  20.  O  que  são  ferramentas  CASE?  Cite  exemplos  dessas  ferramentas.  21.  Fale  sobre  os  grandes  desafios  da  Engenharia  de  Software.  22.   O   que   é   um   protótipo?   Que   cuidados   são   importantes   e   próprios   desse  modelo  no  que  diz  respeito  a  comunicação  com  os  clientes?  23.  Quais  são  as  vantagens  e  desvantagens  do  modelo  de  protótipos?  

Page 2: Lista Exercicio

24.  Fale  com  as  suas  palavras,  o  que  você  entendeu  sobre  a  crise  do  software.    25.  "É  necessário  que  o  software  calcule  os  salários  dos  diaristas  e  mensalistas  e  emita   relatórios  mensais   sumariados  por   tipo  de   salário.  Entretanto,   a  base  de  dados  deve   estar  protegida   e   com  acesso   restrito   aos  usuários   autorizados.  De  qualquer  forma,  o  tempo  de  resposta  das  consultas  não  deve  superar  os  quinze  segundos,   pois   inviabilizaria   todo   o   investimento   nesse   sistema.   Devo   lembrar  que  os  relatórios   individuais  dos  departamentos,  nos  quais  constam  os  salários  dos   funcionários,   devem   ser   emitidos   quinzenalmente   em   razão   dos  adiantamentos   e   vales   que   recebem.   É   fundamental   que   o   software   seja  operacionalizado  usando  código  aberto.  Necessito,  ainda,  forte  gerenciamento  de  risco,  prazo  e   custo,  porque  a  entrega  do  produto   final  não  pode  ultrapassar  o  prazo  de  oito  meses  a  contar  da  data  de  início  do  projeto.    A  frase  acima,  expressa  por  um  funcionário  do  cliente,  aborda  alguns  requisitos  de  software  especificados  para  um  sistema  de  gestão  de  pessoal.    No  texto,  são  requisitos  não-­‐funcionais:  a)  não  pode  ultrapassar  o  prazo  de  oito  meses  e  necessário  que  o  software  calcule  os  salários  dos  diaristas  e  mensalistas.  b)   os   relatórios   individuais   dos   departamentos,   nos   quais   constam   os   salários  dos   funcionários,   devem   ser   emitidos   quinzenalmente   e   em   razão   dos  adiantamentos  e  vales  que  recebem.  c)  É  fundamental  que  o  software  seja  operacionalizado  usando  código  aberto  e  os  relatórios   individuais   dos   departamentos,   nos   quais   constam   os   salários   dos  funcionários,  devem  ser  emitidos  quinzenalmente.  d)   tempo   de   resposta   das   consultas   não   deve   superar   os   quinze   segundos   e  entrega  do  produto  final  não  pode  ultrapassar  o  prazo  de  oito  meses.  e)   pois   inviabilizaria   todo   o   investimento   nesse   sistema   e   em   razão   dos  adiantamentos  e  vales  que  recebem.    26.   "Os   requisitos   expressam   as   características   e   restrições   do   produto   de  software  do  ponto  de  vista  de  satisfação  das  necessidades  do  usuário.  Em  geral,  independem  da  tecnologia  empregada  na  construção  da  solução,  sendo  uma  das  partes  mais  críticas  e  propensas  a  erros  no  desenvolvimento  de  software".  Quanto   aos   requisitos   de   software,   a   descrição   acima   está   a)   incoerente   ao  afirmar  que  expressam  restrições.  b)  incoerente  ao  afirmar  que  independem  da  tecnologia.  c)   incoerente   ao   afirmar   que   expressam   características   do   ponto   de   vista   de  satisfação  das  necessidades  do  usuário.  d)  totalmente  coerente.  e)   incoerente   ao   afirmar   que   os   requisitos   são   uma   das   partes  mais   críticas   e  propensas  a  erros.    27.  Gere  os  diagramas  de  caso  de  uso,  de  classes  e  de  sequência  para  uma  video-­‐locadora  Controlar:    -­‐  Compra  de  fitas  em  fornecedores  -­‐  Cadastro  de  clientes  

Page 3: Lista Exercicio

-­‐  Cadastro  de  fitas  adquiridas  -­‐  Alocação(por  3  dias),  devolução  e  reservas  de  fita  a  clientes  -­‐  Localização  dos  vídeos  nas  prateleiras    A  locadora  possui  três  categorias  de  funcionários:    -­‐  Gerente  geral  -­‐  Gerente  de  compras  -­‐  Operadores  (realizam  atividades  internas)  -­‐  Atendentes  (realizam  atividades  de  locação  de  videos)    Emitir  os  seguintes  relatórios:    -­‐  Títulos  mais  requisitados  no  mês  -­‐  Lista  de  fitas  a  serem  removidas  por  excesso  de  uso  -­‐  Títulos  não  requisitados  no  mês  -­‐  Valor  total  obtido  no  mês  com  empréstimos  -­‐  Valor  total  de  multas  recebidas  -­‐  Valor  gasto  com  aquisição  de  novas  fitas    28.  O  que  são  padrões  de  projeto  e  para  que  servem?  Dê  exemplos  de  utilização.