SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
APS –O Processo e
Modelação
3
13/03/2024
Agenda
1. Desenvolvimento Ágil
2. Aspectos Humanos da Engenharia de So<ware
3. Introdução à UML
Desenvolvimento
Ágil /Agile
1
DesenvolvimentoÁgil/Agile
O que é?
Entrega incremental antecipada ao cliente. Equipas
moGvadas e simplicidade no desenvolvimento geral.
Prioriza a comunicação.
Quem realiza?
Engenheiros de software, gestores, clientes, utilizadores.
Equipa auto-organizada (define o seu rumo)
Porque é importante?
Ambiente moderno, acelerado, responde à
constante mudança. Constitui uma alternativa
comum à eng. de Sw convencional
Quais as etapas envolvidas?
Eng. de Sw flexível, permanecem as etapas: comunicação,
planeamento, modelação, construção e entrega.
Qual é o artefacto?
Eng. Sw e Cliente têm o mesmo parecer. Incremento de sw
e entrega na data combinada.
Como garantir que o trabalho foi realizado corretamente?
Compromisso equipa resulta: produz / entrega incrementos de Sw que
satisfaçam o cliente.
“A agilidade é dinâmica, de conteúdo específico, abrange mudanças
agressivas e é orientada ao crescimento.” Steven Goldman et al.
Desenvolvimento
Ágil/Agile
Agilidade e o custo das mudanças:
Agile Alliance: (2001 – Kent Beck)
Indivíduos e interações acima de processos e ferramentas
So6ware operacional acima de documentação completa
Colaboração dos clientes acima de negociação contratual
Respostas a mudanças acima de seguir um plano
Desenvolvimento ágil não significa que nenhum documento é criado;
significa que apenas os documentos que vão ser consultados mais
adiante no processo de desenvolvimento são criados.
Não cometa o erro de supor que a agilidade lhe dará licença para abreviar soluções. Processo é um requisito, e disciplina é essencial.
Desenvolvimento
Ágil/Agile
Princípios da agilidade:
O que é o processo ágil/agile?
1. Prever mudança de requisitos?
2. EsEmar funcionalidades?
3. Prever desvios de planeamento?
Como administrar a imprevisibilidade?
Adaptabilidade do processo, alterar rapidamente o projeto
e as condições técnicas. GaranGr entregas incrementais
periódicas, criação de protóGpos, comunicar com o cliente
e saber o seu grau de saGsfação.
1. Prioridade é garanNr a saNsfação do cliente com a entrega
adiantada e conOnua de Sw;
2. Aceitar bem os pedidos de alterações;
3. GaranNr entregas frequentes;
4. Comercial e developers lado a lado durante todo o projeto;
5. Manter o grau de moNvação elevado;
6. Comunicar com a equipa, de preferência presencialmente;
7. Sw funcional é a principal medida de progresso;
8. Desenvolvimento sustentável; capacidade de manter o ritmo;
9. Atenção conOnua para a competência técnica dos projetos;
10. Simplicidade, maximizar o volume de trabalho não realizado;
11. Equipas auto-organizadas ( melhores projetos );
12. Auto avaliação periódica da equipa, sintoniza, ajusta o
comportamento de forma aumentar a eficiência.
PoliNca do desenvolvimento ágil/agile
“Não se trata de escolher entre agilidade ou engenharia.
Em vez disso, definir uma abordagem de engenharia de sofware
que seja ágil.”
Desenvolvimento
Ágil/Agile
Princípios da agilidade:
XP - Extreme programming
Metodologia de desenvolvimento orientada aos
objectos, regras e práNcas no contexto de quatro
aNvidades metodológicas: Planeamento, projeto,
codificação e teste.
Desenvolvimento
Ágil/Agile
Fluxo do Scrum
Scrum
ANvidades metodológicas: Requisitos, análise,
projeto, evolução e entrega.
Ferramentas de gestão:
Diagrama de ganR;
Boards; (TODO, DOING, DONE)
Ex. JIRA, Trello, Wrike, Github Project, DevOps,
etc...
Aspectos Humanos da
Engenharia deSoftware
2
HRdaEngenhariadeSw
O que é?
Sucesso de um sofware está relacionado com
a tecnologia e processos mais recentes.
Quem realiza?
Engenheiros de sofware, equipas. Líder de equipa é
o responsável pelo projeto de sofware entregue.
Porque é importante?
Coordenação e trabalho em equipa é
fundamental para o sucesso de um projeto.
Quais as etapas envolvidas?
1. Saber entender as características pessoais de um eng.
de software; 2. Compreender a psicologia do trabalho de
eng. de software. 3. Utilizar mecanismos e ferramentas de
colaboração para agilizar o trabalho em equipa.
Qual é o artefacto?
Melhor compreensão das pessoas sobre o projeto de Sw.
Como garanNr que o trabalho foi realizado corretamente?
Observar Eng. De sofware e dinâmica das equipas bem
sucedidas, evidenciar os aspetos posiNvos publicamente e os
negaNvos em privado (1:1).
"A maioria dos bons programadores faz seu trabalho não porque
espera pagamento ou bajulação pública, mas porque é diver?do
programar.” Linus Torvalds
Introdução àUML
(UnifiedModeling Language)
3
UMLUnifiedModelingLanguage
O que é?
Linguagem padrão para descrever / documentar
um projeto de sofware.
Quem realiza?
Engenheiros de software, analistas.
Porque é importante?
Porque propicia uma representação
inequivoca do projeto de Sw.
Quais as etapas envolvidas?
O processo adotado depende do Sw a ser desenvolvido.
Qual é o artefacto?
Elementos visuais dos diagramas UML e os seus significados.
Como garanNr que o trabalho foi realizado corretamente?
Qualquer elemento da equipa de Sw. Deverá ser capaz de
entender o projeto de sw recorrendo aos diagramas UML.
“Era uma vez um sistema UML que bnha origem na compilação das
"melhores prábcas de engenharia" que provaram ter sucesso
na modelação de sistemas grandes e complexos” Wikipédia
UML
DiagramadeClasses
Um diagrama de classe fornece uma visão
estática ou estrutural do sistema. atributos,
operações, relações e associações com outras
classes.
UML
Diagramade
Implantação
Foca na estrutura do sistema de so/ware e
são úteis para mostrar a distribuição 6sica
de um sistema de so/ware entre
plataformas de hardware e ambientes de
execução.
UML
DiagramadeCasode
Uso
Ajudam a determinar a funcionalidade e as
caracterís?cas do so/ware sob o ponto de
vista do u?lizador.
UML
Diagramade
Sequência
Ajudam a mostrar as interações em um caso de uso ou
em um cenário do sistema de so/ware.
Em contraste com os diagramas de classe e de
implantação, que mostram a estrutura está?ca de um
componente de so/ware, o diagrama de sequência é
u?lizado para indicar as comunicações dinâmicas entre
objetos durante a execução de uma tarefa.
Ele mostra a ordem temporal na qual as mensagens são
enviadas entre os objetos para executar aquela tarefa.
UML
Diagramade
Comunicação/
Colaboração
O diagrama de comunicação UML (conhecido como
“diagrama de colaboração” na UML 1.X) fornece outra
indicação da ordem temporal das comunicações, mas
dá ênfase às relações entre os objetos e classes em vez
da ordem temporal.
UML
Diagramade
Actividade
O diagrama de a?vidade mostra o comportamento
dinâmico de um sistema ou de parte de um sistema por
meio do fluxo de controle entre ações que o sistema
executa. Ele é similar a um fluxograma, exceto que
pode mostrar fluxos concorrentes.
UML
Diagramade
Actividade
O diagrama de a?vidade mostra o comportamento
dinâmico de um sistema ou de parte de um sistema por
meio do fluxo de controle entre ações que o sistema
executa. Ele é similar a um fluxograma, exceto que
pode mostrar fluxos concorrentes.
Com a inclusão das raias.
UML
DiagramadeEstado
O comportamento de um objeto em determinado instante
frequentemente depende do seu estado, ou seja, dos
valores de suas variáveis naquele instante. Como um
exemplo trivial, considere um objeto com uma variável de
instância booleana. Quando solicitado a executar uma
operação, o objeto pode realizar algo se a variável for
verdadeira (true) e realizar outra coisa se for falsa (false).
Um diagrama de estado modela os estados de um objeto,
as ações executadas dependendo daqueles estados e as
transições entre os estados do objeto.
2 - APS – Processo, Modelação e Desenvolvimento Agil.pdf

Mais conteúdo relacionado

Semelhante a 2 - APS – Processo, Modelação e Desenvolvimento Agil.pdf

Aula2 TEES UFS: Fases de Engenharia de SW e Gestão de Projectos de SW
Aula2 TEES UFS: Fases de Engenharia de SW e Gestão de Projectos de SWAula2 TEES UFS: Fases de Engenharia de SW e Gestão de Projectos de SW
Aula2 TEES UFS: Fases de Engenharia de SW e Gestão de Projectos de SWRogerio P C do Nascimento
 
1 - APS – Iniciação Desenvolvimento Requisitos.pdf
1 - APS – Iniciação Desenvolvimento Requisitos.pdf1 - APS – Iniciação Desenvolvimento Requisitos.pdf
1 - APS – Iniciação Desenvolvimento Requisitos.pdfa29398
 
Open Up – Gerenciando Projetos Sob Principios Ágeis
Open Up – Gerenciando Projetos Sob Principios ÁgeisOpen Up – Gerenciando Projetos Sob Principios Ágeis
Open Up – Gerenciando Projetos Sob Principios Ágeisjeanstreleski
 
Erika questionario pt 1 (Eng Software III).
Erika questionario pt 1 (Eng Software III).Erika questionario pt 1 (Eng Software III).
Erika questionario pt 1 (Eng Software III).Érika Santos
 
Scrum uma metodologia ágil paragestão e planejamento de projetos de software
Scrum uma metodologia ágil paragestão e planejamento de projetos de softwareScrum uma metodologia ágil paragestão e planejamento de projetos de software
Scrum uma metodologia ágil paragestão e planejamento de projetos de softwareThiago Reis da Silva
 
Governança Ágil - Ágiles 2009
Governança Ágil - Ágiles 2009Governança Ágil - Ágiles 2009
Governança Ágil - Ágiles 2009Clavius Tales
 
Engenharia de Software introdução
Engenharia de Software    introduçãoEngenharia de Software    introdução
Engenharia de Software introduçãomiroslayer
 
Princípios da Gestão de Fluxos de Valor
Princípios da Gestão de Fluxos de ValorPrincípios da Gestão de Fluxos de Valor
Princípios da Gestão de Fluxos de ValorAndré Luís Cardoso
 
Valores e principios das metodologias ágeis
Valores e principios das metodologias ágeisValores e principios das metodologias ágeis
Valores e principios das metodologias ágeisKarol Oliveira
 
Tradução resumida do livro "The Elements of Scrum"
Tradução resumida do livro "The Elements of Scrum"Tradução resumida do livro "The Elements of Scrum"
Tradução resumida do livro "The Elements of Scrum"Henrique Bueno
 
Apresentacao engenharia aup
Apresentacao engenharia aupApresentacao engenharia aup
Apresentacao engenharia aupRenato Lucena
 
Metodologias ageis
Metodologias ageisMetodologias ageis
Metodologias ageisrenersson
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven developmentIzabel Rodrigues
 

Semelhante a 2 - APS – Processo, Modelação e Desenvolvimento Agil.pdf (20)

Desenvolvimento Ágil
Desenvolvimento ÁgilDesenvolvimento Ágil
Desenvolvimento Ágil
 
Aula2 TEES UFS: Fases de Engenharia de SW e Gestão de Projectos de SW
Aula2 TEES UFS: Fases de Engenharia de SW e Gestão de Projectos de SWAula2 TEES UFS: Fases de Engenharia de SW e Gestão de Projectos de SW
Aula2 TEES UFS: Fases de Engenharia de SW e Gestão de Projectos de SW
 
38484931 questionario-es
38484931 questionario-es38484931 questionario-es
38484931 questionario-es
 
1 - APS – Iniciação Desenvolvimento Requisitos.pdf
1 - APS – Iniciação Desenvolvimento Requisitos.pdf1 - APS – Iniciação Desenvolvimento Requisitos.pdf
1 - APS – Iniciação Desenvolvimento Requisitos.pdf
 
Open Up – Gerenciando Projetos Sob Principios Ágeis
Open Up – Gerenciando Projetos Sob Principios ÁgeisOpen Up – Gerenciando Projetos Sob Principios Ágeis
Open Up – Gerenciando Projetos Sob Principios Ágeis
 
Erika questionario pt 1 (Eng Software III).
Erika questionario pt 1 (Eng Software III).Erika questionario pt 1 (Eng Software III).
Erika questionario pt 1 (Eng Software III).
 
Scrum uma metodologia ágil paragestão e planejamento de projetos de software
Scrum uma metodologia ágil paragestão e planejamento de projetos de softwareScrum uma metodologia ágil paragestão e planejamento de projetos de software
Scrum uma metodologia ágil paragestão e planejamento de projetos de software
 
Governança Ágil - Ágiles 2009
Governança Ágil - Ágiles 2009Governança Ágil - Ágiles 2009
Governança Ágil - Ágiles 2009
 
Engenharia de Software introdução
Engenharia de Software    introduçãoEngenharia de Software    introdução
Engenharia de Software introdução
 
Princípios da Gestão de Fluxos de Valor
Princípios da Gestão de Fluxos de ValorPrincípios da Gestão de Fluxos de Valor
Princípios da Gestão de Fluxos de Valor
 
Valores e principios das metodologias ágeis
Valores e principios das metodologias ágeisValores e principios das metodologias ágeis
Valores e principios das metodologias ágeis
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Agile User Experience
Agile User ExperienceAgile User Experience
Agile User Experience
 
Tradução resumida do livro "The Elements of Scrum"
Tradução resumida do livro "The Elements of Scrum"Tradução resumida do livro "The Elements of Scrum"
Tradução resumida do livro "The Elements of Scrum"
 
Apresentacao engenharia aup
Apresentacao engenharia aupApresentacao engenharia aup
Apresentacao engenharia aup
 
Planificação do Projeto de Software
Planificação do Projeto de SoftwarePlanificação do Projeto de Software
Planificação do Projeto de Software
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Metodologias ageis
Metodologias ageisMetodologias ageis
Metodologias ageis
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven development
 
IBM Rational Unified Process
IBM Rational Unified ProcessIBM Rational Unified Process
IBM Rational Unified Process
 

2 - APS – Processo, Modelação e Desenvolvimento Agil.pdf

  • 1. APS –O Processo e Modelação 3 13/03/2024
  • 2. Agenda 1. Desenvolvimento Ágil 2. Aspectos Humanos da Engenharia de So<ware 3. Introdução à UML
  • 4. DesenvolvimentoÁgil/Agile O que é? Entrega incremental antecipada ao cliente. Equipas moGvadas e simplicidade no desenvolvimento geral. Prioriza a comunicação. Quem realiza? Engenheiros de software, gestores, clientes, utilizadores. Equipa auto-organizada (define o seu rumo) Porque é importante? Ambiente moderno, acelerado, responde à constante mudança. Constitui uma alternativa comum à eng. de Sw convencional Quais as etapas envolvidas? Eng. de Sw flexível, permanecem as etapas: comunicação, planeamento, modelação, construção e entrega. Qual é o artefacto? Eng. Sw e Cliente têm o mesmo parecer. Incremento de sw e entrega na data combinada. Como garantir que o trabalho foi realizado corretamente? Compromisso equipa resulta: produz / entrega incrementos de Sw que satisfaçam o cliente. “A agilidade é dinâmica, de conteúdo específico, abrange mudanças agressivas e é orientada ao crescimento.” Steven Goldman et al.
  • 5. Desenvolvimento Ágil/Agile Agilidade e o custo das mudanças: Agile Alliance: (2001 – Kent Beck) Indivíduos e interações acima de processos e ferramentas So6ware operacional acima de documentação completa Colaboração dos clientes acima de negociação contratual Respostas a mudanças acima de seguir um plano Desenvolvimento ágil não significa que nenhum documento é criado; significa que apenas os documentos que vão ser consultados mais adiante no processo de desenvolvimento são criados. Não cometa o erro de supor que a agilidade lhe dará licença para abreviar soluções. Processo é um requisito, e disciplina é essencial.
  • 6. Desenvolvimento Ágil/Agile Princípios da agilidade: O que é o processo ágil/agile? 1. Prever mudança de requisitos? 2. EsEmar funcionalidades? 3. Prever desvios de planeamento? Como administrar a imprevisibilidade? Adaptabilidade do processo, alterar rapidamente o projeto e as condições técnicas. GaranGr entregas incrementais periódicas, criação de protóGpos, comunicar com o cliente e saber o seu grau de saGsfação. 1. Prioridade é garanNr a saNsfação do cliente com a entrega adiantada e conOnua de Sw; 2. Aceitar bem os pedidos de alterações; 3. GaranNr entregas frequentes; 4. Comercial e developers lado a lado durante todo o projeto; 5. Manter o grau de moNvação elevado; 6. Comunicar com a equipa, de preferência presencialmente; 7. Sw funcional é a principal medida de progresso; 8. Desenvolvimento sustentável; capacidade de manter o ritmo; 9. Atenção conOnua para a competência técnica dos projetos; 10. Simplicidade, maximizar o volume de trabalho não realizado; 11. Equipas auto-organizadas ( melhores projetos ); 12. Auto avaliação periódica da equipa, sintoniza, ajusta o comportamento de forma aumentar a eficiência. PoliNca do desenvolvimento ágil/agile “Não se trata de escolher entre agilidade ou engenharia. Em vez disso, definir uma abordagem de engenharia de sofware que seja ágil.”
  • 7. Desenvolvimento Ágil/Agile Princípios da agilidade: XP - Extreme programming Metodologia de desenvolvimento orientada aos objectos, regras e práNcas no contexto de quatro aNvidades metodológicas: Planeamento, projeto, codificação e teste.
  • 8. Desenvolvimento Ágil/Agile Fluxo do Scrum Scrum ANvidades metodológicas: Requisitos, análise, projeto, evolução e entrega. Ferramentas de gestão: Diagrama de ganR; Boards; (TODO, DOING, DONE) Ex. JIRA, Trello, Wrike, Github Project, DevOps, etc...
  • 10. HRdaEngenhariadeSw O que é? Sucesso de um sofware está relacionado com a tecnologia e processos mais recentes. Quem realiza? Engenheiros de sofware, equipas. Líder de equipa é o responsável pelo projeto de sofware entregue. Porque é importante? Coordenação e trabalho em equipa é fundamental para o sucesso de um projeto. Quais as etapas envolvidas? 1. Saber entender as características pessoais de um eng. de software; 2. Compreender a psicologia do trabalho de eng. de software. 3. Utilizar mecanismos e ferramentas de colaboração para agilizar o trabalho em equipa. Qual é o artefacto? Melhor compreensão das pessoas sobre o projeto de Sw. Como garanNr que o trabalho foi realizado corretamente? Observar Eng. De sofware e dinâmica das equipas bem sucedidas, evidenciar os aspetos posiNvos publicamente e os negaNvos em privado (1:1). "A maioria dos bons programadores faz seu trabalho não porque espera pagamento ou bajulação pública, mas porque é diver?do programar.” Linus Torvalds
  • 12. UMLUnifiedModelingLanguage O que é? Linguagem padrão para descrever / documentar um projeto de sofware. Quem realiza? Engenheiros de software, analistas. Porque é importante? Porque propicia uma representação inequivoca do projeto de Sw. Quais as etapas envolvidas? O processo adotado depende do Sw a ser desenvolvido. Qual é o artefacto? Elementos visuais dos diagramas UML e os seus significados. Como garanNr que o trabalho foi realizado corretamente? Qualquer elemento da equipa de Sw. Deverá ser capaz de entender o projeto de sw recorrendo aos diagramas UML. “Era uma vez um sistema UML que bnha origem na compilação das "melhores prábcas de engenharia" que provaram ter sucesso na modelação de sistemas grandes e complexos” Wikipédia
  • 13. UML DiagramadeClasses Um diagrama de classe fornece uma visão estática ou estrutural do sistema. atributos, operações, relações e associações com outras classes.
  • 14. UML Diagramade Implantação Foca na estrutura do sistema de so/ware e são úteis para mostrar a distribuição 6sica de um sistema de so/ware entre plataformas de hardware e ambientes de execução.
  • 15. UML DiagramadeCasode Uso Ajudam a determinar a funcionalidade e as caracterís?cas do so/ware sob o ponto de vista do u?lizador.
  • 16. UML Diagramade Sequência Ajudam a mostrar as interações em um caso de uso ou em um cenário do sistema de so/ware. Em contraste com os diagramas de classe e de implantação, que mostram a estrutura está?ca de um componente de so/ware, o diagrama de sequência é u?lizado para indicar as comunicações dinâmicas entre objetos durante a execução de uma tarefa. Ele mostra a ordem temporal na qual as mensagens são enviadas entre os objetos para executar aquela tarefa.
  • 17. UML Diagramade Comunicação/ Colaboração O diagrama de comunicação UML (conhecido como “diagrama de colaboração” na UML 1.X) fornece outra indicação da ordem temporal das comunicações, mas dá ênfase às relações entre os objetos e classes em vez da ordem temporal.
  • 18. UML Diagramade Actividade O diagrama de a?vidade mostra o comportamento dinâmico de um sistema ou de parte de um sistema por meio do fluxo de controle entre ações que o sistema executa. Ele é similar a um fluxograma, exceto que pode mostrar fluxos concorrentes.
  • 19. UML Diagramade Actividade O diagrama de a?vidade mostra o comportamento dinâmico de um sistema ou de parte de um sistema por meio do fluxo de controle entre ações que o sistema executa. Ele é similar a um fluxograma, exceto que pode mostrar fluxos concorrentes. Com a inclusão das raias.
  • 20. UML DiagramadeEstado O comportamento de um objeto em determinado instante frequentemente depende do seu estado, ou seja, dos valores de suas variáveis naquele instante. Como um exemplo trivial, considere um objeto com uma variável de instância booleana. Quando solicitado a executar uma operação, o objeto pode realizar algo se a variável for verdadeira (true) e realizar outra coisa se for falsa (false). Um diagrama de estado modela os estados de um objeto, as ações executadas dependendo daqueles estados e as transições entre os estados do objeto.