Nicolas Oliveira Palmeira
2 Roteiro Software Evolução do Software Engenharia de Software Modelo Espiral
4 Software Definição Conjunto de instruções que manipulam estruturas de dados (informação) Composição Instruções quando executadas produzem a função e o desempenho desejado Estruturas de dados possibilitam que os softwares manipulem adequadamente a informação Documentos descrevem a operação e o uso dos softwares
5 Software (cont.) Considerações Importantes O software não se desgasta, mas se deteriora; A maioria é feita sob medida em vez de ser montado a partir de componentes existentes; Custo, adequação do prazo e qualidade são os principais responsáveis pela competitividade de um software.
6 Software (cont.) Aplicações Comercial (Controle de estoque, etc...) Municipal (Contabilidade, Educação, Tributação, etc...) Científica (Mapeamento de genoma, etc...) Etc...
7 Evolução do Software
8 Evolução do Software 1ª Fase O Software era considerado um produto secundário Hardware de propósito geral Nenhum processo de engenharia de software
9 Evolução do Software (cont.) 2ª Fase Sistemas multi-usuários 1ª Geração de SGBD s Software house / Bibliotecas de Software Primeiras metodologias de análise de sistemas Manutenção quase impossível
10 Evolução do Software (cont.) 3ª Fase Sistemas distribuídos Redes locais e globais Uso de microprocessadores Hardware de baixo custo Processo maduros para a engenharia de software
11 Evolução do Software (cont.) 4ª Fase Tecnologia Orientada a Objetos Sistemas Especialistas (IA) Internet...
13 Engenharia de Software Definição Área da informática que se preocupa com todos os aspectos da produção de software. ferramentas métodos processo foco na qualidade
14 Engenharia de Software (cont.) ferramentas métodos processo foco na qualidade Instrumento Dão suporte automatizado ou semi-automatizado ao processo e aos métodos; quando as ferramentas se integram tem-se um sistema denominado CASE (Computer Aided Software Engineering)
15 Engenharia de Software (cont.) ferramentas métodos processo foco na qualidade Como fazer Engloba um conjunto de tarefas: análise de requisitos, projeto, construção de programas, teste e manutenção.
16 Engenharia de Software (cont.) Fundação ferramentas métodos processo foco na qualidade É um conjunto de atividades e resultados associados que levam à produção de um produto de software.
17 Engenharia de Software (cont.) Solo ferramentas métodos processo foco na qualidade O gerenciamento da qualidade produz uma mudança cultural que permite o desenvolvimento crescente de abordagens mais maduras para a ES.
18 Engenharia de Software (cont.) Métodos Analise de Requisitos Envolve a coleta de requisitos (Engenharia de Requisitos) mais intensificada e concentrada no software a ser desenvolvido Tradução das representações em uma linguagem de programação Projeto Tradução dos requisitos do software para um conjunto de representações Codificação Efetua os testes, se necessário os diagnósticos e a correção de defeitos. Teste e Manutenção
19 Engenharia de Software (cont.) Seqüencial linear Prototipação Evolucionários Modelo de Processos Incremental Espiral Montagem de componentes Desenvolvimento concorrente
20 Modelo Espiral
21 Modelo Espiral (evolucionário)
22 Modelo Espiral (cont.) Planejamento: define recursos, referências de tempo e outras informações de projeto. Análise de Risco: levantamento de riscos técnicos e de gerenciamento. Engenharia: constrói uma ou mais representações da aplicação. Construção e release: constrói, testa, instala e dá suporte ao usuários (por exemplo: documentação e treinamento) Avaliação do cliente: obter feedback com base na representação do software criado durante a fase de engenharia e implementado na fase de construção.
23 Modelo Espiral (cont.) Atualmente, a abordagem mais realística; Desenvolvedor e cliente tem capacidade de entender e reagir aos riscos em cada etapa; Exige experiência na determinação de riscos e disso depende o sucesso do projeto.