OWLtoAspectJ: Uma Ferramenta para Transformação de Regras Conceituais de Domínio em Aspectos

Tamanho: px
Começar a partir da página:

Download "OWLtoAspectJ: Uma Ferramenta para Transformação de Regras Conceituais de Domínio em Aspectos"

Transcrição

1 OWLtoAspectJ: Uma Ferramenta para Transformação de Regras Conceituais de Domínio em Aspectos Jaguaraci Batista Silva Departamento de Computação Universidade Federal da Bahia (UFBA) Av Adhemar de Barros s/n, Ondina Salvador BA Brazil Abstract. The axioms are rules or affirmations of the truth on concepts and its creation is essential to carry through inferences on ontology. The axioms when generated for a programming language provoke one high coupling degree, making impracticable its reuse of the rules in other models. This work aims at to separate the axioms of the platform specific model. A tool was constructed to transform the axioms from OWL format to aspects. Thus, the business rules can be reused in other MDA specific models within the Java platform automatically. Resumo. Os axiomas são regras ou afirmações da verdade sobre conceitos e a sua criação é imprescindível para realizar inferências em uma ontologia. Os axiomas quando gerados para uma linguagem de programação, provocam um alto grau de acoplamento, inviabilizando o reuso das regras em outros modelos. Este trabalho visa separar os axiomas do modelo específico de plataforma. Foi construída uma ferramenta para transformar os axiomas no formato OWL em aspectos. Assim, as regras de negócio podem ser reutilizadas em outros modelos MDA específicos da plataforma Java automaticamente. 1. Introdução As regras de negócios são semânticas, peculiares e, entre tantos atributos, precisam aderir de forma coesa a um conceito. Abstraindo um pouco questões de paradigmas, pois são apenas metodologias, as regras dão o sentido a existência de um conceito. A modelagem de um domínio de aplicação com uma aproximação á ontologia, permite utilizar-se de mecanismos para abstrair paradigmas (e.g. POO, POA, POM). Mesmo a UML (Unified Modeling Language) [Booch et al, 1999] ou qualquer linguagem de representação de paradigma, não oferece condições de prova formal de que um objeto ou aspecto é a realização de um conceito, pois seria necessário verificar a semântica do modelo e nenhuma dessas linguagens de representação fornece tal grau de formalidade [Freitas, 2003]. Mesmo com a utilização de aspectos, que priva pela separação de interesses transversais, não é possível garantir se semântica das regras conceituais adere de forma coesa a sua implementação. Criar sistemas críticos que controlam robôs, fornos industriais ou aviões são bastante complexos. São nesses tipos de aplicações, que se

2 pode obter grandes vantagens na utilização da verificação formal de uma ontologia de domínio. A verificação formal pode ser feita de forma fácil e rápida, devido ao uso combinado de um editor de ontologias com interface gráfica (e.g. Protêgê, OntoEdit) e um reasoner (e.g. Racer) [Haarslev, 2004] [Silva et al, 2006], facilitando a adequação do uso dessas técnicas na indústria. Muitos trabalhos vistos na literatura utilizam as aproximações entre MDA (Model-Driven Architecture) e ontologias [Djuric et al, 2004] ou MDA e AOP (Aspect- Oriented Programming) [Dhondt et al, 2008]. Em [Djuric et al, 2004] é possível observar as referências de forma cronológica sobre os seus trabalhos. Em resumo, os seus projetos preocupam-se em utilizar as definições de metamodelos para a criação de um perfil UML para ontologia. Assim, uma ontologia poderá ter classes, atributos e propriedades, com o objetivo de facilitar a sua transformação ou utilização junto aos outros perfils e\ou modelos UML. Já [Dhondt et al, 2008] são pioneiros quando se trata da utilização de aspectos e representação de conhecimento. Em um dos seus trabalhos, Dhondt [Dhondt et al, 2006] utiliza a programação orientada a aspectos para implementar as regras de negócio em forma de aspectos a partir de modelos conceituais de alto nível. Esse trabalho utiliza a construção de aspectos a partir de modelos conceituais formalizados utilizando lógica de descrições [Horrocks et al, 1999]. Foi construída uma ferramenta para gerar automaticamente modelos específicos de plataforma utilizando as restrições construídas na linguagem OWL (Ontology Web Language) [W3C, 2008] transformando-as em aspectos [Chavez, 2004]. Para apresentação do trabalho, o mesmo foi divido em 5 seções. A primeira é a introdução deste trabalho. A segunda fornece uma breve apresentação sobre os níveis de abstrações utilizando modelos MDA. A terceira apresenta uma visão geral sobre a linguagem OWL e de que forma são representadas as regras de negócio nessa linguagem. Na quarta seção são mostrados os elementos que compões a linguagem de programação orientada a aspectos. A forma de construção da ferramenta e sua utilização estão descritas na seção 5. E por fim, as conclusões e referências utilizadas estão na parte final deste trabalho. 2. Modelos e níveis de abstrações em MDA A MDA, arquitetura orientada a modelos, propõe a criação de modelos em diferentes níveis de abstração, separando os interesses de implementação de uma arquitetura específica do modelo conceitual de uma aplicação. A MDA é baseada na arquitetura MOF, que conceitua quatro níveis de modelos: M3, M2, M1, e MO. A figura 1 mostra um exemplo do uso de metaníveis em MDA, uma Conta (MO) é um exemplo da classe conta (M1) que implementou a classe Classe (M2), por sua vez, sendo uma instância da classe Classe em MOF (M3). Cada metamodelo proposto deve ter, no mínimo, uma implementação, de forma que sua realização pode ter um ou mais modelos. Um modelo de diagramas UML, por exemplo, é capturado por um metamodelo UML, que descreve como podem ser estruturados modelos UML, os elementos que eles contêm, bem como as propriedades de uma plataforma particular. Os modelos poderão relacionar-se usando mapeamentos, os quais podem ser realizados automática ou manualmente.

3 Figura 1. Exemplo de níveis de modelos MDA (Mellor, 2003, P. 48) Em um mapeamento existem regras que são chamadas regras de mapeamento, as quais definem basicamente a aceitação de um ou mais modelos - que são as origens - e um modelo de destino a ser gerado. Essas regras são escritas em nível de metamodelos e aplicáveis a todos os modelos de origem que obedecem às especificações de seu metamodelo. Para que seja possível a utilização de mapeamentos em modelos UML é necessário importar o modelo em uma ferramenta MDA, através do arquivo XMI (XML Metadata Interchange), que é um artefato gerado a partir das linguagens XML (Extensible Markup Language), UML e MOF (Meta Object Facility) que utiliza DTD (Definição de Tipo de Documento), nos quais são descritas regras de sintaxe dos elementos usados no modelo MDA. A declaração de um DTD pode ser feita interna ou externamente ao documento, em que são definidas e ordenadas através de tags. O XMI combina os benefícios da XML para definição, validação e compartilhamento de formatos de documentos com os benefícios da linguagem de modelagem visual UML para especificação, visualização, construção e documentação. Onde o seu principal objetivo é facilitar o intercâmbio de metadados, entre ferramentas de modelagem baseadas na linguagem UML e MOF especificadas pela OMG. 3. Uma Visão geral sobre a OWL As pesquisas no campo da representação do conhecimento englobam definições formais utilizando um raciocínio automático para a validação de um conceito sobre um determinado domínio e, segundo [Guizzard, 2002], é melhor realizada quando esta é descrita em uma linguagem fundamentada em um modelo matemático. Nesta linguagem, em contraste com a linguagem natural, existem símbolos não ambíguos e formulações exatas, portanto, a clareza e a correção de uma dedução podem ser testadas. Assim como XMI, a linguagem OWL (Ontology Web Language) é uma linguagem XML. É possível expressar a estrutura dos conceitos, relacionamentos e descrever características especiais sobre estes, através de axiomas lógicos para formar uma ontologia. As Lógicas de Descrições ou DLs (Description Logics) são uma evolução dos formalismos de representação do conhecimento baseados em objetos (redes semânticas e frames), ao qual corresponde um subconjunto estruturado da lógica de primeira ordem [Santos et al, 2005]. A OWL, baseada na lógica de descrição e estruturada pela XML, é formada por três sub-linguagens diferentes [Santos et al, 2005]: OWL Lite, OWL-DL e OWL Full; e cada uma corresponde a uma lógica de descrição diferente.

4 Uma interpretação de um conceito A, representada por A 1, pode ser definida como o conjunto de valores que torna este conceito verdadeiro. O conceito mais geral do qual todos os outros conceitos são subconceitos é representado por D 1 e é equivalente ao Verdadeiro (True). O Verdadeiro e o Falso são representados, respectivamente, pelos símbolos T e. Supondo que A e B sejam nomes de conceitos, P um nome de papel (propriedade) pode-se ter os seguintes construtores básicos (Santos et al, 2005): Conjunção (A Π B). Representa a interseção entre as interpretações dos conceitos que fazem parte da conjunção. Disjunção A U B (U). Representa a união entre as interpretações dos conceitos que fazem parte da disjunção. Quantificação Universal P.A. Determina que, através da propriedade P, todos os indivíduos do conceito declarado devem se relacionar com indivíduos da classe determinada pela quantificação universal (conceito A). Desta forma, a propriedade P não pode ser usada para relacionar elementos de outras classes. Quantificação Existencial P.A (E). Determina que, através da propriedade P, deve existir pelo menos um indivíduo do conceito declarado que se relaciona com indivíduos da classe determinada pela quantificação existencial (conceito A). Os indivíduos do conceito declarado podem se relacionar com outras classes através desta mesma propriedade P. Negação A (C). Representa a interpretação de D 1 menos a de A 1. Restrição de Número =< n.p e => n.p (N). Determinam o número máximo (=<) ou mínimo (=>) de relacionamentos que devem ser realizados através da propriedade P. Todos os elementos criados na ontologia podem ser gerados para a linguagem OWL (Ontology Web Language) através de um editor de ontologia. A tabela 1 apresenta um trecho do arquivo OWL gerado pelo editor de ontologia protêgê [Protêgê, 2008]. A geração do arquivo OWL é necessária, pois será utilizado um motor de inferências para verificar a satisfação dos conceitos criados na ontologia de domínio. Razão a qual será possível afirmar que o domínio criado está correto. Tabela 1. Exemplo de uma Regra de Negócio Representada no Arquivo OWL. <owl:restriction> <owl:somevaluesfrom> <owl:class rdf:id="forno"/> </owl:somevaluesfrom> <owl:onproperty> <owl:objectproperty rdf:id="#e_carregado_por_operador "/> <owl:restriction> <owl:objectproperty rdf:about="# E_carregado_por_Operador "> <rdfs:domain rdf:resource="#forno"/> <rdfs:range rdf:resource="#operador"/> <owl:inverseof rdf:resource="#carrega_forno"/> </owl:objectproperty> As regras de negócio são representadas pelas tags owl:restriction no formato XML (Extend Markup Language). Todas as restrições são formadas pelo conjunto de informações sobre os conceitos, o predicado e tipo de restrição. No trecho apresentado na Tabela 1, os conceitos são descritos pelas tags rdfs:domain rdf:resource e rfds:range rdf:resource, o predicado por owl:objectproperty rdf:id e o tipo de

5 restrição owl:maxcardinality. Significa que apenas o operador pode realizar o abastecimento de insumos, conforme uma das regras de negócio da aplicação de abastecimento de fornos utilizada no estudo de caso. 4. A programação orientada a aspectos A POA ou programação orientada a aspectos (Aspect-Oriented Programing) [AOSD, 2005] é a tecnologia mais recente utilizada para separar requisitos não-funcionais do domínio da aplicação. Chavez [Chavez, 2004] cita que o paradigma de orientação a aspectos deve suportar: componentes, pontos de combinação, crosscutting, processo de combinação, quantificação, transparência e os próprios aspectos, além da separação do que é aspectos e componentes através de uma dicotomia aspecto-base. Para conceituar o paradigma, Chavez cria um framework conceitual formado por quatro modelos: o modelo de componentes, o modelo de pontos de combinação, o modelo de processo de combinação e o modelo principal ou core. O modelo de componentes (component model), é responsável pela decomposição dos problemas que irá resolver, existindo ainda para cada tipo de problema seus princípios, mecanismos de composição e um componente conceitual. O modelo de pontos de combinação (join point model), irá descrever os tipos de combinação para cada interesse e as restrições de seu uso. Um ponto de combinação pode ser: estático, quando é um local na estrutura de um componente, dinâmico, quando se refere a um comportamento, e ainda possuir uma sombra estática, que é um ponto de combinação dinâmico em uma região de um componente. No paradigma de orientação a objetos, são exemplos de pontos de combinação estáticos as classes, os métodos e atributos. As execuções dos métodos, instanciações de classes, chamadas de métodos construtores e referências a campos em tempo de execução são exemplos de pontos de combinação dinâmicos. O modelo principal (core model) é usado para descrever os aspectos, usando os mecanismos de aspecto e crosscutting. Os aspectos são as propriedades do sistema que afetam os componentes, conceituados por [Chavez, 2004] como:...uma entidade nomeável de primeira classe que oferece uma representação modular para um concern transversal. As características transversais utilizam os pontos de combinação para tratar as melhorias, sejam estruturais (static join point) ou comportamentais (dynamic join point). O crosscutting é um fenômeno que ocorre quando duas propriedades programadas e coordenadas compõemse de forma diferente, estabelecendo uma relação de um aspecto com um ou mais componentes. E por fim, o modelo de processo de combinação (weaving model), compõe os aspectos e componentes relacionados, usando o fenômeno de crosscutting em pontos de combinação específicos. Os princípios mais importantes da programação orientada a aspectos são: a separação de concerns, a modularidade, a dicotomia-base, a transparência e a quantificação. A separação de concerns é a distinção entre um aspecto e um componente. A modularidade é a decomposição de concerns em aspectos. A dicotomiabase trata justamente dessa separação, quando conseguimos fazer tais distinções, temos os sistemas decompostos em componentes e aspectos, onde: aspectos modularizam concerns transversais e os componentes concerns funcionais, os aspectos devem ser

6 separados dos componentes e de outros aspectos [Chavez, 2004]. A transparência faz o uso do princípio da inversão de dependência, onde os componentes e programadores não precisam saber da existência dos aspectos. A quantificação proporciona a capacidade, através de uma linguagem orientada a aspectos, de escrever condições para que os aspectos possam afetar vários componentes. Uma linguagem orientada a aspectos ou AOL (Aspect-oriented Language), deve prover a capacidade de suporte aos modelos citados e suas características, bem como, todos os princípios do paradigma. Uma AOL deve ser estruturada independente de framework e expressar testes padrões de integração entre componentes e aspectos em uma aplicação Um exemplo de linguagem orientada a aspectos é a AspectJ [Laddad, 2003]. 5. Geração automática do Modelo PSM para as regras de negócio A Figura 2 apresenta o processo de transformação. O modelo PIM (Platform Independent Model) criado a partir de uma ontologia, deve ser uma instância do metamodelo MOF. Este modelo, representado pelo arquivo OWL, também poderá utilizar algum perfil da UML como o ODM (Ontology Definition Metamodel) (Djuric et al, 2004) para a geração de outros modelos a partir de uma ontologia ou a criação de um perfil próprio. A sua implementação é uma demonstração de uma das principais vantagens da criação de modelos usando a MDA, que é a geração e o intercâmbio de modelos usando a linguagem XML. A transformação do PIM para o PSM (Platform Specific Model) contém a definição do conjunto de classes, atributos e relacionamentos que serão gerados para uma plataforma específica. Figura 2. Transformação do PIM em PSM e Implementação das Regras usando AOP. Para a transformação das regras de negócio representadas na linguagem OWL (Tabela 1) em aspectos (Tabela 2), foi construída uma ferramenta utilizando a linguagem Java [Sun, 2008] e a API Jena [Jena, 2008]. A API Jena permite que o arquivo OWL seja lido com facilidade. A Figura 3 mostra a ferramenta construída. Ela permite a transformação do modelo conceitual formalizado usando lógica de descrições [Silva et al, 2006] para artefatos em aspectos utilizando a linguagem AspectJ [AspectJ,

7 2008]. Um trecho de uma regra gerada para AspectJ pode ser vista na tabela 2. Cada regra foi transformada em um Aspect, significando que cada uma unidade de aspecto gerada representa um modelo PSM derivado do metamodelo UML para AspectJ [Han et al, 2005]. É realizada a leitura de cada restrição no formato OWL, de acordo com os tipos suportados pela linguagem axiomática PAL [Noy et al, 2000], durante a transformação do modelo PIM para o PSM em AspectJ. Após, são associados os elementos de cada linguagem usando a API Jena para capturar os dados dos elementos em OWL utilizados para a criação dos aspectos. A tabela 1 (Seção 3) exibe os elementos a serem lidos pela ferramenta para geração do modelo PSM. Foi criada uma padronização com a finalidade de incorporar os elementos da OWL usando a transformação automática, sem a necessidade de intervenção humana. Figura 3. Ferramenta Construída para Transformar as Restrições de OWL para AspectJ. Durante a criação de um aspecto com a capacidade de implementar as regras de negócio da aplicação, foram criados: advices e pointcuts (Seção 4) de acordo com as relações entre os conceitos, inclusive para os relacionados inversamente. No nome do poitncut foi indicado o conceitos ou classe ao qual o aspecto deve agir representado em OWL pela tag rdfs:domain rdf:resource, seguido da informação do conceito relacionado obtido com a informação do elemento rdfs:range rdf:resource. Como o modelo PSM para os aspectos deve ser adaptado automaticamente, o método a ser interceptado, deverá ter o nome da classe relacionada ao conceito em sua assinatura (e.g. Operador.carregaForno(), Receita.insereInsumo()). Assim, poderá ser utilizado um designador (e.g. execution, call, Get, Set) para o pointcut com o nome da classe associada, para não necessitar a escrita da assinatura completa do método. O elemento owl:objectproperty rdf:id repesentará o nome da regra de negócio, portanto foi utilizado para nomear o aspecto, facilitando a identificação de artefatos. As regras que fazem referência a restrições por tipos de objetos (e.g. owl:allvaluesfrom, owl:hasvaluesfrom e owl:somevaluesfrom) farão o uso do operador instaceof na composição da estrutura condicional, enquanto as de cardinalidade serão utilizados os operadores padrões da linguagem Java (e.g. >=, <= e = = ) [Sun, 2008].

8 A Tabela 2, mostra a regra de negócio E_carregado_por_Operador transformada para a linguagem AspectJ. Segundo o documento de especificação dos requisitos, um administrador não pode realizar o abastecimento em fornos. Uma vez que existe a regra de negócio, esta deve ser seguida, independente de um erro de programação, pois nesse caso, não são admitidos erros dessa natureza em sistemas críticos. Com a utilização da programação orientada a aspectos, as regras estão fortemente ligadas aos conceitos, mesmo sendo desacopladas dos modelos. Neste exemplo exibido na Figura 4, foi detectado antes da realização do abastecimento do forno que um administrador tentou burlar a regra de negócio. Mesmo sendo forçado o erro na implementação de um método que não deveria existir no nível de uma linguagem de programação (Tabela 3). package businessrules; Tabela 2. Regra de Negócio Transformada em AspectJ. import abastecimento.operador; public aspect FornoE_carregado_por_Operador { public pointcut Operador() : call(* *.*Forno(..)) && (!(call(* *.getforno(*)) call(* *.setforno(*)))); before():operador() { Object obj = thisjoinpoint.gettarget(); } if (!(obj instanceof Operador)){ System.out.print("\n Exception Rule: FornoE_carregado_por_Operador"); } } A fim de possibilitar a verificação da satisfatibilidade das regras de negócio, foram implementadas as classes Java, utilizando dois modelos PSM. O primeiro para a criação dos conceitos, atributos e suas relações e o segundo gerado automaticamente através ferramenta OWLtoAspectJ representando as regras de negócio. Após a realização da transformação do modelo PIM no formato XMI para o PSM na plataforma Java. Foram implementados comportamentos manualmente, sem as regras de negócio. Após, foram criadas as instâncias para realizar as ações descritas nos caso de usos do sistema: o cadastramento de insumos, silos, receitas de produtos contendo os insumos necessários para sua fabricação, os produtos a serem fabricados nos fornos, as fábricas e seus respectivos fornos e os usuários do sistema. Na Tabela 3, é possível vislumbrar as ações de cadastro, através do trecho de código exibido. Nesta tabela também é possível ver a simulação da tentativa de abastecimento de um forno por um administrador do sistema.

9 Tabela 3. Trecho de Código Utilizado para Verificar as Regras. Fabrica fabrica = new Fabrica(); fabrica.cadastrarforno(forno1); System.out.print(fabrica); fabrica.cadastrarforno(forno2); System.out.print(fabrica); Operador operador = new Operador(); operador.setmatricula(0); operador.setnome("nome"); operador.setsenha("senha"); operador.carregarforno(forno1, insumo); System.out.print(operador); Administrador administrador = new Administrador(); administrador.setmatricula(0); administrador.setnome("nome"); administrador.setsenha("senha"); administrador.carregarforno(forno1, insumo); System.out.print(administrador); Neste trecho foram criadas as instâncias das classes Forno, Fabrica, Operador e Administrador. A Figura 4 representa o momento da verificação da regra de negócio (Tabela 2), ao executar a ação de abastecer um forno com um insumo, é exibida a mensagem de que houve uma violação de regra de negócio e qual foi a regra violada. A utilização do modelo PSM para regras de negócio após a geração feita pela ferramenta OWLtoAspectJ construída neste trabalho reduziu o tempo de desenvolvimento da aplicação. Além disso, as regras geradas usando a linguagem AspectJ [AspectJ, 2008] podem ser reutilizadas em outras plataformas (e.g. CORBA e RMI). Um exemplo pode ser implementando utilizando uma arquitetura cliente & servidor, onde as regras de negócio podem estar em qualquer um desses componentes. Um exemplo de implementação que utiliza o RMI pode ser visto no trabalho de Soares [Soares et al, 2002].

10 Figura 4. Validação da Regras de Negócio em Tempo de Execução. Conclusão A criação automática dos aspectos possibilita, além de separar as regras dos modelos específicos de plataforma, uma diminuição no tempo de desenvolvimento. Uma vez que não é necessário escrever o código para as regras de negócio nos métodos da classe, pois os aspectos irão encontrá-los dinamicamente. Ao avaliar a oportunidade de automatizar a geração de modelos MDA separados das regras de negócio, criou-se uma ferramenta e um modelo de processo para este propósito. A criação automática das regras de negócios em aspectos possibilitou, além de separar as regras dos modelos específicos de plataforma, uma diminuição no tempo de desenvolvimento e sua reutilização em outros produtos de uma linha de produtos de software. Alguns trabalhos utilizam a relação MDA e Ontologia ou MDA e AOP, porém neste trabalho foi possível utilizar todas as tecnologias emergentes que tratam a separação de interesses, sejam de plataformas, regras de negócio ou requisitos não-funcionais de forma inédita. Espera-se em um trabalho futuro, avaliar a concorrência entre aspectos, sob o ponto de vista de sobreposição das regras de negócio e melhorar a ferramenta OWLtoAspectJ para que se possa padronizar as mensagens de violação de regras sem que se haja a necessidade de intervenção ao modelo PSM formalizado. Referências AOSD Europe (2005). Survey of Aspect-oriented Middleware. Acessado em Abril de AspectJ. AspectJ Java Aspect-Oriented Programming. Acessado em Abril de Booch, G., Jacobson, I., Rumbaugh, J. (1999). Unified Modeling Language User s Guide. Addison-Wesley. Chavez, C.V.G. (2004). Um enfoque baseado em modelos para o design orientado a aspectos. Tese de doutorado, Pontifícia Universidade Católica do Rio de Janeiro, p Dhondt, M., Streten, R. V. D. Programme Inria Equipes Associées. Acessado em: abril de Dhondt, M. Cibrán, M. A.. (2006) A Slice of MDE with AOP: Transforming High- Level Business Rules to Aspects. ACM/IEEE 9th International Conference on Model Driven Engineering Languages and Systems (Models 2006), Genova, Itália. Djuric, D. Gasevic, D. Devedzic, V MDA-Based Ontology Infrastructure. Internacional Conference on Web Engineering, Munich, Alemanha. Freitas, F Ontologias e Websemântica. IV ENIA Encontro Nacional de Inteligência Artificial, Campinas, Minicurso. In Anais do XXIII Congresso da Sociedade Brasileira de Computação, 52 p.

11 Guizzard, Giancarlo.. (2000) Uma abordagem metodológica de desenvolvimento para e com reuso, baseada em ontologias formais de domínio. Programa de Mestrado em Informática Universidade Federal do Espírito Santo, Vitória, Julho. Haarslev, V., Muller, R.. (2004) Racer s User Guide and Reference Manual. Versão Han, Y., Kniesel, G., Cremers, A.B. (2005). Towards Visual AspectJ by a Meta Model and Modeling Notation. Annual Aspect-Oriented Software Development Conference (AOSD 2005). Horrocks, I., Sattler, U., Tobies, S.. Reasoning with Individuals for the Description Logics SHIQ. Proc. of the 17th Int. Conf. on Automated Deduction (CADE 2000), volume 1831 of Lecture Notes in Computer Science, pages Springer, Jena. A Semantic Web Framework for Java. Acessado em Abril de Laddad, R. (2003). AspectJ in Action, Practical Aspect-Oriented Programming. Manning, ISBN Mellor, J. Stephen et al (2003). MDA Destilada: Princípios da Arquitetura Orientada por Modelos. Editora Ciência Moderna Ltda., p Noy, N., Fergerson, R., Musen., M The knowledge model of Protege-2000: Combining interoperability and flexibility. 2th International Conference on Knowledge Engineering and Knowledge Management (EKAW'2000), Juan-les-Pins, France. Protégé. Ontology Editor and knowledge-base framework. Acessado em Abril de Santos, D. A., Vieira, Renata, Santana, M. R., Silva, D. M.. (2005) Web Semântica: Ontologias, Lógica de Descrições e Inferências. Anais do Webmídia 2005: Desafios e Soluções. 1 ed. Porto Alegre: SBC, v. 1, p Silva, J.B., Pezzin J. (2007). The formal verification of an applications conceptual models using MDA and OWL. World Congress on Engineering and Computer Science WCECS 2007, San Francisco. Soares, S. Borba, P. Programação Orientada a Aspectos em Java. VI Simpósio Brasileiro de Linguagens de Programação, Rio de Janeiro, Sun. Sun Microsystems (2008). Java Technology. Abril. W3C. World Wide Web Consortium (2008). OWL Web Ontology Language Guide. Abril.

Separação e Validação de Regras de Negócio MDA através de Ontologias e Orientação à Aspectos

Separação e Validação de Regras de Negócio MDA através de Ontologias e Orientação à Aspectos Separação e Validação de Regras de Negócio MDA através de Ontologias e Orientação à Aspectos Jaguaraci Batista Silva, Luciano Porto Barreto Departamento de Ciência da Computação / Laboratório de Sistemas

Leia mais

OWLtoAspectJ: Uma Ferramenta para Transformação de Regras Conceituais de Domínio em Aspectos

OWLtoAspectJ: Uma Ferramenta para Transformação de Regras Conceituais de Domínio em Aspectos SEMINÁRIO DE PESQUISA EM ONTOLOGIA NO BRASIL Agosto 2008 Universidade Federal Fluminense Departamento de Ciência da Informação Niterói Rio de Janeiro Brasil OWLtoAspectJ: Uma Ferramenta para Transformação

Leia mais

{jaguarac,lportoba}@ufba.br

{jaguarac,lportoba}@ufba.br Uma Nova Abordagem para Validação de Regras de Negócio Através de Transformação e Composição de Modelos MDA Jaguaraci Batista Silva, Luciano Porto Barreto Departamento de Ciência da Computação / Laboratório

Leia mais

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Natanael E. N. Maia, Ana Paula B. Blois, Cláudia M. Werner COPPE/UFRJ Programa de Engenharia de Sistemas e Computação Caixa Postal 68.511

Leia mais

2 Desenvolvimento de Software Orientado a Aspectos

2 Desenvolvimento de Software Orientado a Aspectos 2 Desenvolvimento de Software Orientado a Aspectos Separação de concerns é um princípio bem estabelecido da engenharia de software que diz que, para se dominar a complexidade do desenvolvimento de software,

Leia mais

Wilson Moraes Góes. Novatec

Wilson Moraes Góes. Novatec Wilson Moraes Góes Novatec Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Luiz Cláudio Hogrefe Orientador: Prof. Roberto Heinzle, Doutor Roteiro Introdução Fundamentação teórica

Leia mais

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo? O que é a UML? Introdução a UML Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário + regras de combinação

Leia mais

Semântica para Sharepoint. Busca semântica utilizando ontologias

Semântica para Sharepoint. Busca semântica utilizando ontologias Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...

Leia mais

Instituto de Computação, Universidade Federal do Amazonas (UFAM) Manaus-AM, Brasil

Instituto de Computação, Universidade Federal do Amazonas (UFAM) Manaus-AM, Brasil Elicitação de Requisitos a partir de Modelos de Processos de Negócio e Modelos Organizacionais: Uma pesquisa para definição de técnicas baseadas em heurísticas Marcos A. B. de Oliveira 1, Sérgio R. C.

Leia mais

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet) UML Felipe Denis M. de Oliveira Fonte: Alice e Carlos Rodrigo (Internet) 1 Programação O que é UML? Por quê UML? Benefícios Diagramas Use Case Class State Interaction Sequence Collaboration Activity Physical

Leia mais

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Modelagem OO com UML Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Modelos Maneira

Leia mais

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER Objetivo dessa aula é descrever as características e a simbologia dos diagramas UML e MER na modelagem de sistemas de informação de uma forma a permitir a comunicação entre técnicos e gestores. Modelagem

Leia mais

Uma ontologia para a representação do domínio de agricultura familiar na arquitetura AgroMobile. Roger Alves Prof. Me.

Uma ontologia para a representação do domínio de agricultura familiar na arquitetura AgroMobile. Roger Alves Prof. Me. Uma ontologia para a representação do domínio de agricultura familiar na arquitetura AgroMobile Roger Alves Prof. Me. Vinícius Maran O que é uma ontologia? Palavra vinda do grego, advinda da união entre

Leia mais

A Semi-Automatic Strategy to Identify Crosscutting Concerns in PL-AOVgraph Requirement Models

A Semi-Automatic Strategy to Identify Crosscutting Concerns in PL-AOVgraph Requirement Models Universidade Federal do Rio Grande do Norte Departamento de Informática e Matemática Aplicada Natal/RN - Brasil A Semi-Automatic Strategy to Identify Crosscutting Concerns in PL-AOVgraph Requirement Models

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto

Leia mais

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC CURSO: Bacharelado em Ciência da Computação DISCIPLINA: ANPS Análise e Projeto de Sistemas AULA NÚMERO: 3 DATA: PROFESSOR: Murakami Sumário 1 APRESENTAÇÃO...1 2 DESENVOLVIMENTO...1 2.1 Revisão...1 2.1.1

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

Transformação de modelos em processos de desenvolvimento de software

Transformação de modelos em processos de desenvolvimento de software 1068 X Salão de Iniciação Científica PUCRS Transformação de modelos em processos de desenvolvimento de software Vinycio de Correa Lunelli 1, Profa. Dra. Ana Paula Terra Bacelo 1 1 Faculdade de Informática,

Leia mais

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Engenharia de Software: Introdução Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Programa 1. O processo de engenharia de software 2. UML 3. O Processo Unificado 1. Captura de requisitos 2.

Leia mais

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com ANÁLISE E PROJETO ORIENTADO A OBJETOS Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Análise Descrição do problema a ser implementado Descrição dos objetos e classes que fazem parte do problema, Descrição

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

Aspect-Oriented Programming AOP. Comentários Sérgio Crespo

Aspect-Oriented Programming AOP. Comentários Sérgio Crespo Aspect-Oriented Programming AOP Comentários Sérgio Crespo Separation of Concerns O princípio de Separation of Concerns já é utilizado por engenheiros de software para o gerenciar a complexidade de sistemas

Leia mais

Serviços Web Semânticos

Serviços Web Semânticos Serviços Web Semânticos Paulo Vitor Antonini Orlandin paulovitor_e@hotmail.com Resumo O grande crescimento na utilização de Serviços Web torna imprescindível o desenvolvimento de uma forma de melhoria

Leia mais

ONTOLOGIA DE DOMÍNIO PARA ANÁLISE DE BLOGS

ONTOLOGIA DE DOMÍNIO PARA ANÁLISE DE BLOGS Centro Universitário Feevale ONTOLOGIA DE DOMÍNIO PARA ANÁLISE DE BLOGS Fernando Mertins Prof. Orientador: Rodrigo Rafael Villarreal Goulart Dezembro de 2007 Roteiro da Apresentação Introdução Objetivos

Leia mais

Sistemas para internet e software livre

Sistemas para internet e software livre Sistemas para internet e software livre Metodologia de modelagem de aplicações WEB Image: FreeDigitalPhotos.net Domínio: Elementos de aplicação WEB Páginas Web Scripts Formulários Applets e ActiveX Motivação

Leia mais

Fase 1: Engenharia de Produto

Fase 1: Engenharia de Produto Fase 1: Engenharia de Produto Disciplina: Análise de Requisitos DURAÇÃO: 44 h O objetivo principal da disciplina é realizar uma análise das necessidades e produzir um escopo do produto. Representará os

Leia mais

Frameworks. Pasteur Ottoni de Miranda Junior

Frameworks. Pasteur Ottoni de Miranda Junior Frameworks Pasteur Ottoni de Miranda Junior 1-Definição Apesar do avanço das técnicas de desenvolvimento de software, a construção de software ainda é um processo extremamente complexo.a reutilização tem

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

2 Engenharia de Software

2 Engenharia de Software 20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite

Leia mais

Planejamento da disciplina: Modelagem de processos de negócio

Planejamento da disciplina: Modelagem de processos de negócio UNIVERSIDADE FEDERAL DE MINAS GERAIS / INSTITUTO DE CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Planejamento da disciplina: Modelagem de processos de negócio Professor: Clarindo Isaías Pereira

Leia mais

SABiO: Systematic Approach for Building Ontologies

SABiO: Systematic Approach for Building Ontologies SABiO: Systematic Approach for Building Ontologies Ricardo de Almeida Falbo Engenharia de Ontologias Departamento de Informática Universidade Federal do Espírito Santo Agenda Preocupações Principais do

Leia mais

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo.

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo. UML - Motivação - O que é um modelo? Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo. O que é um modelo? O que é um modelo? O

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE Fabiana Gomes Marinho Faculdade Lourenço Filho Resumo: Na UML, a modelagem conceitual dos dados é descrita pelo diagrama de classes, que através

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com Introdução a UML Hélder Antero Amaral Nunes haanunes@gmail.com Introdução a UML UML (Unified Modeling Language Linguagem de Modelagem Unificada) é uma linguagem-padrão para a elaboração da estrutura de

Leia mais

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado

Leia mais

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos Programação Estruturada e Orientada a Objetos Fundamentos Orientação a Objetos 2013 O que veremos hoje? Introdução aos fundamentos de Orientação a Objetos Transparências baseadas no material do Prof. Jailton

Leia mais

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

Leia mais

Proposta de uma Arquitetura para o Gerenciamento de Regras de Negócio em LPS com Base na MDA

Proposta de uma Arquitetura para o Gerenciamento de Regras de Negócio em LPS com Base na MDA Proposta de uma Arquitetura para o Gerenciamento de Regras de Negócio em LPS com Base na MDA Jaguaraci Batista Silva Laboratório de Sistemas Distribuídos Universidade Federal da Bahia Salvador, BA jaguarac@ufba.br

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

Modelagemde Software Orientadaa Objetos com UML

Modelagemde Software Orientadaa Objetos com UML Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 Eduardo Laguna Rubai, Tiago Piperno Bonetti Universidade Paranaense (Unipar) Paranavaí PR- Brasil eduardorubay@gmail.com, bonetti@unipar.br Resumo.

Leia mais

Engenharia de Software I: Análise e Projeto de Software Usando UML

Engenharia de Software I: Análise e Projeto de Software Usando UML Engenharia de Software I: Análise e Projeto de Software Usando UML Capítulo 1 Processo de Desenvolvimento de Software Metodologia de Desenvolvimento de Software Uma metodologia é um conjunto de métodos,

Leia mais

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Sobre entidades externas ao sistema Quais sistemas externos devem ser acessados? Como serão acessados? Há integração com o legado a ser feita?

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

A Linguagem de Modelagem Unificada (UML)

A Linguagem de Modelagem Unificada (UML) Aécio Costa A Linguagem de Modelagem Unificada (UML) Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente. Surge a UML (Unified Modeling Language)

Leia mais

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,

Leia mais

LINGUAGEM DE BANCO DE DADOS

LINGUAGEM DE BANCO DE DADOS LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados

Leia mais

3 Serviços na Web (Web services)

3 Serviços na Web (Web services) 3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem

Leia mais

Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental

Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS Elicitação Ciclo de Vida Clássico ou Convencional O Modelo Cascata Análise Ana Paula Terra Bacelo Blois Implementação Material Adaptado do Prof. Marcelo Yamaguti

Leia mais

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Alexandro Deschamps (Ápice) alexandro@apicesoft.com Everaldo Artur Grahl (FURB/DSC) egrahl@furb.br Resumo. Uma das grandes

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Franklin Ramalho Universidade Federal de Campina Grande - UFCG

Franklin Ramalho Universidade Federal de Campina Grande - UFCG Agenda Meta-modelos Franklin Ramalho Universidade Federal de Campina Grande - UFCG - Arquitetura MDA - Meta-modelo - Conceitos - Características - - XMI - Pacotes - Meta-modelo 2.0 - Alinhamento entre

Leia mais

Desenvolvimento de software orientado a características e dirigido por modelos

Desenvolvimento de software orientado a características e dirigido por modelos Desenvolvimento de software orientado a características e dirigido por modelos Universidade Federal de Uberlândia Rodrigo Reis Pereira Prof. Dr. Marcelo Almeida Maia Agenda Motivação Introdução Modelagem

Leia mais

Transformação de um Modelo de Empresa em Requisitos de Software

Transformação de um Modelo de Empresa em Requisitos de Software Transformação de um Modelo de Empresa em Requisitos de Software Fábio Levy Siqueira 1 and Paulo Sérgio Muniz Silva 2 1 Programa de Educação Continuada da Poli-USP, São Paulo, Brazil 2 Escola Politécnica

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Modelagem de Processos. Prof.: Fernando Ascani

Modelagem de Processos. Prof.: Fernando Ascani Modelagem de Processos Prof.: Fernando Ascani Modelagem da arquitetura de negócios Arquitetura Definições Aurélio: Informática: Estrutura e organização lógica de funcionamento de um sistema computacional.

Leia mais

Programação Orientada a Objeto

Programação Orientada a Objeto Programação Orientada a Objeto Classes, Atributos, Métodos e Objetos Programação de Computadores II Professor: Edwar Saliba Júnior 1) Java é uma linguagem orientada a objetos. Para que possamos fazer uso

Leia mais

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS RESUMO Este artigo apresenta a especificação de um sistema gerenciador de workflow, o ExPSEE, de acordo com a abordagem de desenvolvimento baseado

Leia mais

Serviços Web: Introdução

Serviços Web: Introdução Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Centro Universitário de Volta Redonda - UniFOA Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro

Leia mais

PLANOS DE CONTINGÊNCIAS

PLANOS DE CONTINGÊNCIAS PLANOS DE CONTINGÊNCIAS ARAÚJO GOMES Capitão SC PMSC ARAÚJO GOMES defesacivilgomes@yahoo.com.br PLANO DE CONTINGÊNCIA O planejamento para emergências é complexo por suas características intrínsecas. Como

Leia mais

ProgramaTchê Programação OO com PHP

ProgramaTchê Programação OO com PHP Roteiro 1 Objetivos: * Apresentar conceitos de orientação a objetos; * Representar classes e objetos usando UML; Este roteiro tem como objetivo abordar os conceitos básicos de orientação a objetos. 1 Introdução

Leia mais

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 UML 2 Guia Prático Gilleanes T.A. Guedes Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 Novatec capítulo 1 Introdução à UML A UML (Unified Modeling Language ou Linguagem de Modelagem

Leia mais

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Baseado nos materiais dos profs: Prof.: Edilberto M. Silva http://www.edilms.eti.br Edna Canedo Marcio de Carvalho Victorino Brasília-DF,

Leia mais

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto Conceitos de Linguagens de Roteiro: Apresentação do plano de ensino; Apresentação do plano de

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Padrões de projeto 1

Padrões de projeto 1 Padrões de projeto 1 Design Orientado Objeto Encapsulamento Herança Polimorfismo Design Patterns 2 Responsabilidades Booch e Rumbaugh Responsabilidade é um contrato ou obrigação de um tipo ou classe. Dois

Leia mais

REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX

REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX Murilo Augusto Tosatti (ICV-Unicentro), Marcos Antonio Quináia (Orientador), e-mail: maquinaia@gmail.com. Universidade Estadual do

Leia mais

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes

Leia mais

Uma Abordagem usando PU

Uma Abordagem usando PU Uma Abordagem usando PU Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Baseada em: Rational Software Corpotation G. Booch, Ivar Jacobson,

Leia mais

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9 Laboratório de Computação VI JAVA IDL Fabricio Aparecido Breve - 981648-9 O que é Java IDL? Java IDL é uma tecnologia para objetos distribuídos, ou seja, objetos em diferentes plataformas interagindo através

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Introdução Projeto de Arquitetura (Cap 11 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Até agora, estudamos: Os

Leia mais

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos 11 Objetivos Este capítulo apresenta uma introdução aos sistemas distribuídos em geral Arquiteturas de cliente servidor Características das arquiteturas de 2 e 3 camadas Ambiente

Leia mais

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Introdução ao Paradigma Orientado a Objetos. Principais conceitos Introdução ao Paradigma Orientado a Objetos Principais conceitos Paradigmas de Programação PROGRAMAÇÃO ESTRUTURADA X PROGRAMAÇÃO ORIENTADA A OBJETOS Paradigma Programação estruturada Na programação estrutura

Leia mais

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr Engenharia de Software Apostila I >>> Introdução à ES - HEngholmJr Histórico de Revisões Data Versão Descrição Autor 12/08/2014 1.0 Criação da primeira versão HEngholmJr Agenda Introdução à Engenharia

Leia mais

Uma Abordagem de Engenharia de Requisitos Para Linhas de Produtos de Software

Uma Abordagem de Engenharia de Requisitos Para Linhas de Produtos de Software Uma Abordagem de Engenharia de Requisitos Para Linhas de Produtos de Software Gabriela Guedes de Souza, Jaelson Castro e Carla Silva ggs@cin.ufpe.br, jbc@cin.ufpe.br, carla@dce.ufpb.br DEPARTAMENTO DE

Leia mais

CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE

CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE Tathiana da Silva Barrére Antonio Francisco do Prado Vitor César Bonafe E-mail: (tathiana,prado,bonafe)@dc.ufscar.br

Leia mais

de teste funcionais utilizando diagramas de sequência em UML

de teste funcionais utilizando diagramas de sequência em UML de teste funcionais utilizando diagramas de sequência em UML Fernanda Ressler Feiten 2 Resumo - execução dos testes de forma manual pelo testador. Casos de teste. Teste baseado em modelos. MDA. UML. ATL.

Leia mais

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 4º PERÍODO 7º MÓDULO AVALIAÇÃO A3 DATA 15/10/2009 ENGENHARIA DE SOFTWARE 2009/2 GABARITO COMENTADO QUESTÃO 1: Analise as afirmações

Leia mais

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED UML 01 Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Referências BARBIERI, Carlos. Análise e Programação

Leia mais

O modelo unificado de processo. O Rational Unified Process, RUP.

O modelo unificado de processo. O Rational Unified Process, RUP. Cursos: Sistemas de Informação Disciplina: Administração ADM Prof. Jarbas Avaliação: Prova B1, 5º/6º semestres Data: 27/09/2010 Nome: Gabarito RA: Assinatura: Turma: 1) Segundo as afirmações a seguir,

Leia mais

Engenharia de Ontologias Seminário UPON

Engenharia de Ontologias Seminário UPON Engenharia de Ontologias Seminário UPON Núcleo de Estudos em Modelagem Conceitual e Ontologias Bruno Nandolpho Machado Vinícius Soares Fonseca Professor: Ricardo de Almeida Falbo Agenda RUP Método UPON

Leia mais

7 Trabalhos Relacionados A idéia é tentar dar todas as informações que ajudem os outros a julgar o valor da sua contribuição; não apenas as informações que levem o julgamento a uma direção em particular.

Leia mais

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software Ciência da Computação ENGENHARIA DE SOFTWARE Análise dos Requisitos de Software Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Roteiro Introdução Tipos de requisitos Atividades Princípios da

Leia mais