Prof. Responsável: Paulo Cesar Masiero
Planejamento da disciplina
2o Semestre de 2001
1. Objetivo
Esta disciplina tem por objetivos:
Aulas expositivas utilizando o quadro negro, retro-projetor
e projeção multimídia.
Exercícios em laboratório.
Workshops em classe.
4. Atividades Discentes
Assistência às aulas teóricas, participação nas aulas de laboratório, discussão sobre assuntos do programa da disciplina, resolução de exercícios, modelagem de sistemas utilizando linguagens de padrões, construção de um sistema comercial utilizando frameworks.
5. Carga Horária:
Semanal: 3 horas
Total: 15 aulas
Semestral: 45 horas
6. Número de Créditos: 3
7. Número Máximo de Alunos por Turma: 60
8. Critérios de Avaliação:
Serão atribuídas notas a projetos executados, alguns em classe e outros fora de classe. A nota final será calculada pela média ponderada das notas obtidas pelo aluno nos projetos e na prova, no decorrer do semestre, conforme os pesos abaixo:
As aulas serão às quintas feiras, das 13:20 às 16:00 hs. Haverá um intervalo das 14:45 às 15:00 hs.
10.1. Especificação detalhada das aulas
Material Completo da Aula sobre Padrões,
Linguagens de Padrões e Frameworks
|
|
|
|
|
2 de agosto | Introdução à
disciplina. Introdução ao VisualWorks; o que é Smalltalk?
Porque Smalltalk é tão interessante? Outros ambientes Smalltalk.
Revisão dos conceitos de orientação a objetos: objetos,
métodos, mensagens, classes, instâncias, herança. Revisão
diagrama de classes UML. Smalltalk: Objetos, mensagens e Constantes
Projeto I Data de entrega: 10 de agosto |
Material aula |
|
9 de agosto | Smalltalk: Variáveis da
instância, variáveis da classe, métodos da instância,
métodos da classe; métodos essenciais; dicas do ambiente
VisualWorks. Sintaxe Smalltalk/VisualWorks: Literals, Variables, Message
expressions, block expressions, collections, control structures, definindo
classes e métodos.
Dúvidas sobre o projeto I. Exercício I Data de entrega: 17 de agosto |
Material aula |
|
16 de agosto | Smalltalk: Canvas, Widgets, Menus
MySQL: conceitos básicos, operações básicas. Dúvidas sobre exercício I. Exercício II Data de entrega: 24 de agosto |
Rosana/Masiero
|
|
23 de agosto | Reuso de Software: definição,
motivadores, inibidores, histórico; - Introdução aos
Padrões de Software; histórico; definições;
categorias; exemplos; representação de padrões; exemplos
de alguns padrões (Type-Object (padrão de análise)
e Iterator (padrão de projeto)) e sua implementação
Dúvidas sobre exercício II. |
Material aula |
|
30 de agosto | Coletâneas de padrões:
Coleção de padrões, Catálogo de padrões,
Sistema de padrões, Linguagem de padrões; Exemplo de linguagens
de padrões.
Tarefa: Ler a Linguagem de Padrões GRN |
Material aula |
|
13 de setembro | A linguagem de Padrões para Gestão de Recursos de Negócios (GRN) |
Material aula |
|
20 de setembro | A linguagem de Padrões
GRN + exercício em classe
Projeto I I Data de entrega: 28 de setembro |
Rosana/Reginaldo
|
|
27 de setembro | Frameworks de software: definições, conceitos básicos, uma linguagem de padrões para construção de frameworks, exemplos de frameworks | Rosana/Masiero
|
|
4 de outubro | O framework GREN (caixa branca): Introdução, visão geral da arquitetura, visão geral das classes de persistência, aplicação e interface | Rosana/Masiero
|
|
18 de outubro | Como instanciar o framework GREN
(caixa branca): classes a criar, métodos a criar ou sobrepor; scripts
SQL a executar.
O que é necessário saber de Smalltalk para instanciar o GREN? |
Rosana/Reginaldo
|
|
25 de outubro | Semana da Computação - palestra |
|
|
8 de novembro | Aula de laboratório: instanciação
do GREN (caixa branca) a um exemplo
Projeto III Data de entrega: 29 de novembro |
Rosana/Reginaldo
|
|
22 de novembro | O instanciador do framework GREN: introdução, arquitetura, conhecimentos necessários para utilizá-lo. Usando o instanciador GREN para um exemplo | Rosana/Masiero
|
|
26 de novembro | aula de laboratório - reposição | Rosana/Reginaldo
|
|
29 de novembro | Resumo e solução de dúvidas | Rosana/Masiero
|
|
6 de dezenbro | Prova (exercício de aplicação da linguagem de padrões a um problema exemplo + algumas questões teóricas) | Masiero/Reginaldo |
10.2. Material disponível
Exercício I
a) Use um loop whileTrue: para calcular a raiz quadrada (sqrt) dos inteiros de 1 a 30. Imprima suas respostas no Transcript.
b) Para todos os inteiros entre 20 e 40 calcule o número que é (o fatorial de duas vezes esse número) dividido pela raiz desse número. Imprima suas respostas no Transcript.
c) Armazene em uma coleção os números ímpares de 120 a 300. Depois faça um método para encontrar a média aritmética dessa coleção (dica: a função odd retorna true se o número for ímpar).
Exercício II
a) Construa um Canvas que possui campos de entrada para ler o nome e a data de nascimento de uma pessoa. Possui um campo de apenas leitura que mostra a idade da pessoa sempre que a data de nascimento muda. Possui também três botões: o primeiro para calcular o número de dias que a pessoa já viveu, o segundo o número de horas e o terceiro para fechar o canvas. Ao clicar no botão 1 ou 2, a resposta é impressa em forma de uma caixa de diálogo na qual está escrito: Fulano viveu X dias até agora ou Fulano viveu X horas até agora. Nessa caixa de diálogo existe um botão OK para voltar ao canvas principal.
b) Nesse mesmo canvas, faça um menu que possua as mesmas opções oferecidas pelos botões, da mesma forma que no exemplo mostrado em sala de aula.
Projeto I
Fazer a modelagem de um exemplo usando UML (diagrama de classes).
Dividir a classe em vários grupos, grupos pares recebem S2 e grupos ímpares recebem S3.
Marcar o tempo gasto na modelagem. (Formulário Projeto I)
Projeto II
Fazer a modelagem de um exemplo usando a linguagem de padrões GRN (diagramas de classes).
Mesmos grupos do projeto PI, grupos pares recebem S3 e grupos ímpares recebem S2.
Marcar o tempo gasto na modelagem
Projeto III
Implementar um sistema exemplo usando o framework GREN (caixa branca) e sua documentação.
Mesmos grupos do projeto PI, grupos pares recebem S3 e
grupos ímpares recebem S2, ou seja, deve-se
implementar o sistema para o qual foi feito
o projeto II.
Material disponível:
1 - Antonio, Alfraino e LeandroVani | 2 - Daniel, Eduardo e Eric |
3 - Adriano, Waldomiro e Luis Fernando Quissak Pereira | 4 - Gisele, Karina e Tatiana |
5 - Priscila, Francisco e Rodrigo | 6 - Rafael Bertolini, João e Renato |
7 - Luis Eduardo, Luis Marcelo e Gerson | 8 - Ed, Ygor e José |
9 - André, Lisandro e Rafael Lucredio | 10 - Carlos, Luis Fernando Chavier e Renan |
11 - Diogo, Edson e Luciano | 12 - Jorge, Leandro Cintra e Thiago |
10.6 Notas Finais
|
|||||||
|
|
|
|
|
|
|
|
Adriano |
|
|
|
|
|
|
|
Alfraino |
|
|
|
|
|
|
|
André |
|
|
|
|
|
|
|
Antonio José |
|
|
|
|
|
|
|
Carlos |
|
|
|
|
|
|
|
Daniel |
|
|
|
|
|
|
|
Diogo |
|
|
|
|
|
|
|
Ed Carlos |
|
|
|
|
|
|
|
Edson Tadeu |
|
|
|
|
|
|
|
Eduardo |
|
|
|
|
|
|
|
Eric |
|
|
|
|
|
|
|
Francisco |
|
|
|
|
|
|
|
Gerson |
|
|
|
|
|
|
|
Gisele |
|
|
|
|
|
|
|
João Henrique |
|
|
|
|
|
|
|
Jorge |
|
|
|
|
|
|
|
José Ventura |
|
|
|
|
|
|
|
Karina |
|
|
|
|
|
|
|
Leandro Cintra |
|
|
|
|
|
|
|
Leandro Vani |
|
|
|
|
|
|
|
Lisandro |
|
|
|
|
|
|
|
Luciano |
|
|
|
|
|
|
|
Luis Eduardo |
|
|
|
|
|
|
|
Luis F. Chavier |
|
|
|
|
|
|
|
Luis F. Pereira |
|
|
|
|
|
|
|
Luis Marcelo |
|
|
|
|
|
|
|
Priscila |
|
|
|
|
|
|
|
Rafael Bertolini |
|
|
|
|
|
|
|
Rafael Lucrédio |
|
|
|
|
|
|
|
Renan |
|
|
|
|
|
|
|
Renato |
|
|
|
|
|
|
|
Rodrigo |
|
|
|
|
|
|
|
Tatiana |
|
|
|
|
|
|
|
Thiago |
|
|
|
|
|
|
|
Waldomiro |
|
|
|
|
|
|
|
Ygor |
|
|
|
|
|
|
|
Média Geral |
|
|
|
|
|
|
|
Os alunos com média abaixo de 5,0 e que não fizeram o Projeto III ou a prova, deverão fazer a recuperação.
11. Horário de Atendimento aos alunos
Segundas das 17:00 às 18:00 hs.
Quartas e Sextas das 8:00 às 9:00 hs.
Sala 3-113
12. Bibliografia
BECK, K. (1987). Smalltalk Best Practice Patterns, Prentice-Hall.
BRAGA, R. T. V. (2000). GREN: Um framework para gestão de Recursos de Negócios. Documento de trabalho, ICMC-USP, São Carlos-SP.
BRAGA, R. T. V., GERMANO, F. S. R.; MASIERO, P. C. (1999) A Pattern Language for Business Resource Management. Pattern Languages of Programs Conference (PLoP99). 6., Monticello-IL, EUA. Anais. v.7, p. 1-34.
BRAGA, R. T. V., GERMANO, F. S. R.; MASIERO, P. C. (2000b). Uma Linguagem de Padrões para Gestão de Recursos de Negócios. Documento de Trabalho, ICMC-USP, São Carlos-SP. Disponível em 10/01/01 para download na URL: http://www.icmc.sc.usp.br/~rtvb/ling_padroes_grn.zip.
CINCOM SYSTEMS, INC. (2000). VisualWorks 5i.3nc, disponível em 14/12/00 na URL: http://www.cincom.com/visualworks/
COAD, P.; NORTH, D.; MAYFIELD, M. (1997) Object Models: Strategies, Patterns and Applications, 2.ed., Yourdon Press.
ERIKSSON, H. & PENKER, M. (1998). UML Toolkit. New York, Wiley Computer Publishing.
FAYAD, M. E.; JOHNSON, R. E.; SCHMIDT, D. C. (eds.) (1999a). Building Application Frameworks: Object-Oriented Foundations of Framework Design, John Wiley & Sons.
FAYAD, M. E. & JOHNSON, R. E. (eds) (2000). Domain-Specific Application Frameworks: Frameworks Experience by Industry, John Wiley & Sons.
FOWLER, M. (1997). Analysis Patterns. Menlo-Park-CA, Addison-Wesley.
GAMMA, E.; HELM, R.; JOHNSON, R.; VLISSIDES, J. (1995). Design Patterns Elements of Reusable Object-Oriented Software. Reading-MA, Addison-Wesley.
HOWARD, T. & GOLDBERG, A. (1995). The SmallTalk Developers Guide to VisualWorks, Prentice Hall.
HOPKINS, T. & HORAN, B. (1995). Smalltalk An Introduction to Application Development using Visualworks, Prentice Hall.
MYSQL (2000). MySQL REFERENCE MANUAL FOR VERSION 3.21.29-GAMMA, disponível para "download" na URL: http://web.mysql.com/.
RATIONAL CORPORATION (2000). Unified Modeling Language. Disponível
em 12/03/99 na URL: http://www.rational.com/uml/references.