UFPB › SIGAA - Sistema Integrado de Gestão de Atividades Acadêmicas João Pessoa, 19 de Abril de 2024

JOSILENE DE MELO BURITI VASCONCELOS

CCS - DEPARTAMENTO DE ENFERMAGEM CLÍNICA

Ir ao Menu Principal
Apresentação da disciplina (22/02/2022 - 22/02/2022)

Canal do slack: 

👋 Você pode se inscrever aqui:

 https://join.slack.com/t/ufpb-mps-2021-2group/shared_invite/zt-15l8supj8-uvQ6siUmppfSdCG8s_LPDA

Lista de alunos e Link da sala virtual (enviar email no canal do Slack registrado no Gmail do CI):

 


  

Visão geral da disciplina





  
Motivação da Disciplina (24/02/2022 - 24/02/2022)
  

Motivação da disciplina





  
Feriado - Carnaval (01/03/2022 - 01/03/2022)
Revisão sobre processo de desenvolvimento (03/03/2022 - 03/03/2022)
   Livro Caindo do Real   
    eXtremme Go Horse (Site)   
  Tarefa 1 - Processos de Desenvolvimento  
Inicia em 08/03/2022 às 0h 0 e finaliza em 10/03/2022 às 16h 0
  

Processo de desenvolvimento de software





  
Não haverá aula - Concurso CI (08/03/2022 - 08/03/2022)
Revisão: Requisitos (10/03/2022 - 10/03/2022)
  

Engenharia de Requisitos





  
Revisão Requisitos - Elicitação (15/03/2022 - 15/03/2022)
    Estruturando Requisitos (Site)   
Revisão: Requisitos funcionais e não-funcionais, UML e Casos de Uso (17/03/2022 - 17/03/2022)
  Tarefa 2 - Requisitos não-funcionais  
Inicia em 17/03/2022 às 0h 0 e finaliza em 17/03/2022 às 23h 59
Revisão: Análise de casos de uso (22/03/2022 - 22/03/2022)
Revisão: Diagrama de classe (24/03/2022 - 24/03/2022)

Considerando as descrições abaixo, elabore um diagrama de casos de uso:

Cenário 1 : Carlos aposta toda semana na Loteria, em jogos como quina, megasena, fotomania, etc. São vários cartões por semana. Na hora de conferir é uma loucura. Certa vez, quase que ele confere o cartão errado. 
Para resolver isso, ele quer desenvolver uma aplicação para seu celular que cadastre os cartões apostados e o resultado de um concurso, apresentando o relatório final com os números acertados por cartão e o valor do prêmio, se houver.

Para calcular o valor do prêmio, o sistema do celular deve acessar o sistema da loteria federal.

Cenário 2: Rafaela possui vários temas de festas infantis para aluguel. Ela precisa controlar os aluguéis e para isso quer uma aplicação que permita cadastrar: o nome e o telefone do cliente, o endereço completo da festa, o tema escolhido, a data da festa, a hora de início e término da festa.

Além disso, para alguns clientes antigos, Rafaela oferece descontos. Sendo assim, é preciso saber o valor realmente cobrado num determinado aluguel.

Para cada tema, é preciso controlar: a lista de itens que compõem o tema (ex.: castelo, boneca da cinderela, bruxa, etc), o valor do aluguel e cor da toalha da mesa que deve ser usada com o tema.

Exercícios - Análise de Casos de Uso (29/03/2022 - 29/03/2022)

Considerando as descrições abaixo, elabore um diagrama de casos de uso e diagrama de classe de análise (alto nível):

Cenário 1 : Carlos aposta toda semana na Loteria, em jogos como quina, megasena, fotomania, etc. São vários cartões por semana. Na hora de conferir é uma loucura. Certa vez, quase que ele confere o cartão errado. 
Para resolver isso, ele quer desenvolver uma aplicação para seu celular que cadastre os cartões apostados e o resultado de um concurso, apresentando o relatório final com os números acertados por cartão e o valor do prêmio, se houver.

Para calcular o valor do prêmio, o sistema do celular deve acessar o sistema da loteria federal.

Cenário 2: Rafaela possui vários temas de festas infantis para aluguel. Ela precisa controlar os aluguéis e para isso quer uma aplicação que permita cadastrar: o nome e o telefone do cliente, o endereço completo da festa, o tema escolhido, a data da festa, a hora de início e término da festa.

Além disso, para alguns clientes antigos, Rafaela oferece descontos. Sendo assim, é preciso saber o valor realmente cobrado num determinado aluguel.

Para cada tema, é preciso controlar: a lista de itens que compõem o tema (ex.: castelo, boneca da cinderela, bruxa, etc), o valor do aluguel e cor da toalha da mesa que deve ser usada com o tema. 

Cenário 3: Os cidadãos podem obter acesso a um site da Web e relatar a localização e gravidade dos buracos em vias públicas.

À medida que os buracos são relatados, eles são registrados num “sistema de  reparo do departamento de obras públicas” e lhes é atribuído um número de identificação, armazenado por endereço da rua, tamanho (numa escala de 1 a 10), localização (no meio da rua, na calçada, etc.), distrito (determinado pelo endereço da rua) e prioridade de reparo (determinada pelo tamanho do buraco).

Quando um buraco vai ser reparado, no sistema é criada uma ordem de serviço associada ao buraco e incluem a localização e tamanho do buraco, número de identificação da equipe de reparo, número de pessoas na equipe, equipamento atribuído, horas aplicadas no reparo, estado do buraco (trabalho em andamento, reparado, reparo temporário, não reparado), quantidade de material de enchimento usado e custo do reparo (calculado a partir de horas aplicadas, quantidade de pessoas, material e equipamento usados).

Finalmente, um relatório mensal de danos é criado para conter informações sobre danos relatados e incluem nome do cidadão, endereço, número do telefone, tipo de dano e quantia em reais de prejuízo causado pelo dano.

Para incluir um buraco é necessário se cadastrar como cidadão, para criar uma ordem de serviço e gerar relatório é necessário ter um cadastro como funcionário.

Cenário 4: Considere um sistema de academia que tem dois tipos de usuário: instrutor e aluno. Todos os alunos têm apenas um plano de treinamento e várias avaliações físicas ao longo do seu cadastro. O instrutor gerencia (CRUD) alunos, planos e avaliações e aluno consulta o seu plano e avaliações apenas. Quando um aluno é excluído do sistema, suas avaliações também são. As avaliações físicas são geradas a partir de integração com sensores de medição externos.

1.a Correção documento de requisitos (31/03/2022 - 31/03/2022)
Tratamento de Erros - Exceções (05/04/2022 - 05/04/2022)
  

Exemplo de Documento de Requisitos e Introdução ao relacionamento de classes





  
Análise de Casos de Uso (07/04/2022 - 07/04/2022)
  Tarefa 3 - Análise de casos de Uso  
Inicia em 07/04/2022 às 0h 0 e finaliza em 07/04/2022 às 23h 59
  

Análise Orientada a Objetos de Casos de Uso





  
  Tarefa 4 - Entrega documento de requisitos inicial  
Inicia em 12/04/2022 às 0h 0 e finaliza em 12/04/2022 às 23h 59
Revisão Análise de casos de Uso e Projeto 1 (12/04/2022 - 12/04/2022)

LABORATÓRIO 1 - PROJETO 

1 - Modele um sistema O.O para um caso de uso de Gerenciamento de Usuários (CRUD) e um ator Admin do seu projeto utilizando diagramas de classes

2- Crie a divisão de pacotes/pastas para o seu sistema

3 - Implemente a ADIÇÃO DE USUÁRIOS. Implemente as validações de campos seguindo as regras abaixo:

Login:

máximo 12 caracteres

não pode ser vazio

não pode ter números 

 

Senha:

máximo 20 caracteres

mínimo de 8 caracteres

deve possuir letras e números e ao menos 2 números.

 

4 - Armazene os usuários numa coleção e implemente a persistencia numa lista utilizando memória RAM

5 - Implementar "LISTAR TODO OS USUÁRIOS" exibindo login e senha;

6 - Implemente a EXCLUSÃO DE UM USUÁRIO dado seu login.

7 - Permitir o armazenamento de usuários numa coleção também utilizando arquivo binário ou BD (deve coexistir com a RAM)

 

  Tarefa 5 - Lab 1 Projeto  
Inicia em 12/04/2022 às 0h 0 e finaliza em 27/04/2022 às 16h 0
Tratamento de erros (14/04/2022 - 14/04/2022)
Coleções (19/04/2022 - 19/04/2022)
Feriado - Tiradentes (21/04/2022 - 21/04/2022)
Propriedades de projeto de software (28/04/2022 - 28/04/2022)

LABORATÓRIO PROJETO 2

USAR SEMPRE O GIT DO PROJETO

1 - usar como coleção a classe TreeSet, para que o sistema tenha uma funcionaldade de LISTAR OS USUÁRIOS POR LOGIN EM ORDEM ALFABÉTICA CRESCENTE. Se estiver usando Java, utilize a abordagem java.lang.Comparable (ver exemplo: em https://www.guj.com.br/t/ordenar-um-hashmap-usando-o-compare-ou-compare-to/53198/9);

2 - crie uma classe Data com os seguintes atributos dia, mês e ano todos do tipo int. A data deve ter o formato DD /MM /AAAA Altera a classe Usuario e adicione o atributo data_nascimento do tipo Data. Agora utilzando UMA TreeSet, implemente: EXIBIR USUÁRIOS ORDENADOS POR DATA DE NASCIMENTO DESCRESCENTE. Utilize a abordagem da interface java.util.Comparator e crie uma classe ComparadorData que implementam essa interface e contenha o algoritmo de ordenação proposto;

 

 

 

 

  Tarefa 6 - Lab 2 - Coleções  
Inicia em 03/05/2022 às 0h 0 e finaliza em 10/05/2022 às 23h 59
Princípios SOLID - Parte 1 (responsabilidade simples e inversão de dependência) (03/05/2022 - 03/05/2022)
  

Princípios SOLID Parte 1





  
Princípios SOLID - Parte 2 (aberto-fechado, segregação da interface e substituição de Liskov) (05/05/2022 - 05/05/2022)
  Tarefa 7 - SOLID  
Inicia em 05/05/2022 às 0h 0 e finaliza em 19/05/2022 às 23h 0
  

Princípios SOLID Parte 2





  
Laboratório Prático 1 (10/05/2022 - 10/05/2022)
Padrões de Projeto 1 - Introdução, Singleton, Facade e Strategy (12/05/2022 - 12/05/2022)
  Tarefa 8 - Strategy e State  
Inicia em 12/05/2022 às 0h 0 e finaliza em 19/05/2022 às 23h 59
Padrões de Projeto 2: Factory Method, Abstract Factory, Adapter e Template Method (17/05/2022 - 17/05/2022)

 

 
Laboratório Padrões de Projeto 1 (19/05/2022 - 19/05/2022)
  1. Implementar o cadastro (CRUD) de duas novas entidades do seu projeto (preferencialmemte tenha relacionamento com Usuario ou entre elas) e depois crie uma fachada única (Singleton Facade) para os Gerentes (Controller).
  2. Implemente utilizando Factory Method ou Abstract Factory a comunicação entre as camadas business e infra
  3. De acordo com o padrão Adapter, identifique e implemente um cenário de uso no seu projeto
  4. Na camada business implemente, utilizando Template Method, a geração de mais um tipo de relatórios (por exemplo, HTML e PDF). Os relatórios devem gerar estatísticas de acesso dos usuários no sistema.
  Tarefa 9 - Lab 1 de Padrões  
Inicia em 19/05/2022 às 0h 0 e finaliza em 26/05/2022 às 16h 0
Padrões de Projeto 3: Bridge, Memento, Command (24/05/2022 - 24/05/2022)
  Tarefa 11: Memento e Command  
Inicia em 26/05/2022 às 0h 0 e finaliza em 02/06/2022 às 23h 59
Laboratório Prático 2 - Command e Memento (26/05/2022 - 26/05/2022)

 

LABORATÓRIO PADRÕES 2

TAREFA 1 (Individual) Identificar o uso do padrão de projeto Command no código abaixo (na tarefa indicar quais classes implementam: Executor, Comando, ComandoConcreto, Receptor e Cliente):

https://www.dropbox.com/s/fie9edfqogf41v5/DAOServer.zip?dl=0

 

TAREFA 2 (Grupo do Projeto) -

USAR SEMPRE O GIT DO PROJETO

  • Alterar a fachada da camada de negócio do projeto para Utilizar o padrão Command
  • Utilizar o padrão Memento para desfazer uma ação de atualização (precisa desfazer apenas a última atualização dessa nova entidade).

 

 

  Tarefa 10 - Lab 2 de Padrões  
Inicia em 26/05/2022 às 0h 0 e finaliza em 26/05/2022 às 18h 0
Padrões de Projeto 4: Composite, Mediator Chain of Responsability e Flyweight (31/05/2022 - 31/05/2022)

Vídeo aulas:

  • Composite: https://youtu.be/H87Csh3y-QE
  • Mediator: https://youtu.be/tEa74k7htnA
  • Chain of Responsability: https://youtu.be/_VUoMvfDm8I
  • Flyweight: https://youtu.be/HlEmtWWLzSg
Laboratório Prático 3 - Composite (02/06/2022 - 02/06/2022)
  Tarefa 12 - Lab de Padrões 3 - Composite  
Inicia em 09/06/2022 às 0h 0 e finaliza em 13/06/2022 às 23h 59
Padrões de Projeto 5 e 6 - Iterator, Prototype, Decorator, Observer, Builder, Proxy, Interpreter e Visitor (07/06/2022 - 07/06/2022)
Padrões 6 de Projeto - Builder, Proxy, Interpreter e Visitor (09/06/2022 - 09/06/2022)
Fechamento da disciplina (14/06/2022 - 14/06/2022)
  Tarefa final  
Inicia em 14/06/2022 às 0h 0 e finaliza em 14/06/2022 às 18h 15
Projeto Final (23/06/2022 - 23/06/2022)

PROJETO FINAL (27/06) : 23:59

  1. Terminar os padrões (tarefas) já passados 
  2. Implementar mais e 2 (dois) padrões de projeto que ainda não foi pedido e acordo com o documento de requisitos
  3. Adicionar o nível 4 modelo C4 com camadas/pacotes 
  4. Atualizar o diagrama de classes do modelo C4, identificando por cores cada padrão de projeto implementado. Adicionalmente, para cada padrão, descrever um texto o nome do padrão, a lista de classes e objetivo de uso do padrão no projeto
    Exemplo Final (Site)   
  Projeto Final  
Inicia em 20/06/2022 às 0h 0 e finaliza em 28/06/2022 às 12h 0

SIGAA | STI - Superintendência de Tecnologia da Informação da UFPB / Cooperação UFRN - Copyright © 2006-2024 | producao_sigaa-3.sigaa-3 | v24.4.4