Baixe o app para aproveitar ainda mais
Prévia do material em texto
Profª. M.Sc. Larissa Luz Gomes lariluz@yahoo.com.br Aula 2 – Processo e Desenvolvimento de Software (PDS) Engenharia de Software Agenda Introdução Processo de Software Elementos que compõem um processo de software Ciclo de Vida do Software Etapas do Ciclo de Vida do Software Introdução Introdução Uma das primeiras definições de Engenharia de Software foi proposta por Fritz Bauer e dizia: “O estabelecimento e uso de sólidos princípios de engenharia para que se possa obter economicamente um software que seja confiável e que funcione eficientemente em máquinas reais.” Ainda que outras definições tenham sido propostas, todas elas reforçam a exigência da disciplina de engenharia no desenvolvimento de software. E para implementar esta disciplina há a necessidade de criar um Processo de Software Introdução Em uma abordagem de Engenharia de Software, o Processo de Software, envolve diversas atividades que podem ser classificadas quanto ao seu propósito em: Atividade de Desenvolvimento Atividade de Gerência Atividade de Garantia de Qualidade Introdução Atividade de Desenvolvimento ou Técnica ou de Construção: são as atividades diretamente relacionadas ao processo de desenvolvimento do software, ou seja, que contribuem diretamente para o desenvolvimento do produto de software a ser entregue ao cliente. São exemplos de atividades de desenvolvimento: especificação e análise de requisitos, projeto e implementação. Introdução Atividade de Gerência: são aquelas relacionadas ao planejamento e acompanhamento gerencial do projeto, tais como realização de estimativas, elaboração de cronogramas, análise dos riscos do projeto entre outras. Introdução Atividade de Garantia de Qualidade: são aquelas relacionadas com a garantia da qualidade do produto em desenvolvimento e do processo de software utilizado, tais como revisões e inspeções de produtos (intermediários ou finais) do desenvolvimento. Introdução As atividades de desenvolvimento formam a espinha dorsal do desenvolvimento e, de maneira geral, são realizadas segundo uma ordem estabelecida no planejamento. As atividades de gerência e de controle da qualidade são, muitas vezes, ditas atividades de apoio, pois não estão ligadas diretamente à construção do produto final: o software a ser entregue para o cliente, incluindo toda a documentação necessária. Introdução Essas atividades, normalmente, são realizadas ao longo de todo o ciclo de vida, sempre que necessário ou em pontos pré-estabelecidos durante o planejamento, ditos marcos ou pontos de controle. Introdução Introdução Processo de Software É um conjunto de atividades, métodos, práticas e transformações que guiam pessoas na produção de software. Um processo eficaz deve, claramente, considerar as relações entre as atividades, os artefatos produzidos no desenvolvimento, as ferramentas e os procedimentos necessários e a habilidade, o treinamento e a motivação do pessoal envolvido. Processo de Software Elementos que compõem um Processo de Software Elementos de um Processo de Software Há vários aspectos a serem considerados na definição de um processo de software. O principal são as atividades-chave desse processo: análise e especificação de requisitos, projeto, implementação e testes, que são a base sobre a qual o processo de desenvolvimento deve ser construído. Processo de Software A definição de um processo envolve também a escolha de um modelo de ciclo de vida, o detalhamento (decomposição) de suas macro- atividades, a escolha de métodos, técnicas e roteiros (procedimentos) para a sua realização e a definição de recursos e artefatos necessários e produzidos. Processo de Software O objetivo de se definir um Processo de Software é favorecer a produção de sistemas de alta qualidade, atingindo as necessidades dos usuários finais, dentro de um cronograma e um orçamento previsíveis. Processo de Software Ciclo de Vida de Software (CVS) Ciclo de Vida de Software (CVS) São os passos ou atividades que devem ser executados durante um projeto. Para a definição completa do processo, a cada atividade, devem ser associados: técnicas ferramentas e critérios de qualidade, entre outros. Formando uma base sólida para o desenvolvimento. Ciclo de Vida de Software (CVS) Adicionalmente, outras atividades tipicamente de cunho gerencial, devem ser definidas, entre elas atividade de gerência e de controle e garantia da qualidade. O ciclo de vida de um sistema tem como função principal a definição de atividades a serem executadas em um projeto de desenvolvimento de sistemas e a introdução de pontos de verificação para o controle gerencial. Todo analista deve possuir estas informações para poder iniciar, prosseguir e finalizar um ciclo de vida de um sistema. Ciclo de Vida de Software (CVS) Os ciclos de vida são divididos de várias maneiras, dependendo do autor. Alguns levam em consideração a existência de apenas duas etapas no ciclos de vida, outros levam em consideração três, quatro ou até mais etapas. O ciclo de vida definido tem como razão de escolha as seguintes visões: prover de paralelismo/ simultaneidade de fases, ou seja, poder passar para a fase seguinte sem que a anterior esteja completa, não prejudicando o andamento do projeto; possuir um feedback, um vez que cada fase possui um ponto de verificação, podendo o analista retroagir a uma ou mais fases anteriores para revisões de procedimentos; basear-se em técnicas de análise orientada a objetos. Ciclo de Vida de Software (CVS) Ciclo de vida de Software (CVS) Um Ciclo de Vida de Software (CVS) é o período de tempos que se inicia com a escolha de um modelo para a construção do produto de software e acaba com o software pronto para a utilização. Um Modelo de Ciclo de Vida de Software (MCVS) representa as atividades, suas entradas e saídas (documentos, tabelas e formulários) e suas interações durante o ciclo de vida. O CVS começa com a seleção de um MCVS. Ciclo de vida de Software (CVS) Etapas do Ciclo de Vida de Software Etapas do CVS De maneira geral, o ciclo de vida de um software envolve as seguintes etapas: Análise e especificação de Requisitos Projeto Implementação Teste Entrega e Implantação Operação Manutenção Este modelo de etapas foi inicialmente apresentado por Royce em 1970, mas a versão mais conhecida deve-se a B. Boehm em 1976. Etapas do Ciclo de Vida de Software Etapas do Ciclo de Vida de Software Etapas do Ciclo de Vida de Software É a fase da (especificação de tarefas) O resultado desta análise deve descrever de forma clara as funcionalidades do software, dados e informações a utilizar, resultados esperados, eficiência, etc. Nesta etapa, são definidos de forma formal quais os dados e ficheiros que devem existir, qual a relação entre estes, quais as funcionalidade do programa e relação entre estas. Análise de Requisitos (Análise) O processo de concepção define as características do software, nomeadamente: Estruturas de dados necessárias Detalhes dos procedimentos Concepção (Projeto) A codificação, nesta etapa, é o processo de tradução dos documentos das fases anteriores para código. NOTA: Este processo pode ser realizadoautomaticamente. Implementação Os testes ao software são um elemento crítico para assegurar a qualidade do programa. Nesta fase, deve-se analisar os seguintes pontos: analisar se está sendo desenvolvido o produto de forma correta Analisar o produto desenvolvido é o produto desejado NOTA: Os testes não podem provar a ausência de defeitos, apenas podem mostrar a existência de defeitos Teste O processo de alteração do software desenvolvido pode ser devido a: erros encontrados requisitos do cliente adaptações devidas ao ambiente externo (ex. Mudança de Sistema Operativo). NOTA: Em geral o custo da manutenção é muito superior ao custo inicial do desenvolvimento da aplicação Manutenção Dúvidas e Perguntas Próxima aula • Especificação de Requisitos
Compartilhar