Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

Documentos relacionados
Análise e Projeto de Sistemas

UNIVERSIDADE FEDERAL DO PARANÁ UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Prof. Ms. Ronaldo Martins da Costa

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

Princípios da Engenharia de Software aula 03

Paradigmas de Software

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno

Definições e ciclo de vida

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Modelos de Processo de Software

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

INF014 Análise e Projeto de Sistemas Processos Unificado -RUP

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner

Ciclo de Vida de Sistemas de Informação

Cadeira: Engenharia de Software

Engenharia de Software II

2

Engenharia de Software Processo de Desenvolvimento de Software

Escolhendo um Modelo de Ciclo de Vida

Processo de Desenvolvimento de Software

INSTITUTO FEDERAL DE SÃO PAULO CAMPUS PRESIDENTE EPITÁCIO MODELO DOS PROCESSOS DE SOFTWARE

CAPÍTULO 1 CONCEITOS BÁSICOS SOBRE ANÁLISE DE SISTEMAS Ciclo de vida de um software

Processos de software

CICLO DE VIDA DE SOFTWARE

PDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno

Processos de Software

PROCESSOS DE SOFTWARE

QUESTÕES TESTES. Questão 1. O modelo de ciclo de vida em cascata:

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

Analista de Sistemas S. J. Rio Preto

Processo Unificado (PU) Unified Process

Engenharia de Software

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Engenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia

CICLO DE VIDA DO SOFTWARE. Nas empresas também é difícil adotar apenas um ciclo de vida, na maioria das vezes possui mais de um.

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

- Prototipação Iterativa - Observação Direta

FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS. Projeto de Programas PPR0001

Rational Unified Process (RUP)

Modelos de Processo de Software. SSC Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

Ciclo de vida do software

Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias

RUP RATIONAL UNIFIED PROCESS

Requisitos de Sistemas

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

TESTES DE SOFTWARE Unidade 1 Importância do Teste de Software. Luiz Leão

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

Engenharia de Software

MODELAGEM DE SISTEMAS Unidade 5 Ciclo de Vida Iterativo e Incremental. Luiz Leão

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS

Engenharia de Software

Modelos Prescritivos de Processo

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

Processos de software Leitura: Cap3 Sommerville / Cap1: Pressman - Ariadne

Halison Miguel Edvan Pontes


Modelos de Processo de Software. Profª Jocelma Rios

INF014 Análise e Projeto de Sistemas Ciclos de vida e Processos de Software

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2

Documentação de Software. Simone Vasconcelos

Engenharia de Software

2. Processos em Engenharia de Software

Introdução à Engenharia de Software

Recursos Utilizados pelo Sistema Dinheiro, computadores. Pessoal especializado, formulários, salas, suprimentos em geral.

ISO/IEC Processo de ciclo de vida

Processo devem incorporar uma estratégia desenvolvimento

Introdução a Teste de Software

Análise e projeto de sistemas

DICIONÁRIO DA ESTRUTURA ANALÍTICA DO PROJETO - SISCOP. Data Versão Descrição Autor

05/09/2013. Ciclo de vida de um Sistema de Informação

Modelos de Ciclo de Vida

Engenharia de Software

Prof. Luiz A. Nascimento

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

Engenharia de Software: Uma Visão Geral. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Áreas de Conhecimento, Técnicas de Análise de Negócio e Conceitos-Chave

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)

Tópicos da Aula. O que é anunciado. Falha de Comunicação no Desenvolvimento de Software. Engenharia de Software: Conceitos Fundamentais

Metodologia de Gestão de Desenvolvimento de Sistemas da UFVJM

Engenharia de Software Introdução

14/11/2014. Engenharia de Software. Modelos de software. Modelo Clássico - Cascata

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 03 PROFª BRUNO CALEGARO

Componentes de SIs. Pessoas Organiz. Tecnologia

Guia do Processo de Teste Metodologia Celepar

MODELAGEM DE SISTEMAS Unidade 1 Conceitos Básicos de Modelagem. Luiz Leão

Processo de desenvolvimento de sistema de informação - DSI

Unidade 4 Teste na Implantação do Sistema

Engenharia de Software I

Introdução à Engenharia de Software

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

CSE Métodos e Processos na Área Espacial

Escopo: PROCESSOS FUNDAMENTAIS

Prof. Dr. Thiago Jabur Bittar

Ciclo de vida: fases x atividades

Introdução à Engenharia de Software e Modelos de Processos de Software. Engenharia de Software Profa. Inês A.G.Boaventura 2.

Sistema Mobi-Lar Engenharia de Software

Engenharia de Software I: Introdução. Graduação em Informática 2009 Profa. Itana Gimenes

Transcrição:

Bibliografia Quais são os problemas? 4 A sofisticação do software ultrapassou nossa capacidade de construção. 4 Nossa capacidade de construir programas não acompanha a demanda por novos programas. 4 Nossa capacidade de manter programas é ameaçada por projetos ruins. 4 Custo, tempo e resultado estão sempre fora das estimativas iniciais.

Visões de Projeto Causas: Causas Óbvias: Não dedicamos tempo para coletar dados sobre o desenvolvimento do software - resulta em estimativas a olho ; Comunicação entre o cliente e o desenvolvedor é muito fraca; Falta de testes sistemáticos e completos. Causas menos óbvias: O Software é desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico (característica 1); Gerentes sem formação específica ou treinamento em desenvolvimento de SW; Profissionais recebem pouco treinamento formal; Faltam investimentos; Faltam métodos e automação.

Engenharia de Software em Camadas Ferramentas Métodos Processo Foco na Qualidade Processos de Software 4 Formam a base para o controle gerencial de projetos de software e estabelecem o contexto no qual os métodos técnicos são aplicados, os produtos de trabalho (modelos, documentos, dados, relatórios, formulários etc.) são produzidos, os marcos são estabelecidos, a qualidade é assegurada e as modificações são adequadamente geridas.

Processo de Software Genérico 4 Comunicação: levantamento de requisitos e atividade relacionadas. 4 Planejamento: business plan (riscos prováveis, recursos disponíveis, produtos gerados, cronograma de trabalho). 4 Modelagem: criação de modelo que permitem ao desenvolvedor e cliente entender melhor os requisitos do software 4 Construção: geração de código (automática ou não) e testes de software 4 Implantação: entrega do software e feedback do cliente Engenharia de Software em Camadas Ferramentas Métodos Processo Foco na Qualidade

Métodos de ESOF 4 Fornecem a técnica de como fazer para construir softwares. Abrangem um amplo conjunto de tarefas para cada uma das fases propostas por um processo adotado. Por exemplo, dentro da fase de Modelagem do processo, diferentes tipos de modelos podem ser adotados (UML, DFD, DHF). Levantamento de Requisitos - Tarefas Projeto de Pequeno Porte 1. Lista de interessados (stakeholder). 2. Reunião informal com stakeholders. 3. Cada interessado fazer uma lista das características e funções desejadas. 4. Discuta requisitos e construa uma lista formal. 5. Priorize os requisitos 6. Observe áreas de incerteza. Projeto de Grande Porte 1. Lista de interessados (stakeholders). 2. Entrevista de cada interessado separadamente. 3. Construa lista preliminar de funções. 4. Reuniões em grupos comuns 5. Produza cenários informais por área de interesse comum. 6. Refina os cenários de acordo com feedback. 7. Construa lista revisada de requisitos. 8. Crie pacotes seqüenciais de entrega dos requisitos. 9. Anote as restrições e limitações que serão colocadas no sistema. 10. Discuta métodos para validação do sistema.

Engenharia de Software em Camadas Ferramentas Métodos Processo Foco na Qualidade Ferramentas CASE 4 Fornecem um apoio automatizado ou semi-automatizado para o processo e para os métodos. 4 CASE: Computer Aided Software Engineering.

Paradigmas de Engenharia de Software Existem muito modos de ir para frente, mas apenas um de ficar parado Paradigma: Conjunto de etapas que envolve métodos, ferramentas e procedimentos. Destacam-se: 4 Clico de vida Clássico - modelo cascata Abordagem Cascata Pura Abordagem Incremental Abordagem Evolucionária 4 Prototipação * 4 Modelo Espiral 4 Técnicas de Quarta Geração * Não considerado como paradigma, e sim como abordagem, por alguns autores Ciclo de Vida Clássico

Ciclo de Vida Clássico Eng. Sistemas Cascata Pura: Análise Projeto Codificação Testes Manutenção Ciclo de Vida Clássico Eng. Sistemas: estabelecimento de requisitos; envolvimento de diversos profissionais; Análise: analista compreende o domínio da informação para o SW; analista compreende a função/desempenho e interface exigidos; documentação de requisitos (do usuário e do sistema); Projeto: concentração em estrutura de dados, arquitetura do SW, detalhes procedimentais e caracterização da interface

Ciclo de Vida Clássico Codificação: tradução do projeto em uma forma legível para o computador; Testes: concentração em aspectos lógicos do SW; garantia da execução de todas as instruções; análise de aspectos funcionais externos; detecção de erros. Manutenção: mudanças para adequação/ correção de erros/ melhorias/acréscimos funcionais. Ciclo de Vida Clássico Problemas do modelo Cascata: Divisão (inflexível) do projeto em fases Dificuldade de acomodar mudanças de requisitos dos usuários Modelo apropriado à situações na qual os requisitos não sofrerão alterações e não serão modificados (??)

Ciclo de Vida Clássico 2. Abordagem Incremental: o autor executa múltiplas fases de projeto, testes e manutenção Análise de Projeto Desenvolvimen to Projeto Testes Operação e manutenção Ciclo de Vida Clássico 3. Abordagem Evolucionária o autor executa múltiplas cascatas em seqüência Concurr ent activities Specification Initial version Outline description Development Intermediate versions Validatio n Final version

Ciclo de Vida Clássico Característica básica: há múltiplos ciclos de abordagem cascata pura, com sobreposição de fases de operação e manutenção; É adequada nas situações: é necessário alguma experiência do usuário para refinar e completar requisitos; algumas partes da implementação podem depender da existência de tecnologia ainda não disponível; nem todos os requisitos do usuário são conhecidos; alguns requisitos são mais difíceis de serem implementados que outros e não serão implementados para não atrasarem o projeto. Prototipação Início Fim 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

Prototipação Características Gerais: desenvolvimento de protótipos de forma a refinar os requisitos do sistema; há refinamento de protótipos; o protótipo é, via de regra, reutilização de outras soluções anteriores e já existe; o protótipo não é versão do produto; é necessária uma boa definição das regras entre cliente e projetista; o custo pode ser maior que o esperado, uma vez que podemos dar muitas voltas no ciclo até que o cliente esteja satisfeito. Problemas Gerais: Cliente vê versões do produto; Concessões de implementação; Necessidade de rígida definição de regras. Modelo Espiral

Modelo Espiral FASES do Modelo Espiral: I. Definição dos objetivos Especificação dos objetivo/riscos/alternativas e restrições. II. Análise dos riscos Identificação e solução dos principais riscos III. Desenvolvimento e validação IV. Avaliação pelo Cliente O projeto é revisto e se define planos para a próxima volta da espiral A cada interação, ao redor da espiral, versões mais completas do Software são construídas. Ao final de cada arco da espiral, a conclusão da análise de riscos resulta em uma decisão de prosseguir ou não - Forte Análise de Riscos. Técnicas de Quarta Geração - 4GT Trata-se de um amplo conjunto de Ferramentas, visando que o desenvolvedor especifique características do SW em alto nível. Visa geração automática de SW. Coleta de Requisitos Estratégia de Projeto Implementação com uso de 4GL TESTES

Técnicas de Quarta Geração - 4GT Observações e Problemas Gerais: desenvolvedor deve realizar testes cuidadosos - desenvolver uma documentação significativa e executar as demais atividades de transição; há divergências entre os diversos autores sobre resultados; muito aplicadas em sistemas de informação comerciais; a aplicação de técnicas de 4GT para grandes aplicações exigem tanto ou mais análise, planejamento e testes para conseguir substanciais reduções de tempo. O Processo Unificado Requisitos Análise Projeto Implementação Testes Concepção Elaboração Construção Transição Muita ênfase Pouca ênfase 28

O Processo Unificado Executar o processo de Engenharia de Requisitos ( levantamento e análise ). Determinar o que deve ou não estar na nova versão do produto. 29 O Processo Unificado CONCEPÇÃO - Artefatos Plano do Projeto (global e detalhado para a fase de elaboração). Especificação de Requisitos. Diagrama de Pacotes e Diagrama de Domínio. 30

O Processo Unificado Requisitos Análise Projeto Implementação Testes Concepção Elaboração Construção Transição Muita ênfase Pouca ênfase 31 O Processo Unificado Analisar mais profundamente o domínio do problema, identificando os componentes de cada subsistema do software. Assegurar que os requisitos, a nova arquitetura do sistema e os planos estão suficientemente estáveis e os riscos suficientemente diminuídos. Prever com precisão e segurança a conclusão do desenvolvimento. 32

O Processo Unificado ELABORAÇÃO - Artefatos Plano do Projeto revisado. Especificação de Requisitos e Declaração de Escopo. Documento de Arquitetura do Sistema Diagramas de Pacotes. Diagramas de Domínio. Diagramas de Classes. Diagramas de Interação. Diagramas de Atividades. 33 O Processo Unificado Requisitos Análise Projeto Implementação Testes Concepção Elaboração Construção Transição Muita ênfase Pouca ênfase 34

O Processo Unificado Escrever o código-fonte de cada parte do sistema (subsistema), considerando os requisitos validados e a arquitetura de software definida. Produzir a documentação, de forma iterativa e incremental, dos módulos implementados de cada subsistema. Desenvolver atividades e programas para implantação, empacotamento e distribuição do software (produto final). 35 O Processo Unificado Plano do Projeto revisado. Especificação de Requisitos e Declaração de Escopo revisados. Documento de Arquitetura do Sistema atualizado. Documentos gerados pela implementação. Testes e integrações. 36

O Processo Unificado Requisitos Análise Projeto Implementação Testes Concepção Elaboração Construção Transição Muita ênfase Pouca ênfase 37 O Processo Unificado Disponibilizar o sistema para uso. Treinar usuários e equipe de manutenção do sistema através de testes beta. Coletar observações e novos requisitos de usuários. Corrigir erros para melhorar o desempenho e a usabilidade do sistema. Executar as atividades e programas para implantação, empacotamento e distribuição do sistema. 38

O Processo Unificado TRANSIÇÃO - Artefatos Plano de Projeto realizado. Especificação de Requisitos e Declaração de Escopo implementados. Documento de Arquitetura atualizado. Documentos gerados pela implementação revisados. Código-objeto para distribuição. Sistema testado e implantado. 39 Combinando Paradigmas Há viabilidade na combinação de paradigmas - PRESSMAN (2005). Não há necessidade de ser dogmático em relação à escolha de paradigmas para a Engenharia de Software; O paradigma do modelo espiral realiza isso diretamente, combinando a prototipação e elementos do ciclo de vida clássico em uma abordagem evolucionária. ESOF Pessoas Treinadas Ferramentas

Exercícios 1. Descreva 2 casos de problemas causados por erros em software que você conhece (OBS: não adianta falar do Windows) 2. Descreva 2 produtos (que não seja um computador) onde o software faz a diferença.