Fundamentos de Engenharia de SW

Slides:



Advertisements
Apresentações semelhantes
Os projetos.
Advertisements

Engenharia de Software
Engenharia de Software
Gerência de Projetos Wesley Peron Seno Introdução
O Processo Praxis 3.0 Processos de Software 25/03/2017
Engenharia de Software
Engenharia de Software
Prototipação de Software
Gerenciamento de Projetos
Engenharia de Software
Rational Unified Process(RUP)
Modelos de Processos de desenvolvimento de Software
INTRODUÇÃO A INFORMÁTICA
FACULDADE DOS GUARARAPES
Mitos e Problemas Relacionados ao Software
Prof. Aruanda Simões - Análise e Projeto OO Processo de Desenvolvimento n As grandes fases: –Planejamento e elaboração –Construção –Implantação Sistema.
RUP Rational Unified Process (Processo Unificado de Desenvolvimento da Rational) 1.
Processos de Desenvolvimento de Software
Processo Desenvolvimento de Software Tradicional
Análise e Projeto de Sistemas
Como Desenvolver Sistemas de Informação
Modelos de Processos de Software
Processos de Software II
Sistemas Multimídia e Interface Homem-Máquina
Processo de Software Prof. Dr. rer. nat. Daniel D. Abdala
Desafios do desenvolvimento de software
Visão Geral PRO.NET.
Cap 2 – Processo de Software
Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Processos de Desenvolvimento de Software – Parte 2
Engenharia de Software
Oficina Mecânica TADS 2011.
Rapid Application Development (RAD)
Análise e Projeto de Sistemas
Engenharia de Software
Desenvolvimento Rápido de Aplicação (RAD)
Modelos de Processo de Software
Processo de Desenvolvimento de Software
ENGENHARIA DE SOFTWARE
Técnicas e Projeto de Sistemas
PSBD II Projeto de Sistemas de Banco de Dados II
Introdução à Engenharia de Software
Especificação em Projeto de Sistemas
Bruno Silva Desenvolvido a partir de
RUP - Cap. 5 – Processo Iterativo e Incremental
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
RUP - Cap. 4 – Processo Centrado na Arquitetura
Processo de Desenvolvimento de Software – PDS C Construção - PAS
Processos de Software.
Processos de Software.
Técnicas e Projeto de Sistemas
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Engenharia de Software e Rapid Application Development
Gestão de projetos de Software GTI-16
Modelos de Processos de Software
Engenharia de Software
Engenharia de Software
Engenharia de Software Ciclo de Vida do Software: Espiral
Engenharia de Software
Professora: Kelly de Paula Cunha
Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 2 Professor: Italo Rodrigues Castro.
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
Apresentação Leonardo Brussolo de Paula
Desenvolvimento de Software I
Ciclo de Vida de Sistemas de Informação
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

Fundamentos de Engenharia de SW Ciclo de Vida de Projetos de SW Prof. E.A.Schmitz 2008/1

Ciclo de vida de projetos Projetos são empreendimentos únicos e portanto envolvem um grau de incerteza. Organizações dividem projetos em fases de forma a garantir um melhor controle e encadeamento com as operações correntes da empresa. O conjunto das fases de um projeto é conhecido como ciclo de vida do projeto.

Ciclo de vida de projetos Cada fase do projeto é marcada pela conclusão de um ou mais produtos. Produto de trabalho: deve ser tangível e verificável. Exemplo: um estudo de viabilidade, um projeto detalhado ou um protótipo executável.

Seqüência das fases de projetos A seqüência de fases normalmente envolve alguma forma de transferência de informação: p.ex. de requisitos para projeto ou de projeto para construção. Produtos das fases precedentes são usualmente aprovados antes do início da fase seguinte. “Fast tracking”: fases correndo em paralelo com um risco tolerável.

Modelos de Ciclo de vida Modelos de ciclos de vida de projetos definem: quem deve estar envolvido em cada fase; que parte do trabalho técnico que deve ser feita em cada fase.

Modelos básicos de ciclo de vida de SW Cascata Iterativo Incremental Espiral

Seqüencial Linear Análise Projeto Testes Engenharia de Sistemas Codificação Testes

Cascata Viabilidade Requisitos Projeto Cod. Módulos Integração Entrega Manutenção

Cascata Processo linear: Consiste de 7 fases saída de uma fase é a entrada para a seguinte Consiste de 7 fases 1. Estudo de viabilidade 2. Definição de requisitos 3. Projeto 4. Codificação e teste dos módulos 5. Integração e teste do sistema 6. Entrega e aceitação 7. Manutenção

Cascata Problemas Apesar disto: dificuldade de estimar com pouca informação especificação de requisitos é um documento escrito usuário não sabe os requisitos exatos processo não força antecipação das mudanças processo baseado na produção de documentos (burocrático) Apesar disto: ainda é o modelo mais usado pela simplicidade contratual.

Sequencial com Fast Tracking Variante do modelo sequencial linear Fase inicia antes que a(s) precursora(s) tenha(m) terminado Aumenta risco de retrabalho Requisitos Projeto Cod. Módulos

Iterativo (Prototipação) Processo cíclico para especificar: requisitos definidos pelo usuário necessidades de hardware e software Construção rápida dos primeiros modelos não integrados ao produto final Após o término é feita a definição do sistema com focando os demais requisitos de qualidade

Iterativo (Prototipação) Ouvir o Cliente Desenho e Construção Avaliação do Cliente Prototipação é uma boa opção para a definição de requisitos

Iterativo (Prototipação) Pontos positivos grande interação com o usuário qualidade da definição da interface Pontos negativos expectativa do usuário compromissos com a tecnologia

Incremental Requisitos Projeto Projeto Cod. Mód. Cod. Mód. Integraçào Aceite Aceite

Incremental (Rapid Application Development- RAD) Modelagem do Negócio dos Dados de Processos Geração do Aplicativo Testes 60-90 dias Modelagem do Negócio dos Dados de Processos Geração do Aplicativo Testes 60-90 dias

RAD 1-Modelagem do negócio: definição das atividades a serem executadas e seus requisitos de informação 2-Modelagem dos dados – Definição dos objetos de dados que suportam o negócio 3-Modelagem do tratamento da informação – Descrição dos processos de manipulação dos objetos de dados 4-Geração da aplicação – usando técnicas de geração de código e bibliotecas de componentes 5-Testes – Tempo de testes reduzido devido ao uso de componentes

RAD Pontos positivos Pontos negativos uso de componentes redução do tempo Pontos negativos tamanho da equipe necessidade de comprometimento não adequada a projetos de risco

Espiral Reune a natureza interativa da prototipação com os aspectos sistemáticos e de controle do modelo sequencial Grupos de atividades: Comunicação com o cliente; Planejamento; Análise de risco; Engenharia; Construção e distribuição; Avaliação do cliente.

Espiral (cont.) 4-Avaliar 1-Objetivos ? 2-Avaliar Alternativas Riscos 3-Construir

Espiral Cada volta ao longo da espiral gera: Permite ao desenvolvedor: um protótipo versão mais sofisticada; Permite ao desenvolvedor: utilizar a prototipação em qualquer estágio de evolução do produto manter a sistemática sugerida pelo ciclo de vida clássico.

Unified Process (UP) Processo bem definido: Processo personalizável: define claramente quem é responsável pelo que, como as coisas devem ser feitas e quando fazê-las. Estruturado em Fases (tempo) e Disciplinas (áreas de interesse). Processo personalizável: suporta a adaptação e criação de processos variedade de processos podem ser montadas a partir dele. Configurações: suportar equipes grandes e pequenas, técnicas de desenvolvimento disciplinadas ou menos formais.

Unified Process (UP)

Características do UP Mistura os estilos de processo iterativo e incremental Premissas: Tempo de desenvolvimento de sistemas grandes não permite definir o problema e construir a solução num único passo. Os requisitos irão mudar naturalmente durante o desenvolvimento do projeto, devido a arquitetura, necessidades do cliente ou um melhor entendimento do problema original. Iteração: Permite um melhor entendimento do produto através de refinamentos sucessivos e ataca os itens de alto-risco de um projeto com prioridade alta. Sempre resulta num "lançamento executável”; o que ajuda a reduzir o risco do projeto.

Extreme Programming (XP) Proposta: Desenvolver softwares de forma que as mudanças sejam implementadas a medida em que as mesmas vão surgindo durante o desenvolvimento do software. Cliente satisfeito significa "software eficiente" O software é desenvolvido de acordo com mudanças requeridas pelo cliente: até que o software fique como o cliente solicitou.

Características do XP Se adapta às inevitáveis mudanças que ocorrem durante o desenvolvimento Desenvolver software da maneira mais rápida possível: ainda assim confiável e eficiente. Como: ignorando, adiando ou gastando menos tempo com atividades como documentação, projeto e modelagem. Garantia: O software é sempre testado a medida em que novas mudanças são implementadas