Construção de Modelos Semânticos para Sistemas: uma abordagem orientada a modelos auxiliada por ontologias.

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

Download "Construção de Modelos Semânticos para Sistemas: uma abordagem orientada a modelos auxiliada por ontologias."

Transcrição

1 Construção de Modelos Semânticos para Sistemas: uma abordagem orientada a modelos auxiliada por ontologias. Resumo Autoria: Richarlyson Alves D'Emery, Fernando da Fonseca de Souza Nos últimos anos, a produção de software vem passando por mudanças e desencadeando o surgimento de novas necessidades e serviços, cada vez mais especializados e independentes da interferência humana. Pesquisas direcionam ao consenso de que para alcançar esse patamar, as aplicações devem possuir mecanismos que ofereçam um suporte semântico às informações, viabilizando a comunicação e o compartilhamento dessas informações entre sistemas. Então surgiu o seguinte questionamento: como representar semanticamente as informações de um sistema de maneira a serem utilizadas por uma plataforma específica?. Neste artigo apresenta-se uma abordagem MDA auxiliada pelo uso de ontologias. Palavras-chave: desenvolvimento de software orientado a modelos, modelagem semântica e ontologia.

2 Introdução No processo de desenvolvimento de software (PDS), costumeiramente, percebe-se a utilização de modelos que elevam o nível de abstração, separando os detalhes de implementação da arquitetura a ser seguida, auxiliando, principalmente, a fase de planejamento. A ideia consiste em trabalhar sob um alto nível de abstração, sem o comprometimento com tecnologias específicas de implementação, nível este em que somente os aspectos do domínio de aplicação estejam mapeados. Assim sendo, caso haja uma mudança de tecnologia, o mapeamento não será afetado. É uma abordagem que se destaca em pesquisas envolvendo Model-Driven Software Development (MDSD). Comumente na etapa de modelagem em um PDS utiliza-se Unified Modeling Language (UML). Por exemplo, Object Management Group (OMG) recomenda a utilização da UML em sua versão 2.0 para representar modelos no desenvolvimento dos sistemas com Model Driven Architecture (MDA), a qual coloca a modelagem no centro do PDS (OMG, 2014). A utilização de modelagem de propósito geral para capturar detalhes de um sistema, pode produzir uma descrição das informações em menor grau de fidelidade. Mas sua utilização decorre do fato de que na indústria de software a maioria dos profissionais possui especialização no paradigma de programação orientado a objetos (OO), e tal paradigma é um fator limitador quando se espera que as informações de um sistema possuam características semânticas. A representação semântica, geralmente, utiliza modelos declarativos, dificultando o desenvolvimento de software devido à escassez de profissionais com esse tipo conhecimento. Semântica de dados é, atualmente, uma característica inerente à produção de algumas famílias de produtos de software que visam atender aos anseios da Web Semântica (W3C, 2009). São diversas as tentativas atuais para a produção de sistemas semânticos (D'Aquin, 2008; El-G., El-D., & Sherief, 2009; Sowa, 2011; Isern, Moreno, S Anchez, Hajnal, Pedone, & Varga, 2011; D Emery, 2012), mas são escassas as pesquisas na literatura que permitam realizar tal modelagem no contexto de produção de software em MDSD. Verifica-se que a maioria das pesquisas e tecnologias existentes isolam a representação semântica do sistema da tecnologia da informação e, para serem bem sucedidos, pesquisadores da área deveriam encontrar maneiras de simplificar as ferramentas de desenvolvimento e integrá-las em aplicativos. Dessa maneira, adveio o seguinte questionamento: como representar semanticamente as informações de um sistema de maneira a serem utilizadas por uma plataforma específica? Este artigo discute a utilização de ontologias para representação de informações de um sistema na etapa de modelagem no PDS, e, consequentemente, possam ser utilizadas no contexto de produção de software por MDA. Para investigar tal questionamento, o presente artigo apresenta, a seguir, as seções de Revisão de literatura, Resultados e Considerações finais. Revisão de literatura A presente seção explorará os temas do contexto de produção de software, visando trazer à discussão e reflexão sobre as características presentes em abordagens consolidadas e atuais. Model-Driven Software Development As abordagens relacionadas à produção de software, que utilizem algum processo de automatização para geração de código, são denominadas generative programming (Czarnecki & Eisenecker, 2000). Dentre as abordagens está o paradigma MDSD, que segundo Frankel (2004) é diferenciado da produção de software clássica, porque viabiliza um desenvolvimento ágil. Para Greenfield e Short (2003), uma das vantagens do MDSD é a geração de códigos em quantidade ao invés do uso de práticas tradicionais de desenvolvimento de software, que geralmente são 2

3 manuais. Em MDSD após a definição de um modelo, este será transformado em código, geralmente com o auxílio de ferramentas. A Figura 1 ilustra uma visão dessa transformação. Figura 1. Modelos para geração de código. Fonte: Adaptada de Greenfield, J., & Short, K. (2003). Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools (p. 20). Proceedings of the Companion of the 18th annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 03). Na Figura 1(a), um modelo é convertido em código a partir de uma ferramenta de plataforma específica. Essa abordagem utiliza vocabulários próprios e devido à complexidade do mapeamento entre a geração de código e as linguagens que representam o modelo, torna o processo de codificação e decodificação trabalhoso, podendo levar a um abandono do modelo. Na proposta da Figura 1(b), a utilização de framework e padrões de linguagens visa auxiliar a geração de código. Utiliza-se a modelagem do domínio da aplicação, para descrever seus conceitos, ou seja, um framework é especificado por meio de um modelo, que pode conter elementos UML, o qual representa os requisitos de sistemas de um mesmo domínio. Como apontado, a utilização de modelagens de propósito geral para capturar detalhes do domínio, produz-se uma descrição das informações do domínio em menor grau de fidelidade. A Figura 1(c) indica que as abstrações podem ser executadas por uma série de modelos, no intuito de permitir o aprimoramento da abstração, como, por exemplo, a utilização de MDA. Espera-se uma única projeção do modelo do sistema, mas permitindo transformações até que ofereça uma correta especificação do sistema, mas claro, com o mapeamento para uma determinada plataforma. Por fim, estes modelos são transformados em artefatos de software. Model Driven Architecture MDA, além de recomendar o uso de modelos como artefato principal, indica a automatização na geração de código. Códigos esses considerados como a principal representação do sistema de software a ser produzido. Probst (2012) aponta que a chave para esse processo está na máxima automatização das etapas de geração dos códigos fonte. 3

4 Trata-se de um padrão arquitetural que objetiva isolar a lógica de negócio da aplicação, da evolução e manutenção da tecnologia utilizada. É evidenciada a separação entre o modelo e plataforma, visando à independência entre a solução computacional e a tecnologia na qual é implementada. Essa abordagem melhora a portabilidade, interoperabilidade e reusabilidade (Gasevic, Djuric, & Devedzic, 2009). Também viabiliza características de PDS como reutilização de modelos de projetos e de código. Para promover as características apresentadas, faz-se necessário a compreensão sobre modelo e os metaníveis de MDA. Modelo é tema de Model Driven Engineering (MDE), área da Engenharia de Software desenvolvida em paralelo com a Web Semântica (Mellor, Scott, Uhl, & Weise, 2005 como citado em Gasevic et al., 2009). MDE baseia-se no princípio de que "tudo é um modelo". A abordagem de MDE para desenvolvimento de software sugere primeiramente que se proponha um modelo para o sistema, o qual será, posteriormente, transformado em um software executável. Nesse sentido, MDA é a pesquisa de maior relevância nessa área. A maioria das definições diz que um modelo é uma visão simplificada da realidade, ou mais formalmente, um conjunto de elementos que descreve um sistema com um grau de abstração maior do que o sistema (Mellor et al., 2005). Linguagens como UML utilizam metamodelos, os quais definem a estrutura, a semântica e as restrições para um grupo de modelos (modelos que compartilham uma sintaxe e uma semântica comuns) (UML, 2014). O metamodelo UML é composto por muitos modelos (OMG, 2011). Mellor et al. (2005) apresenta um subconjunto do metamodelo UML, a saber: modelo para Classe, Propriedade, Operação, Classificador, Associação e Generalização. A Figura 2 apresenta o relacionamento dos modelos do subconjunto do metamodelo UML. Figura 2. Subconjunto do metamodelo UML Fonte: Mellor, S. J., Scott, K., Uhl, A., & Weise, D. (2005). MDA Destilada: princípios de arquitetura orientada por modelos. Rio de Janeiro: Ciência Moderna. Na Figura 2, o subconjunto UML possui o modelo Classe que pode ter diversas operações e propriedades. É uma especialização do modelo Classificador, permitindo ter muitas Associações. Através do subconjunto é possível realizar a modelagem dos modelos a serem usados na metodologia MDA. O metamodelo da UML é uma instância Meta-Object Facility (MOF) (UML, 2014), que fornece um framework de gerenciamento de metadados e um conjunto de serviços para permitir o desenvolvimento de interoperabilidade para sistemas orientados a modelos e metadados. Em seu objetivo primário, o framework gerencia metadados independentes de plataforma para MDA, cuja notação de classe da UML é utilizada para representar os metamodelos MOF, considerado, portanto, como um meta-metamodelo (OMG, 2014). Em um diagrama de classes, por exemplo, é possível criar elementos como classes com atributos e métodos. Também é possível relacioná-las com outras classes (a exemplo de herança), definir interfaces, fazer uma classe realizar uma interface, dentre outros. Cada um destes elementos é um metadado representado em MOF. 4

5 MDA é composta por quatro metaníveis (camadas) de modelagem, usadas como padrão de arquitetura para os padrões definidos pela OMG (2014). A Figura 3 ilustra os metaníveis. Figura 3. Exemplo de níveis de modelos MDA Fonte: Adaptada de Mellor, S. J., Scott, K., Uhl, A., & Weise, D. (2005). MDA Destilada: princípios de arquitetura orientada por modelos. Rio de Janeiro: Ciência Moderna. Nos metaníveis da Figura 3, "umaconta" (metanível M0) é um exemplo de instância da classe "Conta" (M1). Conta utiliza os modelos "Classe", "Atributo" e "Instância" da UML (M2), e esses, por sua vez, utilizam o metamodelo "Classe" do meta-metamodelo MOF (M3). A camada M0 é compreendida pelo sistema de software, no qual são criadas as instâncias de um modelo. A partir de uma linguagem de programação, inúmeras instâncias podem existir e serem criadas. Vale ressaltar que ao modelar um domínio e não o software, as instâncias de M0 são os elementos do domínio. Entretanto, quando se está modelando um software, as instâncias são as representações do software, como, por exemplo, a versão virtual para Conta. Tendo por base as Figuras 2 e 3, a Figura 4 apresenta a relação entre duas instâncias de Disciplina (camada M0) e o respectivo modelo do sistema pertencente à camada M1. O modelo da camada M1 da Figura 4 representa uma disciplina que pode conter os atributos nome e código e tem como instâncias duas disciplinas: Web Semântica de código CCMP50 e Programação com o código CCMP30. Nessa camada estão dispostos os modelos, os quais descrevem os elementos do sistema de software da camada M0, como, por exemplo, o conceito de Disciplina pode ser definido pelas propriedades nome e código. Há uma relação definida entre as camadas M1 e M0, na qual os elementos de M1 são classificações ou categorizações das instâncias de M0, assim como cada elemento de M0 são instâncias de um elemento de M1. 5

6 Figura 4. Relações entre as camadas de MDA A UML é um metamodelo localizado na camada M2. Cada elemento de um metamodelo classifica ou categoriza um elemento da camada M1, ou seja, um elemento de um modelo, por isso é denominada de camada de metamodelagem. Portanto, como cada modelo criado em M2 é um modelo para descrever outros modelos (presentes em M1), podem ser chamados de metamodelos. Ainda na Figura 4, verifica-se que o modelo "Disciplina" é representado pelo atributo "Name" pertencente ao modelo "UML Class" do metamodelo UML. Já os atributos de Disciplina são representados pelo atributo "Name" do modelo "UML Attribute" (elemento do metamodelo UML). No quarto metanível de MDA encontra-se o meta-metamodelo MOF, que fornece serviços para sistemas orientados a modelos, como, por exemplo, a UML. Cada camada de MDA serve de base para a modelagem de uma camada inferior. A Figura 5 apresenta um quadro comparativo entre os metaníveis de MDA. Apesar de OMG estabelecer quatro metaníveis para MDA (OMG, 2014), o número de metaníveis poderia ser maior, no qual um próximo nível passaria a representar o metametamodelo MOF, por exemplo. Mas, o essencial entre os metaníveis da arquitetura MDA é a relação de instanciação que existe entre eles, ou seja, elementos de um metanível inferior são instâncias de elementos categorizados ou classificados do modelo do metanível superior (Kleppe, Warmer, & Bast, 2003). A importância da metamodelagem em MDA está no fato de ser um meio formal de representação de modelos, tendo em vista o processo de desenvolvimento de MDA ser baseado na transformação entre modelos. Outra importância está na utilização de regras de transformação que definem o mapeamento entre um elemento de um modelo-fonte em outro elemento pertencente a um modelo-alvo. Em outras palavras, pode-se dizer que as regras de transformações são definidas em termos de mapeamento entre elementos das linguagens dos modelos fonte e alvo. 6

7 Figura 5. Comparação entre os metaníveis de MDA Czarnecki e Simon (2003) classificam as transformações de MDA em duas categorias: modelo para modelo (M2M) ou modelo para código (M2C). Em ambas, as informações de um sistema são representadas no modelo, que poderá ser construído independente de uma tecnologia ou levar em considerações aspectos dessa tecnologia. Tais características tratam-se do Platform Independent Model (PIM) e Platform Specific Model (PSM), respectivamente. PIM é uma especificação do sistema com um alto nível de abstração e utiliza uma linguagem de modelagem genérica. Contém os detalhes computacionais do sistema de acordo com suas funcionalidades e comportamentos, deixando de lado os aspectos relativos à plataforma de implementação. Em outras palavras, o PIM é um modelo assumido para ser executado sobre uma máquina virtual que independe de tecnologia. Em MDA o PIM é transformado em um ou mais PSM. Esse processo é, geralmente, auxiliado por alguma ferramenta para geração automática de código. O resultado é uma visão do sistema, mas com características voltadas para uma plataforma específica, como, por exemplo, Java. Para realizar a transformação, é desenvolvido um mapeamento para a plataforma definida, usando um Platform Model (PM). O PM provê um conjunto de conceitos técnicos sobre a plataforma e seus serviços, bem como conceitos para os diferentes tipos de elementos a serem usados ao especificar uma plataforma. Existem cinco abordagens para a transformação de modelos: marcações, transformações de metamodelos, transformação de modelos utilizando tipos, aplicações de padrões e união de modelos (OMG, 2014). As transformações de MDA utilizam regras de mapeamento, as quais estabelecem a relação entre os elementos do modelo fonte e os elementos do modelo alvo. Na utilização de marcações associam-se marcas do modelo com algum compilador, que interpreta as marcações e gera um PSM. Um compilador de modelos consiste numa ferramenta que recebe como entrada um modelo, realiza um processamento nos dados de entrada em busca de algumas marcações neles aplicadas e gera como saída outro modelo. Um compilador de modelos pode estar presente em ferramentas CASE (Computer-Aided Software Engineering) com suporte a plataforma escolhida. Vale destacar que em M2C o mapeamento pode ser realizado através de templates, que cotem marcações que especificam como um modelo deve ser transformado, como, por exemplo, marcações para um modelo de sistemas Web ou stand alone. Ontologia A primeira referência ao termo na Ciência da Computação foi observada em 1991, cunhada pelo grupo de pesquisa DARPA Knowledge Sharing Effort, com a ideia de reutilização de componentes como forma de construir sistemas baseados em conhecimento (Neches & Fikes, 7

8 1991). Desde então, ontologias vêm ganhando destaque na Ciência da Computação. Em uma simples busca na Web i pelo termo ontology, observa-se um resultado de mais de 1 milhão de páginas, sendo as primeiras páginas de citações relacionadas à Ciência da Computação, e dessas, cerca de citações referem-se a Gruber (1993), o qual afirma: An ontology is an explicit specification of a conceptualization. A partir de Gruber (1993), Borst (1997) modificou a definição tornando-a mais adequada aos tempos atuais, traduzindo a ideia do autor para Uma ontologia é uma especificação formal e explícita de uma conceitualização compartilhada. Na definição o termo "formal significa legível para computadores; "especificação explícita" diz respeito a conceitos, propriedades, relações, funções, restrições e axiomas, explicitamente definidos; "compartilhado" quer dizer conhecimento consensual por uma comunidade; e "conceitualização" se refere a um modelo abstrato de algum fenômeno do mundo real. Então, o termo passou a ser utilizado na ideia de catalogar e classificar dados a serem interpretados tanto por máquinas quanto por seres humanos. Conclui-se que na Ciência da Computação, uma ontologia é a catalogação de um contexto do mundo real utilizando regras explícitas de propriedades, comportamento e relacionamentos em grupos de contextos similares, chamado de domínio. A ideia de domínio busca referenciar certa aproximação entre as entidades que o compõem, relacionando grupos e consequentemente seus membros. Resulta na proximidade do comportamento real do contexto utilizado, limitando o contexto em domínios importantes para o seu uso, excluindo o que é supérfluo para o problema e obtendo um resultado mais apurado para um cenário trabalhado. Gómez-P. (2002) define que uma ontologia é composta de cinco componentes: conceitos, relações, funções, axiomas e instâncias. Um conceito é uma abstração de qualquer informação que componha o cenário a ser utilizado na ontologia. É uma entidade simples ou composta, abstrata ou concreta, real ou fictícia. Por relação entende-se a interação entre conceitos de um domínio. Já em função uma relação pode gerar um novo conceito. Os conceitos e relações formam a base de uma ontologia, mas uma de suas características importantes é a definição de axioma. Este deve prover a definição semântica dos termos, especificando restrições entre conceitos que possibilitam uma sequência de regras a ser seguida. Por último, o componente instância representa um elemento de um conceito, relação, função e axioma. Na prática, o termo ontologia pode ser tratado como um artefato computacional composto de um vocabulário de conceitos, definições e possíveis propriedades; um modelo que permite definir possíveis relações entre os conceitos e um conjunto de axiomas formais que restringem a interpretação dos conceitos e relações, representando de maneira clara e não ambígua o conhecimento do domínio. Portanto, os componentes de uma ontologia a serem utilizados neste artigo derivam de Gómez-P. (2002): conceitos são entidades que representam uma informação de algum fenômeno do mundo real. Uma entidade é a representação concreta de um conceito e servirá de modelo para a criação de indivíduos. Os indivíduos não são explicitados na ontologia de domínio e cabe ao sistema gerá-los, ou seja, sua existência dependerá do processo de instancialização, como na criação de um objeto na visão do paradigma OO, por exemplo. Propriedades são informações que caracterizam um indivíduo, ou seja, são os atributos (na visão do paradigma OO) de uma entidade. Relacionamentos estabelecem uma interação entre conceitos de um domínio. E por último os termos proveem semânticas que descrevem características relevantes para as demais definições. Permitem configurar regras a serem seguidas, como, por exemplo, axiomas e restrições, entre outros. 8

9 Por que usar ontologia em sistemas end-to-end? São diversas as áreas que necessitam de conhecimento para realizarem seus trabalhos, seja na indústria ou na academia. Um pesquisador geralmente utiliza algum tipo de conhecimento préexistente para fazer inferências sobre um assunto de interesse. Ao tempo em que novos conhecimentos são criados ou modificados, estes são armazenados em algum tipo de repositório de dados e precisam de algum mecanismo para recuperar suas informações. Ontologias implicam em modelos concensuados que evitam que diferentes definições ocupem um mesmo repositório, como, por exemplo, pensemos num produto que é disponibilizado por sistemas com diversos serviços de fabricantes e utilizado por vários serviços de lojas de revenda. Através da representação em uma linguagem de ontologia, como, por exemplo, RDF, poderia se padronizar que, ao descrever um produto, cada serviço de fabricante desse produto deveria associar ao seu nome a sua descrição, mas como ficaria o conteúdo dessa descrição? Cada fabricante descreveria seus produtos de forma independente? Certamente, não. Quando pensado em integração de serviços completamente automatizada é indispensável que exista um entendimento semântico comum sobre as informações manipuladas. É através desses modelos que sistemas utilizam o conhecimento dos especialistas de domínios que ajudaram na construção do modelo. Esse consenso de domínio permite que aplicações possam se comunicar ou compartilhar informações. A partir disso, surge o questionamento: Como esse conhecimento pode ser compartilhado entre pessoas e máquinas? A resposta está na utilização de ontologias. Ontologias fornecem um vocabulário comum para anotação de base de dados, facilitando a documentação, compreensão, manutenção e o compartilhamento como já explicitado. Em banco de dados, as buscas são formuladas por perguntas (queries) que precisam estar bem formuladas, principalmente quanto ao que se quer buscar. Apesar de um desenvolvedor de software estar certo sobre o que se quer buscar em uma pergunta, o conhecimento poderá estar representado de outras formas, não favorecendo a pesquisas por um termo exato. Para exatidão na construção de tais perguntas o desenvolvedor terá de ter participado da elaboração da construção do modelo conceitual do banco de dados. Se a aplicação compartilhar diversos bancos de dados, sua modelagem conceitual deve estar alinhada com a estrutura e conteúdo de cada banco utilizado, pois um conceito pode não ser necessariamente simétrico quando mapeado para outro banco. Se existir n bancos de dados, então poderá haver n (n - 1) possibilidades de integração, mas se utilizada uma ontologia como modelo único de conceitualização desses n banco de dados, o esforço de integração é reduzido para n, uma vez que cada banco de dados será mapeado para essa ontologia. Com isso uma solução computacional poderia utilizar e inferir os conceitos de qualquer banco para a ontologia e da ontologia para qualquer outro banco de dados. Apesar de banco de dados e ontologias representar conceitualizações, a principal distinção está no fato da reutilização da conceitualização de uma ontologia. Como discutido, uma ontologia, em especial de domínio, tem fundamental papel nessa reutilização. O compromisso ontológico está na tentativa de tornar o quanto melhor a separação das dependências de uma ontologia para que decorra numa melhor reutilização dos seus conceitos. São diversas as ontologias utilizadas por comunidades de pesquisa para prover conhecimento a banco de dados e aplicações, como, por exemplo, na educação (Amorim, Lama, Sánchez, Riera, & Vila, 2006), na medicina (Gonçalves, Guizzardi, & Pereira, 2009), entre outras. No desenvolvimento de software, uma ontologia de domínio pode ser vista como um tipo particular de modelo conceitual. Em particular, um modelo conceitual deve satisfazer o requisito adicional de servir como uma representação de consenso (modelo de referência) de uma 9

10 conceituação compartilhada. Esta atividade de modelagem em tal processo de desenvolvimento pode ser comparada à análise de requisitos e as etapas do projeto em Engenharia de Software tradicional (Knublauch, Oberle, Tetlow, & Wallace, 2006). No contexto Web, a maior parte do seu conteúdo é tradicionalmente voltada a seres humanos. Na visão da Web Semântica (W3C, 2009), um conteúdo deve ser legível por máquinas para que possa ser analisado por agentes de software e compartilhado entre os seus serviços. Para este propósito, a W3C (W3C, 2014) recomenda linguagens para estruturar tais informações, como, por exemplo, em RDF uma classe Produto possui uma propriedade tempreço que armazena valores do tipo double, assim como se pode definir uma classe Compra com a propriedade temproduto que relaciona uma compra com um ou mais produtos. Auxiliada por modelos de domínio em qualquer linguagem de ontologia, as aplicações Web poderiam carregar suas informações da mesma maneira como é realizado em HTML. Por exemplo, uma página HTML que exibe um produto pode codificar metadados para relacionar esse produto a uma entidade (conceito) em um modelo RDF ou OWL, para que todas as aplicações que entendam o que é um produto possam entender o seu significado fora do contexto Web. A Figura 6 ilustra um típico cenário de aplicações Web que compartilham informações. Na Figura 6, uma aplicação end-to-end (Loja, por exemplo) usando o compartilhamento de informações por ontologia pode explorar modelos de domínio e serviços Web. Em cada aplicação é ilustrada a definição de conceitos, em notação UML, os quais são compreendidos e utilizados pelas diferentes aplicações. Figura 6. Exemplificação da utilização de ontologia por sistemas Web Fonte: Adaptada de Knublauch, H., Oberle, D., Tetlow, P., & Wallace, E. (Ed.). (2006). A Semantic Web Primer for Object- Oriented Software Developers. W3C World Wide Web Consortium, Retrieved April 02, 2014, from O mesmo exemplo poderia ser desenvolvido por abordagens tradicionais utilizando XML e linguagens de programação OO, por exemplo. Entretanto, as informações do domínio das aplicações dificilmente serão consensuadas, enquanto uma aplicação de comércio eletrônico poderia utilizar o conceito para Consumidor, o sistema de uma loja poderia utilizar Cliente, e sem um mapeamento semântico, as aplicações não saberão que se trata de conceitos equivalentes. 10

11 Uma vez que um recurso é identificado por um Uniform Resource Identifier (URI) único, pode ser estabelecidas ligações entre os diversos modelos existentes. Logo, se um modelo de um domínio for publicado, outros modelos serão potencialmente capazes de utilizá-lo. Ao reutilizar um modelo existente, diferentes aplicações com tarefas similares podem compartilhar resultados e dados com muito mais facilidade. Por exemplo, sistemas do tipo comércio eletrônico que utilizam serviços de "carrinho de compras" e de cartão de crédito. Nesse sentido, em MDSD a criação de modelos precisam levar em consideração tal discussão, partindo do princípio que informações de sistemas podem ser compartilhadas e precisam ser consensuadas. Resultados Apesar de MDA envolver diversas etapas, o objetivo dessa pesquisa é conduzir a discussão da utilização de ontologias na construção M2M, ou seja, do PIM e PSM, sendo este último destinado à plataforma Java. Entretanto, apresenta-se uma solução para a geração da codificação a partir do PSM. Proposta de PIM com conceitos de Ontologia Apesar de PIM ser uma especificação do sistema com um alto nível de abstração e independente de plataforma, geralmente, utiliza-se uma linguagem de modelagem genérica, como, por exemplo, UML, a qual não considera as relações semânticas proporcionadas por ontologias. É decorrente dessa característica que se levantou o questionamento da pesquisa sobre o ponto de vista da utilização de ontologias por profissionais de desenvolvimento de software. Para a modelagem faz-se necessário relacionar o metamodelo de UML com as informações a serem modeladas. Podem-se utilizar apenas alguns dos recursos de UML, um subconjunto que supra as necessidades da modelagem do sistema. Para esta discussão serão utilizados os conceitos de Classe, Propriedade, Operação, Classificador e Associação (subconjunto derivado de Mellor et al. (2005)). A partir dos elementos que compõem uma ontologia e do subconjunto de modelos UML, é proposta a modelagem do PIM (Figura 7). Através do modelo conceitual podem-se extrair as informações de uma ontologia: Entidade, Atributo, Relacionamento e Termos. Entidades poderão ser comportas por Atributos e Relacionamentos. Tanto as Entidades quanto os Relacionamentos podem conter Termos que darão semântica às suas informações. Figura 7. Modelo conceitual A Figura 8 apresenta a associação entre os modelos do PIM, os elementos conceituais de uma ontologia e os termos que compõem a linguagem de ontologia OWL. 11

12 Figura 8. Quadro associativo para os conceitos do PIM, ontologia e linguagem OWL. Vale destacar que os termos devem ser tratados em regras de negócio, uma vez que devem seguir as especificações OWL (Mcguinness & Harmelen, 2009). Por exemplo, o termo inverseof deve ser aplicado a instâncias do modelo Relacionamento, assim como equivalentclass é aplicado ao modelo Entidade, e assim sucessivamente. Proposta de PSM com conceitos de Ontologia A partir da especificação do PIM contendo os componentes de uma ontologia, especificase um PSM para uma plataforma específica. Os conceitos apresentados na Figura 8 permitem a construção do PSM. Portanto, na transformação M2M tem-se um metamodelo envolvendo características da plataforma Java. A Figura 9 apresenta o PSM proposto. Na Figura 9 são apresentados os metamodelos que representam as informações sobre Entidade, Atributo, Relacionamento, Ontologia e Coleção, sendo este último um aperfeiçoamento do PSM que servirá de artefato para utilização de padrões de projetos que permitem implementar as abstrações definidas. Figura 9. PSM destinado à plataforma Java. A modelagem do PSM proposto permite a expansão das informações relacionadas aos termos do PIM, uma vez que os modelos explicitam a expressividade semântica através de termos, como, por exemplo, características de herança (superclasse), disjunção (disjunta) e equivalência (equivalente) em Entidade; e inversão (inversode) para Relacionamento. Vale destacar que a escolha da plataforma Java implica na diminuição de expressividade semântica da ontologia, pois as hierarquias entre classes deverá utilizar herança simples. Então, os domínios de um sistema deverão ser modelados respeitando essa característica da tecnologia, como, por exemplo, a impossibilidade da utilização de herança múltipla. 12

13 Quando pensada em uma linguagem de ontologia como RDF a definição de um conceito (entidade, relacionamento ou propriedade) é dada por um namespace único, referenciando um conceito na ontologia. Dessa maneira, para que uma instância do modelo Entidade do PSM possa ser identificada na ontologia, o seu atributo "uri" deverá ser vinculado a uma informação única. Essa atribuição permitirá a identificação semântica da instância e uma aplicação conseguirá realizar buscas nas instâncias do modelo Entidade por esse atributo identificador. A definição para termos semânticos permitem a representação de relacionamentos como, por exemplo, configurar hierarquia (subclassof de RDF e OWL), configurar igualdade (equivalentclass de OWL), características de propriedade (inverseof de OWL), axiomas (disjointwith de OWL), entre outros. A escolha por RDF ou OWL, por exemplo, permite que um modelo de representação de uma ontologia destinado à plataforma Java, possua termos que flexibilizem a expressividade semântica e assimilem os elementos do paradigma OO (classes, atributos e relacionamentos). Entre os termos estão DatatypeProperty e ObjectProperty, os quais podem ser associados aos conceitos de atributo e métodos do paradigma OO, respectivamente. DatatypeProperty define o tipo de dado de um atributo ou relacionamento, enquanto ObjectProperty define os relacionamentos entre entidades, tendo como resposta uma referência a uma entidade. Apesar de RDF proporcionar a utilização de conceitos (classe, subclasse, propriedades de domínio e contradomínio (range)) que permitiria uma também associação ao paradigma OO, a utilização dos termos DatatypeProperty e ObjectProperty de OWL tem como vantagem a identificação da natureza da propriedade sem ter que analisar o tipo de range definido (característica RDF que denota os valores possíveis a uma propriedade). Outras duas características relacionadas à OWL são: (i) permitir a definição de restrições, as quais não só definem valores possíveis para uma propriedade, mas também podem ser utilizadas para definir condições que permitem ao motor de inferência concluir se determinado indivíduo é instância de uma classe; e (ii) possui o termo FunctionalProperty que permite caracterizar um indivíduo como único. Em especial, essas características são de fundamental importância para sistemas que terão em sua base de dados instâncias para os modelos do domínio da ontologia, que além da necessidade da identificação, precisam ser únicas. Análise da proposta Considerando a proposta do PSM apresentado na Figura 9 em continuidade ao emprego da metodologia MDA, necessita-se definir um processo para abordagem M2C para geração da codificação do sistema a partir do PSM. A transformação M2C é tida como um caso especial de M2M, através da utilização de um metamodelo para a linguagem de programação pretendida. Uma estratégia está na utilização de mapeamentos auxiliados por templates para a linguagem de programação Java (PM do sistema), os quais contêm marcações para os conceitos presentes nos modelos do PSM realizada através de arquivos.vm (templates Velocity Template Language) (Velocity, 2010), por exemplo. A Figura 10 ilustra as marcas do template que mapeiam as informações dos modelos do PSM proposto Na Figura 10 observam-se as marcas $atributo.nome e $relacionamento.nome para mapear as informações do atributo "nome" dos modelos Atributo e Relacionamento do PSM, respectivamente. 13

14 Figura10. PM contendo marcas para geração de código na plataforma Java Vale ressaltar que para viabilizar essa infraestrutura, soluções precisam ser capazes de instanciar as classes de um modelo definido, para que possam ser utilizadas em aplicações, mas separando o interesse da informação, como, por exemplo, na interface gráfica do sistema que irá exibi-lá ou na lógica de controle de regras de negócio desenvolvida por programadores. A Figura 11 ilustra um exemplo de regra de negócio. Figura 11. Regra de negócio para transformação do PSM em código Nesta regra de negócio, observa-se o comando context.put("atributos", atributos)do Velocity relacionando a marca "atributos" para os atributos do modelo Entidade do PSM. Essa marca está destacada no processo de mapeamento ilustrado na Figura 10. Como o objetivo final de MDA está na geração de código através da transformação de modelos. A Figura 12 ilustra as etapas desse processo, ou seja, desde o modelo conceitual PIM até a geração da codificação final. 14

15 Figura 12. Etapas da metodologia MDA proposta Na Figura 12 percebe-se que o PSM utiliza a plataforma exemplificada (Java) e suas informações serão utilizadas na geração da codificação do sistema através da transformação mapeada nas marcações dos templates (PM do sistema). Considerações finais A partir do questionamento que guiou essa pesquisa, conclui-se que a utilização de ontologia permite a modelagem consensual do domínio de um sistema entre profissionais. No contexto de PDS, MDA fundamenta a teoria e prática para construção de modelos semânticos que viabilize a geração da codificação de um sistema. Entretanto, a escolha de uma ontologia é um processo político, já que nenhuma ontologia pode ser totalmente adequada a todos os indivíduos. Ontologias não são estacionárias, i.e., necessitam evoluir e sua evolução não é dada por um processo direto. Ontologias desenvolvidas independentemente não se integrar efetivamente com outras por vários motivos, desde similaridade de vocabulário até visões conflitantes do mundo. Auxiliado por MDSD, a definição de PIM permite que as informações de uma ontologia (entidade, atributo, relacionamento e termos) se relacionem ao paradigma OO aproximando, consequentemente, de profissionais de desenvolvimento de software que, geralmente, não possuem conhecimento nas especificações de linguagens de ontologia. Entretanto a escolha de uma determinada plataforma para o PSM pode implicar numa possível perda de expressividade semântica, como, por exemplo, Java que não permite a utilização de herança múltipla. A utilização de marcações no processo M2C de MDA decorre em vantagens e desvantagens. A desvantagem dessa alternativa é que cada modelo é autossuficiente. Nesse caso, está se construindo uma solução personalizada, o que acarretaria na perda de portabilidade proporcionada pela utilização de um modelo genérico. Mas as tecnologias podem entrar em consonância, assumindo que a utilização do Velocity, por exemplo, retrate apenas a codificação final do sistema a partir das definições (conceitos) contidas no PSM. Uma vez consolidada, serão minimizados eventuais erros no sistema, consequentemente, aumentado à taxa de sucesso. Se utilizadas boas práticas de padrão de projetos, os templates retratarão especificidades do sistema e eventuais erros poderão ser corrigidos pontualmente, uma vez que uma das vantagens de MDA está na máxima automatização do processo de geração de código. Por exemplo, as marcas do template permitem a criação de classes que representam os conceitos do domínio de uma ontologia, assim como da manipulação das instâncias dos conceitos através de operações CRUD de banco de dados. Essas características estão presentes em padrões de Java 2 platform, Enterprise Edition, em especial ao padrão de arquitetura Data Access Object,e.g. Comparada com o reuso de componentes de código, a reutilização de infraestruturas de domínio insere no processo inúmeras vantagens, sendo as principais delas ligadas à comunicação e o entendimento do domínio em questão, a captura da experiência de casos similares e, no caso de um processo formal de desenvolvimento, a obtenção de uma estrutura estável, confiável, robusta e com alto grau de mantenabilidade. Referências 15

16 Borst, W. N. (1997) Construction of engineering ontologies. Tese de doutorado, Universiteit Twente. Enschede, Países Baixos. Czarnecki, K., & Eisenecker, U. W. (2000). Generative Programming: Methods, Tools, and Applications. Bonton: Addison-Wesley. Czarnecki, K., & Simon, H. (2003). Classification of Model Transformation Approaches. Proceedings of the Workshop on Generative Techniques in the Context of Model-Driven Architecture (OOPSLA 03). D'aquin, M. et al. (2008). Toward a New Generation of Semantic Web Applications. Proceedings of the IEEE Intelligent Systems, (23), D Emery R. A. (2012). OntologiaZ: Um Framework Gerador de Código baseado em MDA para Construção de Aplicações End-to-End que utilizam Ontologias e Agentes. Tese de doutorado, Universidade Federal de Pernambuco. Recife, PE, Brasil. El-G., S. M., El-D., A. I., & Sherief, M. (2009). Dynamic ontology mapping for communication in distributed multiagent intelligent system Networking and Media Convergence. Proceedings of de ICNM, Frankel, D. S. (2004). Model Driven Software Development. Business Process Trends Journal in MDA. Gasevic, D., Djuric, D., & Devedzic, V. (2009). Model Driven Engineering and Ontology Development (2a ed.). Heidelberg: Springer. Gómez-P., A., & Corcho, O. (2002). Ontology Languagens for the Semantic Web. Proceedings of the IEEE Inteligente Systems, (13), Gonçalves, B., Guizzardi, G., Pereira, J. G. (2007). An electrocardiogram (ECG) domain ontology. Proceedings of the Workshop on Ontologies and Metamodels for Software and Data Engineering, João Pessoa, PB, Brasil, 2. Greenfield, J., & Short, K. (2003, October). Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools. Proceedings of the Companion of the 18th annual ACM SIGPLAN Conference on Object- Oriented Programming, Systems, Languages, and Applications (OOPSLA 03), Anaheim, CA, USA, 18. Gruber, T. R. (1993). A Translation Approach to Portable Ontology Specifications. Knowledge Acquisition. (5)2, IMS. IMS Learning Design Information Model - Version 1.0 Final Specification IMS Global Learning Consortium. In: Amorim, R. R., Lama, M., Sánchez, E., Riera, A., & Vila X.A. (2006). A Learning Design Ontology based on the IMS Specification. Educational Technology & Society, (9)1, Kleppe, A., Warmer, J., & Bast, W. (2003). MDA Explained - The Model Driven Architecture: Practice and Promise, Canada: Addison-Wesley. Knublauch, H., Oberle, D., Tetlow, P., & Wallace, E. (Ed.). (2006). A Semantic Web Primer for Object-Oriented Software Developers. W3C World Wide Web Consortium, Retrieved April 02, 2014, from López, M. F., Gómez-P., A., Sierra, J. P., & Sierra, A. P. (1999). Building a chemical ontology using Methontology and the Ontology Design Environment. Intelligent Systems and their Applications, IEEE, (12)1, Mcguinness, D. L., & Harmelen, F. V. (Ed.). (2009, November). OWL Web Ontology Language Overview. W3C World Wide Web Consortium, Retrieved April 02, 2014, from Mellor, S. J., Scott, K.; Uhl, A., & Weise, D. (2005). MDA Destilada: princípios de arquitetura orientada por modelos (1a ed.). Rio de Janeiro: Ciência Moderna. Neches, R., & Fikes, R. E. (1991). Enabling Technology for Knowledge Sharing. AI Magazine, (12)3, OMG. (2014, February). MDA Specifications - The Architecture of Choice for a Changing World. Retrieved April 01, 2014, from OMG. (2011). OMG Unified Modeling LanguageTM (OMG UML), Infrastructure. Retrieved April 01, 2014, from Probst, R. (2012, March). The Architecture of Choice for a Changing World: OMG Model Driven Architecture. Retrieved April 02, 2014, from Sowa, J. F. Future directions for semantic systems. In: Tolk, A., & Jain, L. C. (Ed.). (2011). Intelligence-based Systems Engineering. (1a ed.). Berlin: Springer-Verlag. Cap. 2, Velocity. The Apache Velocity Project. (2010, November). Retrieved April 02, 2014, from W3C. W3C Semantic Web Frequently Asked Questions. (2009, November). Retrieved April 02, 2014, from i Pesquisa realizada a partir de Google Scholar ( recuperado em 10, abril, 2014) 16

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

Table 1. Dados do trabalho

Table 1. Dados do trabalho Título: Desenvolvimento de geradores de aplicação configuráveis por linguagens de padrões Aluno: Edison Kicho Shimabukuro Junior Orientador: Prof. Dr. Paulo Cesar Masiero Co-Orientadora: Prof a. Dr. Rosana

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 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

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

ONTOLOGIA E SUAS APLICAÇÕES EM MODELAGEM CONCEITUAL PARA BANCO DE DADOS PROPOSTA DE TRABALHO DE GRADUAÇÃO

ONTOLOGIA E SUAS APLICAÇÕES EM MODELAGEM CONCEITUAL PARA BANCO DE DADOS PROPOSTA DE TRABALHO DE GRADUAÇÃO UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA ONTOLOGIA E SUAS APLICAÇÕES EM MODELAGEM CONCEITUAL PARA BANCO DE DADOS PROPOSTA DE TRABALHO DE GRADUAÇÃO Grasielle

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

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

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

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

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

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

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Uma Ontologia para Gestão de Segurança da Informação

Uma Ontologia para Gestão de Segurança da Informação Uma Ontologia para Gestão de Segurança da Informação Paulo Fernando da Silva, Henrique Otte, José Leomar Todesco, Fernando A. O. Gauthier Programa de Pós-Graduação em Engenharia e Gestão do Conhecimento

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

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

Um Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e

Um Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e JEANE MENDES DA SILVA SANTOS Um Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e Plano de Trabalho de Conclusão de Curso apresentado à Universidade Federal de

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

Ontologias. Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília

Ontologias. Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília Ontologias Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília Origem Teoria sobre a natureza da existência Ramo da filosofia que lida com a natureza e organização da realidade.

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

3 Trabalhos relacionados

3 Trabalhos relacionados 3 Trabalhos relacionados Neste capítulo são apresentados trabalhos relacionados ao apresentado nesta tese, separados pelas áreas de análise de modelos baseada em ontologias e de verificação de modelos.

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

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

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

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

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

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

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

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1. Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever

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

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

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

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo

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

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

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

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

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

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

Leia mais

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

Leia mais

Concepção e Elaboração

Concepção e Elaboração UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Análise e Projeto Orientado a Objetos Concepção e Elaboração Estudo

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

UML Aspectos de projetos em Diagramas de classes

UML Aspectos de projetos em Diagramas de classes UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada

Leia mais

Uso de taxonomias na gestão de conteúdo de portais corporativos.

Uso de taxonomias na gestão de conteúdo de portais corporativos. Gestão de Conteúdo web através de ontologias: conceitos e aplicações Fernando Silva Parreiras Contextualização O que? Uso de taxonomias na gestão de conteúdo de portais corporativos. Quem? Gerentes, consultores

Leia mais

Arquitetura Orientado por Modelos aplicada a Linha de Produto de Software. Eduardo Barbosa da Costa

Arquitetura Orientado por Modelos aplicada a Linha de Produto de Software. Eduardo Barbosa da Costa Arquitetura Orientado por Modelos aplicada a Linha de Produto de Software Eduardo Barbosa da Costa Juiz de Fora, MG Julho de 2008 Arquitetura Orientado por Modelos aplicada a Linha de Produto de Software

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

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

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

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços 1 Introdução Nos últimos anos, houve um aumento notável de demanda por plataformas com suporte a diferentes mídias. Aplicações manipulando simultaneamente texto, vídeo e áudio são cada vez mais comuns.

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

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância 5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância O capítulo anterior apresentou uma discussão sobre a inclusão dos chamados learning services no processo

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

1 UML (UNIFIED MODELING LANGUAGE)

1 UML (UNIFIED MODELING LANGUAGE) 1 UML (UNIFIED MODELING LANGUAGE) Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usuários, com qualidade, por intermédio de uma arquitetura sólida

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

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

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 10 Persistência de Dados

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

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

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

Tecnologia para Sistemas Inteligentes Apontamentos para as aulas sobre. Introdução à Representação e Processamento de Ontologias: Framework O3f

Tecnologia para Sistemas Inteligentes Apontamentos para as aulas sobre. Introdução à Representação e Processamento de Ontologias: Framework O3f Tecnologia para Sistemas Inteligentes Apontamentos para as aulas sobre Introdução à Representação e Processamento de Ontologias: Framework O3f Luís Miguel Botelho Departamento de Ciências e Tecnologias

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

Modelagem de Processos. Prof.: Fernando Ascani

Modelagem de Processos. Prof.: Fernando Ascani Modelagem de Processos Prof.: Fernando Ascani Bibliografia UML Guia de consulta rápida Douglas Marcos da Silva Editora: Novatec UML Guia do usuário Grady Booch James Rumbaugh Ivair Jacobson Editora: Campus

Leia mais

Ontologia de Domínio da Biodisponibilidade de Ferro: Uma Experiência no Projeto Nutri-Fuzzy-Orixás

Ontologia de Domínio da Biodisponibilidade de Ferro: Uma Experiência no Projeto Nutri-Fuzzy-Orixás Ontologia de Domínio da Biodisponibilidade de Ferro: Uma Experiência no Projeto Nutri-Fuzzy-Orixás Alessandra Brito F. Oliveira 1; Vera Maria Benjamim Werneck 1 ; Regina Serrão Lanzillotti 1 ; Haydée Serrão

Leia mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com

Leia mais

EXPERIÊNCIA DE USO DE ARQUITETURA CORPORATIVA NO PROJETO DE RES

EXPERIÊNCIA DE USO DE ARQUITETURA CORPORATIVA NO PROJETO DE RES EXPERIÊNCIA DE USO DE ARQUITETURA CORPORATIVA NO PROJETO DE RES Rigoleta Dutra Mediano Dias 1, Lívia Aparecida de Oliveira Souza 2 1, 2 CASNAV, MARINHA DO BRASIL, MINISTÉRIO DA DEFESA, BRASIL Resumo: Este

Leia mais

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

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

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

Uma Ontologia Genérica para a Análise de Domínio e Usuário na Engenharia de Domínio Multiagente

Uma Ontologia Genérica para a Análise de Domínio e Usuário na Engenharia de Domínio Multiagente Uma Ontologia Genérica para a Análise de Domínio e Usuário na Engenharia de Domínio Multiagente Carla Gomes de Faria1, Ismênia Ribeiro de Oliveira1, Rosario Girardi1 1Universidade Federal do Maranhão (UFMA)

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

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

Engenharia de Software Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo

Leia mais

Introdução à Computação

Introdução à Computação Aspectos Importantes - Desenvolvimento de Software Motivação A economia de todos países dependem do uso de software. Cada vez mais, o controle dos processos tem sido feito por software. Atualmente, os

Leia mais

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE] 1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto

Leia mais

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta

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

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. 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 Classes Autoria:Aristófanes Corrêa Silva Adaptação:

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

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB 18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB Autor(es) HARLEI MIGUEL DE ARRUDA LEITE Orientador(es) PLÍNIO ROBERTO SOUZA VILELA Apoio Financeiro PIBIC/CNPQ

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

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

OBSERVATÓRIO DE GESTÃO DA INFORMAÇÃO. Palavras-chave: Gestão da Informação. Gestão do conhecimento. OGI. Google alertas. Biblioteconomia.

OBSERVATÓRIO DE GESTÃO DA INFORMAÇÃO. Palavras-chave: Gestão da Informação. Gestão do conhecimento. OGI. Google alertas. Biblioteconomia. XIV Encontro Regional dos Estudantes de Biblioteconomia, Documentação, Ciência da Informação e Gestão da Informação - Região Sul - Florianópolis - 28 de abril a 01 de maio de 2012 RESUMO OBSERVATÓRIO DE

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

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

Criação e publicação de um dataset de dados interligados das edições passadas do Simpósio Brasileiro de Banco de Dados

Criação e publicação de um dataset de dados interligados das edições passadas do Simpósio Brasileiro de Banco de Dados U NIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA 2 0 1 2. 2 Criação e publicação de um dataset de dados interligados das edições passadas do Simpósio Brasileiro

Leia mais

Empresa de Informática e Informação do Município de Belo Horizonte S/A PRODABEL

Empresa de Informática e Informação do Município de Belo Horizonte S/A PRODABEL Empresa de Informática e Informação do Município de Belo Horizonte S/A PRODABEL Diretoria de Sistema - DS Superintendência de Arquitetura de Sistemas - SAS Gerência de Arquitetura de Informação - GAAS

Leia mais

Documento de Arquitetura

Documento de Arquitetura Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11 HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento

Leia mais

AUBR-83 Dicas e Truques. Objetivos:

AUBR-83 Dicas e Truques. Objetivos: [AUBR-83] BIM na Prática: Implementação de Revit em Escritórios de Arquitetura e Engenharia Paulo Henrique Giungi Galvão Revenda TECGRAF Consultor técnico Revit da Revenda TECGRAF AUBR-83 Dicas e Truques

Leia mais

Prof. Marcelo Henrique dos Santos

Prof. Marcelo Henrique dos Santos ORIENTAÇÃO A OBJETOS COM PROTOTIPAÇÃO CAPÍTULO 02 CONCEITOS FUNDAMENTAIS OBJETIVOS Definiremos alguns conceitos fundamentais de forma a não deixar dúvidas básicas ou interpretações que nos coloquem em

Leia mais

Aplicação de um Metamodelo de Contexto a uma Tarefa de Investigação Policial

Aplicação de um Metamodelo de Contexto a uma Tarefa de Investigação Policial Aplicação de um Metamodelo de Contexto a uma Tarefa de Investigação Policial Lucas A. de Oliveira, Rui A. R. B. Figueira, Expedito C. Lopes Mestrado em Sistemas e Computação Universidade de Salvador (UNIFACS)

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com. Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel

Leia mais

Guia de utilização da notação BPMN

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

Leia mais

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix.

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix. UNIP Sistemas de Informação Análise Essencial de Sistemas Prof.Marcelo Nogueira Análise Essencial de Sistemas 1 Introdução A produção de Software é uma atividade build and fix. Análise Essencial de Sistemas

Leia mais

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br Análise de Sistemas Visão Geral: Orientação a Objetos Prof. José Honorato Ferreira Nunes Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br Resumo: VISÃO GERAL: Modelagem de sistemas

Leia mais

**Docentes do Centro Universitário Filadélfia- Unifil. computação@unifil.br

**Docentes do Centro Universitário Filadélfia- Unifil. computação@unifil.br COMPARATIVO DE PRODUTIVIDADE ENTRE UM PROCESSO DE DESENVOLVIMENTO DE SOFTWARE COM A ABORDAGEM DE LINHA DE PRODUTO DE SOFTWARE COM O PROCESSO DE DESENVOLVIMENTO DE SOFTWARE TRADICIONAL.(2011) **Docentes

Leia mais