user:1577657:arquitetura_de_software_2019

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
user:1577657:arquitetura_de_software_2019 [2019/09/13 12:21]
1577657
user:1577657:arquitetura_de_software_2019 [2019/12/13 16:46] (atual)
1577657
Linha 23: Linha 23:
   ***Padrões de Software**   ***Padrões de Software**
     -Aula ({{ :​user:​1577657:​04.1-sa-estilos_e_padroes.pdf |pdf}})     -Aula ({{ :​user:​1577657:​04.1-sa-estilos_e_padroes.pdf |pdf}})
-    -Estilos Arquiteturais: ​+    -**Estilos Arquiteturais**
       -Trabalho ({{ :​user:​1577657:​05.1-sa-estilos_e_padroes_-_trabalho_1_-_estilos_arquiteturais.pdf |pdf}})       -Trabalho ({{ :​user:​1577657:​05.1-sa-estilos_e_padroes_-_trabalho_1_-_estilos_arquiteturais.pdf |pdf}})
       -[[Grupos-2019.2-SA-Papaiz|Grupos e Temas]]       -[[Grupos-2019.2-SA-Papaiz|Grupos e Temas]]
       -[[Pratica01-2019.2-SA-Papaiz|Prática]]       -[[Pratica01-2019.2-SA-Papaiz|Prática]]
 +    -**Padrões de Projeto**: (//Design Patterns//) ☜ (''//​**2º BIMESTRE**//''​)
 +      - ''​**Data Access Object (DAO)**''​
 +        - Aula ({{ :​user:​1577657:​06.1-sa-padroes_de_projeto_-_dao.pdf |pdf}})
 +      - ''​**Singleton**''​ e ''​**Object Pool**''​
 +        - Aula ({{ :​user:​1577657:​07.1-sa-padroes_de_projeto_-_singleton.pdf |pdf}}) (//Pool de conexões com o SGBD//)
 +      - ''​**Template Method**''​
 +        - Aula ({{ :​user:​1577657:​08.1-sa-padroes_de_projeto_-_template_method.pdf |pdf}}) ​
 +        - **Trabalho**:​
 +          - Aplicar o padrão ''//​Template Method//''​ nas classes DAO (''​CategoriaDAO''​ e ''​ProdutoDAO''​)
 +          - No máximo 02 pessoas
 +          - Entregar apresentação (slides) até o final da aula do dia ''​25/​OUT/​2019''​
 +    -**Seminário sobre Padrões de Projeto - Temas**
 +      -**Início das Apresentações:​ ''​29/​NOV/​2019''​**
 +        - Para cada Padrão de Projeto deve-se:
 +          - Citar o problema que este visa solucionar
 +          - Descrever a solução proposta pelo padrão
 +          - Ilustrar a estrutura geral do padrão (diagrama de classes, diagrama de sequência ou outro)
 +          - Mostrar pelo menos um exemplo de utilização em uma aplicação real
 +        -Avaliação das Apresentações:​
 +          - Demonstração de que compreendeu o padrão de projeto e a clareza na apresentação ​
 +          - Qualidade do exemplo utilizado para exemplificar o padrão de projeto ​
 +      ***Comportamentais**:​ (//​Behavioral Patterns//) (comunicação entre objetos)
 +        - Chain of Responsibility (Daniel e André)
 +        - Command (Samara, Wanderson e Gustavo Laires)
 +        - Observer (Emerson, Gustavo Lopes e Gerson)
 +        - Strategy (Hiury, Messias e Juciane)
 +        - Interpreter (Lucas, João Pedro, Isaac e Jackson)
 +        - Iterator (Elvis e Jonatas)
 +        - Mediator (Anderson e Yuri)
 +        - Memento (Lucas, João Pedro, Isaac e Jackson)
 +        - State (Jeconias, Lenilson e Pedro)
 +        - Visitor (Lucas, João Pedro, Isaac e Jackson)
 +        - <​del>''​Template Method''</​del>​
 +      ***Estruturais**:​ (//​Structural Patterns//) (Organização de Classes e Objetos, com uso de Herança e Interfaces)
 +        -Decorator (Luca e Igor)
 +        -Adapter (Samara, Wanderson e Gustavo Laires)
 +        -Bridge (Arthur e Pablo)
 +        -Composite (Elvis e Jonatas)
 +        -Facade (Anderson e Yuri)
 +        -Flyweight (Daniel e André)
 +        -Proxy (Emerson, Gustavo Lopes e Gerson)
 +        -<​del>''​Data Access Object - DAO''</​del>​
 +      ***Criacionais**:​ (//​Creational Patterns//) (Abstração da lógica para Criação de objetos - sem uso do ''​new''​)
 +        -Abstract Factory (Hiury, Messias e Juciane)
 +        -Builder (Luca e Igor)
 +        -Factory Method (Jeconias, Lenilson e Pedro)
 +        -Prototype (Arthur e Pablo)
 +        -<​del>''​Singleton''</​del>​
  
 +      ***Apresentações dos grupos:** [[Arquitetura de Software 2019 Slides Design Patterns|Temas por Grupo]]
 +        * Slides das Apresentações dos Grupos: {{ :​user:​1577657:​arq_soft_2019_slides_das_apresentacoes.zip |zip}}
  
 +----
 +
 +=== PROVA FINAL ===
 +
 +<note important>​DATA DA PROVA FINAL: 18/DEZ/2019 (QUARTA-FEIRA)</​note>​
 ---- ----
  
Linha 34: Linha 89:
 ---- ----
  
-{{ :​user:​1577657:​javax.faces-2.2.8.jar.zip |JSF 2.2 API}}+  * **JSF 2.2 API** (Para usar no Eclipse) 
 +    * {{ :​user:​1577657:​javax.faces-2.2.8.jar.zip |JSF 2.2 API}} 
 + 
 +  * **Livros sobre JSF - //​JavaServer Pages//** 
 +    * https://​drive.google.com/​file/​d/​13uo45bfJH-_ezx3TySOvnvCkIowjnZGD/​view?​usp=sharing 
 + 
 +---- 
 + 
 +  * **SGBD PostgreSQL** 
 + 
 +    * **Instalação de SGDB:** 
 +      * Baixar os Binários do Postgres: {{ :​user:​1577657:​papaiz-as-1-postgresql-9.4.24-1-linux-x64-binaries.zip |zip}}  
 +        * Extrair o arquivo ''​zip''​  
 +      * Criar a pasta ''​data''​ dentro de ''​postgresql-9.4.24-1-linux-x64-binaries/​pgsql/''​ 
 +      * Entrar na pasta ''​bin''​ e executar o comando ''​./​initdb -D ../​data/''​  
 +        * **ATENÇÃO:​ somente 1 vez** 
 +        * Este comando irá configurar uma instância do PostgreSQL dentro da pasta ''​data''​ 
 +      * Para iniciar o serviço do PostgreSQL executar o comando ''​./​postgres -D ../​data/''​ (dentro da pasta ''​bin''​) 
 +        * O serviço será disponibilizado através da porta ''​5432''​  
 +      * Para parar o serviço do PostgreSQL basta digitar ''​Ctrl+C''​ 
 + 
 +    * **Driver JDBC do PostgreSQL** ({{ :​user:​1577657:​papaiz-as-postgresql-42.2.8.zip |zip}})  
 +      * Baixar e descompactar 
 +      * Será utilizado para criar conexões com o PostgreSQL a partir no DBeaver e nos projetos Java no Eclipse ​     
 +  
 +    * **Instalar o DBeaver:​** 
 +      * Baixar e descompactar o arquivo ({{ :​user:​1577657:​dbeaver-ce-6.2.1-linux.gtk.x86_64.tar.gz |}}) 
 +      * Executar o arquivo ''​dbeaver''​  
 +      * Criar uma nova conexão do tipo ''​PostgreSQL''​ com as seguintes configurações:​ 
 +        * {{:​user:​1577657:​papaiz-as-dbeaver-1.png?​400|}} 
 +      * Clicar no botão ''​Edit Driver Settings''​ e configurar da seguinte forma: 
 +        * Remover os drivers existentes e adicionar o driver JDBC do PostgreSQL baixado no passo anterior  
 +        * {{:​user:​1577657:​papaiz-as-dbeaver.png?​400|}} 
 +      * Antes de finalizar, clique no botão ''​Test connection...''​ para verificar se está OK 
 + 
 +    * **Criar o BD utilizado nas aulas:** 
 +        * Abrir uma nova janela de Script SQL e executar o seguinte comando SQL para criar o banco de dados chamado ''​arq_soft'':​ 
 +        <​note>​ ''​CREATE DATABASE arq_soft;''</​note>​ 
 +        * Agora clique com o botão direito em cima da conexão ''​PostgreSQL - postgres''​ na aba ''​Database Navigator''​ e selecione ''​Edit connection''​ 
 +          * Altere o campo ''​Database''​ para ''​arq_soft''​ e depois clique em ''​OK''​ 
 +            * Será perguntado se deseja reconectar e escolha que sim 
 +            * {{:​user:​1577657:​dbeaver-3.png?​400|}}  
 +        * Abra uma nova janela de Script SQL e digite os seguintes comandos para criar as tabelas ''​Categoria''​ e ''​Produto''​ dentro do banco ''​arq_soft'':​ 
 +          <​note>''​create table Categoria( 
 + id serial not null, 
 + descricao varchar(100) not null, 
 + primary key(id) 
 +);''</​note>​ 
 +<​note>​ 
 +''​create table Produto( 
 + id serial not null, 
 + descricao varchar(100) not null, 
 + preco_unitario numeric(10,​2) not null, 
 + quantidade_estoque int not null, 
 + categoria_id int not null, 
 + primary key(id), 
 + foreign key (categoria_id) references Categoria(id) 
 + 
 +);''​ 
 +</​note> ​  
 +        * {{:​user:​1577657:​papaiz-as-der1.png?​600|}}  
 +        * {{:​user:​1577657:​papaiz-as-class_diagram0.png?​500|}} 
 + 
 + 
 +---- 
 + 
 +  * Projeto WebStore no gitlab do IFRN:  
 +    * [[https://​gitlab.devops.ifrn.edu.br/​1577657/​arquitetura_software_2019-2]] 
 + 
 +  * **Arquivo com ''​Eclipse+Tomcat+PostgreSQL+DBeaver'':​** {{ :​user:​1577657:​papaiz-as-arq_soft.zip |zip}} 
  • user/1577657/arquitetura_de_software_2019.1568377300.txt.gz
  • Última modificação: 2019/09/13 12:21
  • por 1577657