UML – Aula 7 – Exercicios

Olá Caros,

Hoje é aula de reposição, um momento para colocarmos em dia nosso cronograma de atividades, resolvermos alguns exercícios e tirar algumas dúvidas.
Na aula de hoje aproveite para fazer alguns exercícios e exercitar o uso da ferramenta para produzir nossos diagramas.

1)Elabore um diagrama de Caso de Uso e  de Classes para o problema descrito a seguir.
Disponível em:

Cenário: Um usuário deseja criar uma aplicação de controle de tarefas para colocar em seu Palm.
As especificações da aplicação são as seguintes:
-O cadastro de cada tarefa contém o número da prioridade, representado por um valor real. Isso permite entrar com valores intermediários. Além da prioridade, o cadastro deve conter: o nome da tarefa, a data limite de execução (se houver), o percentual já concluído e o detalhamento da tarefa. Para cada tarefa há uma lista de itens que descrevem sua execução. Para cada item de execução, cadastram-se:
· O percentual correspondente.
· A descrição da execução
· A data da execução (quando for concluída).
Quando uma tarefa receber 100% de execução, esta deve ser movida automaticamente para a lista de tarefas concluídas, podendo ser apagada, se for o caso.

Exemplo do controle em papel

Exemplo do controle em papel

2) Pretende-se desenvolver um sistema de classificados na Web, onde quem anuncia paga R$ 2,00 pelo anúncio simples de 20 palavras ou R$ 5,00 pelo anúncio destaque de página, que pode conter até 50 palavras e uma imagem. O anúncio fica
disponível por quinze dias.
Um anúncio deve conter o nome do produto, um texto título, o nome do contato, e até dois telefones de contato.
Quem se torna assinante do classificado virtual recebe diariamente em seu e-mail o resumo de ofertas do site.
Para realizar o cadastro no site, o usuário cria um usuário e senha de acesso, preenche seus dados.
Após preenchimento dos dados deverá ser apresentado um boleto de pagamento da primeira mensalidade. Após efetivação de pagamento o usuário colocar novos anúncios. O usuário pode sem estar logado no sistema visualizar qualquer anúncio, e pode incluir um anúncio próprio, desde que informe o login e senha de acesso para autenticação no sistema. Crie um diagrama de Caso de Uso para a situação inicial e um Diagrama de Classes.

3)Uma indústria de bebidas deseja informatizar o seu controle de vendas, procurando vinculá-lo ao processo de produção e controle de estoque.
Construa os diagrama de Caso de Uso, Classe e Sequencia para modelar este sistema, a partir das seguintes informações obtidas num primeiro levantamento de informações:
a)As vendas são realizadas somente por intermédio de vendedores autorizados, que trabalham em regiões definidas pela indústria. Os vendedores são caracterizados por código, nome, endereço, telefone e percentual de comissão.
b)Cada vendedor atende somente uma região, que é exclusiva do vendedor. Uma região é caracterizada por: código, nome e cidades que ela possui. Nenhuma região possui menos que cinco cidades.
c)Os vendedores passam semanalmente consultar seus clientes a respeito de pedidos. Todos os clientes de um vendedor situam-se dentro da região de atuação do vendedor. Clientes são caracterizados por: código, razão social, endereço, cgc, insc. estadual, fone e fax.
d)Os clientes fazem pedidos por intermédio do vendedor de sua região. Um pedido deve especificar pelo menos um produto. Um pedido é caracterizado por data de emissão, data de vencimento, quantidade de cada produto relacionado, valor total de cada produto e valor total do pedido.
e)O controle de estoque/produção da indústria trabalha com a seguinte classificação de itens em estoque: produto embalado, produto intermediário e matéria-prima. Os produtos embalados são caracterizados por: código, nome, quantidade em estoque, embalagem, classificação fiscal, unidade de produção/venda, custo de produção e valor de venda. Os produtos intermediários são caracterizados por: código, nome, quantidade em estoque, unidade de produção/vendas e custo de produção. As matérias-primas são caracterizadas por: código, nome, quantidade em estoque, valor de compra e unidade.
f)Os pedidos de compra feitos pelo cliente somente podem especificar produtos embalados. Todo produto embalado possui uma fórmula, que constituí-se nas quantidades de produtos intermediários e matérias-primas utilizadas para a sua produção. Produto intermediário também possui fórmula, constituindo-se das quantidades de matérias-primas utilizadas para sua produção.
g)O estoque pode sofrer movimentações de entrada e saídas. Movimentos de entrada ocorrem para produtos embalados quando é realizada uma produção ou uma devolução de um produto. Movimentos de entrada para produtos intermediários correm quando é realizada uma produção para suprir posteriormente  a produção de produtos embalados. Movimentos de entrada para matérias-primas somente ocorrem quando estas são compradas dos fornecedores da indústria. Movimentos de saída ocorrem para produtos embalados quando estes são vendidos para os clientes. Movimentos de saída de produtos intermediários e matérias-primas ocorrem em contrapartida às produções dos produtos embalados. Assim, um movimento de estoque caracteriza-se por: número, quantidade, data, tipo (venda, produção, devolução e compra). Um movimento está ligado a somente um produto, que obviamente possui muitos movimentos.
h)Uma matéria-prima pode ser comprada de vários fornecedores diferentes. Fornecedores são caracterizados por: código, razão social, cgc, insc. estadual, endereço, fone e fax. As compras são caracterizadas por: número da nota fiscal, data da compra, data de entrega, quantidade dos produtos comprados, valor total de cada produto comprado e valor total da compra.
i)As seguintes funcionalidades são esperadas do sistema:
1.Confecção de pedidos de venda
2.Emissão de relatório de vendas por região
3.Emissão de relatório de comissão a ser paga para vendedor
4.Atualização de estoque de acordo com as movimentações
5.Emissão de relatório de situação atual do estoque
6.Confecção de fórmulas
7.Consulta de movimentos de estoque realizados para um determinado produto (especificando intervalo de data)
8.Emissão de relatório de produção a partir dos pedidos feitos no dia
9.Consulta de histórico de compras realizadas por cliente
10.Emissão de relatório de faturamento bruto mensal

JSF – Aula 3

Olá Caros,

Estamos avançando em nosso estudo sobre JSF, e até o momento já estudamos o fluxo de navegação de página, criando BackBeans, criando Validadores, e iniciamos um pequeno exemplo com Banco de Dados.
Esta foi a atividade realizada na ultima aula.
Atividade de hoje.
1) Construir uma nova tabela chamada Noticia, com seguinte comando SQL.

create table noticia (
idnoticia INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
titulo varchar(100) not null,
texto varchar(100) not null,
data date,
hora time);

2)Crias as classes: Noticia, NoticiaBD
3)Acrescentar as funcionalidades de NoticiaBD no Fachada
4)Criar um controlador para Noticia chamado ControladorNoticia.java
5)Crias as páginas em JSF para realizar o CRUD.

Para esta atividade as mensagens de erros foram todas customizadas em um arquivo de propriedades, as saídas apresentam formatação em HTML.

De acordo com o material de aula faça o seguinte ajuste.

1)Crie um Template para o seu projeto modelo, para realizar o CRUD de Usuário e Notícia.
2)Para ter acesso ao sistema deverá existir um página de autenticação, pelo login e senha.
3)O relatório de Notícias pode ser visto diretamente sem a necessidade de autenticação de usuário.
4)Novos registros somente pode ser realizado por usuários existentes no Banco de Dados.

JSF – Aula2

Olá Alunos,

Hoje daremos seguimento em nosso conteúdo finalizando os exercícios da aula anteriro.
Lembro que ai final a atividade deverá ser enviada para o email do professor.

Para ter acesso ao material de aula clique aqui.

Ao final do conteúdo teórico daremos inicio a implementação de um CRUD, para um tabela usuário, com os atributos login,senha e nome.
Para isso utilizaremos a implementação do padrão Fachada, disponível no link abaixo.
-Classes para implementação do Fachada.

Acompanhe a explicação no projeto modelo, e fique atento aos ajustes, estamos trabalhando com JSF. Então nossas páginas deverão utilizar as classes deste padrão.

Exercícios de sala.
Descompacte este exercício em um diretório, e escolha a opção Abrir Projeto do Netbeans.
Segunda versão do exercício de sala.

*Guia de referência de Tags.

http://www.horstmann.com/corejsf/jsf-tags.html#Table4_19

JSF – Aula 1

Olá Alunos,
Sejam bem vindo ao meu blog, aqui é o espaço onde será disponibilizado o conteúdo de nossas aulas.
Nossa disciplina é Java Enterprise Edition – JSF (Java Server Pages) e Ajax, onde iremos estudar a tecnologia Java para web, utilizando o framework JSF(Java Server Faces).
É esperado a integração com Banco de Dados, utilização e Ajax, e geração de relatórios.
Fique atento as atualizações, e novos post que poderão surgir.
Iniciaremos nossa aula com o material de apresentação da tecnologia, e ao final será realizado um exercício de aplicação.
A avaliação para esta disciplina será de acordo com trabalhos realizados em sala de aula. Todos os exercícios serão pontuados e devem ser enviados para o email do professor(armandohage@gmail.com)

Para ter acesso ao material clique aqui .

Material adicional.

Arquivos JDBC para conexão com o banco de dados Derby são: derby.jar,  derbyclient.jar e derbytools.jar

Próxima aula:
-Elementos para validação
-Elementos adicionais em JSF
-Guia de referencia de Tags(http://www.exadel.com/tutorial/jsf/jsftags-guide.html)

UML-Aula5

Olá Alunos,

Em nossa última aula iniciamos o nosso estudo sobre o tema Diagrama de Classes, e atendendo a ultima votação de nossa enquete faremos um atividade de resolução de exercícios.
Resolva os exercícios abaixo, acompanhe a explicação do professor em em caso de dúvidas faça sua pergunta durante a aula.

Lista de Exercícios II.
1) De acordo com o problema crie um diagrama de Caso de Uso:
Um sistema de controle para uma locadora tem por objetivo automatizar o processo de locação e devolução de DVD. Deve-se manter um controle dos cadastros de clientes, do acervo de filmes e suas movimentações. A funcionária deve manter o acerto de filmes. Os clientes podem executar operações que envolvem locação e devolução. As operações de locação e devolução geram obrigatoriamente um registro de movimentação do filme.

2) Considere um modelo de classes que tenha como classes: Motorista, Caminhão, Empresa, Entrega, Cliente e Produto. Assinale a opção que corresponde a um atributo indevido:
a) O nome do motorista em Motorista.
b) O número do chassi do caminhão em Caminhão.
c) O nomeDoMotorista do caminhão em Caminhão.
d) O endereço do cliente em Cliente.
e) O número da entrega em Entrega.

3) Marque a alternativa correta:
I – Atores interagem com casos de uso por meio de relacionamentos com esteriótipo de <<extend>>
II – Um caso de uso pode ser associado a outro caso de uso com uma relação de herança.
III – É permita a relação entre atores, desde que rotulada com o esteriótipo de <<uses>>, caracterizando  a ação de comunicação entre os atores.
IV – No diagrama de caso de uso é apresentado todos os atores e os requisitos funcionais e não funcionais do sistema que será desenvolvido.
a) Somente I e II estão corretos
b) II, III e IV estão corretos
c) I e III estão corretos
d)II e IV estão corretas
e) Todas as alternativas estão incorretas

4) Preencha verdadeiro ou falso sobre as afirmativas abaixo:
( ) É possível relacionar dois atores utilizando um relacionamento de <<include>> ou <<extend>>
( ) Um relacionamento com o esteriótipo de <<extend>> indica que o caso de uso poderá ser acionado por outro caso de uso.
( ) Na dimensão dos relacionamentos humanos entre membros de um projeto de software é correto dizer que o diagrama de caso de uso auxilia o gerente possibilitando um visão geral do que será implementado no sistema.
( ) Um dispositivo de Hardware não pode ser considerado um ator no diagrama de caso de uso.
( ) É possível relacionar dois atores utilizando um relacionamento de <<include>> ou
<<extend>>

5)Prepare diagramas de classes (da maneira mais completa possível) para as seguintes classes de objetos:
a) automóvel, motor, roda, frio, luz de freio, porta, bateria, silenciador, cano de escapamento.
b)peça de xadrez, fileira, coluna, casa, tabuleiro, movimento, posição, seqüência de movimentos.

6)Elabore um diagrama de classes para cada um dos  discursos a seguir:
a) “Uma mesa de café é composta por um tampo e por quatro pernas“.
b) “Uma pessoa ao longo da vida, tem vários empregos, em empresas diferentes. Para a Previdência, é importante saber a data de admissão e a data de rescisão de contrato com cada uma dessas Empresas”.
c) “Um empregado pode trabalhar em vários projetos. Para fins de cálculo da remuneração é preciso saber quantas horas ele trabalha em cada projeto. Os empregados podem se ligar ou se desligar de um
projeto a qualquer momento, mas é preciso guardar o histórico de participação dos empregados nos projetos”.

7)De acordo com o diagrama de classes apresentado, responda:

Modelo da Classes para estudo.

Modelo da Classes para estudo.

a)A classe Pessoa é uma classe Abstrata, em que uma de suas características e que não serão estanciados objetos do tipo Pessoa neste sistema, apenas serão estanciados objetos das Especializações ? A operação verificarDependencias(), na classe Aluno,  é uma operação de acesso público que está também disponível para a classe Professor por herança?

b)A associação entre as classes Pessoa e Endereço é Agregação ou Composição?Esta associação é visível apenas para uma das classes?

8) Em um consultório médico, um médico realiza várias consultas com vários pacientes e um paciente é consultado por um médico. Com base neste plano de discurso identifique as classes e o relacionamento entre elas.
a) Modifique o modelo anterior sabendo que precisa-se saber do médico o nome, CPF,
CRM e do paciente: nome,endereço, CPF, data nascimento
b) Qual será a mudança para que um médico possa atender vários pacientes e um paciente
seja atendido por vários médicos?
c) Qual será a mudança para o seguinte plano de discurso: “Um médico possui uma especialidade e uma especialidade é de vários médicos”.
d) Acrescente o seguinte discurso ao problema:”Um médico realiza várias consultas em um paciente e um paciente é consultado por vários médicos, desde que seja em uma data e hora marcados, e possua um valor a ser pago. Uma consulta pode gerar uma ou várias receitas”.

9) Uma delegacia resolveu informatizar seus serviços relacionados aos crimes ocorridos em seu
estado criando um banco de dados, para uma melhor gerência dos tipos de crimes mais cometidos. É necessário saber os dados das vítimas e dos criminosos para dar seguimento aos documentos processuais, bem como armazenar informações sobre cada crime ocorrido. Um criminoso comete um crime contra um ou mais vítimas, e uma vítima pode sofrer um crime por um ou vários criminosos. Um crime é cometido em um município de um estado, e em um crime pode é utilizado um tipo de arma. De acordo com o problema, projete um diagrama de classes utilizando o Jude UML.

Após finalizar o exercício sobre classes, elabore um diagrama de classes para o seu projeto final.
Em caso de dúvidas, registre aqui o seu recado.

Bom estudo !

UML-Aula 4

Olá Alunos,

Hoje iniciaremos nosso estudo sobre Diagrama de Classes, e lembro que existe uma atividade que as equipes estão pendentes.
Para aqueles que não puderam vir as nossas aulas, foram executas as seguintes atividades:
1- Fechamos o tema Diagrama de Caso de Uso, com um exercício teórico, e uma atividade prática de elaboração de um problema e construção da solução.
2-Os alunos deverão montar equipes de quatro indivíduos e enviar com a primeira proposta de tema, para a finalização da disciplina.
3-Foi passado um template de documento, onde a equipe deverá preencher os requisitos iniciais.

Antes de iniciarmos nosso estudo sobre Diagrama de Classes, vote em nossa enquete, e faça a sua auto avaliação.

Agora que você votou, e viu como está o andamento de seus colegas, faça uma reflexão e identifique os pontos positivos e negativos de sua participação em minha disciplina.

Bem, agora vamos começar o conteúdo.
Para ter acesso ao material clique aqui, faça download e acompanhe o conteúdo.
Links adicionais serão acrescentados posteriormente neste post.

Bom estudo.