15
Técnicas e Projeto de Sistemas André Mesquita Rincon [email protected] [email protected] Introdução a Engenharia de Software – Parte 2 Técnico Subsequente – Módulo III (22/02/2010)

Técnicas e Projeto de Sistemas André Mesquita Rincon [email protected] [email protected] Introdução a Engenharia de Software – Parte 2 Técnico

Embed Size (px)

Citation preview

Técnicas e Projeto de Sistemas

André Mesquita [email protected]@gmail.com

Introdução a Engenharia de Software – Parte 2

Técnico Subsequente – Módulo III(22/02/2010)

Engenharia de Software – Modelos

o Definem um conjunto distinto de atividades, ações, tarefas, marcos e produtos de trabalho

o Engenheiros de software e seus gerentes adaptam um modelo de ciclo de vida a sua necessidades e depois o seguem

o Fornece estabilidade, controle e organização a uma atividade que pode, se deixada sem controle, tornar-se bastante caótica

Engenharia de Software – Modelos

o Ciclo de vida clássico (Cascata)o Abordagem sistemática e sequencialo Paradigma mais antigo da ES

Engenharia de Software – Modelos

o Ciclo de vida clássico (Cascata)o Vantagens

o Torna o processo estruturado de forma fácil de ser visualizado e utilizado

o Todas as atividades identificadas nas fases do modelo são fundamentais

o Esta abordagem é quase que um padrão para muitas empresas

Engenharia de Software – Modelos

o Ciclo de vida clássico (Cascata)o Desvantagens

oNão fornece feedback entre as fases e não permite a atualização ou redefinição das fases anteriores

oNão suporta modificações nos requisitos (O cliente deveria “saber” todos os requisitos no início do projeto)

oNão visa a reutilização

o É excessivamente sincronizado, se ocorrer um atraso todo o processo é afetado

oO produto só é visto no final

Engenharia de Software – Modelos

o Ciclo de vida clássico (Cascata)o Pode ser evoluído em uma versão iterativao Chamada de modelo incremental

o Divide o projeto em pacotes de trabalho e aplica o modelo cascata

o Permite entregas mais rápidaso Exige um bom planejamento de iteraçõeso Representado por um gráfico com o modelo cascata

Engenharia de Software – Modelos

o Modelos evolucionários

o Prototipação

o Espiral

Engenharia de Software – Modelos

o Modelos evolucionários – Prototipaçãoo Vantagem

oConstrução de protótipos para aprovações das idéias e coleta de novos requisitos

oO cliente e o desenvolvedor devem ambos concordar que o protótipo seja construído para servir como um mecanismo a fim de definir os requisitos

o DesvantagemoCliente insiste que o protótipo seja com ligeiras

modificações, a versão final do produto

Engenharia de Software – Modelos

o Modelos evolucionários – Espiralo Engloba as melhores características do ciclo de vida

Clássico com o da prototipação

o Segue a abordagem de passos sistemáticos do Ciclo de Vida Clássico incorporando-os numa Estrutura Iterativa que reflete mais realisticamente o mundo real

o Modelo utilizado por métodos ágeis

o Representado pelo desenho de um espiralo 1: Análise de requisitos e planejamento; 2: Análise de riscos

(gerenciar expectativas), 3: Prototipação e avaliação do cliente; 4: Construção e testes; 5: Aprovação pelo cliente

Engenharia de Software – Modelos

o Técnicas de Quarta Geraçãoo Concentra-se na capacidade de se especificar o

software a uma máquina em um nível próximo à linguagem natural

o Engloba um conjunto de ferramentas de software que possibilitam que:oO sistema seja especificado em uma linguagem de alto

nível

oO código fonte seja gerado automaticamente a partir dessas especificações

Engenharia de Software – Modelos

o Técnicas de Quarta Geraçãoo Vantagens

oQuanto mais alto o nível em que o software pode ser especificado em uma máquina, mais rapidamente o programa pode ser construído

oObtenção de requisitos facilitada: o cliente descreve os requisitos que são traduzidos para um protótipo operacional

oCiclo de vida simplificado

Engenharia de Software – Modelos

o Técnicas de Quarta Geração – Ciclo de vida

Engenharia de Software – Modelos

o Técnicas de Quarta Geraçãoo Desvantagens

oO cliente pode estar inseguro quanto aos requisitos

oO cliente pode ser incapaz de especificar as informações de forma adequada

oPode não ser eficiente em projetos grandes

Engenharia de software

o Áreas de conhecimento da engenharia de Software (SWEBOK IEEE)o Engenharia de requisitos, Design, Construção, Teste,

Manutenção, Gerência de configuração, Gerência da engenharia de software, Processos da engenharia de software, Ferramentas e métodos da engenharia de software e Qualidade de Software

o Disciplinas relacionadaso Engenharia da computação, Gerência de Projetos, Ciência

da Computação, Ergonomia de Software, Matemática e Engenharia de Sistemas

Atividade (Em grupo: Máximo 3)

1. Descreva os modelos (ou paradigmas) da engenharia de software (mínimo de 3 linhas para cada um deles):1. Ciclo de vida clássico (cascata):2. Incremental:3. Prototipagem:4. Espiral:5. Técnicas de quarta geração: