Arquitetura de Software 2019 (TADS)
PLANEJAMENTO DA DISCIPLINA - AULAS
1º Bimestre
- Apresentação da Disciplina
- Introdução a Arquitetura de Software
- Aula pdf
- Trabalho
- Realize a leitura do texto disponível no link abaixo e, em seguida, responda as perguntas contidas no trabalho.
- Enviar o documento contendo as respostas em formato PDF para o e-mail do professor (
fabianopapaiz@gmail.com
) com o assuntoTrabalho-01 sobre Arquitetura de Software
- Data de Entrega:
07/AGO/2019
até às09h00
- Conceitos (pdf)
- Arquitetura de Software
- Stakeholders
- Descrições Arquiteturais
- Padrões de Software
- Aula (pdf)
- Estilos Arquiteturais:
- Trabalho (pdf)
- Padrões de Projeto: (Design Patterns) ☜ (
2º BIMESTRE
)Data Access Object (DAO)
- Aula (pdf)
Singleton
eObject Pool
- Aula (pdf) (Pool de conexões com o SGBD)
Template Method
- Aula (pdf)
- Trabalho:
- Aplicar o padrão
Template Method
nas classes DAO (CategoriaDAO
eProdutoDAO
) - 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)
Template Method
- 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)
Data Access Object - DAO
- 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)
Singleton
- Apresentações dos grupos: Temas por Grupo
- Slides das Apresentações dos Grupos: zip
PROVA FINAL
DATA DA PROVA FINAL: 18/DEZ/2019 (QUARTA-FEIRA)
MATERIAL DE APOIO
- JSF 2.2 API (Para usar no Eclipse)
- Livros sobre JSF - JavaServer Pages
- SGBD PostgreSQL
- Instalação de SGDB:
- Baixar os Binários do Postgres: zip
- Extrair o arquivo
zip
- Criar a pasta
data
dentro depostgresql-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 pastabin
)- 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 (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 (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: - 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
- 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
:
CREATE DATABASE arq_soft;
- Agora clique com o botão direito em cima da conexão
PostgreSQL - postgres
na abaDatabase Navigator
e selecioneEdit connection
- Altere o campo
Database
paraarq_soft
e depois clique emOK
- Será perguntado se deseja reconectar e escolha que sim
- Abra uma nova janela de Script SQL e digite os seguintes comandos para criar as tabelas
Categoria
eProduto
dentro do bancoarq_soft
:
create table Categoria(
id serial not null,
descricao varchar(100) not null,
primary key(id)
);
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)
);
- Projeto WebStore no gitlab do IFRN:
- Arquivo com
Eclipse+Tomcat+PostgreSQL+DBeaver
: zip