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
Modelos de Processos de Software, Modelo Cascata (waterfall), Desenvolvimento incremental, Engenharia de Software Orientada a Reuso, Atividades do Processo, Especificação, Prototipação
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.
2. Prof.NeilaXavier
Introdução
• Empresas possuem diversos tipos de
bens:
• Propriedade, mão-de-obra, máquinas e capital.
• Hoje, a informação.
• A empresa que dispõe de mais informações
sobre seu processo de negócio está em
vantagem.
2
3. Prof.NeilaXavier
Introdução
• Impacto gerado pelo uso de Tecnologias da
Informação:
• A rápida evolução ao longo das últimas décadas;
• Os modernos sistemas de informação, desafiam
as empresas (das pequenas às multinacionais) –
pesado investimento em hardwares e softwares;
• Novos comportamentos, relações e
oportunidades de negócio surgiram, desde
então.
3
4. Prof.NeilaXavier
Introdução
• Crescimento da importância da informação:
• Surge a necessidade de gerenciar informações
de forma adequada e eficiente, então surgiu os
sistemas de informações.
• Por que estudar Análise de Sistemas?
• É uma subparte do processo mais amplo de
projeto principal, e intervém na etapa de
concepção do software;
• Propõe metodologias de análise que permitem a
modelagem conceitual, organizacional, lógica e
física dos sistemas de informação das empresas. 4
6. Prof.NeilaXavier
Introdução
• A análise de sistemas propõe uma solução
para:
• A redução dos custos do software,
• O respeito aos prazos de realização de software,
• O aumento do ciclo de vida do software.
6
7. Prof.NeilaXavier
Introdução
• A ausência da análise no processo de
desenvolvimento de software tem pelo menos 04
consequências principais que levam a custos
adicionais do produto:
• Aplicações muito específicas que dificultam as suas
atualizações,
• Aplicações que não integram as necessidades do usuário
final e que necessitam de modificações permanentes,
• Ausência de normas no desenvolvimento que dificulta a
planificação e o seguimento do trabalho,
• Redução do ciclo de vida do software devido a sua difícil
evolução.
7
9. Prof.NeilaXavier
Histórico
• Anos 70
• Criou SADT (Structured Analysis and Design Technique)
• Author: Douglas Ross e SoftTech, Inc.
• 1979
• Book: Structured systems analysis: tools and techniques
• Authors: Chris Gane e Trish Sarson
• 1980
• Book: Structured Analysis
• Authors: Tom DeMarco e Victor Weinberg
9
10. Prof.NeilaXavier
Histórico
• 1984
• Book: Essential Systems Analysis
• Authors: Sthephen M. McMenamim e John F. Palmer
• 1989
• Book: Modern Structured Analysis.
• Author: Edward Yourdon
• Década de 90
• Análise Orientada a Objetos (Booch, Rumbaugh e
Jacobson; UML; Coad/Yourdon, etc.)
10
11. Prof.NeilaXavier
Conceitos Fundamentais
• Sistema é:
• conjunto de elementos, concretos ou abstratos,
relacionados entre si;
• reunião de princípios de modo a formarem um
corpo de doutrina;
• combinação de partes coordenadas que
concorrem para a formação de um conjunto;
11
12. Prof.NeilaXavier
Conceitos Fundamentais
• Sistema de Informação
• é um conjunto organizado de elementos, podendo
ser pessoas, dados, atividades ou recursos
materiais em geral.
• Estes elementos interagem entre si para processar
informação e divulga-la de forma adequada em
função dos objetivos de uma organização.
12
13. Prof.NeilaXavier
Conceitos Fundamentais
• Processo:
• Em definição, é um conjunto de atividades
uniformizadas, a aplicar sistematicamente, que se
encontram agrupadas em fases.
• Cada uma destas fases tem os seus
intervenientes, aos quais são atribuídas
responsabilidades, que possui diversos inputs e
que produz outputs.
13
14. Prof.NeilaXavier
Conceitos Fundamentais
• Do ponto de vista da garantia da qualidade
do produto final (o software):
• é fundamental que o processo seja realizado
segundo parâmetros que permitam também aferir
a respectiva qualidade,
• isto é, não conseguiremos otimizar o resultado
final sem uma preocupação no processo que o
produz.
14
15. Prof.NeilaXavier
Modelagem de Sistemas
• Para se desenvolver um sistema de
informação é necessário desenvolver
através de um ciclo, denominado ciclo de
vida;
• Ciclo de vida de um software é uma estrutura que
indica processos e atividades envolvidas no
desenvolvimento, operação e manutenção de um
software, abrangendo de fato toda a vida do sistema;
15
16. Prof.NeilaXavier
Modelagem de Sistemas
• O ciclo de vida de um software pode ser
dividido, basicamente, em quatro fases:
16
Fase Descrição
Concepção
Nessa fase, o projeto propriamente dito é definido com as funcionalidades
que devem ser contempladas por ele e o objetivo a ser alcançado.
Atividades: definição do problema; identificação das necessidades;
definição de objetivos estudo de sua viabilidade; elaboração de proposta e
decisão sobre execução ou não do projeto.
Planejamento
Responsável pela definição da forma de execução do projeto e quais
recursos são necessários.
Atividades: detalhamento de objetivos e metas; definição de cronograma;
determinação dos pontos de controle; estabelecimento da utilização dos
recursos disponíveis, análise dos riscos e elaboração do plano geral.
Execução
Fase em que o projeto é realmente executado, com as ações definidas nas
duas fases anteriores sendo colocadas em prática.
Conclusão
Fase final que abrange a implantação dos sistema e o treinamento dos
usuários.
17. Prof.NeilaXavier
Modelagem de Sistemas
• Desenvolver software consiste em optar por um
ciclo de vida adequado para o contexto
apresentado.
• Os ciclos de vida também são referenciados com
Modelos de Processo de Software, sendo uma
representação abstrata de um processo de
software.
• Cada modelo de processo representa uma
determinada perspectiva.
17
18. Prof.NeilaXavier
Modelagem de Sistemas
• Existem diversos modelos de ciclos de vida para o
desenvolvimento de software, como:
• Ciclo de vida clássico ou cascata;
• Ciclo de vida incremental;
• Ciclo de vida de espiral;
• Ciclo de vida evolutivo, entre outros.
18
20. Prof.NeilaXavier
Ciclo de Vida Clássico
• O modelo cascata é um modelo tradicional que foi
criado em 1966, porém, formalizado somente por
volta de 1970.
• Este modelo define que as fases serão sequenciais,
onde uma fase tem que estar completa antes de
passar para a próxima.
• Com isso, o processo é visto como um fluir
constante para frente.
• Seu principal benefício é a facilidade de gestão do
projeto.
• Já uma desvantagem desse modelo é a dificuldade
de acomodar mudanças depois que o processo já
está em andamento.
20
21. Prof.NeilaXavier
Modelo de Ciclo de Vida Clássico
21
Análise e
definição de
requisitos
Projeto de
sistemas e
de software
Implementa
ção e teste
de unidade
Integração e
testes de
sistemas
Operação e
manutenção
22. Prof.NeilaXavier
Ciclo de vida Prototipação
Coleta e
refinamento
dos
requisitos
Projeto
rápido
Construção
do protótipo
Avaliação do
protótipo
pelo cliente
Refinamento
do protótipo
Engenharia
do produto
22
Início
Fim
https://www.treinaweb.com.br/blog/ciclo-de-vida-software-por-que-e-importante-saber/
23. Prof.NeilaXavier
Ciclo de vida Espiral
• Este modelo foi desenvolvido buscando abranger as
melhores características do ciclo de vida clássico e
de prototipação, e adicionando um novo elemento
muito importante e que não faz parte destes dois
modelos, que vem a ser a análise de riscos.
23
25. Prof.NeilaXavier
Fases
• Planejamento
• Onde é possível determinar os objetivos,
alternativas e restrições do projeto, é a etapa
responsável pela coleta inicial dos requisitos e
planejamento levando em consideração os
comentários do cliente.
25
26. Prof.NeilaXavier
Fases
• Análise de riscos:
• É construída baseada nos requisitos iniciais e na
reação do cliente, e análise das alternativas e
identificação, resolução dos riscos.
• Os riscos são identificados e uma análise
detalhada é realizada, sendo possível tomar
algumas providências para reduzir o risco e seus
efeitos, caso ocorram.
26
27. Prof.NeilaXavier
Fases
• Engenharia:
• Responsável por um protótipo de software inicial,
ou seja, etapa responsável pela “construção” do
produto. Após a avaliação de risco um modelo de
desenvolvimento do sistema é providenciado.
27
29. Prof.NeilaXavier
Técnicas de Quarta Geração (4GT)
• “O paradigma 4GT de engenharia de software
concentra-se na capacidade de se especificar
software a uma máquina em um nível que esteja
próximo à linguagem natural ou de se usar uma
notação que comunique uma função
significativa”(PRESSMAN,1995).
29
30. Prof.NeilaXavier
Técnicas de Quarta Geração (4GT)
• Este paradigma é sustentado por ambientes de
desenvolvimento de software, cujas ferramentas
podem ser: linguagens não-procedurais para
consultas de banco de dados, geração de relatórios,
manipulação de dados, interação e definição de
telas, geração de códigos.
30