UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software

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

Download "UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software"

Transcrição

1 UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO Contribuições do MDA para o desenvolvimento de software Anna Carla Mohr Verner Helder Eugenio dos Santos Puia Florianópolis, dezembro de 2004.

2 Contribuições do MDA para o desenvolvimento de software Uma das principais propriedades que um software deve apresentar é capacidade a mudanças e adaptabilidade tanto a requisitos quanto ao ambiente computacional no qual está inserido. Sabe-se que não é nada trivial atingir essa capacidade, principalmente mantendo produtividade. O mercado do software hoje exige que as empresas desenvolvam software cada vez mais complexo, em menos tempo. E não só isso, a cada novo dia surgem novas tecnologias, e os sistemas precisam acompanhar essas mudanças. Este é um dos maiores problemas no desenvolvimento de software atualmente, como desenvolver software complexo, com qualidade e em pouco tempo. E, além disso, existem outros problemas como manutenibilidade e gerenciamento da documentação, e características que a maioria dos sistemas devem possuir como interoperabilidade e portabilidade. Implementar um sistema com todas estas características demandam um grande esforço. Visando minimizar este esforço, há alguns anos atrás a OMG (Object Management Group) lançou uma nova proposta de desenvolvimento de sistemas chamada MDA (Model Driven Architecture). O MDA, Model Driven Architecture, é um framework que promove o uso de desenvolvimento de modelos independentes dos detalhes da implementação dando ao sistema uma flexibilidade maior. MDA propõe uma forma de desenvolvimento onde o foco está nas regras de negócio do sistema e de modelos que expressem estas regras. Todos os aspectos tecnológicos do sistema seriam adicionados a esses modelos em uma transformação. A maior parte do processo é automatizada não só mantendo como aumentando a produtividade e qualidade do sistema. Model Driven Architecture O MDA é um framework para desenvolvimento de software. A chave do MDA é a importância dos modelos no processo de desenvolvimento. Com MDA o processo de desenvolvimento de software é dirigido pela modelagem do sistema. MDA define uma abordagem à especificação de sistemas de informação que separa a especificação das funcionalidades do sistema, da especificação da

3 implementação dessa funcionalidade numa plataforma específica, abstraindo a maneira como o mesmo usará as potencialidades de sua plataforma. O objetivo é automatizar algumas das etapas do processo de desenvolvimento de software incluindo a geração de código para a plataforma escolhida. Arquitetura O coração da arquitetura está no centro da Figura, é baseado nos padrões de modelagem da OMG. Outras duas camadas completam a arquitetura. A primeira representa as plataforma que são alvo do framework atualmente e a segunda representa os serviços que podem existir independente da plataforma adotada. O núcleo do MDA compreende um conjunto de UML profiles, desenvolvidos pela OMG, cada um abrangendo determinada área do processo de desenvolvimento. Esses profiles representam as características comuns de todos os ambientes middleware apropriados, porém será independente de qualquer plataforma específica. A Camada intermediária compreende os ambientes middleware que são alvo do MDA atualmente: O ambiente web-service, CORBA principalmente CORBA Component Model ou CCM, Java incluindo EJB, C#,.NET, XML/SOAP. Se sua plataforma favorita não estiver nessa lista ou se novas plataformas surgirem os membros da OMG irão adiciona-las o mais breve possível. A última camada corresponde aos pervasives services, todas as aplicações, independente do contexto, dependem de um conjunto de serviços essências. Esses

4 PSM serviços variam de acordo com a origem do sistema, mas normalmente incluem serviços de diretórios, segurança, manipulação de eventos, persistência e transações. Esses serviços estão representados na arquitetura no anel mais externo. Ainda que com mesmos objetivos, em termos de implementação esses serviços quando definidos e construídos em plataformas específicas possuem características que os restringem das demais plataformas. No framework MDA os pervasive services são representados no mais alto nível de abstração. A este nível de abstração, a maneira com que esses serviços serão implementados na plataforma específica ficará a cargo do framework deixando transparente o funcionamento para o desenvolvedor. Ciclo de Vida Historicamente sistemas têm sido desenvolvidos, gerenciados e integrados usando um grande número de tecnologias, ferramentas e middleware. O que temos visto ultimamente é uma movimentação gradual para modelos semânticos mais completos, bem como padrões de representação de comunicação de dados. O ciclo de vida do MDA não difere muito dos ciclos de vida dos modelos tradicionais. As mesmas fases podem ser identificadas. Uma das maiores diferenças está na natureza dos artefatos que são criados durante o processo de desenvolvimento. Os artefatos são modelos formais que podem ser entendidos pelo computador. Na Figura abaixo está representado o ciclo de vida do MDA, cada uma das esferas representa uma das etapas do processo de desenvolvimento, que é bastante similar às demais metodologias. A primeira etapa é o levantamento de requisitos, em seguida as etapas de análise, design, codificação, teste e implantação. O que difere são as saídas das etapas, que são representadas pelos quadrados, onde surgem novos conceitos e modelos, que serão vistos em mais detalhes mais a frente. Requisitos Analise Especificação De Requisitos Processo MDA Design PIM

5 . Funcionamento Para entendermos o funcionamento do MDA devemos conhecer os modelos definidos pela sua arquitetura. Esses modelos são à base do funcionamento do framework, o que torna possível o alcance dos objetivos propostos. PIM Modelo Independente de Plataforma Todo projeto em MDA começa com a criação do modelo independente de plataforma. O objetivo do PIM (Platform independent model) é expressar apenas as funcionalidades de negócio e comportamento, devendo ser construído por analista de negócio e de modelo, sendo o mais preciso possível. Esse modelo deve representar todas as características estáticas da aplicação. Outros diagramas UML, como diagramas de atividade e seqüência dão poder para representar as características dinâmicas. O PIM pode ser refinado tornando-se ainda mais precisos. Para isso podemos incorporar ao PIM alguns aspectos de tecnologia sempre abstraindo detalhes de alguma plataforma específica. Por exemplo, todos os ambientes permitem especificar padrões, alguns dos padrões de modelagem que são incorporados a todas as tecnologias foram também incorporados ao UML, tornando fácil à adoção de algum padrão de

6 desenvolvimento, ou seja, o PIM nada mais é do que um modelo UML que especifica apenas as funcionalidades de negócio da aplicação, desconsiderando qualquer característica da plataforma na qual o sistema será desenvolvido. Por sinal, para a elaboração do PIM não é necessário que a plataforma que será construída a aplicação esteja definida. Quando construímos uma aplicação baseada em MDA, devemos primeiramente construir um modelo independente de plataforma. Mas antes de transformar este modelo em um modelo específico de plataforma como CORBA ou J2EE, nós podemos determinar quais pervasive services devem ser referenciados para nossa aplicação. Como dito anteriormente Pervasive Services podem existir em qualquer aplicação independente do contexto no qual está inserido. Apenas quando as características e arquitetura dos pervasive services estiverem concluídas, o PSM (que será visto a seguir) deverá ser gerado. Isso mostra que MDA prevê geradores separados para cada componente do PIM, isto é, o núcleo da aplicação e os pervasive services. PSM Modelo Específico de Plataforma O PSM (Plataform specific model) é uma visão do sistema do ponto de vista específico da plataforma. Um PSM combina as especificações no PIM com os detalhes que especificam como esse sistema usa um tipo particular de plataforma. Para produzir o PSM é necessário escolher a plataforma alvo ou plataformas para os modelos da aplicação. Caso a ferramenta de desenvolvimento utilizada não saiba qual a plataforma e quais pervasive services serão utilizados, essas informações deverão ser fornecidas. Durante o mapeamento as características de tempo real e informações de configuração que projetamos de uma maneira geral são convertidas para formulários específico requeridos pela plataforma alvo. Através de um mapeamento padrão, as ferramentas automatizam as conversões possíveis deixando os pontos ambíguos para serem implementados a mão. As versões mais antigas do MDA podem requerer ajustes consideráveis, sendo que a quantidade diminuirá com os profiles e o amadurecimento dos mapeamentos.

7 Transformações O processo MDA se parece muito com o processo de desenvolvimento tradicional, a grande diferença e vantagem do processo MDA está na transformação de PIM para PSM, sendo que este processo pode e deve ser automatizado para que se obtenha todos os benefícios que o framework oferece. Ocorrem duas transformações essenciais no processo, a primeira é a transformação do PIM para PSM e a segunda de PSM para código. A transformação de PSM para código não é nenhuma novidade, uma vez que este modelo é muito próximo ao código. Essas transformações são baseadas em mapeamento que consistem em um conjunto de regras de transformação que são especificações não ambíguas de modo que o modelo possa ser usado para criar outro modelo. Em MDA, uma das características chave é a noção de mapeamento. Mapeamento é um conjunto de regras e técnicas usadas para modificar um modelo a fim de gerar outro. Para transformar um modelo em outro, utilizamos o que chamamos de Especificação de Transformação (Mapeamento). Esta Especificação de transformação deve possuir todas as informações relacionadas ao Modelo Independente de Plataforma

8 e também as informações relacionadas ao Modelo Específico de Plataforma. Como mostrado na figura acima. Um modelo é preparado usando tipos independentes de plataforma definidos. Os tipos podem ser parte de um framework. Os elementos no PIM são subtipos dos tipos independentes de plataforma. Uma plataforma específica é escolhida. Uma especificação de transformação é disponibilizada ou desenvolvida. Esta especificação de transformação define as regras de mapeamento entre os tipos independente para os tipos dependentes de plataforma. Os elementos do PSM são subtipos dos tipos específicos de plataforma. Além dos tipos independentes e dependentes de plataforma, também podem ser mapeados padrões de desenvolvimento que podem ser incorporados a aplicação. A figura abaixo sumariza o funcionamento do MDA, mostrando o fluxo básico do desenvolvimento de uma aplicação que adote o MDA. Como já citado anteriormente o processo inicia com o desenvolvimento do PIM. A partir deste será gerado o modelo, ou os modelos específico de plataforma para o ambiente computacional escolhido para a aplicação. Este modelo e outros como diagrama de atividades e de seqüência representam todas as características e funcionalidades da aplicação já incluindo as características da plataforma escolhida. Estes modelos devem possuir toda a informação necessária para a codificação, seja ela feita a mão, ou como se espera quando se adota um processo como MDA, que esta etapa seja ao máximo automatizada.

9 Como MDA pode ajudar na solução dos problemas atuais Em MDA o foco maior do desenvolvedor está no desenvolvimento do PIM, proporcionando com isso ganho na solução dos problemas como produtividade, portabilidade, interoperabilidade, entre outros. Produtividade Desde que o desenvolvedor possa trabalhar independentemente de detalhes específicos da plataforma alvo, há muitos detalhes técnicos que eles não precisam se preocupar. Esses detalhes técnicos são automaticamente adicionados na transformação de PIM para PSM. Isto pode melhorar a produtividade de duas formas. Em primeiro lugar o desenvolvedor tem menos trabalho porque os detalhes específicos da plataforma não precisam ser projetados e escritos. Estes detalhes estão

10 definidos no mapeamento das transformações. Em nível de PSM a muito menos código a ser escrito, porque a maior parte do código já é gerada a partir do PIM. O segundo melhoramento é conseqüência do desenvolvedor estar mais focado na produção do PIM, prestando mais atenção do negócio, na arquitetura e no modelo de objetos por traz do sistema. Engenharia de Software tem provado que projetar o sistema primeiro irá reduzir as possibilidades de erros arquiteturais do sistema. Portabilidade Com MDA a portabilidade é alcançada pelo foco do desenvolvimento nos PIM s, que são definidos independente de plataforma. O mesmo PIM pode ser ao mesmo tempo transformado em diversos PSM para diferentes plataformas. Tudo o que se especifica em nível de PIM deve ser completamente portável. A portabilidade está limitada as ferramentas de geração automática que estão disponíveis. Para as plataformas mais populares um grande número de ferramentas estão sendo disponibilizadas, para as menos populares deve-se ter uma ferramenta que suporte um plugin para definição de transformações e essas definições devem ser descritas manualmente. Para novas tecnologias e plataformas que irão chegar no futuro a industria de software precisa disponibilizar os mapeamentos de transformações a tempo. Isso nos permite rapidamente desenvolver novos sistemas com novas tecnologias baseadas nos modelos de PIMs já existentes. Pode-se obter uma aplicação portável, escolhendo tecnologias que possuem esta característica, como Java, ou mesmo criando várias versões da aplicação, uma específica para cada ambiente computacional que se espera que aplicação funcione. Neste caso ser capaz de desenvolver aplicações a partir de modelos que não levam em consideração os detalhes de ambiente é de grande valor. Interoperabilidade A figura abaixo mostra vários PSM gerados a partir de um PIM e podem ter relações. Em MDA essas relações são chamadas de bridges(pontes). Quando os PSMs são alvos para diferentes plataformas eles não podem conversar diretamente um com outro, de uma forma ou de outra nós precisamos transformar os conceitos de uma

11 plataforma em conceitos usados para a outra plataforma. MDA resolve esse problema gerando não apenas PSM, mas também as pontes necessárias entre eles. PIM Primeira Transformação Primeira Transformação Segunda Transformação PSM PSM Bridge PSM Segunda Transformação Sendo capaz de transformar um PIM em dois PSM s alvos de duas plataformas, todas as informações que são necessárias para a construção das pontes entre os dois PSM s estão disponíveis. Para cada elemento de um PSM é conhecido o elemento no PIM que o originou. A partir do elemento PIM sabe-se qual é o elemento correspondente no segundo PSM. Pode-se então deduzir como os elementos de um PSM se relacionam com elementos de um segundo PSM. Desde que também se conheça todos os aspectos e detalhes técnicos de todos os PSM s, se tem todas as informações necessárias para gerar a bridge entre os dois PSM s. A interoperabilidade entre plataformas pode ser realizada por ferramentas que não geram apenas PSM, mas também as bridges entre eles, e possivelmente a outras plataformas também. Code Code Bridge Code Manutenção e Documentação O PIM é usado para gerar PSM e o PSM é usado para gerar código. O modelo é a exata representação do código. O PIM tem a função de documentar o mais alto nível de abstração que é necessário para qualquer sistema. A grande diferença é o que PIM não é abandonado depois de construído, mudanças realizadas no sistema são realizadas por mudança no PIM e feita uma nova geração de PSM e código.

12 Boas ferramentas, entretanto mantém esses elementos sincronizados, ou seja, qualquer alteração em qualquer um destes elementos refletira em alterações correspondentes nos demais. Em MDA a documentação de mais alto nível estará naturalmente refletindo a exata implementação do sistema, tornando assim a manutenção do sistema e da própria documentação menos custosa. MDA na Prática Pesquisamos três ferramentas, OptimalJ, XDE e AndroMDA, entre elas escolhemos OptimalJ, que comparada a AndroMDA é uma ferramenta mais completa, visto que dá suporte a todo o processo, desde a construção do PIM até a automatização do código e que em relação ao XDE o OptimalJ mostrar de forma mais clara todo o processo, principalmente as transformações, o que para fins didáticos se torna mais adequado. Além disso, o OptimalJ possuí todo o ambiente de desenvolvimento integrado, incluindo Sistema Gerenciador de Banco de Dados, Tomcat e Jboss. Iremos apresentar agora uma análise prática do processo MDA utilizando a ferramenta OptimalJ. Para tanto desenvolvemos uma aplicação de controle de compra e venda de mercadorias de uma loja fictícia. A aplicação é relativamente simples e foi desenvolvida sem nenhuma pretensão comercial, visando apenas à ilustração do paradigma. Aplicação de Controle de Compra e Venda de Mercadorias O exemplo que será explorado neste trabalho consiste em uma aplicação de controle de compra e venda de mercadorias que pode ser utilizado para qualquer estabelecimento com tal necessidade. A aplicação consiste em gerenciar as operações de compra e venda de um estabelecimento comercial qualquer, disponibilizando ao usuário as funcionalidades de cadastro de produtos e fornecedores, bem como o registro de uma compra e de uma venda realizando o controle de estoque. O usuário cadastra os produtos, clientes,

13 vendedores e os fornecedores e após disso está apto a registrar uma compra ou uma venda. No cadastro de produtos é possível cadastrar a porcentagem que se está acrescentando ao valor pago por ele, facilitando um possível desconto no momento da venda. Também é cadastrada a quantidade mínima de que o produto deve ter no estoque. Um produto é fornecido por apenas um fornecedor, sendo que um fornecedor pode oferecer vários produtos. A compra consiste na aquisição de uma lista de produtos de um determinado fornecedor para o estabelecimento, sendo confirmada o estoque deve ser atualizado. A venda é semelhante à compra, porém na venda o vendedor pode oferecer um desconto para o cliente com base na porcentagem que o produto está sendo vendido e o cliente adquire uma lista de produtos independente de fornecedores. Arquitetura da aplicação A figura abaixo representa a arquitetura definida para a aplicação de controle de compra e venda de mercadorias. APRESENTAÇÃO Struts SERVIÇO EJB Session Façade PERSTISTÊNCIA EJB Entity Bean Banco de Dados relacional Figura 13 - Arquitetura

14 Na figura acima os retângulos representam as camadas da aplicação e a tecnologia adotada nestas camadas. Mostras também a forma de persistência dos dados, que no caso é um banco de dados relacional e também como as camadas se interagem. A camada superior da figura é a camada de apresentação, está é responsável pela implementação da interface com o usuário, bem como as requisições do mesmo a aplicação. Como será uma aplicação WEB, contamos com o auxílio do framework Struts nesta camada, que dentre várias vantagens, adota o padrão MVC (model-view-controler), e dá suporte a internacionalização da aplicação, sendo que todos os labels das telas podem facilmente ser definidos em arquivos de propriedades, podendo ser criados um arquivo para cada língua que desejar. A camada intermediária é a de Serviço, ela é responsável pela implementação das regras de negócio da aplicação. Ela é implementada com componentes do tipo Session Bean, que funcionam como façade para os componentes de persistência e gerenciam o controle transacional e o acesso concorrente. Com isso tiramos a responsabilidade de implementação das regras de negócio das demais camadas, e também podemos facilmente distribuir a aplicação em diversos servidores. Podemos, por exemplo, ter um servidor para persistência e outro para as camadas de serviço e apresentação. A última camada é a de persistência, ela é responsável por todo acesso à base de dados. Usando componentes do tipo Entity Bean, abstraímos toda a complexidade do acesso a base de dados, deixando de trabalhar com linguagens de acesso aos dados (SQL) e passamos a trabalhar com objetos persistentes, ou seja, com esse tipo de componentes podemos trabalhar com uma base de dados relacional, como se fosse orientada a objetos. Aplicando o MDA No desenvolvimento da aplicação nós podemos identificar quais PSMs e modelos de código podem ser derivados e quais definições de transformações podem ser usadas para gerar os PSMs e o modelo de código. Todos os modelos MDA usados no exemplo são mostrados na figura abaixo. Os retângulos representam os modelos e as setas as transformações usadas.

15 Para iniciarmos o processo devemos construir um modelo de plataforma independente que compreenda o negócio da aplicação. Nosso PIM será um diagrama de classe UML. Esse será o único modelo a ser construído, os outros serão gerados. Cada camada usa uma tecnologia diferente e, portanto necessitamos de um modelo específico para cada camada (PSM). O primeiro modelo é um modelo relacional que descreve entidades e relacionamentos. O PSM para a camada intermediária, chamada de modelo EJB, é escrita em uma linguagem que é variante de UML. Ela usa classes, associações e assim por diante, como em UML, mas há um número de estereótipos definidos explicitamente para a plataforma EJB. O PSM para interface Web também é escrito por uma variante de UML. Essa linguagem usa estereótipos diferentes da variante UML utilizadas para o modelo EJB. Como três modelos PSMs precisam ser gerados, nós precisamos de três transformações de PIM para PSM: Transformação de PIM para modelo relacional: Essa transformação consiste em pegar o modelo de entrada e produzir um modelo escrito em termos de entidade-relacionamento

16 Transformação de PIM para modelo EJB: A transformação usa o PIM como entrada e escreve o modelo EJB com variantes UML usando estereótipos especiais para EJB. Transformação de PIM para modelo Web: O nosso modelo de entrada é o PIM novamente, a transformação utiliza variante UML agora com estereótipos especiais para a interface Web para gerar o modelo Web. Para cada PSM nós precisamos gerar código. O código foi incluído explicitamente para caber em nossa definição do modelo. Conseqüentemente, nós podemos falar dos modelos do código escritos em alguma linguagem de programação. Para a nossa aplicação exemplo nós temos três modelos de código, em SQL, Java e JSP. Conseqüentemente nós precisamos de três transformações de PSM para código: Transformação de modelo relacional para SQL: A transformação usa o modelo de entidade-relacionamento para gerar o modelo SQL. Transformação do modelo EJB para Java: Essa transformação pega o modelo EJB e produz um modelo Java. Transformação do modelo web para JSP e HTML: Essa transformação usa o modelo de web como entrada e escreve um modelo em JSP e HTML Tanto as transformações de PIM para PSM como de PSM para Modelo de códigos, são realizadas com base em templates que estão acoplados a ferramenta. Resultados e Conclusões Como nosso maior resultado tivemos um ganho de produtividade notável obtendo uma aplicação que atende aos mais conceituados padrões de qualidade e robustez, devido ao emprego de alguns padrões de desenvolvimento e a utilização de tecnologias bem conceituadas. Todo o processo de desenvolvimento foi direcionado a construção e refinamento do PIM, sendo que foram gerados automaticamente todos os demais modelos (ER, EJB e WEB). Durante toda a fase de design estes modelos permaneceram sincronizados, garantindo assim que nossa documentação de análise estivesse sempre atualizada, facilitando as alterações necessárias durante o desenvolvimento. Quase a totalidade do código necessário para nossa aplicação de exemplo foi gerada automaticamente, sendo que pequenas customizações foram necessárias,

17 especificamente para o cálculo do valor total para compra e venda, bem como a atualização do estoque para estes casos. Mas o que mais esperávamos com resultado deste estudo, é o real ganho de produtividade que uma tecnologia como MDA pode oferecer. Para termos uma visão mais realista deste possível ganho de produtividade, fizemos uma estimativa de horas, desconsiderando o uso de ferramentas de automatização do processo de desenvolvimento, mas considerando que teríamos uma equipe bem qualificada para o mesmo, bem como a estabilidade dos requisitos da aplicação. Para esta estimativa utilizamos a técnica de Use Case Points. Identificamos para nossa aplicação seis casos de uso, que são: Manter Vendedor. Manter Cliente. Manter Produto. Manter Fornecedor. Efetuar Compra. Efetuar Venda. Consideramos para esta estimativa que os casos de uso de 1 a 4 como sendo de complexidade simples, e os dois últimos de complexidade média. Levando em consideração todos estes parâmetros, e aplicando as regras determinadas pela técnica de Use Case Points chegamos a um total de 345 horas. Esta estimativa não é apenas para a construção da aplicação, mas sim para todo o processo de desenvolvimento de uma aplicação comercial. Dentre processo de desenvolvimento o MDA auxilia na parte de análise e design e construção. Estas duas etapas totalizam cerca de 275 horas. Com o auxilio de uma tecnologia como MDA foi possível reduzir o número de horas da etapa de análise, design e construção para cerca de 80 horas, considerando ainda a falta de experiência com a ferramenta escolhida, este número de horas poderia ser ainda mais reduzido se uma equipe mais experiente na ferramenta tivesse desenvolvido esta aplicação. Essa redução do número de horas trás vários benefícios a empresa de desenvolvimento, fazendo com que seu produto possa chegar antes ao mercado aumentando lucros e diminuindo custos. Porém devemos levar em consideração o fato de nossa aplicação ter em sua maioria características estáticas, uma vez que a ferramenta utilizada apesar de dar suporte aos modelos de representação das características dinâmicas não os utiliza na

18 geração do código, sendo que o mesmo teve que ser gerado manualmente, por isso acreditamos que à medida que complexidade aumente o ganho de produtividade decresça. São notáveis as vantagens que um framework como MDA trás ao processo de desenvolvimento de software. Como vimos durante o trabalho, podemos reduzir bastante o tempo de desenvolvimento, o que diminui os custos e possibilita que o produto chegue ao mercado ou ao cliente antecipadamente. Facilita também o gerenciamento da documentação, portabilidade, interoperabilidade e manutenção. Vale ressaltar que o MDA não é apenas um processo que pode ser facilmente adotado. Para que se tenha ganho total é necessário alguns subsídios que dão suporte ao desenvolvimento. O principal delas é a ferramenta escolhida. Já existem no mercado várias ferramentas que vendem este conceito. Algumas das ferramentas já estão bastante evoluídas, mas nenhuma delas aparentemente aborda MDA em sua totalidade. Em algumas delas nem todas as transformações estão previstas, em outras não é possível gerar código para o comportamento dinâmico da aplicação e há ainda aquelas em que não conseguimos gerar um modelo totalmente independente de plataforma. Apesar de ainda não implementar MDA em sua totalidade, acreditamos que em breve isso será possível, uma vez que as empresas estão investindo bastante nesta tecnologia e na evolução dos templates de transformação, que são à base do paradigma. Outra grande mudança em relação ao desenvolvimento como conhecemos hoje, são as pessoas que participam do processo. Cada vez mais será necessário ter pessoas que conheçam muito bem as regras de negócio da aplicação, e um número menor de pessoas, possivelmente menos especializadas para a codificação, visto que a maior parte do código será automatizado, com apenas customizações sendo feitas manualmente, e a medida que o processo e ferramentas amadurecerem, a tendência é que nenhuma customização manual seja necessária. A utilização da arquitetura MDA e ferramentas que implementam a mesma nos levam a conclusão que o código é importante, mas ele na verdade é resultado de uma transformação, isto é, o código é uma tradução da solução de negócio para determinado ambiente computacional, toda a inteligência de uma aplicação está nas suas regras de negócio.

19

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

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

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

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

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

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

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2 .:: Universidade Estadual de Maringá Bacharelado em Informática Eng. de Software III :. Sistema de Gerenciamento de Eventos - Equipe 09 EPSI Event Programming System Interface Metodologia e Gerenciamento

Leia mais

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma: 1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que

Leia mais

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de

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

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

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

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

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

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

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Luis Gustavo Zandarim Soares 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paraná PR Brasil luisgustavo@live.co.uk,

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

Modelo Cascata ou Clássico

Modelo Cascata ou Clássico Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação

Leia mais

Engenharia de Domínio baseada na Reengenharia de Sistemas Legados

Engenharia de Domínio baseada na Reengenharia de Sistemas Legados 1021 X Salão de Iniciação Científica PUCRS Engenharia de Domínio baseada na Reengenharia de Sistemas Legados Cássia Zottis¹, Profa. Dra. Ana Paula Terra Bacelo 1 (orientadora) 1 Faculdade de Informática,

Leia mais

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas PIM PROGRAMA DE INTEGRAÇÃO COM O MERCADO GUIA DE CURSO Tecnologia em Sistemas de Informação Tecnologia em Desenvolvimento Web Tecnologia em Análise e Desenvolvimento de Sistemas Tecnologia em Sistemas

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

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

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

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

Fábrica de Software 29/04/2015

Fábrica de Software 29/04/2015 Fábrica de Software 29/04/2015 Crise do Software Fábrica de Software Analogias costumam ser usadas para tentar entender melhor algo ou alguma coisa. A idéia é simples: compara-se o conceito que não se

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

MVC e Camadas - Fragmental Bliki

MVC e Camadas - Fragmental Bliki 1 de 5 20-03-2012 18:32 MVC e Camadas From Fragmental Bliki Conteúdo 1 Introdução 2 Camadas: Separação Entre Componentes 3 MVC: Interação Entre Componentes 4 Conclusão 5 Referências Introdução A Arquitetura

Leia mais

HIBERNATE EM APLICAÇÃO JAVA WEB

HIBERNATE EM APLICAÇÃO JAVA WEB HIBERNATE EM APLICAÇÃO JAVA WEB Raul Victtor Barbosa Claudino¹, Ricardo Ribeiro Rufino¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil victtor.claudino@gmail.com, ricardo@unipar.br Resumo: Este

Leia mais

USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE

USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE SUMÁRIO usando o izcode... 1 para gerar software rapidamente... 1 introdução... 2 o que é o izcode?... 2 Como funciona o izcode?... 2 os tipos diferentes

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

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

Disciplina: Suprimentos e Logística II 2014-02 Professor: Roberto Cézar Datrino Atividade 3: Transportes e Armazenagem

Disciplina: Suprimentos e Logística II 2014-02 Professor: Roberto Cézar Datrino Atividade 3: Transportes e Armazenagem Disciplina: Suprimentos e Logística II 2014-02 Professor: Roberto Cézar Datrino Atividade 3: Transportes e Armazenagem Caros alunos, Essa terceira atividade da nossa disciplina de Suprimentos e Logística

Leia mais

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação. ANEXO 11 O MATRIZ Para o desenvolvimento de sites, objeto deste edital, a empresa contratada obrigatoriamente utilizará o framework MATRIZ desenvolvido pela PROCERGS e disponibilizado no início do trabalho.

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

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

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

Processo de Desenvolvimento de Software. Engenharia de Software. nelmarpg@yahoo.com.br

Processo de Desenvolvimento de Software. Engenharia de Software. nelmarpg@yahoo.com.br Processo de Desenvolvimento de Software nelmarpg@yahoo.com.br 1 Objetivos Contextualizar Análise e Projeto de software dentro de uma metodologia de desenvolvimento (um processo de desenvolvimento de software)

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

Plano de Gerenciamento do Projeto

Plano de Gerenciamento do Projeto Projeto para Soluções Contábeis 2015 Plano de Gerenciamento do Projeto Baseado na 5ª edição do Guia PMBOK Brendon Genssinger o e Elcimar Silva Higor Muniz Juliermes Henrique 23/11/2015 1 Histórico de alterações

Leia mais

Guia de Especificação de Caso de Uso Metodologia CELEPAR

Guia de Especificação de Caso de Uso Metodologia CELEPAR Guia de Especificação de Caso de Uso Metodologia CELEPAR Agosto 2009 Sumário de Informações do Documento Documento: guiaespecificacaocasouso.odt Número de páginas: 10 Versão Data Mudanças Autor 1.0 09/10/2007

Leia mais

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA Autores: Claudiléia Gaio BANDT; Tiago HEINECK; Patrick KOCHAN; Leila Lisiane ROSSI; Angela Maria Crotti da ROSA Identificação autores: Aluna do Curso

Leia mais

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS PAULO ALBERTO BUGMANN ORIENTADOR: ALEXANDER ROBERTO VALDAMERI Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

Leia mais

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

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

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores

Leia mais

UM CONCEITO FUNDAMENTAL: PATRIMÔNIO LÍQUIDO FINANCEIRO. Prof. Alvaro Guimarães de Oliveira Rio, 07/09/2014.

UM CONCEITO FUNDAMENTAL: PATRIMÔNIO LÍQUIDO FINANCEIRO. Prof. Alvaro Guimarães de Oliveira Rio, 07/09/2014. UM CONCEITO FUNDAMENTAL: PATRIMÔNIO LÍQUIDO FINANCEIRO Prof. Alvaro Guimarães de Oliveira Rio, 07/09/2014. Tanto as pessoas físicas quanto as jurídicas têm patrimônio, que nada mais é do que o conjunto

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

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS O termo metodologia não possui uma definição amplamente aceita, sendo entendido na maioria das vezes como um conjunto de passos e procedimentos que

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo Bezerra. Editora Campus/Elsevier Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES

Leia mais

2 a Lista de Exercícios

2 a Lista de Exercícios Projeto de Sistemas 2011/2 2 a Lista de Exercícios (1) Um importante aspecto do projeto da camada de Lógica de Negócio (LN) diz respeito à organização das classes e distribuição de responsabilidades entre

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

Figura 1 - Arquitetura multi-camadas do SIE

Figura 1 - Arquitetura multi-camadas do SIE Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br

Leia mais

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Juarez Bachmann Orientador: Alexander Roberto Valdameri Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

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

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.

Leia mais

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert: BRAlarmExpert Software para Gerenciamento de Alarmes A TriSolutions conta com um produto diferenciado para gerenciamento de alarmes que é totalmente flexível e amigável. O software BRAlarmExpert é uma

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

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

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como: Plano de Teste (resumo do documento) I Introdução Identificador do Plano de Teste Esse campo deve especificar um identificador único para reconhecimento do Plano de Teste. Pode ser inclusive um código

Leia mais

PLANEJAMENTO ESTRATÉGICO

PLANEJAMENTO ESTRATÉGICO PLANEJAMENTO ESTRATÉGICO Este material resulta da reunião de fragmentos do módulo I do Curso Gestão Estratégica com uso do Balanced Scorecard (BSC) realizado pelo CNJ. 1. Conceitos de Planejamento Estratégico

Leia mais

EVOLUÇÃO DE SOFTWARE

EVOLUÇÃO DE SOFTWARE EVOLUÇÃO DE SOFTWARE Dinâmica da evolução de programas Manutenção de software Processo de evolução Evolução de sistemas legados 1 Mudança de Software 2 Manutenção de software Mudança de software é inevitável

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES Trabalho de Graduação Orientando: Vinicius Stein Dani vsdani@inf.ufsm.br Orientadora: Giliane

Leia mais

Introdução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br

Introdução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br Introdução a Banco de Dados Aula 03 Prof. Silvestri www.eduardosilvestri.com.br Arquiteturas de Banco de Dados Arquiteturas de BD - Introdução Atualmente, devem-se considerar alguns aspectos relevantes

Leia mais

Gerenciamento de software como ativo de automação industrial

Gerenciamento de software como ativo de automação industrial Gerenciamento de software como ativo de automação industrial INTRODUÇÃO Quando falamos em gerenciamento de ativos na área de automação industrial, fica evidente a intenção de cuidar e manter bens materiais

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

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Ferramenta de apoio a gerência de configuração de software Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Gerência de Configuração

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 1 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Apresenta a diferença entre dado e informação e a importância

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

O Processo de Desenvolvimento de Software

O Processo de Desenvolvimento de Software O Processo de Desenvolvimento de Software Objetivos Contextualizar Análise e Projeto de software dentro de uma metodologia de desenvolvimento (um processo de desenvolvimento de software) Um processo de

Leia mais

MODELO CMM MATURIDADE DE SOFTWARE

MODELO CMM MATURIDADE DE SOFTWARE MODELO CMM MATURIDADE DE SOFTWARE O modelo CMM Capability Maturity Model foi produzido pelo SEI (Software Engineering Institute) da Universidade Carnegie Mellon (CMU), em Pittsburgh, EUA, por um grupo

Leia mais

3. Fase de Planejamento dos Ciclos de Construção do Software

3. Fase de Planejamento dos Ciclos de Construção do Software 3. Fase de Planejamento dos Ciclos de Construção do Software A tarefa de planejar os ciclos de construção do software pode partir de diretrizes básicas. Estas diretrizes visam orientar que os ciclos de

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

6 Quarta parte logística - Quarterização

6 Quarta parte logística - Quarterização 87 6 Conclusão A concorrência aumentou muito nos últimos anos e com isso os clientes estão recebendo produtos com melhor qualidade e um nível de serviço melhor. As empresas precisam, cada vez mais, melhorar

Leia mais

NBC TSP 10 - Contabilidade e Evidenciação em Economia Altamente Inflacionária

NBC TSP 10 - Contabilidade e Evidenciação em Economia Altamente Inflacionária NBC TSP 10 - Contabilidade e Evidenciação em Economia Altamente Inflacionária Alcance 1. Uma entidade que prepara e apresenta Demonstrações Contábeis sob o regime de competência deve aplicar esta Norma

Leia mais

O Gerenciamento de Documentos Analógico/Digital

O Gerenciamento de Documentos Analógico/Digital Tipos de GED: Document imaging Document management Document Imaging / Document Management O Gerenciamento de Documentos Analógico/Digital Mundo analógico Criação Revisão Processamento Arquivo Mundo digital

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

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling DIMENSIONANDO PROJETOS DE WEB-ENABLING Uma aplicação da Análise de Pontos de Função Dimensionando projetos de Web- Enabling Índice INTRODUÇÃO...3 FRONTEIRA DA APLICAÇÃO E TIPO DE CONTAGEM...3 ESCOPO DA

Leia mais

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010. Visão Geral do Sistema Prof. Raul Sidnei Wazlawick UFSC-CTC-INE 2010 Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010. A fase de concepção do UP consiste

Leia mais

agility made possible

agility made possible RESUMO DA SOLUÇÃO Utilitário ConfigXpress no CA IdentityMinder a minha solução de gerenciamento de identidades pode se adaptar rapidamente aos requisitos e processos de negócio em constante mudança? agility

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

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG Marco T. A. Rodrigues*, Paulo E. M. de Almeida* *Departamento de Recursos em Informática Centro Federal de Educação Tecnológica de

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

15 Computador, projeto e manufatura

15 Computador, projeto e manufatura A U A UL LA Computador, projeto e manufatura Um problema Depois de pronto o desenho de uma peça ou objeto, de que maneira ele é utilizado na fabricação? Parte da resposta está na Aula 2, que aborda as

Leia mais

Unidade II MODELAGEM DE PROCESSOS

Unidade II MODELAGEM DE PROCESSOS Unidade II 3 MODELAGEM DE SISTEMAS 1 20 A fase de desenvolvimento de um novo sistema de informação (Quadro 2) é um momento complexo que exige um significativo esforço no sentido de agregar recursos que

Leia mais

Síntese das discussões do fórum Livro-APF: Julho/2010

Síntese das discussões do fórum Livro-APF: Julho/2010 Síntese das discussões do fórum Livro-APF: Julho/2010 Assunto: Estimativa de Aumento de Produtividade Data: 01/07/2010 Link: http://br.groups.yahoo.com/group/livro-apf/message/2577 Dúvida: Existe alguma

Leia mais

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD Acadêmico: Maicon Klug Orientadora: Joyce Martins Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento do trabalho Conclusão Extensões

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

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

Gestão de Relacionamento com o Cliente CRM

Gestão de Relacionamento com o Cliente CRM Gestão de Relacionamento com o Cliente CRM Fábio Pires 1, Wyllian Fressatti 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil pires_fabin@hotmail.com wyllian@unipar.br RESUMO. O projeto destaca-se

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento HOME O QUE É TOUR MÓDULOS POR QUE SOMOS DIFERENTES METODOLOGIA CLIENTES DÚVIDAS PREÇOS FALE CONOSCO Suporte Sou Cliente Onde sua empresa quer chegar? Sistemas de gestão precisam ajudar sua empresa a atingir

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