Baixe o app para aproveitar ainda mais
Prévia do material em texto
* * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Projeto, processo e processo de desenvolvimento de software * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I O que é um projeto? É um esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo. O que se tem a intenção de fazer; desígnio; intento; plano de realizar qualquer coisa. "é um conjunto de atividades, ligadas por padrões de relacionamento entre ela, pelas quais se as atividades operarem corretamente e de acordo com os padrões requeridos, o resultado desejado é produzido. O resultado desejado é um software de alta qualidade e baixo custo. Jalote (2005). Ananias Neto - 6- O que é um projeto? Ananias Neto - C- É um conjunto de atividades, ligadas por padrões de relacionamento entre ela, pelas quais se as atividades operarem corretamente e de acordo com os padrões requeridos, o resultado desejado é produzido. O resultado desejado é um software de alta qualidade e baixo custo * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Os aspectos cruciais para o sucesso de um projeto de software são: Conformidade com os Padrões Os padrões são necessários para garantir uma documentação clara, objetiva e sem ambíguidades. Por exemplo, padrões IEEE para especificações de requisitos, projetos etc. Também é possível que um cliente especifique os padrões a serem usados. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Os aspectos cruciais para o sucesso de um projeto de software são: Gerenciamento de Alteração Sempre que uma alteração deva ser realizada, é necessário estudar seu impacto sobre os vários componentes do software. Por exemplo, ao modificar o tipo da variável denominada Global, toda função que utilizá-la será impactada e, a menos que se tome cuidado para minimizar esse efeito, o software poderá ter seu desempenho comprometido. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Os aspectos cruciais para o sucesso de um projeto de software são: Esforço de Equipe Qualquer esforço para o desenvolvimento de softwares exige uma equipe de especialistas. Por exemplo, a equipe pode ser composta por especialistas em domínios, projetos, codificação, testes e hardware. Cada grupo de especialistas deve se concentrar em um aspecto específico do problema e apresentar uma solução adequada. No entanto, nenhum grupo pode trabalhar isoladamente, pois a interação entre os membros das equipes é importantíssima. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Os aspectos cruciais para o sucesso de um projeto de software são: Manutenção de Software Todo software precisa ser modificado periodicamente, de acordo com as solicitações dos clientes e do uso de novas tecnologias. A equipe de desenvolvimento pode não estar disponível para realizar a manutenção do pacote. Portanto, uma equipe de suporte deverá ser reunida, sempre que necessário, para garantir que o software continue a fornecer os serviços necessários. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Os aspectos cruciais para o sucesso de um projeto de software são: Reutilização O esforço de desenvolvimento pode ser otimizado, reutilizando-se componentes já testados, como por exemplo, bibliotecas matemáticas, kits de ferramentas de interface gráficas de usuário etc. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Os aspectos cruciais para o sucesso de um projeto de software são: Gerenciamento de Risco Qualquer grande esforço de desenvolvimento de software está sujeito a riscos. Por exemplo, indisponibilidade de especialistas, tecnologia, recursos etc. É necessário, portanto, avaliar constantemente os riscos e criar medidas para reduzí-los. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Os aspectos cruciais para o sucesso de um projeto de software são: Controle de Versão O software está propenso a frequentes alterações durante seu desenvolvimento. Portanto, é importante que o usuário obtenha a versão mais recente. No caso de falhas, será possível recorrer às versões anteriores. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Os aspectos cruciais para o sucesso de um projeto de software são: Ferramentas de Softwares A documentação é importante para um projeto de desenvolvimento de software, mas é uma tarefa onerosa e muitos desenvolvedores desistem de fazê-la. Existem ferramentas que são conhecidas como ferramentas de Engenharia de Software Assistida por Computador (Computer Aided Software Engineering – CASE) que simplificam o processo da documentação. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Os aspectos cruciais para o sucesso de um projeto de software são: Usuário Leigo Usuários leigos: usuários típicos dos pacotes de software podem não ser conhecedores de computação. O software, portanto, precisa ser altamente robusto. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Os aspectos cruciais para o sucesso de um projeto de software são: Garantia de Qualidade Os clientes esperam retorno financeiro com a implantação do software. Além de atender às necessidades do cliente, o software deve, necessariamente, atender aos padrões de qualidade que podem ser em relação a desempenho, segurança etc. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Os aspectos cruciais para o sucesso de um projeto de software são: Planejamento Assim que o desenvolvimento do software ocorrer de acordo com os requisitos especificados pelo cliente, é necessário que todo o esforço seja adequadamente estimado para atender as restrições de prazo e custo. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Os aspectos cruciais para o sucesso de um projeto de software são: Documentação Uma documentação clara, objetiva e precisa dos componentes do processo de desenvolvimento é crucial para o sucesso de qualquer projeto de software. Comunicação verbal e desenhos do pacote não são suficientes para se entender tal processo. Por exemplo, a documentação é essencial para a aprovação do cliente em várias etapas do processo. Uma vez desenvolvido, o software cria vida. Entretanto, durante sua vida, ele passará por várias mudanças e uma documentação bem feita é essencial para a realização dessas alterações de forma mais efeicaz. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Os aspectos cruciais para o sucesso de um projeto de software são: Metodologia Existem dois tipos de metodologias de desenvolvimento: Voltada ao procedimento Voltada ao objeto * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I O que é um processo? * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I O que é um processo? O que se tem a intenção de fazer; desígnio; intento; plano de realizar qualquer coisa. Processo de Desenvolvimento de Software - PDS Software Development Process - SDP * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Processo Um processo bem definido possui muitas vantagens, são elas: Facilita a visualização de um projeto, auxiliando nas correções periódicas. Ajuda os desenvolvedores a eliminar problemas no momento de sua implantação, evitando, assim, efeitos cascata. Ajuda a organizar o fluxo de trabalho e os resultados para maximizar a utilização de recursos. Define de maneiraclara e objetiva papéis e responsabilidadesa individuais. Aumenta a produtividade individual por causa de papéis bem definidos, considerando que a produtividade da equipe aumenta devido a uma boa coordenação. Ananias Neto - Um processo bem definido possui muitas vantagens, são elas: Ananias Neto - Aumenta a produtividade individual por causa de papéis bem definidos, considerando que a produtividade da equipe aumenta devido a uma boa coordenação. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Um bom processo de desenvolvimento de software deve: Considerar o desenvolvimento de software como uma atividade de negócios de valor agregado e não meramente como uma atividade técnica. Garantir que haja uma adição de valor definida para todos os produtos. Se resguardar contra perda de valor, uma vez que o produto esteja completo. Fornecer informações de gerenciamento para controle no local do processo. Ananias Neto - Um bom processo de desenvolvimento de software deve: Ananias Neto - Garantir que haja uma adição de valor definida para todos os produtos. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Para definir um processo como esse, os seguintes passos devem ser seguidos: Identificar as fases de desenvolvimento e as tarefas a serem executadas em cada uma. Modelar as transições intra e inter fases. Usar técnicas para executar as tarefas. Verificar e validar cada tarefa e seus resultados. Usar habilidades de gerenciamento de processo e projeto. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I As palavras verificar e validar precisam ser explicadas. Considerando que VERIFICAR significa checar se a tarefa foi executada corretamente, VALIDAR significa checar se a tarefa correta foi executada. No contexto de software, o processo de checar se um algoritmo foi implementado corretamente, é verificação, enquanto o processo de checar se o resultado da execução do algoritmo é a solução do problema, é validação. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Processos de desenvolvimento de software * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Processos de desenvolvimento de software Nesta fase, as necessidades do usuário são reunidas e convertidas em requisitos de software. Por exemplo, se o usuário precisa gerar a trajetória de um míssil, um requisto de software é resolver as equações regentes. Essa fase deve responder à pergunta: O que precisa ser feito para atender às necessidades do usuário? Ananias Neto - 10- Processos de desenvolvimento de software, possuem algumas fases, assinale a alternativa que contenha a explicação para o processo de Análise. A- Necessidades do usuário são reunidas e convertidas em requisitos de software. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Processos de desenvolvimento de software Esta fase responde à pergunta: O que precisa ser feito para atender às necessidades do usuário? Com relação ao exemplo anterior, o projeto consiste na tomada de decisões sobre o algoritmo a ser usado para solucionar as equações regentes. Essa escolha depende dos objetivos do projeto, como tempo de execução, precisão etc. Nessa fase nós decidimos sobre a organização dos vários módulos do sistema de software. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Processos de desenvolvimento de software Codificação e teste do módulo são as principais atividades nesta fase. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Processos de desenvolvimento de software Existem três categorias de teste: de unidade, de integração e de sistema. Existem dois tipos de teste: da caixa preta e da caixa branca. O teste da caixa preta se concentra em gerar casos de testes com base em requisitos. O teste da caixa branca se concentra em gerar casos de teste com base na lógica interna de vários módulos. * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I Processos de desenvolvimento de software Esta fase consiste em entregar o software aos clientes (de instalação e operacionalização). * * Faculdade do Pantanal – FAPAN Sistemas de Informação – Engenharia de Software I As principais fases de um processo de software são : 1) Especificação de Requisitos: tradução da necessidade ou requisito operacional para uma descrição da funcionalidade a ser executada. 2) Projeto de Sistema: tradução destes requisitos em uma descrição de todos os componentes necessários para codificar o sistema. 3) Programação (Codificação): produção do código que controla o sistema e realiza a computação e lógica envolvida. 4) Verificação e Integração (Verificação): verificação da satisfação dos requisitos iniciais pelo produto produzido. * *
Compartilhar