SóProvas


ID
920128
Banca
FCC
Órgão
DPE-SP
Ano
2013
Provas
Disciplina
Engenharia de Software
Assuntos

No desenvolvimento de software, podem ser utilizados os chamados modelos evolucionários, cujo objetivo é lidar com produtos que possam evoluir ao longo do tempo. Assinale a alternativa que contém APENAS modelos evolucionários de desenvolvimento de software.

Alternativas
Comentários
  • Do modelo em espiral para desenvolvimento de software saltam a vista dois aspectos: a análise de risco e prototipagem.O modelo espiral incorpora-os de uma forma interativa permitindo que as ideias e o progresso sejam verificados e avaliados constantemente. Cada interação à volta da espiral pode ser baseada num modelo diferente e pode ter diferentes atividades.
    No modelo espiral para engenharia de requisitos mostra-se que as diferentes atividades são repetidas até uma decisão ser tomada e o documento de especificação de requisitos ser aceito.

    Prototipação é uma abordagem baseada numa visão evolutiva do desenvolvimento de software, afetando o processo como um todo. Esta abordagem envolve a produção de versões iniciais - protótipos (análogo a maquetes para a arquitetura) - de um sistema futuro com o qual pode-se realizar verificações e experimentos,com intuito de avaliar algumas de suas caracteristicas antes que o sistema venha realmente a ser construído, de forma definitiva.
    Modelo Vantagens Desvantagens CASCATA Minimiza o tempo de planejamento.
    Funciona bem para equipes tecnicamente mais fracas. Inflexível.
    Apenas a fase final produz um deliverable que não é um documento.
    Torna-se difícil voltar atrás para corrigir erros. ESPIRAL As interações inicias do projecto são as mais baratas, permitindo que as tarefas de maior risco sejam levadas com o mínimo de custos.
    Cada iteração da espiral pode ser customizada para as necessidades específicas de cada projecto. É complexo e requer atenção e conhecimento especiais para o levar a cabo. PROTOTIPAGEM EVOLUCIONÁRIA Os clientes conseguem ver os progressos.
    É útil quando os requisitos mudam rapidamente e o cliente está relutante em aceitar um conjunto de requisitos. É impossível determinar com exactidão o tempo que o projecto vai demorar.
    Não há forma de saber o número de iterações que serão necessárias. CODIFICAÇÃO e CORREÇÃO Não há tempo gasto em planejamento, documentação, gestão de qualidade e cumprimento de standards.
    Requer pouca experiência. Perigoso.
    Não há forma de assegurar qualidade e identificar riscos.
    Falhas fundamentais não percebidas imediatamente resultando em trabalho deitado fora.
  • Prezados , vamos aos comentários das alternativas :
    a) UML e de qualidade.
    Alternativa errada, o UML é uma linguagem de modelagem e pode ser utilizado em qualquer modelo de desenvolvimento de software ( cascata , iterativo , etc ... ) , não obstante “qualidade” não é um modelo de desenvolvimento de software
    b) Componentes e arquétipo. 
    Alternativa errada, nem “Componentes”  nem “arquétipo” são um modelo de desenvolvimento de software, um componente é uma unidade independente, que pode ser utilizado com outros componentes para formar um sistema mais complexo.
    c) Prototipagem e espiral. 
    Alternativa correta. Segundo Sommerville em seu livro na página 45, o desenvolvimento evolucionário baseia-se na ideia de desenvolvimento de uma implementação inicial, expondo os resultados aos comentários dos usuários e refinando esse resultado por meio de várias versões até que sejam desenvolvido um sistema adequado.
    Pressman define em seu livro, página 42, como modelos evolucionários de desenvolvimento de software :
    - Prototipagem
    - O Modelo espiral
    - O Modelo de desenvolvimento concorrente
     
    d) Redes de Petri e certificação.
    Alternativa errada, nem “Redes de petri” nem “certificação” são modelos de desenvolvimento de software
    e) Semântico e validação. 
    Alternativa errada, nem “semântico” nem “validação” são modelos de desenvolvimento de software
    Fonte :
    - Sommerville, Ian ,Software Engineering, 8th edition
    - Pressman, Roger S. Software Engineering: A Practiotioner’s Approach. Sixth Edition
  • caraca.. pra quem tem a mínima noção de engenharia de software, essa estava de graça.

  • Principais Modelos de Processo:

    A) Sequencial: Modelo Cascata ou Clássico, Modelo em V

    B) Incremental: RUP, RAD, Metodologias ágeis (Scrum, XP, TDD)

    C) Evolutivo: Espiral, Prototipagem evolucionária e Prototipagem descartável

    Obs: Os modelos Incremental e Evolutivo são ITERATIVOS.