20 - Sistemas de Informação 1 Flashcards
Defina engenharia de software
É uma disciplina de engenharia que se ocupa de todos os aspectos da produção de software, desde os estágios iniciais de especificação do sistema até a manutenção desse sistema, após sua entrada em produção
Defina a Engenharia de sistemas
Essa engenharia está preocupada em todos os aspectos do desenvolvimento de sistemas computacionais, incluindo engenharia de hardware, engenharia de software e engenharia de processos
Qual é a pedra fundamental que sustenta a engenharia de software
É o foco na qualidade
Princípios fundamentais da Engenharia de Software
Formalidade
Abstração
Decomposição
Generalização
Flexibilização
O que é um ciclo de vida de um software
Se refere as fases pelas quais um sistema de software atravesse desde sua concepção até sua retirada de produção
O que é um Modelo de ciclo de vida de software
É um modelo que representa não só as fases de um ciclo de vida de software, mas também como essas fases se relacionam
Um exemplo é o modelo em cascata: Nele possui a regra de ouro que uma fase se inicia após o término completo da fase anterior
Ciclo de vida X Modelo de Ciclo de vida
Defina um Processo de Software
Pode ser visto como um conjunto de atividades, métodos, práticas e transformações que guiam pessoas na produção de software
Um processo de software não pode ser definido de forma universal
-> Para ser eficaz e conduzir à construção de produtos de boa qualidade, um processo deve ser adequado às especificidades do projeto em questão
Em termos de prova podemos considerar Modelo de Ciclo de Vida como sinônimo de Processo de Software
VERDADEIRO OU FALSO
A escolha do Modelo de Ciclo de Vida independe de características específicas do projeto
FALSO
A escolha de um Modelo de Ciclo de Vida depende de características específicas do projeto
Os principais Modelos de Ciclo de Vida podem ser agrupados nas categorias:
Modelos Sequenciais
Modelos Incrementais
Modelos Iterativos
O que é Metodologia de Desenvolvimento de Software
É basicamente uma caracterização prescritiva ou descritiva de como um produto de software deve ser desenvolvido
Ela define o que, como e quando fazer algo para desenvolver um software
Defina o Modelo em Cascata
Sinônimos são: Clássico, Linear, Tradicional, Rígido ou monolítico
Uma fase só se inicia após o término e aprovação da fase anterior, há uma sequência de desenvolvimento do projeto
Na prática, não é um modelo linear simples, mas envolve feedback de uma fase para outra
Quando o modelo em cascata deve ser utilizado
Quando os requisitos são bem compreendidos e pouco provavelmente venham a ser radicalmente alterados durante o desenvolvimento do sistema
Críticas ao modelo em cascata
Projetos reais raramente seguem o fluxo sequencial que o modelo propõe
Frequentemente, é difícil para o cliente estabelecer explicitamente todas as necessidades
O cliente deve ter paciência. Uma versão operacional não estará disponível antes de estar próximo do final do projeto
VERDADEIRO OU FALSO
Uma característica positiva do Modelo em Cascata é que ele é eficiente na redução de riscos
FALSO
Ele atrasa a redução de riscos
Em geral, só é possível verificar se ocorreram erros nas fases finais
Defina o custo de correção de um erro
Está mais focado no momento em que um erro é identificado que no momento em que de fato ocorreu
VERDADEIRO OU FALSO
É possível considerar que o Modelo Waterfall é um modelo tradicional e fortemente prescritivo
VERDADEIRO
Defina o Modelo em V
Trata-se de uma variação do modelo em cascata e prevê uma fase de validação e de verificação para cada fase de construção
O que significa iterativo
Reiterado ou repetido
Defina o modelo incremental
Há várias equipes desenvolvendo uma parte de software a serem integradas ao final do desenvolvimento
Divide-se o projeto em miniprojetos e utiliza-se o modelo em cascata para cada miniprojeto
O modelo incremental e o modelo iterativo possuem:
Os resultados são mais rápidos, há maior interação com o usuário e há um feedback mais intenso entre usuário e desenvolvedor – sendo possível reagir facilmente a mudanças
Permite ao cliente receber e avaliar as entregas dos produtos mais cedo já no início do desenvolvimento do software
**Essa abordagem permite o gerenciamento e a mitigação de riscos
Defina o modelo iterativo
Lança-se uma versão 1.0, adicionam-se algumas funcionalidades,
Lança-se a versão 2,0, adicionam-se algumas funcionalidades
E assim por diante
2 Problemas dos modelos iterativos e incremental
O processo não é visível: Se os sistemas são desenvolvidos rapidamente, não é viável economicamente produzir documentos para cada versão do sistema
Os sistemas são frequentemente mal estruturados: Mudanças contínuas tendem a corromper a estrutura do software e tornar mudanças difíceis caras
Defina o que é RAD (Rapid Application Development)
É um modelo iterativo e incremental, que enfatiza o ciclo de desenvolvimento curto (60 90 dias)
Esse desenvolvimento é tão rápido porque é utilizada o reuso de componentes a exaustão