UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software
|
|
- Luiz de Lacerda Bento
- 8 Há anos
- Visualizações:
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 Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.
Leia mais2 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 maisAná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 maisConteú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 mais2 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 maisNa 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 maisEngenharia 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 maisMetodologia 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 maisApesar 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 maisCapí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 maisTó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 maisENGENHARIA 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 maisPROCESSO 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 maisDocumento 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 maisFeature-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 mais3 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 maisUma 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 maisProjeto 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 maisModelo 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 maisEngenharia 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 maisGUIA 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 maisIntroduçã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 maisALESSANDRO 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 maisUNIVERSIDADE 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 maisUm 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 maisFá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 mais5 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 maisMVC 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 maisHIBERNATE 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 maisUSANDO 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 maisDesenvolvendo 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 mais4 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 maisDisciplina: 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 maisANEXO 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 maisOrientaçã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 maisAula 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 maisWilson 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 maisProcesso 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 maisAUTOR: 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 maisPlano 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 maisGuia 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 maisAPLICATIVO 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 maisFERRAMENTA 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 maisARCO - 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 mais3.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 maisUnidade 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 maisUM 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 maisAná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 maisMÓ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 maisEduardo 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 mais2 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 maisPRODUTO 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 maisFigura 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 maisAplicativo 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 maisLINGUAGEM 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 maisEntendendo 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 maisEngenharia 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 maisEngenharia 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 maisBRAlarmExpert. 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 maisDadas 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 mais1 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 maisRoteiro 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 maisReferê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 maisPLANEJAMENTO 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 maisEVOLUÇÃ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 mais04/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 maisDESENVOLVIMENTO 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 maisIntroduçã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 maisGerenciamento 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 maisUNIVERSIDADE 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 maisFerramenta 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 mais04/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 maisSistemas 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 maisO 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 maisMODELO 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 mais3. 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 maisSemâ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 mais6 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 maisNBC 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 maisO 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 mais3 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 maisDIMENSIONANDO 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 maisProf. 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 maisagility 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 maisSISTEMA 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 maisSistema 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 maisUML 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 mais15 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 maisUnidade 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 maisSí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 maisGERADOR 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 maisUML - 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 maisConceitos 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 maisGestã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 maisGovernanç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 maisHardware (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 maisO 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 maisPara 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