Baixe o app para aproveitar ainda mais
Prévia do material em texto
Engenharia de Software – Introdução à Modelagem de Dados - Aula 5 Processo de Software e seus Modelos Um processo de software é, basicamente, um conjunto de atividades cuja meta é o desenvolvimento ou evolução de software, ou seja, uma sequência coerente de práticas que objetiva o desenvolvimento ou evolução de sistemas de software. As atividades genéricas que devem ser seguidas em todos os processos iniciais de “fabricação” de um software são: Especificação: o que o sistema deve fazer e suas restrições de desenvolvimento. Desenvolvimento: produção do sistema de software. Validação: verificação de que o software é o que o cliente deseja. Evolução: mudança do software em resposta às demandas de mudança. Já os modelos de processo de desenvolvimento de software, que são vistos como representações ou abstrações dos objetos e atividades envolvidas no processo de software, possuem os respectivos tipos: Sequencial ou Cascata: é o modelo que gerencia as fases de produção do software distintamente separadas (especificação dos requisitos, levantamento do projeto e desenvolvimento do sistema). Evolucional ou Prototipação: é o modelo específico que trabalha com a especificação de requisitos, levantamento do projeto e desenvolvimento do sistema baseado em protótipos do sistema. Espiral: modelo que é representado como uma espiral, com as fases de desenvolvimento do software sendo independentes uma das outras, sem ter uma sequência correta de etapas a serem seguidas. Exemplo de modelo de processo de software utilizando o modelo Espiral: Figura 1: Processo de Engenharia de Requisitos Engenharia de Software – Introdução à Modelagem de Dados - Aula 5 Resumidamente, o processo de engenharia de requisitos é um processo que engloba todas as atividades que contribuem para a produção de um documento de requisitos e sua manutenção ao longo do tempo. Este processo de engenharia de requisitos é composto por quatro atividades de alto nível e essenciais em um processo de produção de software, são elas: Estudo de Viabilidade - processo no qual o engenheiro de software estuda se é viável para a empresa ou para seu objetivo próprio a produção do sistema proposto pelo cliente. Elicitação e Análise dos Requisitos - é a parte em que o engenheiro de software levanta os requisitos do sistema de acordo com a solicitação do cliente. Nesta etapa podem ser usadas várias formas de levantamentos de requisitos, como entrevistas abertas ou fechadas, questionários (caso seja um grupo de clientes requisitando o software), etc. Em seguida é feita a análise desses requisitos levantados anteriormente, para poder começar a se ter uma ideia de como o sistema será, o que irá fazer, seu principal objetivo e suas restrições. Especificação de Requisitos - nesta fase é que se dá a produção propriamente dita da documentação de especificação dos requisitos. Em todos os tipos de especificações, há 2 tipos de requisitos a se considerar: os requisitos funcionais e os requisitos não funcionais. Os requisitos funcionais descrevem a funcionalidade que o sistema deverá disponibilizar aos usuário, de uma forma completa e consistente. Os requisitos não funcionais referem-se aos aspectos não funcionais do sistema, como restrições na qual o sistema deve operar ou propriedades emergentes do sistema. Validação dos Requisitos - fase onde os requisitos levantados inicialmente são validados junto ao cliente, isto é, são apresentados ao cliente em forma de protótipo de telas do sistema feitas em papel, também pode-se utilizar diagramas de caso de uso para melhor compreensão do que o sistema irá fazer e apresenta-lo junto ao cliente. Etapa onde o cliente determina se aquilo que o engenheiro pensou do sistema é o que o cliente estava desejando. Podemos concluir que a Engenharia de Software é essencial e praticamente obrigatória na construção de um sistema de software, pois ela guia o engenheiro desde as primeiras entrevistas feitas com o cliente até a entrega do sistema e a manutenção do mesmo. Engenharia de Software é a parte essencial quando se vai começar um projeto de software.
Compartilhar