A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Trabalho I Frameworks Orientados a Objetos

Apresentações semelhantes


Apresentação em tema: "Trabalho I Frameworks Orientados a Objetos"— Transcrição da apresentação:

1 Trabalho I Frameworks Orientados a Objetos
Toacy C. de Oliveira Toacy C. Oliveira - COPPE/UFRJ

2 Toacy C. Oliveira - COPPE/UFRJ
Agenda Apresentação de Exemplos xxxDraw – Um desenhador de grafos Formato do Trabalho Entrega Toacy C. Oliveira - COPPE/UFRJ

3 Toacy C. Oliveira - COPPE/UFRJ
xxxDraw Toacy C. Oliveira - COPPE/UFRJ

4 Toacy C. Oliveira - COPPE/UFRJ
Fases Fase I – Estudo do Framework e Apresentação Fase II – Descrição de um Plano de Reutilização Fase III – Documentação da Reutilização Fase IV – Sistema Executando Toacy C. Oliveira - COPPE/UFRJ

5 Toacy C. Oliveira - COPPE/UFRJ
Fase I – Estudo Objetivo: Estudar um Framework (JHotDraw, Demoseille, Eclipse.*, etc) e entender suas principais características e seus pontos de flexibilização. Forma: Nesta fase não é necessário a utilização de uma Linguagem Formal, ou seja, a apresentação é informal podendo ser utilizada qualquer notação. Entrega: Apresentação em sala (15 min) e impressa (entregue ao Professor). Toacy C. Oliveira - COPPE/UFRJ

6 Toacy C. Oliveira - COPPE/UFRJ
xxxDraw xxxDraw é um nome fictício dado a uma aplicação capaz de desenhar um grafo e permitir alterações nas propriedades de seus nós e arestas. DTFrame[Carvalho98] HotDraw [Johnson92] Toacy C. Oliveira - COPPE/UFRJ

7 Funcionalidade/Características
Toacy C. Oliveira - COPPE/UFRJ

8 Toacy C. Oliveira - COPPE/UFRJ
Extensões Novos tipos de figuras Novos atributos para figuras e seus editores associados. Toacy C. Oliveira - COPPE/UFRJ

9 Fase II – Plano de Reutilização
Objetivo: Entender e especificar o processo de reutilização Forma: Neste ponto é necessário a apresentação o Plano de Reutilização utilizando Linguagem Natural especificando quais pontos serão estendidos e como/quando isto será feito. Entrega: Impressão entregue ao professor. Toacy C. Oliveira - COPPE/UFRJ

10 Toacy C. Oliveira - COPPE/UFRJ
Classes Toacy C. Oliveira - COPPE/UFRJ

11 Toacy C. Oliveira - COPPE/UFRJ
Classes Classe BMPFormat - Classe que faz a exportação do desenho em formato Bitmap. Classe Canvas - Tela onde as figuras são efetivamente desenhadas. Classe DrawingTool - Classe principal da ferramenta de desenho. Contem uma lista de janelas, um gerente de persistencia e um gerente de exportação. Classe DrawingWindow - Janela de Desenho Classe ExportManager - Classe que gerencia todos os aspectos de exportação. Classe ExportTool - Classe que efetivamente faz a exportação. Classe Figure -Classe abstrata que descreve o comportamento mínimo de uma figura Classe FigureAction - Classe que descreve as ações que podem ser feitas em uma figura como: Apagar, MudarNome. Toacy C. Oliveira - COPPE/UFRJ

12 Toacy C. Oliveira - COPPE/UFRJ
Classes Classe FigureData - Classe que descreve os dados da figura como : ID, nome Classe GIFFormat - Classe que faz a exportação do desenho em formato GIF. Classe MSSQLDB - Wrapper para banco de dados SQL Server. Classe OODB - Wrapper para banco de dados OO. Classe OracleDB -Wrapper para banco de dados Oracle. Classe PersistencyManager - Classe que gerencia todos os aspectos de persistência. Classe PersistencyTool - Classe que efetivamente faz a persistência. Interface Persistent - Interface que declara o protocolo de comunicação para persistência. Class RecDB - wrapper para banco de dados orientado a registro. Classe RelDB - Wrapper para banco de dados relacional. Classe ToolBar - Barra de ferramentas associada a uma janela de Desenho. Classe XMIDB - Wrapper para banco de dados em XMI. Toacy C. Oliveira - COPPE/UFRJ

13 Reutilização (de Funcionalidade)
Novas Figuras A criação de novas figuras se dá por especialização da classe Figure. Esta classe contem a funcionalidade básica de todas as figuras que o DTFrame pode manipular. Persistência (Sim / Não) Sendo uma característica opcional, o mecanismo de persistência pode não aparecer no design final. Caso o reutilizador não necessite de tal funcionalidade, ele deverá ignorar o atributo DrawingTool.thePM. Caso contrário, o reutilizador deverá especializar a classe PersistencyTool. Exportação (Sim / Não) A característica de exportação segue o apresentado para persistência, sendo que o atributo opional é DrawingTool.theEM e a classe para especialização é ExportTool. Toacy C. Oliveira - COPPE/UFRJ

14 Processo de Reutilização
Para cada tipo figura presente na aplicação final, criar uma nova classe herdando de Figure que especifique a nova figura. Criar também classes que herdam de FigureData e FigureAction para especificar os dados e as ações associados a esta figura. Caso a aplicação do reutilizador necessite de persistência, redefinir a operação save() para cada tipo figura criada. Esta operação deverá especificar tuplas no formato <TIPO, NOME, VALOR> de cada atributo a ser salvo. Para especificar o aspecto de persistência, o reutilizador deverá escolher uma subclasse concreta de PersistencyTool, e definir seu uso em PersistencyManager.configPT(). Caso o tipo de banco de dados utilizado pela aplicação final não esteja representado, criar uma subclasse de PersistencyTool como encapsuladora do SGBD. Vale ressaltar que este aspecto é opcional. Para especificar o aspecto de exportação, o reutilizador deverá escolher um conjunto de subclasses de ExportTool, e definir seu uso em ExportManager.configET().Vale ressaltar que este aspecto é opcional. Toacy C. Oliveira - COPPE/UFRJ

15 Fase III - Documentação da Reutilização
Objetivo: Especificar o processo de instanciação utilizando uma notação formal. Forma: Diagramas (UML-FI)? e RDL Entrega : Documento impresso com os diagramas e anotações complementares. Toacy C. Oliveira - COPPE/UFRJ

16 Toacy C. Oliveira - COPPE/UFRJ
UML-FI ? Toacy C. Oliveira - COPPE/UFRJ

17 Toacy C. Oliveira - COPPE/UFRJ
RDL ? COOKBOOK DTFrameCok //================================================= RECIPE FigureAspect; LOOP figClass = CLASS_EXTENSION (Figure); figDataClass = CLASS_EXTENSION (FigureData); figAction = CLASS_EXTENSION (FigureAction); PATTERN_METHOD_EXTENSION (Figure, figClass, createData , Factory, (figClass, createData, figDataClass); PATTERN_METHOD_EXTENSION (Figure, figClass, createAction , Factory, (figClass, createAction, figActionClass); METHOD_EXTENSION (Figure, figClass,save) REQUIRES (DrawingWindow.thePersistencyMan); END_LOOP; END_RECIPE; //============================================== RECIPE PersistencyAspect; ELEMENT_CHOICE (DrawingWindow.thePersistencyMan); SELECT_CLASS_EXTENSION (PersistencyTool) REQUIRES (DrawingWindow.thePersistencyMan) # CLASS_EXTENSION (PersistencyTool)REQUIRES (DrawingWindow.thePersistencyMan); VALUE_SELECTION (DrawingTool , autoPersistencyRate, (0,5,10,30)) REQUIRES (DrawingWindow.thePersistencyMan); //=============================================== RECIPE ExportAspect; ELEMENT_CHOICE (DrawingWindow.theExportMan); SELECT_CLASS_EXTENSION (ExportTool) REQUIRES(DrawingWindow.theExportMan) # CLASS_EXTENSION (ExportTool) REQUIRES(DrawingWindow.theExportMan); //==================================================== RECIPE MAIN; PersistencyAspect || ExportAspect; FigureAspect; END_COOKBOOK; Toacy C. Oliveira - COPPE/UFRJ

18 Fase IV - Implementação
Objetivo: Implementar um sistema utilizando um Framework. Forma: Código. Entrega : Sistema Executando. Toacy C. Oliveira - COPPE/UFRJ

19 Toacy C. Oliveira - COPPE/UFRJ
Teste de Aceitação Na fase final haverá um teste de aceitação que consistirá na execução do sistema bem como na alteração de sua funcionalidade (instanciação de acordo com o plano). Toacy C. Oliveira - COPPE/UFRJ

20 Rational Team Concert(RTC)
Será criada uma Área de Projeto por grupo em https://reuse.cos.ufrj.br/jazz Login/Senha = grupoX/grupoX Cada grupo deverá manter suas atividades atualizadas no sistema (há como usar o repositório do RTC mas não é necessário). Lembrem que há um plugin para Eclipse!! Toacy C. Oliveira - COPPE/UFRJ

21 Toacy C. Oliveira - COPPE/UFRJ
RTC Podem colocar atividades como: Leitura artigo XXX Implementação Classes XXX,YYY Teste Classes XXX Escrita documento XXX Ect. Toacy C. Oliveira - COPPE/UFRJ

22 Toacy C. Oliveira - COPPE/UFRJ
Entrega Prazo final para Trabalho 1 05-out-2010 Toacy C. Oliveira - COPPE/UFRJ

23 Ausências Programadas
SBES: 27-set à 01-out Petrobrás: 13-out e 14 out Toacy C. Oliveira - COPPE/UFRJ


Carregar ppt "Trabalho I Frameworks Orientados a Objetos"

Apresentações semelhantes


Anúncios Google