Escolar Documentos
Profissional Documentos
Cultura Documentos
pontodeensino.com
Professor
Emiliano S.
[Versão 7 Agosto/2019] Monteiro
2.8. Processo: Desenvolvimento orientado ao reuso
Fonte: https://www.ime.usp.br/~pf/algoritmos/aulas/footnotes/interativo.html
2.12.2. Iterativo
• Iterativo é um termo que anda sempre com o termo incremental, isto
pode ser visto em vários processos de desenvolvimento de software.
• As iterações e incrementos são executadas no ciclo de desenvolvimento
em mais de uma etapa e podem ser executadas ao mesmo tempo
durante o ciclo.
• A combinação de iteração e incrementes tornam os processos
evolucionários e fornecem construções incrementais.
• O relacionamento entre iterações e incrementas estão entre todos as
metodologias de desenvolvimento de software ou processos de
software.
Requisitos
Análise e
Planejamento
projeto
Evolução Implementação
Testes
Deploy
(implantação/entrega)
2.13. Processo: ASD - Desenvolvimento de software ágil
1. RAD 1991
2. Processo Unificado 1994
3. SCRUM 1995
4. Cristal Clear e XP 1996
5. Feature-Driven 1997
6. Entre outros o manifesto Agile de 2001 colocou
todos sob o mesmo guarda chuva !
2.15. Os 4 pilares do manifesto:
1. Indivíduos e interações
Auto-organização e motivação são importantes, assim como iterações e programação
de pares.
2. Software funcionando
Software funcionando (rodando) é mais útil e bem-vindo do que apenas apresentar
documentos aos clientes em reuniões.
3. Colaboração com o cliente
Os requisitos não podem ser totalmente coletados no início do ciclo de
desenvolvimento de software, portanto, o envolvimento contínuo com os clientes ou
partes interessadas é muito importante.
4. Respondendo à mudança
Métodos ágeis são focados em respostas rápidas à mudança e desenvolvimento
contínuo.
2.16. Os 12 princípios ágeis:
1. Satisfação do cliente pela entrega precoce e contínua de software
2. Bons requisitos, mesmo em desenvolvimento tardio
3. Software em funcionamento (pronto para rodar) é entregue com freqüência (semanas, em
vez de meses)
4. Cooperação estreita e diária entre empresários e desenvolvedores
5. Os projetos são construídos em torno de indivíduos motivados, que devem ser confiáveis
6. A conversa cara-a-cara é a melhor forma de comunicação
7. O software funcionando é a principal medida do progresso
8. Desenvolvimento sustentável, capaz de manter um ritmo constante
9. Atenção contínua à excelência técnica e ao bom design/projeto
10. Simplicidade é essencial
11. As melhores arquiteturas, requisitos e projetos emergem de equipes auto-organizadas
12. Regularmente, a equipe reflete sobre como tornar-se mais eficaz, e se ajusta conforme a
necessidade
2.17. Exemplos de processos ágeis
1. Acceptance Test Driven Development (ATDD) 10. Graphical System Design (GSD)
2. Agile Modeling 11. Kanban
12. Lean software development
3. Agile Unified Process (AUP)
13. Scrum
4. Continuous integration (CI) 14. Scrum-ban
5. Crystal Clear 15. Story-driven modeling
6. Crystal Methods 16. Test-driven development (TDD)
7. Dynamic Systems Development Method (DSDM) 17. Velocity tracking
18. Software Development Rhythms
8. Extreme Programming (XP)
9. Feature Driven Development (FDD)
2.17. Exemplos de processos ágeis
1. Adaptive software development (ASD)
2. Agile modeling
3. Agile Unified Process (AUP)
4. Crystal Clear methods
5. Disciplined agile delivery
6. Dynamic systems development method (DSDM)
7. Extreme programming (XP)
8. Feature-driven development (FDD)
9. Lean software development
10. Kanban
11. Scrum
12. Scrumban
13. Rapid application development (RAD)
2.18. Processo: Agile Unified Process - AUP
Professor
Emiliano S.
Monteiro
4.1. Conceitos de UML
• É uma padronização de modelagem.
• Ele é desenhada!
• Como é uma linguagem desenhada, os desenhos podem ser codificados em qualquer
linguagem de qualquer forma, não necessariamente por linguagens 100% OO.
• Se forem utilizadas ferramentas automatizadas (CASE) para a elaboração dos diagramas,
então estas ferramentas podem auxiliar gerando códigos para os programadores,
minimizando erros.
• Os diagramas “básicos”... são eles:
– 1.Diagrama de classes
– 2.Diagrama de objetos
– 3.Diagrama de casos de uso
– 4.Diagrama de sequências
– 5.Diagrama de colaborações
– 6.Diagrama de transição de estados
– 7.Diagrama de atividades
– 8.Diagrama de componentes
– 9.Diagrama de implantação Demais diagramas: https://pt.wikipedia.org/wiki/UML
4.2. Lista completa de diagramas da UML
Diagramas estruturais
1. Diagrama de classes
2. Diagrama de objetos
3. Diagrama de componentes
4. Diagrama de instalação ou de implantação
5. Diagrama de pacotes
6. Diagrama de estrutura composta
7. Diagrama de perfil
Diagramas comportamentais ou dinâmicos
8. Diagrama de caso de uso
9. Diagrama de transição de estados ou de estados
10. Diagrama de atividade
11. Diagramas de interação:
11.1. Diagrama de sequência
11.2. Diagrama Visão Geral de Interação ou de interação
11.3. Diagrama de colaboração ou comunicação
11.4. Diagrama de tempo ou temporal
4.3. Diagramas básicos
1 Diagramas de classe
2 Diagramas de objetos
3 Diagramas de componentes
Diagramas estruturais 4 Diagramas de implementação ou instalação
5 Diagramas de pacotes
6 Diagramas de estrutura composta
7 Diagrama de perfil
Nome
Atributos
Operações
Implementação
Conceito Especificação
Físico
4.3.1.1. Cartões CRC
1 Exatamente um
1..* Um ou mais
{Ordenado} Ordenador
4.3.2. Relacionamentos
Pai
Filho
9. Mercado de trabalho
Professor
Emiliano S.
Monteiro
Ofertas de emprego (maio/2019)
Referências bibliográficas
• Básica
– PFLEEGER, Shari Lawrance. Engenharia de software – teoria e prática. 2ª. ed. São Paulo :
Prentice Hall, 2004.
– SOMMERVILLE, Ian. Engenharia de Software. 6ª. Ed. São Paulo : Addison Wesley, 2003.
– BEZERRA, Eduardo. Princípios de Análise e Projeto de Sistemas com UML. 1.ed. Rio de Janeiro:
Elsevier, 2007.
• Complementar
– FERNANDES, Aguinaldo, Aragon. TEIXEIRA, Descartes de Souza. Fábrica de software –
implantação e gestão de operações. São Paulo : Atlas, 2004.
– LARMAN, Craig. Utilizando UML e padrões: uma introdução à análise e o projeto orientados a
objetos e ao processo unificado. 2.ed. Porto Alegre: Bookman, 2004. .