Baixe o app para aproveitar ainda mais
Prévia do material em texto
Engenharia de Software Fabíola Yunes Tanisue fabiola.yunes@gmail.com ∗ Duas aulas semanais ... ∗ Segunda: 19h – 20h45 ∗ Segunda: 21h – 22h Combinando o Jogo ∗ Falta reprova ! É preciso ter 75% de presença ∗ Dinâmica das aulas ∗ Semmonólogos, por favor !! ∗ Tragam seus questionamentos, ideias e experiências ∗ A colaboração ajuda na construção do conhecimento ∗ A Média Final (MF) é a média aritmética entre as duas avaliações(AV), segue formula: Critério de Avaliação ∗ AMédia Final => 7,0 Referências Básicas Referências Básicas Alguns Conceitos ∗ Software é uma sequência de instruções escritas para serem interpretadas por um computador com o objetivo de executar tarefas específicas. Conceitos específicas. ∗ Produto que engenheiros de software projetam e constroem. ∗ Exemplos: Sistemas Operacionais, sistemas empresariais, facebook, Word, Apps e etc. ∗ Sistema é Conjunto ou arranjo de coisas relacionadas de modo a formar uma unidade ou um todo orgânico; Conceitos ∗ Sistema pode ser definido como um conjunto de elementos interdependentes que interagem com objetivos comuns formando um todo, e onde cada um dos ele- mentos componentes comporta-se, por sua vez, como um sistema cujo resultado é maior do que o resultado que as unidades poderiam ter se funcionassem indepen- temente. Qualquer conjunto de partes unidas entre si pode ser considerado um sistema, desde que as relações entre as partes e o compor -tamento do todo sejam o foco de atenção (ALVAREZ, 1990, p. 17) ∗ Exemplos: Conceitos O que é Engenharia de Software? Engenharia de Software Conceitos O que é Engenharia de Software? ∗ É a criação e a utilização de sólidos princípios de engenharia a fim de obter software de maneira econômica, que seja Engenharia de Software Conceitos fim de obter software de maneira econômica, que seja confiável e que tabalhe eficientemente em máquinas reais.” (Pressman,2001) ∗ Engenharia de software é uma área do conhecimento da computação voltada para a especificação, desenvolvimento e Engenharia de Software Conceitos computação voltada para a especificação, desenvolvimento e manutenção de sistemas de software aplicando tecnologias e práticas de gerência de projetos e outras disciplinas, objetivando organização, produtividade e qualidade. Técnicas Métodos FerramentasManutenção Qualidade Palavras Chaves Ferramentas Processos EspecificaçãoConstrução Implantação Manutenção ∗ O que Faz a Engenharia de Software? ∗ Levanta processos que levam a um resultado de alta qualidade, em Engenharia de Software Conceitos ∗ Levanta processos que levam a um resultado de alta qualidade, em busca de um PRODUTO BEMSUCEDIDO. ∗ Procura usar técnica de detecção de necessidades das pessoas que vão usar o PRODUTO. ∗ Qual o produto do trabalho? ∗ Na visão do engenheiro de software: Engenharia de Software Conceitos ∗ Na visão do engenheiro de software: ∗ Conjunto de programas, ∗ Documentos ∗ Dados que compõem um software. ∗ Na visão do usuário: ∗ É a informação resultante, que algum modo torna melhor o mundo do usuário. ∗ O programador solitário foi Substituído por uma equipe de Especialistas em software. O Papel Evolutivo do Software Especialistas em software. ∗ cada especialista da equipe, Concentra-se em uma parte da Tecnologia, a fim de produzir uma Aplicação complexa. ∗ Software não se desgasta, mas deteriora; Características do Software ∗ O software é desenvolvido ou projetado por engenharia e não e não manufaturado; Características do Software e não manufaturado; ∗ A maioria é feita sob encomenda em vez de ser montado a partir de componentes existentes. ∗ Software de Tempo real; ∗ Software Comercial; Aplicações do Software ∗ Software Comercial; ∗ Software Científico e de Engenharia; ∗ Software Embutido; ∗ Software para Computadores Pessoais; ∗ Software para Web; ∗ Software de Inteligência Artificial. Processo de Desenvolvimento de Software ∗ Processo de Desenvolvimento: Um conjunto de passos ordenados e executados com o objetivo Processo de Desenvolvimento Um conjunto de passos ordenados e executados com o objetivo de alcançar uma meta. No caso de desenvolvimento de software, a meta consiste em criar um software ou desenvolver um já existente. ∗ Um conjunto coerente de atividades para construção de software ∗ Objetivos: ∗ Processos de software visam assegurar o desenvolvimento de Processo de Desenvolvimento ∗ Processos de software visam assegurar o desenvolvimento de software: ∗ com prazos e necessidade de recursos definidos ∗ com elevada produtividade (de forma econômica) ∗ com qualidade assegurada QualidadeTempo Custo Processo de Desenvolvimento ∗ Todo o Processo devem incluir três elementos fundamentais para a engenharia de softwarefundamentais para a engenharia de software ∗ Métodos ∗ Ferramentas ∗ Procedimentos Processo de Desenvolvimento ∗ Métodos: fornecem os detalhes sobre como fazer para construir o software. ∗ Incluem: ∗ Planejamento e estimativa de projeto ∗ Análise de requisitos de software e de sistemas ∗ Projeto da estrutura de dados ∗ Algoritmos de processamento ∗ Codificação ∗ Teste ∗ Manutenção Processo de Desenvolvimento ∗ Ferramentas dão suporte automatizado aos métodos. Realizam os métodos computacionalmente ∗ Atualmente existem ferramentas para sustentar cada métodométodo Processo de Desenvolvimento ∗ Procedimentos definem a sequência em que os métodos serão realizados ∗ Constituem a ligação entre os métodos e as ferramentas∗ Constituem a ligação entre os métodos e as ferramentas ∗ Determinam os produtos de software que serão criados em cada método. ∗ Sem o uso de processos.... ∗ Procedimentos existentes na organização não são documentados Processo de Desenvolvimento ∗ Procedimentos existentes na organização não são documentados e usados de forma ∗ Erros são cometidos repetidamente ∗ Dificuldade de prever cronogramas e orçamentos ∗ Alto índice de defeitos, retrabalho e desperdício ∗ Dificuldade de implementar boas práticas e lições aprendidas ∗ Dificuldade de realizar ações para prevenção de defeitos Processo de Desenvolvimento ∗ Efeito do Processo sobre o Custo ∗ Atividades Fundamentais em qualquer processo de software (Sommerville) Processo de Desenvolvimento software (Sommerville) ∗ Especificação do Software ∗ Projeto e implementação ∗ Validação ∗ Evolução
Compartilhar