Você está na página 1de 21

APS – O Processo e

Modelação

02/11/2022

3
1. Desenvolvimento Ágil

2. Aspectos Humanos da Engenharia de So<ware

3. Introdução à UML

Agenda
Desenvolvimento
Ágil / Agile

1
“A agilidade é dinâmica, de conteúdo específico, abrange mudanças
agressivas e é orientada ao crescimento.” Steven Goldman et al.

Desenvolvimento Ágil/Agile
Quais as etapas envolvidas?
O que é? Eng. de Sw flexível, permanecem as etapas: comunicação,
Entrega incremental antecipada ao cliente. Equipas planeamento, modelação, construção e entrega.
moGvadas e simplicidade no desenvolvimento geral.
Prioriza a comunicação. Qual é o artefacto?
Quem realiza? Eng. Sw e Cliente têm o mesmo parecer. Incremento de sw e
Engenheiros de so,ware, gestores, clientes, u4lizadores. entrega na data combinada.
Equipa auto-organizada (define o seu rumo)
Como garanIr que o trabalho foi realizado corretamente?
Porque é importante? Compromisso equipa resulta: produz / entrega incrementos de Sw que
Ambiente moderno, acelerado, responde à saGsfaçam o cliente.
constante mudança. ConsGtui uma alternaGva
comum à eng. de Sw convencional
Agilidade e o custo das mudanças:

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.

Desenvolvimento
Ágil / Agile

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

Não cometa o erro de supor que a agilidade lhe dará licença para abreviar soluções. Processo é um requisito, e disciplina é essencial.
Princípios da agilidade:

1. Prioridade é garanIr a saIsfação do cliente com a entrega


adiantada e conOnua de Sw;
2. Aceitar bem os pedidos de alterações;
3. GaranIr entregas frequentes;
Desenvolvimento 4. Comercial e developers lado a lado durante todo o projeto;
5. Manter o grau de moIvação elevado;
Ágil / Agile 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;
O que é o processo ágil/agile?
11. Equipas auto-organizadas ( melhores projetos );
1. Prever mudança de requisitos? 12. Auto avaliação periódica da equipa, sintoniza, ajusta o
2. EsEmar funcionalidades? comportamento de forma aumentar a eficiência.
3. Prever desvios de planeamento?
PoliIca do desenvolvimento ágil/agile
Como administrar a imprevisibilidade?
Adaptabilidade do processo, alterar rapidamente o projeto “Não se trata de escolher entre agilidade ou engenharia.
e as condições técnicas. GaranGr entregas incrementais Em vez disso, definir uma abordagem de engenharia de sofware
periódicas, criação de protóGpos, comunicar com o cliente que seja ágil.”
e saber o seu grau de saGsfação.
Princípios da agilidade:

Desenvolvimento
Ágil / Agile

XP - Extreme programming

Metodologia de desenvolvimento orientada aos


objectos, regras e práIcas no contexto de quatro
aIvidades metodológicas: Planeamento, projeto,
codificação e teste.
Fluxo do Scrum

Desenvolvimento
Ágil / Agile

Scrum

AIvidades 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 de Software

2
"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

HR da Engenharia de Sw
O que é? Quais as etapas envolvidas?
Sucesso de um sofware está relacionado com 1. Saber entender as caracterísIcas pessoais de um eng.
a tecnologia e processos mais recentes. de sofware; 2. Compreender a psicologia do trabalho de
eng. de sofware. 3. UIlizar mecanismos e ferramentas de
Quem realiza? colaboração para agilizar o trabalho em equipa.
Engenheiros de sofware, equipas. Líder de equipa é Qual é o artefacto?
o responsável pelo projeto de sofware entregue. Melhor compreensão das pessoas sobre o projeto de Sw.
Porque é importante? Como garanIr que o trabalho foi realizado corretamente?
Coordenação e trabalho em equipa é Observar Eng. De sofware e dinâmica das equipas bem
fundamental para o sucesso de um projeto. sucedidas, evidenciar os aspetos posiIvos publicamente e os
negaIvos em privado (1:1).
Introdução à UML
(Unified Modeling Language)

3
“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 Unified Modeling Language


Quais as etapas envolvidas?
O que é? O processo adotado depende do Sw a ser desenvolvido.
Linguagem padrão para descrever / documentar
um projeto de sofware. Qual é o artefacto?
Elementos visuais dos diagramas UML e os seus significados.
Quem realiza?
Engenheiros de sofware, analistas.
Como garanIr que o trabalho foi realizado corretamente?
Porque é importante? Qualquer elemento da equipa de Sw. Deverá ser capaz de
Porque propicia uma representação entender o projeto de sw recorrendo aos diagramas UML.
inequivoca do projeto de Sw.
UML
Diagrama de Classes

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
Diagrama de
Implantação
Foca na estrutura estrutura do sistema de
so,ware e são úteis para mostrar a
distribuição 3sica de um sistema de
so,ware entre plataformas de hardware e
ambientes de execução.
UML
Diagrama de Caso de
Uso
Ajudam a determi- nar a funcionalidade e as
caracterís?cas do so,ware sob o ponto de
vista do u?lizador.
UML
Diagrama de
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
Diagrama de
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
Diagrama de
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 sis- tema
executa. Ele é similar a um fluxograma, exceto que
pode mostrar fluxos concorrentes.
UML
Diagrama de
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 sis- tema
executa. Ele é similar a um fluxograma, exceto que
pode mostrar fluxos concorrentes.

Com a inclusão das raias.


UML
Diagrama de Estado

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.

Você também pode gostar