Post on 30-Jun-2015
description
Aula 002
Projeto de Sistemas
PRONATECPrograma Nacional de Acesso ao
Ensino Técnico e Emprego
PRONATECPrograma Nacional de Acesso ao
Ensino Técnico e Emprego
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
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
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.
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
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.
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
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 obtidoEtapas 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
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.
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
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.
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