1. Qual a diferença entre ciclo de vida de software e
processo de software?
O ciclo de vida possui as fases do desenvolvimento, além de ser mais
abrangente, já que todo produto possui um ciclo de vida independente de seu processo, desde a criação até sua retirada de uso. Em contrapartida, o processo detalha as atividades e práticas que serão seguidas durante o desenvolvimento, como um passo a passo desde o início até a entrega de um produto final de qualidade, tornando o processo mais específico para o desenvolvimento de um produto de software, diferentemente da abrangência do ciclo de vida.
2. Como devemos descrever um processo de software?
Um processo de software é uma sequência de atividades para desenvolver
um produto de software de qualidade. Ele engloba todas as etapas desde o início até a entrega do produto final, cada etapa é aplicada meticulosamente e possuem responsabilidades bem definidas. Tem como primeira fase a especificação dos requisitos, em seguida vai para a tradução desses requisitos, pois só assim consegue ir para a etapa seguinte, a codificação do que foi projetado. Para finalizar, temos a verificação dos requisitos para checar se a codificação satisfaz as especificações levantadas na primeira fase, para que possamos partir para manutenção e evolução do produto. Dentro de cada uma dessas fases existem atividades para que os objetivos finais do projeto sejam atingidos com sucesso e qualidade. Um processo documentado que entrega um produto de qualidade é o que diferencia um processo maduro de um imaturo.
3. Descreva as diferenças entre processos para projetos e
para serviços. Dentre as diferenças, podemos destacar a duração que em um processo para projeto possui uma duração finita em conjunto com o ciclo de vida do projeto, enquanto um processo para serviço não possuem uma duração definida, são realizados ao longo do uso do software. O objetivo principal também diverge, levando em consideração que para os projetos, seria entregar um produto de software único que atenda os requisitos levantados anteriormente, já para os serviços, a entrega contínua de valor ao cliente é o foco principal. Também conseguimos diferenciar processos para projetos e para serviços pela sua finalidade, o resultado esperado de projetos é a entrega de acordo com os requisitos pré-definidos e o projeto é encerrado logo após da entrega do software, em contrapartida, o resultado final de um serviço é a constante disponibilidade do software como uma aplicação funcional. Por fim, seus comportamentos quanto à processos continuam distintos, já que um processo para projeto envolve todo um passo a passo de análise de requisitos, implementação e testes, possuindo modelos de análise representação abstrata como o modelo em cascata e o modelo espiral, por exemplo. Por outro lado, os processos para serviço, por terem como objetivo entrega e suporte contínuos do seu produto, centralizam suas atividades em gerenciamento de incidentes e problemas, utilizando de frameworks como, por exemplo, o ITIL para esse tipo de gerência.