3. 1. Paradigmas do Projeto de Software
• Paradigma são modelos de desenvolvimento de
sistemas que seguimos para criar um novo
software
• Cada paradigma tem suas especificidades, suas
qualidades e problemas
• Os paradigmas mais usados no projeto de software
são: Modelo em Cascata, Prototipação, Modelo
Espiral, Modelo 4G – Quarta Geração, Modelo
Incremental
• Ainda podemos ter uma combinação de
paradigmas para adequar às necessidades
4. 2. Modelo em Cascata
• Esse é o modelo clássico
de desenvolvimento de
sistemas.
• Prevê atividades de:
verificação, validação e
controle de qualidade
• Verificação: “estamos
fazendo de forma
correta?”
• Validação: “estamos
fazendo o produto certo?”
• Chamado em “Cascata”
por que uma atividade
depende do término total
ou parcial da ação anterior
• É um método sistemático
e sequencial
5. 3. Etapas do Modelo em Cascata
• Engenharia de Software: é a etapa do estudo das
viabilidades onde se definem os pré-requisitos iniciais para a
construção do sistema
• Análise: parte de estudo feita pelo Analista de Sistemas que
tem por objetivo elaborar a Especificação dos Requisitos do
Software. Deve ser feita usando ferramentas de entrevistas e
modelagem lógica de sistemas
• Projeto: definir quatro coisas: estrutura de dados,
arquitetura do software, detalhes procedimentais e
caracterização da interface
• Codificação: etapa da programação e construção dos scripts
para o banco de dados
• Teste: cada programa, cada módulo, cada banco de dados
deverá ser testado sozinho e em conjunto uns com os outros
• Implantação, Manutenção e Operação: parte que implanta
na organização o software incluindo as correçõe,
manutenções e treinamentos operacionais aos usuários.
6. 4. Vantagem/Desvantagem: modelo clássico
• Vantagens:
• Bem estruturada trazendo uma grande organização
para o gerente de projeto
• Facilita descobrir onde os erros ocorreram
• Desvantagens:
• A realidade raramente segue o fluxo sequente que o
modelo propõe
• O cliente pode não saber de início todas as
necessidades do sistema
• Um problema nas fases mais avançadas pode ser
desastroso para todo o projeto
• Demora no resultado final completo
7. 5. Modelo em Prototipação
• Esse modelo propõe se
fazer um software
protótipo que vai
crescendo na medida em
que os detalhes vão sendo
conhecidos
• Idealmente, o protótipo
serve como um mecanismo
para identificar os
requisitos de software.
• Muitas vezes, é preciso
descartar um protótipo
todo para evitar perda de
tempo com muitas
correções.
8. 6. Vantagem/Desvantagem: Prototipação
• Vantagens:
• Torna o processo de Análise mais próximo do usuário
• Facilita na descoberta dos requisitos iniciais do sistema
• O Usuário tende a se comprometer mais ao ver já o
resultado tão instantâneo
• Desvantagens:
• O usuário se frustrar ao descobrir que o protótipo esta
longe do resultado final
• Etapas de projeto e codificação podem ser
prejudicadas pela “pressa” de terminar o protótipo
• Exigência de alta capacidade gerencial dos projetistas
• Mais dispendioso se demorar muito para o final
9. 7. Modelo Espiral
• Concebido para abranger as
melhores características do
ciclo de vida clássico e da
prototipação, ao mesmo
tempo que adiciona um novo
elemento, que é a análise de
risco.
• Este modelo de ciclo de vida
se utiliza de protótipos por
se adequar muito bem com
esta filosofia de
desenvolvimento.
• Cada passo através do ciclo
inclui: planejamento, análise
e projeto, prototipação e
avaliação.
• Os passos vão sendo
repetidos até que um
produto seja obtido
Etapas desse Ciclo:
•Planejamento, determinação de objetivos, alternativas e restrições do ciclo,
considerando os resultados do ciclo anterior ou da análise dos requisitos.
• Análise dos riscos, análise das alternativas e identificação (resolução) dos riscos.
• Engenharia, Desenvolvimento e verificação da solução escolhida.
• Avaliação do Cliente, avaliação dos resultados e planejamento do ciclo seguinte
10. 8. Técnicas de 4ª Geração (4G)
• Abrange um amplo conjunto de
ferramentas para o
desenvolvimento de software
que tem uma coisa em comum:
cada uma delas possibilita que o
desenvolvedor especifique
alguma característica do
software num nível elevado.
• O código fonte é gerado quase
todo automaticamente, tendo
por base a especificação do
desenvolvedor
• A parte de codificação, geração
de telas, relatórios, consultas,
em fim a programação
propriamente dita, se torna
automatizada.
11. 9. Prós e Contras das Ferramentas 4G
• Prós:
• Redução no tempo de Análise, Projeto e
Codificação para pequenas aplicações
• Desvantagens:
• Se limitam mais a aplicações de sistemas de
informação comercial
• Para grandes aplicações aumento no tempo de
Análise, Projeto e Codificação
• Dificulta a manutenção do sistema devido a falta
de documentação em alguns casos
12. 10. Modelo Incremental
• Nos modelos por incremento, também chamado de modelo
evolutivo, um único conjunto de componentes é desenvolvido
simultaneamente, num primeiro tempo o núcleo do software e
depois os incrementos vão sendo agregados.
• As atividades de desenvolvimento e validação são
desempenhadas paralelamente, com um rápido feedback entre
elas.
• O processo de desenvolvimento de cada incremento é realizado
usando um processo clássico dos já estudados anteriormente.
13. 11. Vantagem/Desvantagem: Incremental
• Vantagens:
• Cada desenvolvimento é menos complexo
• As integrações são progressivas
• A cada interação, uma nova versão do produto pode
ser distribuída
• Usados em grandes projetos e softwares para
distribuição em grande escala, por permitir evolução e
melhorias sem descaracterizar o software
• Desvantagens:
• Os problemas no núcleo do software, inviabilizando
novos incrementos, e determinando o fim do ciclo de
vida do software
• Incapacidade de integrar novos incrementos