Introdução Engenharia de Software
|
|
- Yasmin Castilhos Borges
- 6 Há anos
- Visualizações:
Transcrição
1 Introdução Engenharia de Software Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1
2 EMENTA Parte 1 Conceitos de Engenharia de Software. Processo de desenvolvimento de software. Comparação entre os Paradigmas de Desenvolvimento Software. Levantamento, especificação e análise de requisitos. Parte 2 Verificação, validação e manutenção de software. Planejamento e gestão de projetos. Qualidade de software. Métricas de software Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 2
3 Desafio do Desenvolvimento de Software No mercado atual, não há dúvida de que os profissionais de TI envolvidos com projetos de desenvolvimento de software e soluções corporativas têm um claro desafio: PRODUZIR soluções mais rápidas, melhores e mais baratas que antes (melhor ainda ser mais rápidas, melhores e mais baratas que a concorrência) Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 3
4 Evolução do Software 1970s: Lower-CASE (Computer-Aided Software Engineering) ferramenta programação, depuração (ex. Jbuilder, JUnit) Ciclo de vida cascata Desenvolvimento estruturado 1980s: Ciclo de vida espiral Desenvolvimento orientado a objetos Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 4
5 Evolução do Software 1990s: Upper-CASE ferramenta fases de planejamento, análise e projeto do programa ( Ex. JUDE, Poseidon, ArgoUML) Processos Modelagem Atualmente: Métodos ágeis Desenvolvimento dirigido por modelos Linhas de produto Experimentação Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 5
6 Níveis dos sistemas de informação dentro de uma organização Estratégico Gerencial Conhecimento Operacional Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 6
7 Engenharia de Software Métodos e Técnicas para o disciplinar o processo de desenvolvimento do software. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 7
8 O que é Engenharia de Software? Fritz Bauer 1969 ( primeira definição) 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 Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 8
9 O que é Engenharia de Software? IEEE, 1993 A aplicação de uma abordagem sistemática, disciplinada e quantificável para o desenvolvimento, operação e manutenção do software. O estudo de abordagens e princípios a fim de obter economicamente softwares confiáveis e que executem de forma eficiente nas máquinas reais Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 9
10 O que é Engenharia de Software? O engenheiro de software se utiliza de recursos mais adequadas para determinar quais são os elementos necessários para resolução de um problema complexo Programador (técnicas) Engenheiro (técnicas) 1. Paradigma de tentativa e erro 1. Paradigma adaptado ao escopo do sistema 2. Estrutura de Dados 2. Análise e Projeto 3. Linguagens de Programação 3. Ferramentas CASE e SGBD s Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 10
11 Áreas da Engenharia de Software segundo SWEBOK SoftWare Engineering Body of Knowledge Requisitos de Software Projeto de Software Construção de Software Teste de Software Manutenção de Software Gerenciamento de Configuração de Software Gerenciamento de Engenharia de Software Processo de Engenharia de Software Ferramentas e Métodos de Engenharia de Software Qualidade de Software Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 11
12 10 Áreas da Engenharia de Software 1 - Requisitos de Software A Área do Conhecimento de Requisitos de Software está preocupada com a elicitação, análise, especificação e validação da requisitos de software. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 12
13 10 Áreas da Engenharia de Software 2 Design(projeto) de Software É definido como o processo de definição da arquitetura, componentes, interfaces e outras características de um sistema ou componente e também o resultado desse processo. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 13
14 10 Áreas da Engenharia de Software? 3 - Construção de Software Criação detalhada de programas funcionais a partir de uma combinação de codificação, verificação, teste unitário, teste integrado e debugging. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 14
15 10 Áreas da Engenharia de Software? 4 - Teste de Software Verificação dinâmica do comportamento do programa através do uso de um conjunto finito de casos de teste adequadamente selecionados de um domínio de execuções usualmente infinito - contra o comportamento esperado deste Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 15.
16 10 Áreas da Engenharia de Software? 5 - Manutenção de Software Atividades de suporte custo-efetivo a um sistema de software, que pode ocorrer antes e após a entrega do software. Após a entrega do software são feitas modificações com o objetivo de corrigir falhas, melhorar seu desempenho ou adapta-lo a um ambiente modificado. Antes da entrega do software são feitas atividades de planejamento. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 16.
17 10 Áreas da Engenharia de Software? 6 - Gerência de Configuração de Software Identifica a configuração do sistema (características documentadas do hardware e software que o compõem) em pontos discretos no tempo, de modo a controlar sistematicamente suas mudanças e manter sua integridade e rastreabilidade durante o ciclo de vida do sistema. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 17
18 10 Áreas da Engenharia de Software? 7 - Gerência de Engenharia de Software a aplicação de atividades de gestão planejamento, coordenação, medição, monitoramento, controle e divulgação para garantir que o desenvolvimento e manutenção de software seja sistemática, disciplinada e quantificada. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 18
19 10 Áreas da Engenharia de Software? 8 - Processo de Engenharia de Software Define, implementa, mede, gerencia, modifica e aperfeiçoa o processo de desenvolvimento de software. O Processo de engenharia de software inclui atividades técnicas e de gestão dentro dos processos o ciclo de vida de software. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 19
20 10 Áreas da Engenharia de Software? 9 - Ferramentas e Métodos Ferramentas de software automatizam o processo de engenharia de software. Métodos impõem estrutura sobre a atividade de desenvolvimento e manutenção de software com o objetivo de torná-la sistemática e mais propensa ao sucesso. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 20
21 10 Áreas da Engenharia de Software? 10 - Qualidade de Software Conjunto de atividades relacionadas com garantia de qualidade de software, que transcende os processos do ciclo de vida de Software. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 21
22 Elementos da Engenharia de Software? É uma disciplina que integra métodos, ferramentas e procedimentos para o desenvolvimento de software de computador. Possibilitar ao gerente o controle do processo de desenvolvimento Oferecer ao profissional uma base para a construção de software de alta qualidade Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 22
23 Engenharia de Software - Método Métodos: proporcionam os detalhes de como fazer para construir o software. Envolvem um amplo conjunto de tarefas. Um método de ES é uma aproximação estruturada para o desenvolvimento de software. Objetivo: Produção de software de alta qualidade de um modo cost-effective (custo-beneficio). Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 23
24 Engenharia de Software - Método Início na década de 70 (DeMarco e Jackson): Identificação dos componentes funcionais básicos de um sistema; Orientado à função; Bibliotecas de algoritmos. 80s-90s Métodos orientados a objeto (Booch e Rumbaugh). classes,objetos. Atualmente os diferentes métodos estão integrados numa aproximação unificada baseada em Unified Modeling Language (UML). Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 24
25 Engenharia de Software - Método década de 70 década de 80s-90s Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 25
26 Engenharia de Software - Método Métodos devem incluir os seguintes componentes: Descrição gráficas Regras Recomendações Diretrizes de processo Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 26
27 Engenharia de Software - Ferramentas Ferramentas : fornecem suporte automatizado ou semi aos métodos. Existem atualmente ferramentas para sustentar cada um dos métodos Quando as ferramentas são integradas é estabelecido um sistema de suporte ao desenvolvimento de software chamado CASE - Computer Aided Software Engineering Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 27
28 O que é CASE (Computer-Aided Software Engineering) Sistemas de software automatizado utilizados para apoiar as atividades de processo de software. Upper-CASE - Ferramenta para dar apoio às fases iniciais do processo de software. Lower-CASE - Ferramenta para dar apoio à implementação a aos testes. Ex.(Poseidon para UML, ArgoUML...) Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 28
29 Engenharia de Software - Procedimentos Procedimentos : constituem o elo de ligação que mantém juntos os métodos e as ferramentas para desenvolvimento do software. Sequência em que os métodos serão aplicados. Produtos (deliverables) que se exige que sejam entregues. Controles que ajudam assegurar a qualidade e coordenar as alterações. Marcos de referência que possibilitam administrar o progresso do software. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 29
30 Engenharia de Software - Procedimentos Métodos Procedimentos Resultados Ferramentas Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 30
31 Princípios da Engenharia de Software Todo engenheiro de software deve desenvolver com: Rigor e Formalidade Separação de interesses Modularidade Abstração Antecipação de mudanças Generalidade Possibilidades de evolução Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 31
32 Engenharia de Software Visão Genérica: 3 Fases 1 - Definição - o que? Engenharia do Sistema Planejamento do Projeto Análise de Requisitos 2 - Desenvolvimento - como? Projeto Geração do Código Teste 3 - Manutenção Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 32
33 Modelo de Processo de Software Processo conjunto de atividades ações e tarefas realizadas na criação de algum produto definição do problema estado atual desenvolvimento técnico integração da solução Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 33
34 Modelo de Processo de Software Estudo de viabilidade Relatório de viabilidade Levantamento e análise de requisitos Modelos de sistemas Especificação de requisitos Validação de requisitos Requisitos do usuário e do sistema Documentação de requisitos Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 34
35 Modelo de Processo de Software (paradigmas) Modelo Sequencial Linear (ciclo de vida clássico) Modelos Evolucionários - Prototipação - Incremental - Espiral - Métodos Ágeis Modelo de Métodos Formais Técnicas de 4a Geração Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 35
36 Modelo de Processo de Software (paradigmas) É escolhido com base: Na natureza do projeto e da aplicação. Nos métodos e ferramentas a serem utilizados. Nos controles e produtos que precisam ser entregues. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 36
37 Modelo Sequencial Linear (ciclo de vida clássico) Método sistemático e sequencial O resultado de uma fase se constitui na entrada da outra. Cada fase é estruturada como um conjunto de atividades que podem ser executadas por pessoas diferentes, simultaneamente. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 37
38 Modelo Sequencial Linear (ciclo de vida clássico) Engenharia de Sistemas Análise / projeto de sistema e de software Implementação e teste Integração e teste Operação e manutenção Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 38
39 Modelo Sequencial Linear (ciclo de vida clássico) ENGENHARIA DE SISTEMAS envolve a coleta de requisitos em nível do sistema, pequena quantidade de projeto e análise de alto nível; deve-se analisar os requisitos, recursos e restrições para: apresentar soluções; estudar a viabilidade; planejar e gerenciar o desenvolvimento a partir de estimativas e análise de riscos que se utilizam de métricas. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 39
40 Modelo Sequencial Linear (ciclo de vida clássico) ANÁLISE DE REQUISITOS DE SOFTWARE processo de coleta dos requisitos é intensificado e concentrado especificamente no software. deve-se compreender o domínio da informação, a função, desempenho e interfaces exigidos. os requisitos (para o sistema e para o software) são documentados e revistos com o cliente. Resultado o contrato de desenvolvimento Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 40
41 PROJETO Modelo Sequencial Linear (ciclo de vida clássico) É definida a solução do problema Concentra-se em: Estrutura de Dados; Arquitetura de Software; Detalhes Procedimentais e Caracterização de Interfaces. Resultado documentação de especificação de projeto Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 41
42 Modelo Sequencial Linear IMPLEMENTAÇÃO (ciclo de vida clássico) tradução das representações do projeto para uma linguagem artificial resultando em instruções executáveis pelo computador. O projeto é transformado em um programa, ou unidades de programa. ( Teste de Unicidade) Resultado coleção de programas implementados e testados. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 42
43 INTEGRAÇÃO Modelo Sequencial Linear (ciclo de vida clássico) Programas ou unidades de programas são integrados e testados como sistema. Integração incremental programas ou unidades são integradas à medida em que forem sendo desenvolvidos. Resultado produto pronto para ser entregue ao cliente. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 43
44 Modelo Sequencial Linear (ciclo de vida clássico) OPERAÇÃO / MANUTENÇÃO Operação Instalação e configuração Utilização inicialmente operado por um grupo de usuário Manutenção Corretiva Adaptativa Evolutiva. Resultado produto em funcionamento. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 44
45 Problemas com o Modelo Sequencial Linear (ciclo de vida clássico) Todo o planejamento é orientado para a entrega do produto de software em uma data única. Fornece pouca visibilidade do estado do projeto Logo no início é difícil estabelecer explicitamente todos os requisitos. No começo dos projetos sempre existe uma incerteza natural. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 45
46 Modelo Evolucionário Abordagem baseada na ideia de desenvolver uma implementação inicial, expor o resultado ao comentário do usuário e fazer seu aprimoramento por meio de muitas versões. As atividades de desenvolvimento e validação são desempenhadas paralelamente, com um rápido feedback entre elas. Os detalhes e extensões ainda devem ser definidos Ex: editor de texto Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 46
47 Modelo Evolucionário Especificação Versão inicial Descrição do esboço Desenvolvimento Versão intermediárias Validação Versão final Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 47
48 Modelo Evolucionário Tipos: Prototipação Incremental Espiral Métodos Ágeis Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 48
49 PROTOTIPAÇÃO Conversar com o Cliente Construir/Revisar protótipo Revisão e Teste pelo Cliente Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 49
50 PROTOTIPAÇÃO Fim Início Engenharia do produto Coleta e refinamento dos requisitos Projeto rápido Refinamento do protótipo Avaliação do protótipo pelo cliente Construção do protótipo Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 50
51 PROTOTIPAÇÃO Início Fim Coleta e refinamento dos requisitos COLETA DOS REQUISITOS: Engenharia do produto Refinamento do protótipo Avaliação do protótipo pelo cliente Projeto rápido Construção do protótipo desenvolvedor e cliente definem os objetivos gerais do software, identificam quais requisitos são conhecidos e as áreas que necessitam de definições adicionais Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 51
52 PROTOTIPAÇÃO Início Fim Engenharia do produto Refinamento do protótipo Coleta e refinamento dos requisitos Avaliação do protótipo pelo cliente Projeto rápido Construção do protótipo PROJETO RÁPIDO: representação dos aspectos do software que são visíveis ao usuário (abordagens de entrada e formatos de saída) Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 52
53 PROTOTIPAÇÃO Início Fim Engenharia do produto Refinamento do protótipo Coleta e refinamento dos requisitos Avaliação do protótipo pelo cliente Projeto rápido Construção do protótipo CONSTRUÇÃO PROTÓTIPO: Implementação do projeto rápido serve como o primeiro sistema - recomendado que se jogue fora futuramente Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 53
54 PROTOTIPAÇÃO Início Fim Engenharia do produto Refinamento do protótipo Coleta e refinamento dos requisitos Avaliação do protótipo pelo cliente Projeto rápido Construção do protótipo AVALIAÇÃO DO PROTÓTIPO: Cliente e desenvolvedor avaliam o protótipo Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 54
55 PROTOTIPAÇÃO Início Fim Engenharia do produto Refinamento do protótipo Coleta e refinamento dos requisitos Avaliação do protótipo pelo cliente Projeto rápido Construção do protótipo REFINAMENTO DOS REQUISITOS: Cliente e desenvolvedor refinam os requisitos do software a ser desenvolvido. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 55
56 PROTOTIPAÇÃO Início Fim Engenharia do produto Refinamento do protótipo Coleta e refinamento dos requisitos Avaliação do protótipo pelo cliente Projeto rápido Construção do protótipo CONSTRUÇÃO PRODUTO: identificados os requisitos, o protótipo deve ser descartado e a versão de produção deve ser construída considerando os critérios de qualidade. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 56
57 Problemas com a Prototipação O processo não é visível. Os sistemas são freqüentemente mal-estruturados e mal-documentados. Pode exigir ferramentas e técnicas especiais. Processo não é claro, dificuldade de planejamento e gerenciamento. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 57
58 Modelo Incremental incremento 1 Engenharia de Sistemas / Informação Análise Projeto Codificação Testes produto liberado do incremento 1 incremento 2 Análise Projeto Codificação Testes produto liberado do incremento 2 incremento 3 Análise Projeto Codificação Testes produto liberado do incremento 3 incremento 4 Análise Projeto Codificação Testes produto liberado do incremento 4 Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 58
59 Um processo de desenvolvimento iterativo Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 59
60 Vantagens do desenvolvimento incremental Entrega acelerada dos serviços de cliente. Cada incremento fornece a funcionalidade de mais alta prioridade para o cliente. Engajamento do usuário com o sistema. Os usuários têm de estar envolvidos no processo de desenvolvimento, o que significa que o sistema muito provavelmente atenderá aos seus requisitos, e que os usuários estarão mais comprometidos com ele. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 60
61 Problemas com desenvolvimento incremental Problemas de gerenciamento O progresso pode ser difícil de julgar e os problemas, difíceis de serem encontrados, porque não há documentação que mostre o que foi feito. Problemas contratuais O contrato normal pode incluir uma especificação; sem uma especificação, formulários diferentes de contrato têm de ser usados. Problemas de validação Sem uma especificação, contra o que o sistema está sendo testado. Problemas de manutenção Mudanças contínuas tendem a corromper a estrutura do software, o que torna mais dispendioso mudar e evoluir para atender aos novos requisitos. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 61
62 Desenvolvimento incremental e prototipação Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 62
63 Desenvolvimento Incremental x Prototipação Para alguns sistemas grandes, o desenvolvimento e a entrega incremental e iterativa pode não ser prático; isso é especialmente verdadeiro quando múltiplas equipes estão trabalhando em localidades diferentes. Prototipação, no sentido de um sistema experimental, é desenvolvido como base para a formulação de requisitos que podem ser usados. O processo de prototipação inicia com aqueles requisitos que não são bem compreendidos. Esse sistema é descartado quando a especificação do sistema for acordado. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 63
64 Modelo Espiral (Boehm) Planejamento Análise de Risco 1 2 Planejamento: determinação dos objetivos, alternativas e restrições Análise dos riscos: análise de alternativas e identificação /resolução dos riscos Engenharia: desenvolvimento do produto no nível seguinte 4 3 Avaliação do cliente Engenharia Avaliação feita pelo cliente: avaliação dos resultados da engenharia Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 64
65 Modelo Espiral São identificados objetivos específicos, tais como desempenho e funcionalidade. São determinadas alternativas para atingir estes objetivos. São identificadas restrições do processo e do produto e é elaborado um relatório de gestão detalhado. Coleta inicial dos requisitos e planejamento do projeto Planejamento baseado nos comentários do cliente Planejamento Análise de risco Estratégias alternativas, dependendo dos riscos detectados, podem ser planejados. Avaliação do cliente Engenharia Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 65
66 Modelo Espiral Planejamento Avaliação do cliente Análise de risco Engenharia Para cada risco do projeto identificado em Planejamento é levada a cabo uma análise detalhada. Decisão de prosseguir/não prosseguir Riscos: Riscos de projeto Riscos técnicos Riscos de produto Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 66
67 Modelo Espiral Planejamento Análise de risco Na direção de um sistema concluído Protótipo de software inicial Avaliação do cliente Engenharia Sistema construído pela engenharia Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 67
68 Modelo Espiral tarefas requeridas para obter um feedback do cliente baseado na avaliação da representação do software criado durante a fase de engenharia e implementado durante a fase de instalação Planejamento Análise de risco Avaliação do cliente Engenharia Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 68
69 Técnicas de 4 a Geração Obtenção dos Requisitos Estratégia de Projeto Implementação usando 4GL Testes Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 69
70 Técnicas de 4 a Geração Concentra-se na capacidade de se especificar o software a uma máquina em um nível que esteja próximo à linguagem natural. Engloba um conjunto de ferramentas de software que possibilitam que: o sistema seja especificado em uma linguagem de alto nível e o código fonte seja gerado automaticamente a partir dessas especificações. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 70
71 Técnicas de 4 a Geração O ambiente de desenvolvimento inclui as ferramentas: linguagens não procedimentais para consulta de banco de dados geração de relatórios manipulação de dados interação e definição de telas geração de códigos capacidade gráfica de alto nível capacidade de planilhas eletrônicas Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 71
72 Combinando Paradigmas obtenção preliminar dos requisitos análise dos requisitos prototipação técnicas 4G modelo espiral projeto prototipação enésima interação técnicas 4G codificação técnicas 4G modelo espiral: enésima interação testes Sistema Completo Manutenção Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 72
73 Qual Modelo Escolher Escolher um modelo de desenvolvimento para o sistema Riscos significativos na interface com o utilizador desenvolvimento evolutivo. Riscos de segurança Desenvolvimento Formal Riscos na integração dos sub-sistemas Modelo Cascata Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 73
74 Métodos Ágeis A insatisfação com os overheads envolvidos nos métodos de projeto levou à criação dos métodos ágeis. Esses métodos: Enfocam o código ao invés do projeto; São baseados na abordagem iterativa para desenvolvimento de software; São destinados a entregar software de trabalho e evoluí-lo rapidamente para atender aos requisitos que se alteram. Os métodos ágeis são, provavelmente, os mais adequados para sistemas de negócio de pequeno/médioporte. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 74
75 Métodos Ágeis Devido à rápida mudança dos ambientes de negócio, os negócios devem responder às novas oportunidades e à competição. Isso requer software e desenvolvimento rápido, e a entrega é, frequentemente, o requisito mais crítico para sistemas de software. Os negócios podem estar dispostos a aceitar um software de baixa qualidade se a entrega rápida e a funcionalidade essencial for possível. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 75
76 Princípios dos Métodos Ágeis Envolvimento do cliente Entrega incremental Clientes devem ser profundamente envolvidos no processo de desenvolvimento. Seu papel é fornecer e priorizar novos requisitos do sistema e avaliar as iterações do sistema. O software é desenvolvido em incrementos e o cliente especifica os requisitos a serem incluídos em cada incremento. Pessoas, não processo Aceite as mudanças Mantenha a simplicidade As habilidades da equipe de desenvolvimento devem ser reconhecidas e exploradas. Os membros da equipe devem desenvolver suas próprias maneiras de trabalhar sem processos prescritivos. Projete o sistema para acomodar mudanças. Elimine a complexidade do sistema. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 76
77 Problemas com Métodos Ágeis Difícil manter o interesse dos clientes que estão envolvidos no processo. Os membros da equipe podem ser inadequados para o intenso envolvimento que caracteriza os métodos ágeis. A priorização de mudanças pode ser difícil onde existem múltiplos stakeholders. A manutenção da simplicidade requer trabalho extra. Problemas nos contratos. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 77
78 XP - extreme Programming É talvez o mais conhecido e mais amplamente usado dos métodos ágeis. A extreme programming (XP) leva uma abordagem extrema para desenvolvimento iterativo. Novas versões podem ser compiladas várias vezes por dia. Os incrementos são entregues para os clientes a cada 2 semanas. Todos os testes devem ser realizados para cada nova versão. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 79
79 extreme Programming A quem se destina Grupos de 2 a 10 programadores Projetos de 1 a 36 meses (calendário) De 1000 a linhas de código Papéis: Programadores (foco central)(sem hierarquia) Treinador ou Técnico (coach) Acompanhador (tracker) Cliente Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 80
80 Os 4 valores de XP Comunicação Simplicidade. Retorno (feedback) Coragem Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 81
81 Práticas do extreme Programming Planejamento Incremental Pequenos releases Projeto simples consiste em decidir o que é necessário ser feito e o que pode ser adiado no projeto. Conjunto mínimo útil de funcionalidade é desenvolvido Projeto suficiente para atender aos requisitos atuais. Desenvolvimento test-first Uso um framework automatizado. Refactoring Programação em pares Propriedade coletiva Integração contínua Ritmo sustentável Cliente on-site Espera-se que todos os desenvolvedores recriem o código continuamente. Os desenvolvedores trabalham em pares. Os pares trabalham em todas as áreas do sistema. Tarefa concluída é automaticamente integrada ao sistema. Não aceitar grande quantidade de horas extras. Um usuário do sistema deve estar disponível em tempo integral. Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 82
Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.
1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade
Sistemas de Informação I
+ Sistemas de Informação I Processo de software I Ricardo de Sousa Britto rbritto@ufpi.edu.br + O que é Engenharia de Software n Definição dada pela IEEE [IEE93]: n Aplicação de uma abordagem sistemática,
REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com
REVISÃO ENGENHARIA DO SOFTWARE Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Software Sequencia de Instruções a serem seguidas ou executadas Dados e rotinas desenvolvidos por computadores Programas
Engenharia de Software
Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo
Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.
Processos de Software Objetivos Apresentar os modelos de processo de software Conjunto coerente de atividades para especificar, projetar, implementar e testar s de software Descrever os diferentes modelos
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às
natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues
Modelo De Desenvolvimento De Software É uma representação abstrata do processo de desenvolvimento que define como as etapas relativas ao desenvolvimento de software serão conduzidas e interrelacionadas
Engenharia de Software
CENTRO UNIVERSITÁRIO NOVE DE JULHO Profº. Edson T. França edson.franca@uninove.br Software Sistemas Conjunto de elementos, entre os quais haja alguma relação Disposição das partes ou dos elementos de um
Princípios da Engenharia de Software Aula 02. Prof.: Franklin M. Correia
Princípios da Engenharia de Software Aula 02 Prof.: Franklin M. Correia Na aula anterior... Introdução a Engenharia de Software O que é software? O que é Engenharia de Software? Conceitos importantes Tipos
Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software
Análise e Projeto de Sistemas Análise e Projeto de Sistemas Contextualização ENGENHARIA DE SOFTWARE ANÁLISE E PROJETO DE SISTEMAS ENGENHARIA DA INFORMAÇÃO Perspectiva Histórica Engenharia de Software 1940:
Desempenho e Segurança em Sistemas de Informação. Profa.: Me. Christiane Zim Zapelini E-mail: christianezapelini@nwk.edu.br
Desempenho e Segurança em Sistemas de Informação Profa.: Me. Christiane Zim Zapelini E-mail: christianezapelini@nwk.edu.br Desempenho e Segurança em Sistemas de Informação Aula 5 Áreas da Engenharia de
ENG1000 Introdução à Engenharia
ENG1000 Introdução à Engenharia Aula 01 Processo de Desenvolvimento de Software Edirlei Soares de Lima Processo de Software O processo de software consiste em um conjunto estruturado
IntroduçãoaoGuia SWEBOK. Ernani Lopes Isensee 2014
IntroduçãoaoGuia SWEBOK Ernani Lopes Isensee 2014 Conhecendo o SWEBOK Guide to the Software Engineering Body of Knowledge IEEE Institute of Electrical and Electronic Engineers Conhecendo o SWEBOK O guia
Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1
Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de
ENGENHARIA DE SOFTWARE I
ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis
Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi
Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia
Desenvolvimento Ágil de Software
Desenvolvimento Ágil de Software Métodos ágeis (Sommerville) As empresas operam em um ambiente global, com mudanças rápidas. Softwares fazem parte de quase todas as operações de negócios. O desenvolvimento
Processo de Software - Revisão
Processo de Software - Revisão Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Pressman, R. S. Engenharia de Software, McGraw-Hill, 6ª. Edição,
Professor: Curso: Disciplina:
Professor: Curso: Disciplina: Aula 1 Turma: Esp. Marcos Morais de Sousa Sistemas de informação Engenharia de Software I Dinâmica da disciplina, plano de curso e avaliação 03º semestre Prof. Esp. Marcos
Processos de Software
Processos de Software Prof. Márcio Lopes Cornélio Slides originais elaborados por Ian Sommerville O autor permite o uso e a modificação dos slides para fins didáticos O processo de Um conjunto estruturado
Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1
Engenharia de Software Parte I Introdução Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Mitos do Desenvolvimento de Software A declaração de objetivos é suficiente para se construir um software.
Pós Graduação Engenharia de Software
Pós Graduação Engenharia de Software Ana Candida Natali COPPE/UFRJ Programa de Engenharia de Sistemas e Computação FAPEC / FAT Estrutura do Módulo Parte 1 QUALIDADE DE SOFTWARE PROCESSO Introdução: desenvolvimento
Modelo Cascata. Alunos: Bruno Nocera Zanette Pedro Taques
Modelo Cascata Alunos: Bruno Nocera Zanette Pedro Taques Principais Características Gerenciamento Simples das etapas Também conhecido como "Ciclo de Vida Clássico", sugere uma abordagem sistemática e sequencial
MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS O termo metodologia não possui uma definição amplamente aceita, sendo entendido na maioria das vezes como um conjunto de passos e procedimentos que
Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios
Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana
Engenharia de Software II
Engenharia de Software II Aula 3 http://www.ic.uff.br/~bianca/engsoft2/ Aula 3-29/04/2006 1 Monitoria Marina Albuquerque E-mail: monitoriaes2@yahoo.com.br Horário de Atendimento: Terça e quinta de 09:00
Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com
Engenharia de Software: conceitos e aplicações Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com 1 Objetivos da aula Apresentar os conceitos de Engenharia de Software e explicar a sua importância.
AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião
AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE Prof. Msc. Hélio Esperidião O QUE É UM ALGORITMO? É qualquer procedimento computacional bem definido que informa algum valor ou conjunto de valores como entrada
Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1
Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas
ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.
ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página
Engenharia de Software
Engenharia de Software Slide 05 Modelos de Processos Maurício Archanjo Nunes Coelho mauricio.coelho@ifsudestemg.edu.br Instituto Federal Análise de Sistemas Por que surgiu a Engenharia de Software? Resposta
Engenharia de Software II
Engenharia de Software II Aula 5 http://www.ic.uff.br/~bianca/engsoft2/ Aula 5-05/05/2006 1 Dúvidas da aula passada RUP (Rational Unified Process) é uma ferramenta ou um processo? Resposta: os dois. O
Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619
Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o
O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no
1.1 RATIONAL UNIFIED PROCESS (RUP) O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no processo que atende pelo nome de Processo Unificado (ou UP do inglês Unified
Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental
CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS Elicitação Ciclo de Vida Clássico ou Convencional O Modelo Cascata Análise Ana Paula Terra Bacelo Blois Implementação Material Adaptado do Prof. Marcelo Yamaguti
Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1
Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas
Processos de Desenvolvimento de Software
Processos de Desenvolvimento de Software Gerenciamento de Projetos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e
O modelo unificado de processo. O Rational Unified Process, RUP.
Cursos: Sistemas de Informação Disciplina: Administração ADM Prof. Jarbas Avaliação: Prova B1, 5º/6º semestres Data: 27/09/2010 Nome: Gabarito RA: Assinatura: Turma: 1) Segundo as afirmações a seguir,
Tópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas.
Métodos Ágeis Edes Garcia da Costa Filho edes_filho@dc.ufscar.br 1 Tópicos Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Extreme Programming (XP). Referências Bibliográficas. 2 Histórico
Processo Unificado (RUP)
Fases do Desenvolvimento Processo Unificado (RUP) Ulf Bergmann ulf@ime.eb.br Domínio do Problema Objetos Objetos do do Mundo Mundo real real Modelo Semântico Domínio da Solução Aplicação Interface Serviços
Engenharia de Requisitos Estudo de Caso
Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este
Pós-Graduação em Gerenciamento de Projetos práticas do PMI
Pós-Graduação em Gerenciamento de Projetos práticas do PMI Planejamento do Gerenciamento das Comunicações (10) e das Partes Interessadas (13) PLANEJAMENTO 2 PLANEJAMENTO Sem 1 Sem 2 Sem 3 Sem 4 Sem 5 ABRIL
Engenharia de Software
Engenharia de Software Roteiro Software Evolução do Software Engenharia de Software Modelo Espiral Software Software Definição Conjunto de instruções que manipulam estruturas de dados (informação) Composição
Faculdade Pitágoras. Engenharia de Software. Prof.: Julio Cesar da Silva. juliocesar@tecnocracia.eti.br. Http://e-academy.com.br
Faculdade Pitágoras Engenharia de Software Prof.: Julio Cesar da Silva juliocesar@tecnocracia.eti.br Http://e-academy.com.br Evolução do Software (1950 1965) - O hardware sofreu contínuas mudanças - O
Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2
Processos de Desenvolvimento de Software Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2 A Engenharia de Software Uma Tecnologia em Camadas ferramentas métodos processo foco na qualidade
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO Santa Maria, 27 de Setembro de 2013. Revisão aula anterior Desenvolvimento Ágil de Software Desenvolvimento e entrega
Prototipação de Software
UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Prototipação de Software Engenharia de Software 2o. Semestre de 2005
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 05 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 05 PROFª BRUNO CALEGARO Santa Maria, 24 de Setembro de 2013. Revisão aula anterior Processos de Software Engenharia de Requisitos, Projeto,
Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes
Engenharia de Software: Introdução Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Programa 1. O processo de engenharia de software 2. UML 3. O Processo Unificado 1. Captura de requisitos 2.
Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0
O que é BABok? O BABok 2.0, Corpo de Conhecimento de Análise de Negócios, é considerado como um Guia Referência de Práticas de Análise de Negócio. Este guia é publicado e mantido pelo IIBA. O guia BABok
DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho.
- DSI DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. Preocupação: Problema técnicos Mudança na natureza e conteúdo do trabalho
QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1
QUALIDADE DE SOFTWARE Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1 Objetivos Apresentar o processo de gerenciamento de qualidade e as atividades centrais da garantia de
Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr
Engenharia de Software Apostila I >>> Introdução à ES - HEngholmJr Histórico de Revisões Data Versão Descrição Autor 12/08/2014 1.0 Criação da primeira versão HEngholmJr Agenda Introdução à Engenharia
! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado
Agenda! Introdução " Motivação para Processos de Software! (USDP) " Definições " RUP x USDP " Características do! Descrição detalhada do! Processos Derivados! Templates simplificados! Conclusões 2 Processo
UML - Unified Modeling Language
UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril
DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga
DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis Profª Esp.: Maysa de Moura Gonzaga 2º Semestre / 2011 Extreme Programming (XP); DAS (Desenvolvimento Adaptativo de Software)
! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico. " Crise do Software
Agenda Introdução a Engenharia de Cleidson de Souza cdesouza@ufpa.br http://www.ufpa.br/cdesouza! e Engenharia de! Engenharia de e Programação! Histórico " Crise do! No Silver Bullet! Fases Genéricas do
RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP
RUP Rational Unified Process ( Unificado de Desenvolvimento da Rational) Conjunto de passos que tem como objetivo atingir uma meta de software na ES, processo que visa a produzir o software - de modo eficiente
Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I Aula 3
Processos de Desenvolvimento de Software Ricardo Argenton Ramos UNIVASF Engenharia de Software I Aula 3 Modelos de Processo de Software O Modelo Sequencial Linear Aula passada também chamado Modelo Cascata
O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software
O que é software? Software e Engenharia de Software Programas de computador Entidade abstrata. Ferramentas (mecanismos) pelas quais: exploramos os recursos do hardware. executamos determinadas tarefas
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO Santa Maria, 10 de Outubro de 2013. Revisão aula anterior Documento de Requisitos Estrutura Padrões Template Descoberta
DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga
DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil Profª Esp.: Maysa de Moura Gonzaga 2º Semestre / 2011 O Processo Unificado dos autores Ivar Jacobson, Grady Booch e James
Processos de gerenciamento de projetos em um projeto
Processos de gerenciamento de projetos em um projeto O gerenciamento de projetos é a aplicação de conhecimentos, habilidades, ferramentas e técnicas às atividades do projeto a fim de cumprir seus requisitos.
Tópicos. Engenharia de Software: Uma Visão Geral
Tópicos 2 3 Engenharia de Software: Uma Visão Geral SCE 186 - Engenharia de Software Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestre de 2002 A importância do Software Software Aplicações
Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com /
Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: SIG Aula N : 11 Tema: Como desenvolver e
ISO/IEC 12207: Gerência de Configuração
ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que
Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas
Gerenciamento de Gerenciamento de Configuração Novas versões de sistemas de software são criadas quando eles: Mudam para máquinas/os diferentes; Oferecem funcionalidade diferente; São configurados para
Processo de Desenvolvimento Unificado
Processo de Desenvolvimento Unificado Processo de Desenvolvimento de Software? Conjunto de atividades bem definidas; com responsáveis; com artefatos de entrada e saída; com dependências entre as mesmas
PROFESSOR: CRISTIANO MARIOTTI
PROFESSOR: CRISTIANO MARIOTTI Conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto de software; Considerado um dos principais mecanismos para se obter software de qualidade
Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto
Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com PMBoK Organização do Projeto Os projetos e o gerenciamento
Introdução à Computação
Aspectos Importantes - Desenvolvimento de Software Motivação A economia de todos países dependem do uso de software. Cada vez mais, o controle dos processos tem sido feito por software. Atualmente, os
Qualidade de Software. Anderson Belgamo
Qualidade de Software Anderson Belgamo Qualidade de Software Software Processo Produto Processo de Software Pessoas com habilidades, treinamento e motivação Processo de Desenvolvimento Ferramentas e Equipamentos
Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria
Agenda Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria Introdução Processo de software é o conjunto de ferramentas, métodos
Introdução à Engenharia de Software
Introdução à Engenharia de Software 1 Engenharia de Software Ementa Conceitos de Engenharia de Software. Produto e processo de desenvolvimento de software. Extração, análise e especificação de requisitos.
Metodologia de Gerenciamento de Projetos da Justiça Federal
Metodologia de Gerenciamento de Projetos da Justiça Federal Histórico de Revisões Data Versão Descrição 30/04/2010 1.0 Versão Inicial 2 Sumário 1. Introdução... 5 2. Público-alvo... 5 3. Conceitos básicos...
Modelos de processos de desenvolvimento de software
Definição Um modelo de processo de software é uma representação abstrata de um processo. Os modelos de processo podem ser desenvolvidos a partir de várias perspectivas e podem mostrar as atividades envolvidas
Programa do Módulo 2. Processo Unificado: Visão Geral
9.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) O Processo Unificado (RUP) Processo Unificado: Visão Geral 9.2 Encaixa-se na definição geral de processo:
Capítulo 1. Extreme Programming: visão geral
Capítulo 1 Extreme Programming: visão geral Extreme Programming, ou XP, é um processo de desenvolvimento de software voltado para: Projetos cujos requisitos são vagos e mudam com freqüência; Desenvolvimento
PROJETO DE FÁBRICA DE SOFTWARE
FACULDADE SETE DE SETEMBRO FASETE Departamento de Sistemas de Informação PROJETO DE FÁBRICA DE SOFTWARE Denise Xavier Fortes Paulo Afonso BA Agosto/2015 Sumário 1. INTRODUÇÃO... 3 2. PERFIS FUNCIONAIS...
Engenharia de Software 01 - Introdução. Márcio Daniel Puntel marciopuntel@ulbra.edu.br
Engenharia de Software 01 - Introdução Márcio Daniel Puntel marciopuntel@ulbra.edu.br Engenharia de Software Nações desenvolvidas dependem de software; Cada vez mais sistemas são controlados por software;
Modernização e Evolução do Acervo de Software. Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br
Modernização e Evolução do Acervo de Software Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br Tópicos 1. Estudo Amplo sobre Modernização 2. Visão IBM Enterprise Modernization 3. Discussão - Aplicação
AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0
AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento
CHECK - LIST - ISO 9001:2000
REQUISITOS ISO 9001: 2000 SIM NÃO 1.2 APLICAÇÃO A organização identificou as exclusões de itens da norma no seu manual da qualidade? As exclusões são relacionadas somente aos requisitos da sessão 7 da
REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO
Capítulo 12 REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO 12.1 2003 by Prentice Hall OBJETIVOS De que forma o desenvolvimento de um novo sistema poderia mudar a maneira de uma organização trabalhar?
PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS
PDS - DATASUS Processo de Desenvolvimento de Software do DATASUS Coordenação Geral de Arquitetura e Engenharia Tecnológica Coordenação de Padronização e Qualidade de Software Gerência de Padrões e Software
Engenharia de Software
Engenharia de Software Conceitos e Metodologias para Desenvolvimento de Software Cascata, Prototipação, Espiral e RUP Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT Disciplina: Modelagem a Programação Orientada a Objetos
Extração de Requisitos
Extração de Requisitos Extração de requisitos é o processo de transformação das idéias que estão na mente dos usuários (a entrada) em um documento formal (saída). Pode se entender também como o processo
5. Métodos ágeis de desenvolvimento de software
Engenharia de Software 5. Métodos ágeis de desenvolvimento de software Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Desenvolver e entregar software o mais rapidamente possível é hoje em dia um dos
Gerenciamento de projetos. cynaracarvalho@yahoo.com.br
Gerenciamento de projetos cynaracarvalho@yahoo.com.br Projeto 3URMHWR é um empreendimento não repetitivo, caracterizado por uma seqüência clara e lógica de eventos, com início, meio e fim, que se destina
Características do Software
Questionamentos Por que tanta demora para entregar? Por que os prazos se atrasam? Por que os custos são altos? Por que não achar todos os erros antes de entregar? Por que dificuldade em medir o progresso
A Disciplina Gerência de Projetos
A Disciplina Gerência de Projetos Atividades, Artefatos e Responsabilidades hermano@cin.ufpe.br Objetivos Apresentar atividades da disciplina Gerência de Projetos Discutir os artefatos e responsáveis envolvidos
Planejamento e Gerência de Projetos de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás
Planejamento e Gerência de Projetos de Software Prof.: Ivon Rodrigues Canedo PUC Goiás Projeto É um trabalho que visa a criação de um produto ou de serviço específico, temporário, não repetitivo e que
Engenharia de Software
Engenharia de Software Processo de Software Thiago P. da Silva thiagosilva.inf@gmail.com Agenda Revisando Engenharia de Software Engenharia de Sistemas Processo de software Fases Genéricas de Modelos de
Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004
Introdução ao RUP Rational Unified Process por Denize Terra Pimenta Outubro/2004 1 Contexto Não é suficiente apenas a presença de desenvolvedores altamente treinados: Precisamos de uma linguagem para a