O documento discute fundamentos de gerenciamento de projetos e UML. Apresenta conceitos como gerência de projetos, engenharia de software e diagramas UML. Explica como gerenciar projetos de software, incluindo adotar metodologia, comunicação, escopo, equipe e cronograma.
2. Conteúdo programático
Parte 1:
• Gerência de Projeto
• Engenharia de Software
• UML: Conceitos e Diagramas
Parte 2:
• Principais diagramas da UML
• Técnicas de levantamento de requisitos
• Exercícios práticos
2
3. Projeto
“conjunto de atividades temporárias, realizadas em grupo,
destinadas a produzir um produto, serviço ou resultado únicos”
Project Management Institute, 2013
3
8. Gerenciamento de Projetos
• Administração é o principal interessado
• Demanda aplicação de conhecimentos, habilidades e
técnicas na elaboração de atividades
• Define prazos, custos e qualidade
• Mobiliza recursos técnicos e humanos
8
9. Como gerenciar um projeto
1.
2.
3.
4.
5.
6.
7.
Adote uma metodologia
Comunique-se
Defina o escopo
Monte o time
Desenvolva o cronograma
Monitore os riscos
Formalize o início e fim do projeto
BARBI, 2013
9
10. Engenharia de Software
• Sistemas de Informação e Análise de Sistemas são os
principais interessados
• Gerencia o ciclo de vida dos softwares
Application Lifecycle Management – ALM
• Aplica os conceitos de Gerência de Projetos aos
sistemas de informação
• Uso constante de modelos abstratos
“Engenharia de Software é a criação e a utilização de sólidos
princípios de engenharia a fim de obter software de maneira
econômica, que seja confiável e que trabalhe em máquinas reais”
BAUER, 1960
10
11. Como gerenciar um projeto de software
1. Adote uma metodologia de desenvolvimento
Processo
Metodologia de
Desenvolvimento
Ferramentas
Métodos
11
12. Como gerenciar um projeto de software
1. Adote uma metodologia de desenvolvimento
– Processo
•
•
•
•
•
Cascata
Iterativo incremental
Evolucional
Espiral
Ágil
12
13. Como gerenciar um projeto de software
1. Adote uma metodologia de desenvolvimento
– Métodos
•
•
•
•
•
•
•
•
•
Análise Estruturada
DFD – Diagrama de fluxo de dados
MER – Modelo Entidade-Relacionamento
Orientação a objetos
Scrum
XP
FDD – Feature Driven Development
TDD – Test Driven Develpment
UML
13
14. Como gerenciar um projeto de software
1. Adote uma metodologia de desenvolvimento
– Ferramentas
•
•
•
•
•
•
•
CASE – Computer-aided software engineering
IDE
Editor
Compilador
Debug
Testes
Refactoring
14
15. Como gerenciar um projeto de software
2. Comunique-se com a equipe de
desenvolvimento
“não é só o peixe
que morre pela
boca!”
BARBI, 2013
15
28. Como gerenciar um projeto de software
4. Monte o time de desenvolvimento
– Conheça os stakeholders
(qualquer um pode ser um membro)
– Enquanto se define o escopo as habilidades
necessárias para ser membro serão mais claras
– Monte equipes com competências diversificadas
28
29. Como gerenciar um projeto de software
4. Desenvolva o cronograma com sua equipe de
desenvolvimento
– Defina as atividades a serem desenvolvidas
– Defina quem executará a atividade e o tempo
– Verifique a progressão das atividades
29
30. Como gerenciar um projeto de software
5. Desenvolva o cronograma com sua equipe de
desenvolvimento
30
31. Como gerenciar um projeto de software
6. Monitore os riscos que podem atrasar o
desenvolvimento
– Recursos
Orçamento, ferramentas, pessoas...
– Funcionalidades
Alteração de requisitos...
– Cronograma
Tempo estipulado foi pouco...
31
32. Como gerenciar um projeto de software
6. Formalize o início e fim do projeto do sistema
– Por que formalizar o início?
• Expressa autoridade para envolver pessoas e recursos
– Por que formalizar o fim?
• Momento de avaliar erros e acertos (Know-how)
• Clientes acham que podem mudar o tempo todo
• Novas necessidades? Novo projeto!
“Quero colocar minha foto no perfil”
32
35. UML
•
•
•
•
•
•
1997, por Booch, Rumbaugh e Jacobson
Não é uma metodologia!
Auxilia na visualização sistêmica de um problema
Não é depende de processo
Mais que uma ferramenta, um padrão de modelagem
Objetivos:
– Especificação
– Documentação
– Estruturação
35
36. Diagrama
Diagramas de
Estrutura
Diagramas de
Comportamento
Diagrama de
Classes
Diagrama de
Componentes
Diagrama de
Objetos
Diagrama de
Perfil
Diagrama de
Estrutura
Composta
Diagrama de
Pacotes
Diagrama de
Instalação
Diagrama de
Caso de Uso
Diagramas de
Interação
Diagrama de
Estados
Diagrama de
Atividades
Diagrama de
Sequência
Diagrama de
Comunicação
Diagrama de
Interatividade
Diagrama de
Tempo
36