engenharia de software fametro prof. alberto vilaÇa

33
ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

Upload: beatriz-cordeiro

Post on 07-Apr-2016

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

ENGENHARIA DE SOFTWARE

FAMETROPROF. ALBERTO VILAÇA

Page 2: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

PRODUTOS DE SOFTWAREMODELO ARTESANAL C

iclos de vida

Page 3: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

MODELOS DE PROJETOS Ciclos de vida

Page 4: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

CONCEITO DE PROCESSO Processo é um conjunto de passos parcialmente

ordenados, constituídos por atividades, métodos, praticas e transformações, usado para atingir uma meta.

Um processo é uma receita que é seguida por um projeto.

Projeto(abstrato) -> Processo(receita) -> Produto

Ciclos de vida

Page 5: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

PROCESSOS O processo é o instrumento capaz de

responder a qualquer momento:

O que é feito? (Produto) Como é feito? (Passos) Por quem é feito? (Agente) O que usa? (Insumos) O que Produz? (resultados)

Ciclos de vida

Page 6: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

PROCESSO DE DESENVOLVIMENTO DE PROJETOS C

iclos de vida

Page 7: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

DIFICULDADES Não há um processo de software padrão A ES não possui a mesma tradição e

status de outras engenharias – civil, mecânica e elétrica.

Grandes projetos de software são freqüentemente únicos.

Aspectos comuns Técnicas de planejamento e

gerenciamento são amplamente aplicadas em diversas áreas

SEMINÁRIO MARCAR

Ciclos de vida

Page 8: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

DESAFIOS Bom gerenciamento do projeto Qualidade no sistema entregue Mas software é intangível!

Não pode ser pesado Sua força não pode ser medida Sua durabilidade não pode ser avaliada Sua resistência ao esforço físico não pode ser

estimada

Ciclos de vida

Page 9: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

MODELOS DE CICLO DE VIDA Especificam as atividades que, de

acordo com o modelo, devem ser executadas,assim como a ordem que devem ser executadas.

Produtos de software podem ser construídos utilizando-se diferentes modelos de processos;Alguns modelos são mais adequados que

outros para determinados tipos de aplicação.

A opção por um determinado modelo deve ser feita levando-se em consideração o produto a ser desenvolvido.

Ciclos de vida

Page 10: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

OBJETIVOS DOS MODELOS Auxiliar no processo de produção:

produtos de alta qualidade, produzidos mais rapidamente e a um custo cada vez menor.

Possibilitam:1. Ao gerente: controlar o processo de

desenvolvimento de sistemas de software2. Ao desenvolvedor: obter a base para

produzir, de maneira eficiente, software que satisfaça os requisitos pré-estabelecidos.

Ciclos de vida

Page 11: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

CICLOS DE VIDA Benefícios

Processa o entendimento e compreensão Ordena as atividades globais Melhora a qualidade do produto Reduz os custos de software

Deficiências Granularidade muito baixa - esconde detalhes

importantes do processo

Ciclos de vida

Page 12: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

CODIFICA-REMENDA Ciclo mais caótico; Utiliza-se de uma ou até nenhuma

especificação; Modelo de alto risco não permite assumir

compromissos confiáveis;É o mais utilizado pelas pessoas que estão iniciando

Ciclos de vida

Page 13: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

CASCATA Sub-processos são executados em estrita

seqüênciaDefine pontos de controle que facilitam a

gestão dos Projetos.

Ciclos de vida

Page 14: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

NOVO MODELO DO CASCATAC

iclos de vida

Page 15: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

CASCATAPONTOS POSITIVOS: Proporciona mais confiabilidade; Possui uma variante que permite revisão e

alteração de resultados das fases anteriores;Documentos são gerados e assinados a cada fase.

PONTOS NEGATIVOS: Processo rígido e burocrático; Possui baixa visibilidade para o cliente; A realimentação entre fases torna difícil a

gerencia do projeto (nesse ciclo de vida).

Ciclos de vida

Page 16: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

CASCATA COM REALIMENTAÇÃO Ciclos de vida

Page 17: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

NOVO CASCATA COM REALIMENTAÇÃO C

iclos de vida

Operação eManutenção

Codificação

Projeto

Análise deRequisitos

Teste eIntegração

Engenharia deSistemas

Page 18: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

DESENVOLVIMENTO EVOLUCIONÁRIO PROGRAMAÇÃO EXPLORATORIA1. Desenvolver a primeira versão o mais rápido

possível;2. Especificação do escopo é feita de forma

intercalada ao desenvolvimento;3. Versões são mostradas aos usuários para

comentários;4. Modificações sucessivas são feitas até que seja

considerado adequado.

Ciclos de vida

Page 19: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

DESENV. EVOLUCIONÁRIO

O que você acha desse modelo??

Ciclos de vida

Descrição do esboço

Especificação

Desenvolvimento

Validação

Versão inicial

Versões intermediarias

Versão final

Page 20: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

PROTOTIPAÇÃO Busca contornar algumas das limitações

existentes no modelo Cascata. A idéia por trás deste modelo é eliminar a

política de "congelamento" dos requisitos antes do projeto do sistema ou da codificação.

Ciclos de vida

Análise deRequisitos

Projeto

Codificação

Teste

Projeto Codificação Teste

Análise deRequisitos

Page 21: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

PROTOTIPAÇÃO Este protótipo pode ser oferecido ao

cliente em diferentes formas, a saber: protótipo em papel ou modelo executável em PC

retratando a interface homem-máquina com isso capacitando o cliente a compreender a forma de interação com o software;

um protótipo de trabalho que implemente um subconjunto dos requisitos indicados;

um programa existente (pacote) que permita representar todas ou parte das funções desejadas para o software a construir.

Ciclos de vida

Page 22: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

PROTOTIPAÇÃO EVOLUTIVA Construção de uma série de versões

provisórias(protótipos);

Os protótipos ajudam a colher requisitos;

Cliente recebe versões finalizadas de partes do produto

Requer gestão sofisticada;

Requer equipe disciplinada;

Ciclos de vida

Page 23: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

PROTOTIPAÇÃO EVOLUTIVA Ciclos de vida

Page 24: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

ENTREGA EVOLUTIVA Combinação entre cascata e prototipagem;

Definir ponto de avaliação por parte do usuário;

Fornece realimentação da decisões tomadas.

Ciclos de vida

Page 25: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

ENTREGA EVOLUTIVA Ciclos de vida

Page 26: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

CICLO DE VIDA EM ESPIRAL Desenvolvido em uma série de interações

Cada interação é uma nova volta no espiral;

Diminui períodos de construção;

Necessita de uma gestão de projetos bem sofisticada.

Ciclos de vida

Page 27: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

MODELO EM ESPIRALREQUER MUITOS DOMÍNIOS E PRÁTICA DE PLANEJAMENTO DE PROJETOS

Ciclos de vida

Page 28: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

MODELO DE BOEHM 1988C

iclos de vida

Protótipo 1

Conceito deOperação

Plano de RequisitosPlano de Ciclo

de Vida

Revisão

Análisede Riscos

Análisede Riscos

Análisede Riscos

Protó-tipo 2

Protó-tipo 3

Protó-tipo

Simulações, modelos, ...

Requisitosde Software

RequisitosValidação dosDesenvolvimento

Plano de

Integração e TestesPlano de

ficação do Pro-Validação e Veri-

jeto

Projetodo pro-

duto desoftware

Opera-cional

ProjetoDetalha-do

CódigoTeste

deuni-dadeInte-

graçãoe teste

Testede acei-tação

Imple-menta-ção

Próximas etapasdo plano

Avalia alternativas,identifica e resolve

riscos

Desenvolve e verificaProduto do Próximo

Nível

Determina objetivosalternativas e restrições

Análisede Riscos

CUSTO ACUMULADO

AVANÇO

Page 29: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

CICLO DE VIDA DIRIGIDO POR FERRAMENTAS CASEA sigla CASE significa “Computer-Aided

Software Engineering”. Engenharia de Software Auxiliada por Computador”.

é um aplicativo que auxilia os profissionais envolvidos na tarefa de produzir sistemas. O tipo de “ajuda”, depende da proposta do fabricante. São elas:

1. Lower CASE - ferramentas de codificação (front-end);

2. Upper CASE - ferramentas de análise, projeto e implementação;

3. Integrated CASE - união de Upper e Lower CASE.

Ciclos de vida

Page 30: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

PROCESSO DE APOIO AUTOMÁTICO(CASE)

CASE é um software de apoio aos processos de desenvolvimento e evolução de software:Automação de atividadeEditores gráficos para desenvolvimento do

modelo de sistemaDicionário de dados para gerenciar entidades

de projetoConstrutor de GUI para construção da interface

do usuárioDebuggers para ajudar a encontrar falhas no

programaTradutores automáticos para gerar novas

versões do programa

Ciclos de vida

Page 31: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

REALIDADE DA CASE Impõem processos rígidos que podem se

adequar para tipos bem específicos de produtos;

Qualidade do processo depende fundamentalmente da qualidade da ferramenta.

Ciclos de vida

Page 32: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

SEMINÁRIO> TEMAS: (1)CMM; (2)MPS.BR; (3) PROCESSO PRAXIS; (4)CMMI; (5)NORMAS ISO de desenvolvimento

de software; (6)Extreme Programming(XP); (7)SCRUM; (8) PMBOK.

>FORMAÇÃO DOS GRUPOS: 8 grupos de 5 alunos = 40

DATA DAS APRESENTAÇÕES: 5, 12 e 19 de Abril.

REGRAS:1) Duração das apresentações: minima de 25 min. e max de 30 min. por grupo;2) Entregar ao professor, o trabalho escrito formato abnt, no dia da apresentação;3)Trabalho escrito (4) pts+ apresentação individual (4)pts + frequencia (2)pts = 10pts.4)Se qualquer aluno faltar, ou chegar atrasado em pelo menos um dia das apresentações a

frequencia será 0, salvo apresentação de atestado médico.5) Tempo de tolerância para atrasos 10 minutos.6) O Grupo deve elaborar slides, e dividir o tempo para que todos possam apresentar.

Ciclos de vida

Page 33: ENGENHARIA DE SOFTWARE FAMETRO PROF. ALBERTO VILAÇA

AVALIAÇÃO 1 Data: 29/03/2011 Assunto: Cap 1 Livro Roger Pressman.

Ciclos de vida