SCE 223 – Linguagens para Ambientes Comerciais

Prof. Responsável: Paulo Cesar Masiero

Planejamento da disciplina

2o Semestre de 2001

1. Objetivo

Esta disciplina tem por objetivos:

2. Conteúdo 3. Métodos Utilizados

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:

P I – 1
P II – 2
P III – 4
Prova – 3
9. Pré-Requisitos 10. Planejamento das Aulas

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
 
Data
Descrição
Responsável
1
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

Rosana/Masiero
Material aula

Formulário Projeto I

2
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

Rosana/Masiero
  Material aula
3
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
Material aula
4
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.

Masiero/Reginaldo
Material aula
5
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

Masiero/Reginaldo
Material aula
6
13 de setembro A linguagem de Padrões para Gestão de Recursos de Negócios (GRN)
Masiero/Reginaldo
Material aula
7
20 de setembro A linguagem de Padrões GRN + exercício em classe

Projeto I I – Data de entrega: 28 de setembro

Rosana/Reginaldo
Formulário Projeto II
8
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
Material aula
9
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
Material aula
10
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
Material aula
11
25 de outubro Semana da Computação - palestra
-
12
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
Material aula
13
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
Material aula
14
26 de novembro aula de laboratório - reposição Rosana/Reginaldo
Código Smalltalk
15
29 de novembro Resumo e solução de dúvidas Rosana/Masiero
Material aula
16
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

10.3. Especificação dos exercícios

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.

     
10.4. Especificação dos projetos

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:

10.5 Grupos
 
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
 
SCE-223 - Linguagens para ambientes comerciais - 2º Semestre de 2001
Prova
Proj. I
Proj. II
Proj. III
Média Final
Faltas
Freqüência
Adriano
5,70
4,25
7,50
3,6
4
76%
Alfraino
5,70
3,75
5,00
5,50
5,3
3
82%
André
6,60
4,25
6,75
7,70
6,8
2
88%
Antonio José
7,60
3,75
5,00
5,50
5,9
4
76%
Carlos
8,30
6,75
8,25
10,00
8,8
2
88%
Daniel
7,80
7,50
7,00
9,00
8,1
3
82%
Diogo 
7,20
6,50
5,00
5,50
6,0
2
88%
Ed Carlos
9,10
5,75
8,75
9,60
8,9
3
82%
Edson Tadeu
7,60
6,50
6,00
5,50
6,3
3
82%
Eduardo
7,80
7,50
7,00
9,00
8,1
3
82%
Eric
7,80
7,50
7,00
9,00
8,1
3
82%
Francisco
6,50
8,75
8,50
5,80
6,8
2
88%
Gerson
10,00
5,75
5,50
9,50
8,5
1
94%
Gisele
8,10
8,25
8,50
9,70
8,8
2
88%
João Henrique
7,80
2,00
7,50
9,70
7,9
3
82%
Jorge
0,00
1,00
7,00
7,50
4,5
5
71%
José Ventura
9,20
5,75
8,75
9,60
8,9
3
82%
Karina
8,20
8,25
8,50
9,70
8,9
1
94%
Leandro Cintra
8,60
1,00
7,00
7,50
7,1
2
88%
Leandro Vani
7,00
3,75
5,00
5,50
5,7
1
94%
Lisandro
7,60
4,25
6,75
7,70
7,1
3
82%
Luciano
8,00
6,50
5,00
5,50
6,2
5
71%
Luis Eduardo
8,60
5,75
5,50
9,50
8,1
1
94%
Luis F. Chavier
9,10
6,75
8,25
10,00
9,1
2
88%
Luis F. Pereira
5,10
4,25
7,50
3,5
5
71%
Luis Marcelo
8,70
5,75
5,50
9,50
8,1
1
94%
Priscila
7,30
8,75
8,50
5,80
7,1
4
76%
Rafael Bertolini
8,90
2,00
7,50
9,70
8,2
3
82%
Rafael Lucrédio
7,90
4,25
6,75
7,70
7,2
4
76%
Renan
9,50
6,75
8,25
10,00
9,2
1
94%
Renato
8,60
2,00
7,50
9,70
8,2
1
94%
Rodrigo
3,70
8,75
8,50
5,80
6,0
5
70%
Tatiana
9,40
8,25
8,50
9,70
9,2
2
88%
Thiago
3,70
1,00
7,00
7,50
5,6
3
82%
Waldomiro
0,00
4,25
7,50
1,9
5
71%
Ygor
9,40
5,75
8,75
9,60
9,0
3
82%
Média Geral
7,28
5,38
7,13
8,14
7,1
2,78
84%

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

APPLETON, B. (1997). Patterns and Software: Essential Concepts and Terminology, disponível em 09/10/2000 na URL: http://www.enteract.com/~bradappdocpatterns-intro.html.

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 (PLoP’99). 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.