processos de desenvolvimento de software faculdade de ciÊncias de engenharia e tecnologia 1º ciclo...
TRANSCRIPT
![Page 1: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/1.jpg)
SOFTWARE – TÉCNICAS E APLICAÇÕES
Processos de desenvolvimento de software
FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA
1º CICLO DE AULAS MAGNAS
![Page 2: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/2.jpg)
Frei Joaquim José Hangalo Ordem dos Frades Menores Capuchinhos
Filosofia, Teologia e Engenharia Informática Docente na Universidade Católica de
Angola Disciplinas
Fundamentos de Programação (Java SE) Sistemas Distribuídos e Paralelos (Java EE) Interacção Homem Máquia e Programação em
Web Standards (HTML, CSS, Javascript) Base de Dados Introdução às Tecnologias de Informação
Director do Centro de Formação São Domingos
Minha apresentação
![Page 3: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/3.jpg)
Vamos conversarSobredesenvolvimento de software
![Page 4: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/4.jpg)
Software O software é um produto do trabalho
humano cada vez mais presente na sociedade. Qualquer discussão sobre a prática de software deve se fundamentar na compreensão da real natureza do que é software e no relacionamento que ele provoca entre pessoas.
![Page 5: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/5.jpg)
A Engenharia de Software
A engenharia de software é a disciplina do conhecimento humano que tem por objectivo definir e exercitar processos (seres humanos a actuar como máquinas), métodos (planos de processos), ferramentas e ambientes (máquinas a apoiar processos e métodos) para construção de software que satisfaça as necessidades do cliente e utilizador dentro de prazos e custos previsíveis (nem sempre…).
![Page 6: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/6.jpg)
Por outras palavras, engenharia de software é uma actividade industrial de produção de software, através da qual são produzidos vários artefactos não necessariamente compreensíveis por máquinas, mas que contribuem decisivamente para que um plano de construção do software.
![Page 7: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/7.jpg)
Engenharia
de
Software
O corpo de conhecimentos da engenharia de software é estruturado em áreas:
Requisitos do software Design do software Construção do software Testes e qualidade de
software Manutenção de software Etc …
![Page 8: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/8.jpg)
O gra
nde pro
blem
a
![Page 9: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/9.jpg)
![Page 10: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/10.jpg)
Processos de Desenvolvimento de Software
![Page 11: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/11.jpg)
O processo de software é visto por uma sequência de actividades que produzem uma variedade de documentos, resultando num programa satisfatório e executável.
O desenvolvimento de software é caracterizado por uma sobreposição de actividades necessárias para especificar, projectar e testar retorno dos resultados do software que está a ser criado.
![Page 12: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/12.jpg)
Modelos de Processo de Software
![Page 13: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/13.jpg)
Modelos de Processo de Software
Existem vários modelos de processo de software (ou paradigmas de engenharia de software)
Cada um representa uma tentativa de colocar ordem em uma actividade inerentemente caótica
![Page 14: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/14.jpg)
Modelos de Processo de Software
O Modelo Sequencial Linear também chamado Modelo Cascata
O Modelo de Prototipação O Modelo RAD (Rapid Application
Development) Modelos Evolutivos de Processo de Software
O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes
Técnicas de Quarta Geração Metodologias Ágeis
![Page 15: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/15.jpg)
Modelo em Cascata
![Page 16: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/16.jpg)
16
Regra geral…
Ouvir o cliente
Ouvir o cliente
Construir,Rever o protótipo
Construir,Rever o protótipo
O clienteTesta o
protótipo
O clienteTesta o
protótipo
![Page 17: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/17.jpg)
O Modelo em Cascata
modelo mais antigo e o mais amplamente
Utilizado na engenharia de software modelado em função do ciclo da
engenharia convencional requer uma abordagem
sistemática, sequencial ao desenvolvimento do software
o resultado de uma fase constitui-se na entrada da/para a outra
![Page 18: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/18.jpg)
Modelo em cascata
![Page 19: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/19.jpg)
Modelo em cascata
Envolve a licitação de requisitos do sistema, com uma pequena quantidade de projecto e análise de alto nível;
Preocupa-se com aquilo que se como engenharia progressiva do produto de software;
Inicia com um modelo conceitual de alto nível para um sistema e prossegue com o projecto, implementação e teste do modelo físico do sistema.
![Page 20: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/20.jpg)
Modelo em cascata
Análise de Requisitos do Software O processo de licitação dos
requisitos é intensificado e concentrado especificamente no software
deve-se compreender o domínio da informação, a função, desempenho e interfaces exigidas
os requisitos (para o sistema e para o software) são documentados e revistos com o cliente
![Page 21: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/21.jpg)
Projecto tradução dos requisitos do
software para um conjunto de representações que podem ser avaliadas quanto à qualidade, antes que a codificação inicie
![Page 22: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/22.jpg)
Implementação tradução das representações
do projecto para uma linguagem “artificial” resultando em instruções executáveis pelo computador e implementado num ambiente de trabalho.
![Page 23: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/23.jpg)
Testes Concentra-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.
![Page 24: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/24.jpg)
Manutenção provavelmente o software
deverá sofrer mudanças depois que for entregue ao cliente
causas das mudanças: erros, adaptação do software para acomodar mudanças no ambiente externo e exigência do cliente para acréscimos funcionais e de desempenho
![Page 25: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/25.jpg)
Alguns Problemas com o Modelo em Cascata
Projectos reais raramente seguem o fluxo sequencial que o modelo propõe;
Logo no início é difícil estabelecer explicitamente todos os requisitos. No começo dos projectos sempre existe uma incerteza natural;
O cliente deve ter paciência. Uma versão executável do software só fica disponível numa etapa avançada do desenvolvimento (na instalação);
Difícil identificação de sistemas legados (não acomoda a engenharia reversa).
![Page 26: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/26.jpg)
Dica
Embora o Modelo em Cascata tenha fragilidades, ele é significativamente melhor do que uma abordagem casual de desenvolvimento de software
![Page 27: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/27.jpg)
O Paradigma de Prototipação
![Page 28: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/28.jpg)
o objectivo é entender os requisitos do utilizador e, assim, obter uma melhor definição dos requisitos do sistema.
possibilita que o desenvolvedor crie um modelo (protótipo)do software que deve ser construído
apropriado para quando o cliente não definiu detalhadamente os requisitos.
![Page 29: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/29.jpg)
![Page 30: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/30.jpg)
1- OBTENÇÃO DOS REQUISITOS:
desenvolvedor e cliente definem os objectivos gerais do software, identificam quais requisitos são conhecidos e as áreas que necessitam de definições adicionais.
![Page 31: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/31.jpg)
2- PROJECTO RÁPIDO:representação dos aspectos do
software que são visíveis ao utilizador (abordagens de entrada e formatos de saída)
3- CONSTRUÇÃO DO PROTÓTIPO:
implementação rápida do projecto
![Page 32: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/32.jpg)
4 -AVALIAÇÃO DO PROTÓTIPO Cliente e desenvolvedor
avaliam o protótipo
5 .REFINAMENTO DO PROTÓTIPO:
Cliente e desenvolvedor refinam os requisitos do software a ser desenvolvido.
![Page 33: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/33.jpg)
6- 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.
![Page 34: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/34.jpg)
Alguns Problemas com a Prototipação
O 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
O desenvolvedor frequentemente faz uma implementação comprometida (utilizando o que está disponível) com o objectivo de produzir rapidamente um protótipo
![Page 35: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/35.jpg)
Comentários sobre oParadigma de Prototipação
ainda que possam ocorrer problemas, a prototipação é um ciclo de vida eficiente.
a chave é definir 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 para definir os requisitos
![Page 36: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/36.jpg)
O Modelo RAD ( Rapid Application Development)
![Page 37: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/37.jpg)
RAD ( Rapid Application Development) é um modelo sequencial linear que enfatiza um ciclo de desenvolvimento extremamente curto
O desenvolvimento rápido é obtido usando uma abordagem de construção baseada em componentes.
![Page 38: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/38.jpg)
Os requisitos devem ser bem entendidos e o alcance do projecto restrito
O modelo RAD é utilizado principalmente para aplicações de sistema de informação
Cada função principal pode ser direccionada para uma equipa RAD separada e então integrada para formar o todo.
![Page 39: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/39.jpg)
![Page 40: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/40.jpg)
Desvantagens: Exige recursos humanos
suficientes para todas as equipas
Exige que desenvolvedores e clientes estejam comprometidos com as actividades de “fogo-rápido” a fim de terminar o projecto num prazo bem curto
![Page 41: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/41.jpg)
Modelos Evolutivos de Processo
![Page 42: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/42.jpg)
Existem situações em que a engenharia de software necessita de um modelo de processo que possa acomodar um produto que evolui com o tempo.
![Page 43: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/43.jpg)
quando os requisitos de produto e de negócio mudam conforme o desenvolvimento prossegue
quando uma data de entrega apertada (mercado) - impossível a conclusão de um produto completo
quando um conjunto de requisitos importantes é bem conhecido, porém os detalhes ainda devem ser definidos
![Page 44: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/44.jpg)
Os modelos evolutivos são iterativos possibilitam o desenvolvimento de
versões cada vez mais completas do software
Modelos Evolutivos de Processo de Software O Modelo Incremental O Modelo Espiral O Modelo de Montagem de Componentes
![Page 45: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/45.jpg)
Metodologias Ágeis
![Page 46: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/46.jpg)
As Metodologias Ágeis de Desenvolvimento de Software são indicadas como sendo uma opção alternativa às abordagens tradicionais para desenvolver softwares;
Comparadas a outras metodologias, produzem pouca documentação.
É recomendado documentar o que realmente será útil;
![Page 47: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/47.jpg)
São recomendadas para projetos que: existem muitas mudanças; os requisitos são passíveis de alterações; a recodificação do programa não acarreta alto
custo; a equipe é pequena; as datas de entrega curtas acarretam alto custo; o desenvolvimento rápido é fundamental.
Em essência, as Metodologias Ágeis foram desenvolvidas com o objectivo de vencer as fraquezas percebidas e reais da Engenharia de Software (Pressman, 2010).
![Page 48: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/48.jpg)
O Manifesto Ágil
Em 2001, Kent Beck e mais 16 desenvolvedores, produtores e consultores de software, que formavam a Aliança Ágil, assinaram o Manifesto de Desenvolvimento Ágil de Software, declarando:
![Page 49: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/49.jpg)
Estamos descobrir melhores métodos de desenvolvimento de software fazendo-o e ajudando outros a fazê-lo. Por meio desse trabalho, passamos a valorizar:
Indivíduos e interacções em vez de processos e ferramentas.
Software a funcionar em vez de uma documentação abrangente.
Colaboração do cliente em vez da negociação de contractos.
Resposta a modificações em vez de seguir um plano.
Isto é, ainda que haja valor nos itens à direita, valorizamos mais os itens à esquerda.
![Page 50: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/50.jpg)
Os 12 princípios do Manifesto Ágil
I. Garantia da satisfação do consumidor com entrega rápida e contínua de softwares funcionais.
II. Mudanças de requisitos, mesmo no fim do desenvolvimento, ainda são bem-vindas.
III. Frequentemente são entregues softwares funcionais (semanas, em vez de meses).
IV. Desenvolvedores e pessoas relacionadas aos negócios devem trabalhar, em conjunto, até o fim do projecto.
V. Construir projectos com indivíduos motivados, dar-lhes ambiente e suporte necessários e confiar que cada um fará o seu trabalho.
VI. Uma conversa face a face é o método mais eficiente e efectivo de transmitir informações para e dentro de uma equipa de desenvolvimento.
![Page 51: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/51.jpg)
Os 12 princípios do Manifesto Ágil
VII. Software em funcionamento é a principal medida de progresso.
VIII. Desenvolvimento sustentável, de modo a manter um ritmo constante indefinidamente.
IX. Atenção contínua para com a excelência técnica e para com bons projectos aumenta a agilidade.
X. Simplicidade – a arte de maximizar a quantidade de trabalho não efectuado – é essencial.
XI. As melhores arquitecturas, requisitos e projectos emergem de equipes auto-organizáveis.
XII. Em intervalos regulares, a equipa deve reflectir sobre como se tornar mais eficiente.
![Page 52: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/52.jpg)
Algumas metodologias
XP (Extreme Programming) DAS (Desenvolvimento Adaptativo de
Software) DSDM (Dynamic Software Development
Method) Scrum Kanban Crystal FDD (Feature Driven Development) Modelagem Ágil (AM) Processo Unificado Ágil (AUP)
![Page 53: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/53.jpg)
Linguagens e plataformas para
desenvolvimento de software
![Page 54: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/54.jpg)
As plataformas oferecem suporte a aplicativos e soluções projectadas para os menores dispositivos, bem como para as maiores empresas.
![Page 55: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/55.jpg)
Ferramentas de desenvolvimento e linguagens
Ferramentas existem várias dependendo da linguagens.
As linguagens também são muitas mas é possível destacar algumas
A linguagem Java, apesar de ter uma curva de aprendizagem um pouco grande é o destaque dos últimos 20 anos
A linguagem C nos últimos tempos tem vindo a concorrer com o java
C#, C++, Python… têm a sua fatia no mercado
![Page 56: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/56.jpg)
Por áreas de desenvolvimento temos… Desenvolvimento Web
PHP, ASP.NET, Java (Servlets, JSP e JSF) Ferramentas auxiliares: Drupal,
Joomla, Plone Desenvolvimento corporativo e de
servidores Java EE e A plataforma .NET tem várias
propostas Desenvolvimento embedded e móvel
Android, IOS, Windows Mobile, BlackBerry Desenvolvimento para a nuvem
Existem propostas para quase todas a lingugagens
![Page 57: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/57.jpg)
DicasEsta foi apenas uma conversa… há um grande caminho
a se fazer…Entretanto
![Page 58: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/58.jpg)
58
Selecção do modelo
Deve haver flexibilidade na escolha Projectos pequenos: ciclo clássico Limites severos de tempo: DRA Data entrega muito próxima: modelo
incremental
Os modelos vistos até agora não são, por si só, suficientes para o sucesso de projectos baseados no Paradigma
Orientado a Objectos
![Page 59: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/59.jpg)
Selecção do modelo…
Para escolha de um Modelo de Processo de Software:
natureza do projecto e da aplicação
métodos e ferramentas a serem utilizadas
controlos e produtos que é preciso entregar
![Page 60: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/60.jpg)
![Page 61: Processos de desenvolvimento de software FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA 1º CICLO DE AULAS MAGNAS](https://reader035.vdocuments.com.br/reader035/viewer/2022081518/552fc15f497959413d8e7151/html5/thumbnails/61.jpg)
Joaquim José Hangalofacebook jaiKim [email protected]
hangalo.centrofsd.org
Perguntas...comentários...