O documento discute paradigmas de projeto de software, incluindo o modelo em cascata, prototipagem, espiral e incremental. Aborda as vantagens e desvantagens de cada paradigma, além de técnicas de 4a geração que automatizam parte do desenvolvimento.
16/11/2016 Aula 8 – Aspectos de Segurança - Atividade 3
- Prepare um slide show sobre ferramentas CASE. Use o link:
http://pt.slideshare.net/helioh6/ferramentas-case-fase-de-anlise?next_slideshow=1
Fals - Faculdade do Litoral Sul Paulista
Matéria EAD - Prof. Dr. Braz Bello Junior
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Natanael Simões
Abordagem sobre atividades de design realizadas durante a fase de desenvolvimento no ciclo de vida dos sistemas. Divide-se em Design de Software, Interface, Arquitetura e Algoritmos.
Esta apresentação aborda como conceitos da Administração Geral são aplicáveis em Engenharia de Software, mostra também exemplos de uso dos principais diagramas UML (na versão 2.3) e detalhadamente os diagramas de caso de uso e classes.
Processo de Desenvolvimento de Software - Fase de DefiniçãoNatanael Simões
Introdução a Ciclo de Vida de Software, apresentação das fases contidas no ciclo e aprofundamento na fase de definição, onde os requisitos serão levantados, além de um estudo de viabilidade e planejamento de todo desenvolvimento
16/11/2016 Aula 8 – Aspectos de Segurança - Atividade 3
- Prepare um slide show sobre ferramentas CASE. Use o link:
http://pt.slideshare.net/helioh6/ferramentas-case-fase-de-anlise?next_slideshow=1
Fals - Faculdade do Litoral Sul Paulista
Matéria EAD - Prof. Dr. Braz Bello Junior
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Natanael Simões
Abordagem sobre atividades de design realizadas durante a fase de desenvolvimento no ciclo de vida dos sistemas. Divide-se em Design de Software, Interface, Arquitetura e Algoritmos.
Esta apresentação aborda como conceitos da Administração Geral são aplicáveis em Engenharia de Software, mostra também exemplos de uso dos principais diagramas UML (na versão 2.3) e detalhadamente os diagramas de caso de uso e classes.
Processo de Desenvolvimento de Software - Fase de DefiniçãoNatanael Simões
Introdução a Ciclo de Vida de Software, apresentação das fases contidas no ciclo e aprofundamento na fase de definição, onde os requisitos serão levantados, além de um estudo de viabilidade e planejamento de todo desenvolvimento
Processo de Desenvolvimento de Software - PrototipaçãoNatanael Simões
Processo de construção de modelo inicial que será evoluído com o tempo partindo da especificação realizada durante o design de interface. São abordados os conceitos de protótipo de alta e baixa fidelidade e dos processos cognitivos para sua construção (Engenharia de Usabilidade)
Modelos de Processos de Software, Modelo Cascata (waterfall), Desenvolvimento incremental, Engenharia de Software Orientada a Reuso, Atividades do Processo, Especificação, Prototipação
Modelo de Prototipação para desenvolvimento de software. Engenharia de Software, Prototipagem, Metodologia de Desenvolvimento. Prototipação de Sistema, Prototipação de Software.
Processo de Desenvolvimento de Software - PrototipaçãoNatanael Simões
Processo de construção de modelo inicial que será evoluído com o tempo partindo da especificação realizada durante o design de interface. São abordados os conceitos de protótipo de alta e baixa fidelidade e dos processos cognitivos para sua construção (Engenharia de Usabilidade)
Modelos de Processos de Software, Modelo Cascata (waterfall), Desenvolvimento incremental, Engenharia de Software Orientada a Reuso, Atividades do Processo, Especificação, Prototipação
Modelo de Prototipação para desenvolvimento de software. Engenharia de Software, Prototipagem, Metodologia de Desenvolvimento. Prototipação de Sistema, Prototipação de Software.
Aula 3 apresenta a fundamentação para a escolha de um modelo baseado em processo sequencial e definido para resolução dos problemas conhecidos e imutáveis. É exibido o modelo cascata e sua incompatibilidade com os cenários reais... desenvolver software não é construir prédio.
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppCloves da Rocha
Um conjunto estruturado de atividades necessárias para desenvolver um sistema de software.
- Especificação
- Projeto
- Validação
- Evolução
Um modelo de processo de software é uma representação abstrata do processo.
Modelo Espiral de Boehm, prototipação em etapas, RUP - Rational Unified Process, Desenvolvimento Ágil, manifesto ágil, Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor, Envolvimento do cliente, Manter a simplicidade, O que é Scrum, Reunião Diária, Retrospectiva da , Planning Poker
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