Professor Mário Dantas
description
Transcript of Professor Mário Dantas
![Page 1: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/1.jpg)
Professor Mário Dantas
ENGENHARIA DE SOFTWARE
![Page 2: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/2.jpg)
2
Aula 02 Processos Existentes; Ciclo de vida de desenvolvimento de
software;
![Page 3: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/3.jpg)
3
Processo de Software - Introdução
O que é processo de software: É um conjunto ( framework ) de atividades e
resultados associados que geram um produto de software;
Há quatro atividades de processo de software fundamentais, a saber:
Especificação do software; Desenvolvimento do Software; Validação do Software; Evolução do Software;
![Page 4: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/4.jpg)
4
Processo de Software - Introdução
Uma Visão Genérica: 3 Fases Definição - “o que”
Análise de Requisitos Análise do Sistema Planejamento do Projeto
Desenvolvimento - “como” Projeto Geração do Código Teste
Manutenção
![Page 5: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/5.jpg)
5
Processo de Software - Introdução
Processo de Software é diferente de Engenharia de Software: Processo define a abordagem; Engenharia engloba também as tecnologias
como métodos e ferramentas;
![Page 6: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/6.jpg)
6
Processo de Software – Engenharia de Software Já vimos que Engenharia de Software é:
Uma disciplina da engenharia que se ocupa de todos os aspectos do desenvolvimento de software;
Para o IEEE (Instituto de Engenheiros Eletricistas e Eletrônicos) é: aplicação de uma abordagem sistemática,
disciplinada e quantificável ao desenvolvimento, operação e manutenção de software, ou seja, a aplicação da engenharia ao software;
O estudo de abordagens do tipo declarado acima.
![Page 7: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/7.jpg)
7
Processo de Software – Engenharia de Software
Analisando as definições anteriores podemos encarar a Engenharia de Software como uma tecnologia em camadas:
ferramentasmétodosprocesso
foco na qualidade
![Page 8: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/8.jpg)
8
Processo de Software – Engenharia de Software
É o “solo” e o porque de utilizarmos um processo de software.
Gerenciamento da Qualidade Total e filosofias similares produzem uma mudança cultural que permite o desenvolvimento crescente de abordagens mais maduras para a Engenharia de Software.
ferramentasmétodosprocesso
foco na qualidade
![Page 9: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/9.jpg)
9
Processo de Software – Engenharia de Software
É a “fundação”; É o que intermedeia as camadas de tecnologias e
permite um desenvolvimento de software racional e em tempo;
Define um conjunto de áreas chave do processo que deve ser estabelecido para um uso efetivo da Engenharia de Software;
ferramentasmétodosprocesso
foco na qualidade
![Page 10: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/10.jpg)
10
Processo de Software – Engenharia de Software
É o “como fazer”; Englobam um conjunto de tarefas que inclui
análise de requisitos, projeto, implementação, teste e manutenção;
ferramentasmétodosprocesso
foco na qualidade
![Page 11: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/11.jpg)
11
Processo de Software – Engenharia de Software
É o “instrumento apropriado”; Dão suporte automatizado ou semi-automatizado
aos métodos; Quando as ferramentas que apoiam os métodos se
integram, forma-se a Engenharia de Software auxiliada por computador – CASE – Computer Aided Software Engineering;
ferramentasmétodosprocesso
foco na qualidade
![Page 12: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/12.jpg)
12
Processo de Software – Engenharia de Software O objetivo desta aula é dar foco no
PROCESSO de desenvolvimento de software e aos MODELOS existentes na literatura;
Processo de software define uma abordagem;
Modelo é uma descrição simplificada, uma abstração dessa abordagem;
![Page 13: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/13.jpg)
13
Processo de Software – Modelo de Processo de Software Um modelo de processo de software deve
ser escolhido com base: Na natureza do projeto e da aplicação; Nos métodos e ferramentas a serem
utilizados; Nos controles e produtos que precisam ser
entregues;
![Page 14: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/14.jpg)
14
Processo de Software – Modelo de Processo de Software Alguns modelos de processo:
Modelo Seqüencial Linear Modelo RAD Modelos Evolucionários
Modelo de Prototipação ( Descartáveis ) Incremental ( Exploratório ) Espiral ( Exploratório )
Técnicas de 4a Geração
![Page 15: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/15.jpg)
15
Processo de Software – Modelo Seqüencial Linear Também conhecido como ciclo de vida
clássico ou Modelo Cascata: Modelo mais antigo e mais usado; Modelado em função do ciclo de engenharia
convencional; Requer uma abordagem sistemática e
seqüencial para o desenvolvimento de um software;
![Page 16: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/16.jpg)
16
Processo de Software – Modelo Seqüencial Linear Muitos aplicam esse modelo de forma
estritamente linear:
Engenharia de Sistemas / Informação
Projeto Codificação Testes Análise
![Page 17: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/17.jpg)
17
Processo de Software – Modelo Seqüencial Linear
Mas o modelo original prevê a volta:Engenharia de Sistemas
Análise de Requisitos
Projeto
Codificação
Testes
Manutenção
![Page 18: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/18.jpg)
18
Processo de Software – Modelo Seqüencial Linear
Envolve a coleta de requisitos de todos os elementos do sistema;
Essa visão de sistema é essencial quando o software faz interface com outros elementos como HW, pessoas e BD;
Engenharia de Sistemas
Análise de Requisitos
Projeto
Codificação
Testes
Manutenção
![Page 19: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/19.jpg)
19
Processo de Software – Modelo Seqüencial Linear
Processo de coleta dos requisitos é intensificado e concentrado especificamente no software.
Deve-se compreender o domínio da informação, a função, desempenho e interfaces exigidos.
Os requisitos (para o sistema e para o software) são documentados e revistos com o cliente.
Engenharia de Sistemas
Análise de Requisitos
Projeto
Codificação
Testes
Manutenção
![Page 20: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/20.jpg)
20
Processo de Software – Modelo Seqüencial Linear
Tradução dos requisitos do software para um conjunto de representações que podem ser avaliadas quanto à qualidade, antes que a codificação se inicie
Se concentra em 4 atributos do programa:
Estrutura de Dados, Arquitetura de
Software, Detalhes
Procedimentais e Caracterização de
Interfaces.
Engenharia de Sistemas
Análise de Requisitos
Projeto
Codificação
Testes
Manutenção
![Page 21: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/21.jpg)
21
Processo de Software – Modelo Seqüencial Linear
Tradução das representações do projeto para uma linguagem “artificial” resultando em instruções executáveis pelo computador.
Engenharia de Sistemas
Análise de Requisitos
Projeto
Codificação
Testes
Manutenção
![Page 22: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/22.jpg)
22
Processo de Software – Modelo Seqüencial Linear
Concentram-se: nos aspectos
lógicos internos do software, garantindo que todas as instruções tenham sido testadas.
nos aspectos funcionais externos, para descobrir erros e garantir que a entrada definida produza resultados que concordem com os esperados.
Engenharia de Sistemas
Análise de Requisitos
Projeto
Codificação
Testes
Manutenção
![Page 23: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/23.jpg)
23
Processo de Software – Modelo Seqüencial Linear
O software deverá sofrer mudanças depois que for entregue ao cliente
Engenharia de Sistemas
Análise de Requisitos
Projeto
Codificação
Testes
Manutenção
![Page 24: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/24.jpg)
24
Processo de Software – Modelo Seqüencial Linear
Problemas: Projetos reais raramente seguem o fluxo sequencial
proposto;
É dificil estabelecer todos os requisitos no começo do projeto na qual existe uma incerteza natural quanto a esses requisitos;
Uma versão do software só vai ficar pronto em um ponto tradio do desenvolvimento; Assim se houver algum erro grave não detectado na
análise ou projeto o resultado pode ser desastroso; Há muitos estágios bloqueantes que permitem a
ociosidade dos desenvolvedores em alguns momentos
![Page 25: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/25.jpg)
25
Processo de Software – Modelo Seqüencial Linear
Embora o Modelo Seqüencial Linear ou Ciclo de Vida Clássico tenha fragilidades, ele é significativamente melhor do que uma abordagem casual ao desenvolvimento de software.
![Page 26: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/26.jpg)
MODELOS DE PROCESSO
RAD – Rapid Application Development
![Page 27: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/27.jpg)
27
É o modelo seqüencial linear, mas que enfatiza um desenvolvimento extremamente rápido;
A “alta velocidade” é conseguida através de uma abordagem de construção baseada em componentes;
Usado quando os requisitos são bem definidos e o escopo do sistema é restrito.
Modelo RAD (Rapid Application Development)
![Page 28: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/28.jpg)
28
Modelo RAD
modelagem do
negóciomodelagem dos dadosmodelage
m do processogeração
da aplicaçãoteste e
modificação
modelagem do
negóciomodelagem dos dadosmodelage
m do processogeração
da aplicação teste e
modificação
modelagem do
negóciomodelagem dos dadosmodelage
m do processogeração
da aplicaçãoteste e
modificação
equipe # 3equipe # 2equipe # 1
60-90 dias
![Page 29: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/29.jpg)
29
Atividades do Modelo RAD
modelagem do
negóciomodelagem dos dadosmodelage
m do processogeração
da aplicaçãoteste e
modificação
Modelagem do negócio: o fluxo de informação entre as funções do negócio são modeladas de maneira a responder às questões:
que informação dirige o processo do negócio? que informação é gerada? quem gera a informação?
para onde a informação vai? quem a processa?
![Page 30: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/30.jpg)
30
Atividades do Modelo RAD
modelagem do
negóciomodelagem dos dadosmodelage
m do processogeração
da aplicaçãoteste e
modificação
Modelagem dos dados:
O fluxo de informação definido na fase anterior é refinado em um conjunto de objetos de dados que são necessários para dar suporte ao negócio; são identificadas as características de cada objeto e são definidos seus relacionamentos.
![Page 31: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/31.jpg)
31
Atividades do Modelo RAD
modelagem do
negóciomodelagem dos dadosmodelage
m do processogeração
da aplicaçãoteste e
modificação
Modelagem do processo:Os objetos de dados definidos são transformados para se obter o fluxo de informação necessário para implementar uma função do negócio;São criadas as descrições dos processamentos necessários para manipular esses objetos de dados.
![Page 32: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/32.jpg)
32
Atividades do Modelo RAD
modelagem do
negóciomodelagem dos dadosmodelage
m do processogeração
da aplicaçãoteste e
modificação
Geração da aplicação:
O modelo RAD assume o uso de técnicas de 4a. geração; ao invés de criar software de forma convencional, reusa componentes quando possível ou cria componentes reutilizáveis;Ferramentas automatizadas são utilizadas para gerar software.
![Page 33: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/33.jpg)
33
Atividades do Modelo RAD
modelagem do
negóciomodelagem dos dadosmodelage
m do processogeração
da aplicaçãoteste e
modificação
Teste e modificação:
Por reutilizar componentes, muitas vezes eles já foram testados, o que reduz o tempo de teste; os novos componentes devem ser testados e as interfaces devem ser exercitadas
![Page 34: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/34.jpg)
34
Modelo RAD Quando usar?
As restrições de tempo impostas pelo projeto demandam um escopo de escala.
Quando a aplicação pode ser modularizada de forma que cada grande função possa ser completada em menos de 3 meses.
Cada grande função pode ser alocada para uma equipe distinta e, depois são integradas para formar o todo.
![Page 35: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/35.jpg)
35
Problemas com o Modelo RAD Para projetos escaláveis, mas grandes, o
RAD requer recursos humanos suficientes para criar um número adequado de equipes;
RAD requer um comprometimento entre desenvolvedores e clientes para que as atividades possam ser realizadas rapidamente e o sistema seja concluído em um tempo abreviado;
Se o comprometimento for abandonado por qualquer das partes, o projeto falhará;
Não é apropriado quando os riscos são grandes.
![Page 36: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/36.jpg)
36
MODELOS DE PROCESSO
Modelos de Processo Evolucionários Descartáveis
![Page 37: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/37.jpg)
37
MODELOS DE PROCESSO
Prototipação
![Page 38: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/38.jpg)
38
Processo de Software – Prototipação
Processo que possibilita que o desenvolvedor crie um modelo do software que deve ser construído.
Idealmente, o modelo (protótipo) serve como um mecanismo para identificar os requisitos de software.
Apropriado para quando o cliente definiu um conjunto de objetivos gerais para o software, mas não identificou requisitos de entrada, processamento e saída com detalhes.
![Page 39: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/39.jpg)
39
Processo de Software – Prototipação
fim
início
construção produto
refinamento protótipo
avaliação protótipo
construção protótipo
projeto rápido
obtenção dos
requisitos
![Page 40: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/40.jpg)
40
Processo de Software – Prototipação
construa/reviseprotótipo
teste doprotótipo
pelo cliente
ouça o cliente
Simplificando
![Page 41: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/41.jpg)
41
Processo de Software – Prototipação
Obtenção dos Requisitos: desenvolvedor e cliente definem os objetivos gerais do software, identificam quais requisitos são conhecidos e as áreas que necessitam de definições adicionais.
Projeto Rápido: representação dos aspectos do software que são visíveis ao usuário (abordagens de entrada e formatos de saída).
fiminício
construção produto
refinamento protótipo
avaliação protótipo
construção protótipo
projeto rápido
obtenção dos
requisitos
![Page 42: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/42.jpg)
42
Processo de Software – Prototipação
Construção Protótipo: implementação rápida do projeto.
Avaliação do Protótipo: cliente e desenvolvedor avaliam o protótipo.
fiminício
construção produto
refinamento protótipo
avaliação protótipo
construção protótipo
projeto rápido
obtenção dos
requisitos
![Page 43: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/43.jpg)
43
Processo de Software – Prototipação
Refinamento dos Requisitos: cliente e desenvolvedor refinam os requisitos do software a ser desenvolvido.
Ocorre neste ponto um processo de iteração que pode conduzir à 1ª. atividade até que as necessidades do cliente sejam satisfeitas e o desenvolvedor compreenda o que precisa ser feito.
fiminício
construção produto
refinamento protótipo
avaliação protótipo
construção protótipo
projeto rápido
obtenção dos
requisitos
![Page 44: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/44.jpg)
44
Processo de Software – Prototipação
Construção Produto: identificados os requisitos, o protótipo deve ser descartado e a versão de produção deve ser construída considerando os critérios de qualidade.
fiminício
construção produto
refinamento protótipo
avaliação protótipo
construção protótipo
projeto rápido
obtenção dos
requisitos
![Page 45: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/45.jpg)
45
Processo de Software – Prototipação
Problemas:
Cliente não sabe que o software que ele vê, não considerou, durante o desenvolvimento, a qualidade global e a manutenibilidade a longo prazo. Não aceita bem a idéia de que a versão final do software vai ser construída e "força" a utilização do protótipo como produto final;
Desenvolvedor freqüentemente faz uma implementação comprometida (utilizando o que está disponível) com o objetivo de produzir rapidamente um protótipo. Depois de um tempo ele se familiariza com essas escolhas, e esquece que elas não são apropriadas para o produto final.
![Page 46: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/46.jpg)
46
Processo de Software – Prototipação
Comentários:Ainda que possam ocorrer problemas, a
prototipação é um ciclo de vida eficiente.
A chave é definirem-se as regras do jogo logo no começo.
O 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.
![Page 47: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/47.jpg)
47
MODELOS DE PROCESSO
Modelos de Processo Evolucionários Exploratórios – Incremental, Espiral e
Concorrente
![Page 48: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/48.jpg)
48
Processo de Software – Modelos de Processo Evolucionários Usado quando o deadline não é adequado para o
desenvolvimento do software; a data de término não é realística;
Uma versão limitada pode ser introduzida para atender à competitividade e pressões do negócio;
São liberados “produtos core”;
Os detalhes e extensões ainda devem ser definidos;
![Page 49: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/49.jpg)
49
Processo de Software – Modelos de Processo Evolucionários
-Prototipação-Incremental-Espiral-Concorrente
![Page 50: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/50.jpg)
50
Processo de Software – Modelo Incremental Combina elementos do Modelo Linear com a filosofia da
Prototipação.
Aplica seqüências lineares numa abordagem de “saltos” à medida que o tempo progride
Cada seqüência linear produz um incremento do software (proc. de texto)
O processo se repete até que um produto completo seja produzido
Difere da Prototipação pois a cada incremento produz uma versão operacional do software
![Page 51: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/51.jpg)
51
Processo de Software – Modelo Incremental
Engenharia de Sistemas / Informação
Análise Projeto Codificação Testes
Análise Projeto Codificação Testes
Análise Projeto Codificação Testes
Análise Projeto Codificação Testes
incremento 1
incremento 2
incremento 3
incremento 4
produto liberadodo incremento 1
produto liberadodo incremento 2
produto liberadodo incremento 3
produto liberado
do incremento
4tempo
![Page 52: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/52.jpg)
52
Processo de Software – Modelo Espiral Engloba a natureza iterativa da
Prototipação com os aspectos sistemáticos e controlados do Modelo Linear
Fornece o potencial para o desenvolvimento rápido de versões incrementais do software
Cada clico da espiral é uma fase do desenvolvimento que sempre passa por 4 aspectos
![Page 53: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/53.jpg)
Processo de Software – Modelo Espiral
Planejamento
Definição de Objetivos
Avaliação e redução de risco
Desenvolvimento e Validação
Cada loop da espira é uma fase de desenvolvimento do software;
![Page 54: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/54.jpg)
54
É, atualmente, a abordagem mais realística para o desenvolvimento de software em grande escala.
Usa uma abordagem que capacita o desenvolvedor e o cliente a entender e reagir aos riscos em cada etapa evolutiva.
Pode ser difícil convencer os clientes que uma abordagem "evolutiva" é controlável.
Exige considerável experiência na determinação de riscos e depende dessa experiência para ter sucesso.
Processo de Software – Modelo Espiral (comentários)
![Page 55: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/55.jpg)
55
Processo de Software – Modelo de Desenvolvimento Concorrente
É representado como uma série de grandes atividades técnicas, tarefas e seus estados associados.
Ele define uma série de eventos que podem disparar transições de um estado para outro, para cada uma das atividades da engenharia de software.
É freqüentemente usado como um paradigma para o desenvolvimento de aplicações Cliente/Servidor.
Pode ser aplicado a todo tipo de desenvolvimento de software e fornece uma visão exata de como está o estado do projeto.
![Page 56: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/56.jpg)
56
Processo de Software – Modelo de Desenvolvimento Concorrente
none
sob
inspeção
sob
revisão
averiguado
realizado
aguardando
mudanças
em desenvolvime
nto
Atividade de Análise
![Page 57: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/57.jpg)
57
MODELOS DE PROCESSO
Desenvolvimento orientado ao reuso
![Page 58: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/58.jpg)
58
Processo de Software – Desenvolvimento orientado a reuso Baseado em reutilização de componentes de
software e que podem ser acessados com alguma infraestrutura de integração para estes componentes.
Estágios do Processo Análise dos Componentes; Modificação dos Requisitos; Projeto de sistema com reuso; Desenvolvimento e Integração.
Vantagem de reduzir a quantidade de software a ser desenvolvido, e reduzir os custos.
![Page 59: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/59.jpg)
59
Processo de Software – Desenvolvimento Orientado a Reuso
Especificação dos
Requisitos
Análise dos Componente
s
Modificação dos
Requisitos
Projeto do Sistema com
Reuso
Desenvolvimento e
IntegraçãoValidação do
Sistema
![Page 60: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/60.jpg)
60
Processo de Software – Desenvolvimento Orientado a Reuso Desvantagens:
Adequação dos requisitos são inevitáveis; O produto final pode não ser aquele que o
cliente pediu; Difícil controle sobre a evolução do sistema
pois os componentes evoluem independentemente;
![Page 61: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/61.jpg)
61
MODELOS DE PROCESSO
Modelos de Métodos Formais
![Page 62: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/62.jpg)
62
Processo de Software – Modelo de Métodos Formais
Compreende um conjunto de atividades que determinam uma especificação matemática para o software;
Utilizando métodos formais eliminam-se muitos problemas encontrados nos outros modelos, como p.ex., ambigüidade, incompletitude e inconsistência, que podem ser corrigidas mais facilmente de forma não ad hoc, mas através de análise matemática;
Promete o desenvolvimento de software livre de defeitos
![Page 63: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/63.jpg)
63
Processo de Software – Modelo de Métodos Formais (comentários)
Atualmente esse modelo consome muito tempo e é muito caro;
Como poucos desenvolvedores possuem o background necessário para utilizá-lo, são requeridos muitos cursos e treinamentos;
É difícil usar tais modelos como meio de comunicação com a maioria dos clientes;
![Page 64: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/64.jpg)
64
Processo de Software – Modelo de Métodos Formais
Definição de
RequisitosEspecificação Formal
Transformação Formal
Integração e Teste do Sistema
![Page 65: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/65.jpg)
65
Modelo de Métodos Formais -Transformações Formais
R2Formalspecification R3 Executable
program
P2 P3 P4
T1 T2 T3 T4
Proofs of transformation correctness
Formal transformations
R1
P1
Prova de regularidade transformações
Transformações Formais
![Page 66: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/66.jpg)
66
MODELOS DE PROCESSO
Técnicas de Quarta Geração
![Page 67: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/67.jpg)
67
Processo de Software – Técnicas de 4a Geração
Concentra-se na capacidade de se especificar o software a uma máquina em um nível que esteja próximo à linguagem natural.
Engloba um conjunto de ferramentas de software que possibilitam que:
o sistema seja especificado em uma linguagem de alto nível e
o código fonte seja gerado automaticamente a partir dessas especificações
![Page 68: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/68.jpg)
68
Obtenção dos Requisitos
Estratégia do “Projeto”
Implementação usando 4GL
Testes
Processo de Software – Técnicas de 4a Geração
![Page 69: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/69.jpg)
69
PROPONENTES: redução dramática no tempo de desenvolvimento do software (aumento de produtividade);
OPONENTES: as 4GL atuais não são mais fáceis de usar do que as linguagens de programação;
o código fonte produzido é ineficiente a manutenibilidade de sistemas usando técnicas
4G ainda é questionável
Processo de Software – Técnicas de 4a Geração (comentários)
![Page 70: Professor Mário Dantas](https://reader036.fdocumentos.tips/reader036/viewer/2022062400/56814d4c550346895dba7a5d/html5/thumbnails/70.jpg)
70
Processo de Software – Conclusão
ENGENHARIA DE SOFTWAREpode ser vista como uma abordagem
de desenvolvimento de software elaborada com disciplina e métodos
bem definidos.