Buscar

9868a0af-114b-47e3-8b63-ad74e0d446b6

Prévia do material em texto

WBA0446_v1.0
CASE 
As principais ferramentas no 
ciclo de desenvolvimento de 
softwares
Gerenciamento de projetos 
de software
Bloco 1
André Olímpio
Projeto
• É caracterizado por uma sequência clara e lógica de eventos, planejados e
organizados. Início, meio e fim definidos.
• Destina a atingir um objetivo claro e estabelecido, sendo conduzido por pessoas
dentro de parâmetros de:
• Tempo.
• Custo.
• Recursos envolvidos.
• Qualidade.
Projeto
Processos de 
inicialização.
Processos de 
planejamento.
Processos de 
execução.
Processos de 
monitoração e 
controle.
Processos de 
encerramento.
Projeto
Necessidade (interna ou externa)
Requisitos
Validações
Controle de versionamento
• Uma versão é o registro de uma determinada situação do software em seu
ciclo de vida.
• A manutenção pode ser:
• Corretiva: correções de código, não afetando a
estrutura do software.
• Agregação de recursos: novos recursos serão
atribuídos ao software, afetando a estrutura.
Controle de versionamento
Corretiva:
1.1 1.2 1.3 1.4
Inclusão 
inicial.
Correção da 
palavra 
Hello.
Correção de 
palavra 
World.
Inclusão de 
!!! ao final.
Controle de versionamento
Agregação de valores:
HelloWorld.java
1.0 2.0 3.0
Versão 
entregue. Módulo de 
impressão de 
resultados.
Conectividade 
com BD.
DevOps
• Integração entre desenvolvimento (Dev) e a operação (Ops).
• Garantia da automação e do monitoramento em todas as etapas do
processo de desenvolvimento.
• Objetivo: fornecer entregas contínuas de pequenos incrementos do
sistema, ao final de cada etapa do processo.
Pipeline
• Canais para garantir o fluxo e processamento de dados
durante a execução de cada etapa do desenvolvimento do
sistema.
• Este fluxo é dividido em três etapas:
• Data engineering.
• Data preparation.
• Analytics.
Pipeline
• Data engineering é um processo responsável por:
• Coletar dados.
• Remover possíveis inconsistências.
• Inserir esses dados em um ambiente de armazenamento
variado.
• Data lake: repositório de dados não formatados, geralmente,
objetos BLOB.
Pipeline
• Data preparation: processo de refinamento de dados,
adicionando as regras de negócio, gerando uma base
consistente para as demais etapas do fluxo.
• Analytics: processo de análises sobre os dados que foram
gerados na etapa de preparação.
Ferramentas CASE para 
controle de versionamento
de software
Bloco 2
André Olímpio
GitHub
• Estrutura em ambiente web.
• Plataforma de hospedagem de códigos com controle de versão.
• Armazenamento de dados em repositórios que apresentam
um histórico de todas as revisões e alterações feitas em um
arquivo.
GitHub
Fonte: teguhjatipras/istock.com
Figura 1 - GitHub
GitHub
Fonte: captura de tela do site GitHub.com.
Figura 2 - GitHub
GitHub
Comando Descrição
git branch nome_branch Criar branch.
git merge nome_branch Reagrupar branch. 
git pull
Atualizar uma aplicação 
localmente.
git push
Enviar versões atualizadas para o 
servidor web.
git clone local_origem : local_destino Criar clone de um repositório.
Principais comandos:
Ferramentas CASE para 
gerenciamento de projetos 
de software
Bloco 3
André Olímpio
GitHub Desktop
• Permite trabalhar, localmente, com repositórios disponibilizados
on-line na plataforma do GitHub.
• Criação de clones dos repositórios.
• Extensão do GitHub.
• Versões para Windows e MacOS.
GitHub
• Serviços disponíveis:
• Trabalhar, localmente, e fazer upload diretamente no
repositório do GitHub.
• Utilizar todos os comandos do Git.
• Visualizar mudanças feitas no repositório desde a clonagem.
• Integrar projetos em plataformas diferentes.
Visual Studio Team System (VSTS)
• Também conhecido como Azure DevOps.
• Utilizado no gerenciamento do ciclo de vida de aplicativos e
projetos de software.
• Possui portabilidade para serviços do GitHub.
• Arquitetura de serviços em ambiente Web.
Visual Studio Team System (VSTS)
• Serviços disponíveis:
• Utilizar os recursos de DevOps em todo ciclo 
de vida do software.
• Utilizar serviços web semelhantes aos desktop.
• Visualizar os serviços de diferentes etapas em 
uma única interface.
• Gerenciar o projeto utilizando comandos do 
GitHub.
Visual Studio Team System (VSTS)
Fonte: captura de tela do Azure.
Figura 3 - VSTS
Redmine
• Também conhecido como Easy Redmine.
• Baseados em serviços web e correção de bugs.
• Conjunto de bibliotecas utilizadas para aumentar a
velocidade e a facilidade de criação de websites orientados
a banco de dados.
Redmine
• Serviços disponíveis:
• Plugins de recursos de métodos ágeis.
• Cronograma de tarefas.
• Interface integrada com diferentes serviços.
• Integração com Microsoft Excel, Microsoft Project e Jira.
Redmine
Fonte: captura de tela do Azure.
Figura 4 - Redmine
Teoria em Prática
Bloco 4
André Olímpio
Sistema: câmeras inteligentes
• Sistema interno de vigilância de um aeroporto.
• Uma cidade de 300 mil habitantes que apresenta
uma frota, aproximada, de 100 mil carros.
• Software de reconhecimento facial.
• Auxiliar as autoridades policiais a encontrar pessoas
desaparecidas ou procuradas.
Sistema: câmeras inteligentes
• Identificar de que forma uma ferramenta CASE, para 
controle de versões, pode ser utilizada.
• Qual é a necessidade de rever estados anteriores da 
codificação? 
• Como essas ferramentas poderiam auxiliar o trabalho 
colaborativo da equipe de desenvolvimento?
• Quais são as plataformas on-line de gerenciamento de 
projetos de software para controle e monitoramento das 
tarefas?
Dica do Professor
Bloco 5
André Olímpio
Outra ferramenta CASE (AWS CodeCommit)
• Controle de versionamento de código fonte.
• Seguro e confiável.
• Múltiplos repositórios.
• Integração com o GitHub e Microsoft Azure.
Tutorial disponível em: 
https://www.youtube.com/watch?v=voWo0hF8mQQ. 
Acesso em: 7 ago 2020.
https://www.youtube.com/watch?v=voWo0hF8mQQ
Referências
• SOMMERVILLE, I. Engenharia de Software. 10. ed. São Paulo: Pearson
Education do Brasil, 2018.
• PRESSMAN, R. S. Engenharia de Software: uma abordagem profissional.
8. ed. Porto Alegre: AMGH, 2016.
• ARTERO, M. A. Gestão de projetos de software. 1. ed. Londrina: Editora e
Distribuidora Educacional S.A., 2016.
• FILHO, W. P. P. Engenharia de Software: projetos e processos. 4. ed. Rio
de Janeiro: LTC, 2019.
Bons estudos!

Mais conteúdos dessa disciplina