1
Um processo de software é uma abordagem para construir, manter e implantar software. Um modelo de software é uma representação simplificada de um processo de software. Podemos dizer que o processo de software engloba a prática real de produção de software, enquanto o modelo abstrai e generaliza tais práticas. Muitas das atividades e práticas que ocorrem durante um processo não estão representadas em seu modelo correspondente. Por exemplo, em um processo de software podem ocorrer eventos inesperados, como atrasos no cronograma de projeto e mudanças organizacionais. Tais casos excepcionais nem sempre estão representados em um modelo de processo.
2. Discorra sobre os principais modelos de processo de software, incluindo (a) modelo cascata, (b) evolucionário, (c) formal e (d) orientado a reuso. Em que casos cada modelo é mais adequado?
(a) O modelo cascata representa um processo sequencial e linear de desenvolvimento, no qual cada etapa inicia-se após o término da anterior. É um modelo adequado quando não há grande variabilidade de requisitos durante o ciclo de vida do software.
(b) modelos evolucionários representam processos em que requisitos, planejamento, e soluções evoluem ou são refinados através de iterações. Tais modelos são adequados ao desenvolvimento de novos produtos, onde há incerteza e é impossível antecipar eventos inesperados e mudanças no projeto.
(c) modelos formais representam processos de desenvolvimento que utilizam técnicas matemáticas para especificação, desenvolvimento e verificação de produtos de software. São adequados quando é necessário garantir certas propriedades de um sistema de software, principalmente no que diz respeito a robustez e confiança.
(d) modelos orientados a reuso representam processos baseados na existência de um número significativo de componentes reutilizáveis. Eles se concentram na integração desses