SóProvas


ID
5555413
Banca
CESPE / CEBRASPE
Órgão
SEFAZ-AL
Ano
2021
Provas
Disciplina
Arquitetura de Software
Assuntos

Julgue o item a seguir, a respeito de engenharia de software, metodologias de desenvolvimento, ciclo de vida, qualidade de software e UML.

Características do projeto como tamanho, complexidade e estabilidade dos requisitos influenciam a escolha de um modelo de ciclo de vida do software. 

Alternativas
Comentários
  • Primeiro eu vou explicar os conceitos e ao final do comentário vou te dar exemplos que já vivenciei.

    e acordo com a NBR ISO/IEC 12207:1998, o ciclo de vida é:

    “Estrutura contendo processos, atividades e tarefas envolvidas no desenvolvimento, operação e manutenção de um produto de software, abrangendo a vida do sistema, desde a definição de seus requisitos até o término de seu uso.”

    Alguns modelos de ciclo de vida (De modo geral):

    • Cascata: Cada fase só começa quando a anterior termina;
    • Modelo em V:Similar ao cascata, mas com ênfase dada à verificação e validação;
    • Incremental: Os requisitos são passados a equipe de desenvolvimento e agrupados de acordo com a funcionalidade. Em seguida a equipe vai definindo a prioridade que cada módulo será desenvolvido;
    • Evolutivo: Os requisitos são adquiridos em paralelo com a evolução do sistema. O princípio aqui é: o cliente não expõe todos os requisitos. Ex: O time desenvolve com base no que o cliente passa de requisito, é entregue ao cliente uma versão 1. O cliente dá o feedback com novos requisitos e aí é desenvolvida uma versão 2 com base nisso... Até se tornar mais completo;
    • RAD(Rapid Application Development): Incrementos são desenvolvidos de forma paralela, por equipes diferentes. Ciclo de vida extremamente comprimido, levando entre 60 e 90 dias;
    • Prototipagem: Construção de um exemplar do que foi entendido dos requisitos capturados do cliente. Pode ser utilizado como ferramenta em outros ciclos de vida;
    • Espiral: Abordagem cíclica das fases do processo, onde cada "volta" ou iteração temos versões evolucionárias do sistema;
    • Modelo de Ciclo de Vida Associado ao RUP(Rational Unified Proccess): É uma plataforma de processo de desenvolvimento de software configurável que oferece melhores práticas comprovadas e uma arquitetura configurável.

    Na realidade do dia a dia:

    A maioria dos softwares desenvolvidos utilizam mais de um modelo de ciclo de vida!

    Exemplo 1:

    O setor que você trabalha precisa de um software de gestão de projetos.

    O setor ou órgão contrata uma empresa pra fazer isso e vocês passam os requisitos. São vários requisitos, como:

    Tem que possuir várias telas: Porfólio, programas, etapas, riscos, custos... E várias outras pra cumprir isso.

    Nesse caso, como o número de requisitos é grande, não é viável utilizar o modelo cascata, por exemplo. Pois a empresa pode te entregar um software com VÁRIAS coisas que você não acha ideal. Exemplo: Navegação diferente da desejada e outros.

    Poderia ser utilizado aqui uma prototipagem, onde a empresa pega os requisitos e usa ferramentas de design para fazer as telas e colher seu feedback, realizando as alterações necesárias até o projeto ficar 100%.

    Exemplo 2:

    Você precisa de um sistema de registro de notas fiscais. Requisitos:

    Campo para digitar a nota fiscal, um botão chamado registrar e alguns avisos caso ok ou caso esteja errado.

    Ora, os requisitos são bem conhecidos e simples. Nesse caso é viável ter a primeira versão ao final do ciclo.

  • Boa Israel, só lembrando que para fins de prova a banca pode afirmar no seu exemplo 1 que seria possível usar o ciclo em cascata, por exemplo, desde que os requisitos fossem bem definidos e estáveis.

    Logo, gabarito certo.

    Foco!