View
226
Download
0
Category
Preview:
Citation preview
ENGENHARIA DE SOFTWARE
FAMETROPROF. ALBERTO VILAÇA
PRODUTOS DE SOFTWAREMODELO ARTESANAL C
iclos de vida
MODELOS DE PROJETOS Ciclos de vida
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
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
PROCESSO DE DESENVOLVIMENTO DE PROJETOS C
iclos de vida
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
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
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
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
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
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
CASCATA Sub-processos são executados em estrita
seqüênciaDefine pontos de controle que facilitam a
gestão dos Projetos.
Ciclos de vida
NOVO MODELO DO CASCATAC
iclos de vida
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
CASCATA COM REALIMENTAÇÃO Ciclos de vida
NOVO CASCATA COM REALIMENTAÇÃO C
iclos de vida
Operação eManutenção
Codificação
Projeto
Análise deRequisitos
Teste eIntegração
Engenharia deSistemas
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
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
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
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
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
PROTOTIPAÇÃO EVOLUTIVA Ciclos de vida
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
ENTREGA EVOLUTIVA Ciclos de vida
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
MODELO EM ESPIRALREQUER MUITOS DOMÍNIOS E PRÁTICA DE PLANEJAMENTO DE PROJETOS
Ciclos de vida
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
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
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
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
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
AVALIAÇÃO 1 Data: 29/03/2011 Assunto: Cap 1 Livro Roger Pressman.
Ciclos de vida
Recommended