Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática

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

Download "Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática"

Transcrição

1 Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Aspectos importantes de uma metodologia para desenvolvimento de software com objetos distribuídos Juliana Pelandré Gravena TG Maringá - Paraná Brasil

2 Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática i Aspectos importantes de uma metodologia para desenvolvimento de software com objetos distribuídos Juliana Pelandré Gravena TG Trabalho de Graduação apresentado ao Curso de Ciência da Computação, do Centro de Tecnologia, da Universidade Estadual de Maringá. Orientadora: Profa. Dra. Elisa Hatsue Moriya Huzita Maringá - Paraná 2000

3 ii Juliana Pelandré Gravena Aspectos importantes de uma metodologia para desenvolvimento de software com objetos distribuídos Este exemplar corresponde à redação final da monografia aprovada como requisito parcial para obtenção do grau de Bacharel em Ciência da Computação da Universidade Estadual de Maringá, pela comissão formada pelos professores: Orientadora: Profa. Dra. Elisa Hatsue Moriya Huzita Departamento de Informática, CTC, DIN Profa. Dra. Tânia Fátima Calvi Tait Departamento de Informática, CTC, DIN Profa. Maria Madalena Dias Departamento de Informática, CTC, DIN Maringá, Dezembro de 2000

4 iii Agradecimentos Agradeço primeiramente a Deus que permitiu a conclusão de mais essa fase na minha vida. Agradeço a minha família, especialmente a minha mãe Joana, a minha irmã Beatriz e aos meus avós Francisco e Maria, pelo apoio, incentivo e paciência durante o tempo em que precisei me dedicar para a realização dos trabalhos. Sei que muitas vezes me tornei ausente e distante principalmente quando estava preocupada com os estudos. Agradeço, ao Danillo que foi o maior incentivador, e a pessoa mais presente não só no desenvolvimento desse trabalho, mas durante toda a graduação. E nas horas mais difíceis onde eu queria mesmo era desistir, lá estava ele para me dar forças para continuar. Que Deus permita que um dia eu possa retribuir tudo o que ele foi e continua sendo para mim. Aos amigos que fiz durante esses 4 anos, e que continuarão sempre presentes nos meus pensamentos especialmente: Luciano, Paulinha, Renato, Dequech, Gustavo, Suzete e Daniella Patricia sei que agora cada um segue seu caminho e esses anos da graduação vão ficar para trás, mas com certeza não serão esquecidos. Houve muitos momentos de realizações e de uma forma ou de outra chegamos ao fim dessa fase. Desejo boa sorte a todos e um futuro de sucesso. A minha orientadora Profa. Elisa Hatsue Moriya Huzita, pelo apoio, paciência e esforço dedicados no desenvolvimento desse trabalho. Aos professores Marcio Eduardo Delamaro e Edmundo Sérgio Spoto, que além de professores tornaram-se grandes amigos e com certeza vão estar sempre nas minhas lembranças. Aprendemos nessa vida que a verdadeira amizade se conquista através das ações e sinceridades embora muitas vezes só nos resta lembrar que foi bom o pouco que durou.

5 iv Resumo A busca por inovações, os avanços tecnológicos e a utilização de aplicações cada vez mais complexas têm impulsionado os estudos referentes a sistemas distribuídos. Percebendo o interesse por parte da comunidade de engenharia de software, emergente no que se refere a esse tipo de sistemas, surgiu a motivação pelo estudo das características e problemas de um sistema distribuído com o objetivo de propor uma representação adequada aos modelos elaborados durante o processo de desenvolvimento dos mesmos. Assim, foram efetuados estudos de metodologias para desenvolvimento de software, em particular: Unified Software Development Process e MOOPP (Metodologia Orientada a objeto para processamento paralelo), afim de, analisar os recursos oferecidos pelas mesmas para tratar os aspectos relacionados a sistemas distribuídos. Dentre as adequações a serem realizadas foram propostas as fases para um processo de desenvolvimento de software distribuído, bem como as atividades importantes em cada uma dessas fases. Além disso, foi proposta uma representação adequada, pelo nosso entendimento, levando em consideração as características de um sistema distribuído. Como forma de validar essas adequações foi especificado um sistema de controle de eventos científicos, como exemplo.

6 v Abstract The search for innovations, the technological progresses and the use of applications more and more complex they have been impelling the referring studies to distributed systems. The growing use of nets of computers that come happening due to the increase in the search for innovations, to the technological progresses and the use of applications more and more complex have been impelling the referring studies to distributed systems. The emergent interest of that type of systems have motivated studies about the characteristics and problems of a distributed system with the aim to proposing a more adequate representation for the models that will be elaborated during development of them. Studies of methodologies for software development, were made in particular by: Unified Software Development Process and MOOPP, aiming to evaluate the resources offered by them regard to the aspects of distributed systems. Among the adaptations that will accomplished, the definition of the phase for a process of development of distributed software were proposed, as well as the main activities in each one. Besides, an appropriate representation was proposed taking in account the characteristics of a distributed system. Finally, case study was accomplished aiming to validate the adaptations, which were proposed.

7 vi Índice 1.INTRODUÇÃO MOTIVAÇÃO OBJETIVOS DO TRABALHO ORGANIZAÇÃO DO TRABALHO 3 2. SISTEMAS DISTRIBUÍDOS INTRODUÇÃO ESTRUTURA BÁSICA DE UM SISTEMA DISTRIBUÍDO PRINCIAPAIS CARACTERÍSTICAS SUPORTE AOS RECURSOS COMPARTILHADOS MAIOR GRAU DE ABERTURA DO SISTEMA CONCORRÊNCIA TOLERÂNCIA A FALHAS TRANSPARÊNCIA PRINCIPAIS PROBLEMAS PROBLEMAS DE COMIUNICAÇÃO PROBLEMAS DE SINCRONIZAÇÃO QUEDAS CONSIDERAÇÕES FINAIS 9 3.OBJETOS DISTRIBUÍDOS E COMPONENTES INTRODUÇÃO OBJETOS DISTRIBUÍDOS PRINCIPAIS CARACTERÍSTICAS DOS OBJETOS DISTRIBUÍDOS TENDÊNCIAS DESENVOLVIMENTO BASEADO EM COMPONENTES CARACTERÍSTICAS DE UM COMPONENTE 14

8 vii ALGUMAS VANTAGENS DA UTILIZAÇÃO DE COMPONENTES CONSIDERAÇÕES FINAIS METODOLOGIAS DE DESENVOLVIMENTO DE SOFTWARE PROCESSO DE DESENVOLVIMENTO DE SOFTWARE UNIFIED PROCESS PRINCIPAIS CARACTERÍSTICAS CICLO DE VIDA DO UNIFIED PROCESS MODELOS MOOPP FASES CONSIDERAÇÕES FINAIS MDSODI INTRODUÇÃO FASES REQUISITOS ANÁLISE PROJETO IMPLEMENTAÇÃO TESTES REPRESENTAÇÕES SISTEMA EXEMPLO ESPECIFICAÇÃO DO SISTEMA EXEMPLO DIAGRAMA DE DOMÍNIO DIAGRAMAS DE USE-CASES DIAGRAMA DE CLASSES DIAGRAMA DE SUBSISTEMAS DIAGRAMAS DE COLABORAÇÃO DIAGRAMAS DE SEQUÊNCIA 55

9 viii 6. CONCLUSÕES 61 REFERÊNCIAS BIBLIOGRÁFICAS 63 BIBLIOGRAFIA 64 APÊNDICE A A.1 A.1 CÓDIGO DO CADASTRO DO SISTEMA DE CONTROLE DE EVENTOS A.1

10 ix Índice de figuras Figura 2.1 Estrutura básica de um sistema distribuído 5 Figura 4.1- Ciclo de vida do Unified Software Development Process 20 Figura 4.2- Objetos exclusivos 25 Figura 4.3- Objetos parcialmente paralelos 25 Figura 4.4 Objetos totalmente paralelos 26 Figura 4.5 Classes exclusivas 26 Figura 4.6 Ciclo de vida 26 Figura 5.1 Modelo de domínio 43 Figura 5.2 Controle de reservas 44 Figura 5.3 Emissão de relatório final 45 Figura 5.4 Controle da programação para divulgação do evento 45 Figura 5.5 Confecção de anais 46 Figura 5.6 Controle de presença para emissão de certificados 46 Figura 5.7 Submissão de trabalhos e cadastro de trabalhos aceitos 46 Figura 5.8 Cadastro de participantes e emissão de crachás 47 Figura 5.9 Controle financeiro 47 Figura 5.10 Diagrama de classes 49 Figura 5.11 Diagrama de subsistemas 50 Figura 5.12 Diagrama de colaboração cadastrar participantes 51 Figura 5.13 Diagrama de colaboração confeccionar anais 51 Figura 5.14 Diagrama de colaboração contabilizar despesas 52 Figura 5.15 Diagrama de colaboração contabilizar presença 52 Figura 5.16 Diagrama de colaboração contabilizar receitas 52 Figura 5.17 Diagrama de colaboração controlar programação 53 Figura 5.18 Diagrama de colaboração distribuir trabalhos 53 Figura 5.19 Diagrama de colaboração emitir certificados 53 Figura 5.20 Diagrama de colaboração emitir crachás 54 Figura 5.21 Diagrama de colaboração emitir relatório final 54

11 x Figura 5.22 Diagrama de colaboração reservar hotel 54 Figura 5.23 Digrama de colaboração reservar passagens 55 Figura 5.24 Diagrama de colaboração selecionar trabalhos 56 Figura 5.25 Diagrama de seqüência cadastrar participantes 56 Figura 5.26 Diagrama de seqüência confeccionar anais 56 Figura 5.27 Diagrama de seqüência contabilizar despesas 56 Figura 5.28 Diagrama de seqüência contabilizar presença 57 Figura 5.29 Diagrama de colaboração contabilizar receitas 52 Figura 5.30 Diagrama de seqüência controlar programação 57 Figura 5.31 Diagrama de seqüência distribuir trabalhos 58 Figura 5.32 Diagrama de seqüência emitir certificados 58 Figura 5.33 Diagrama de seqüência emitir crachás 58 Figura 5.34 Diagrama de seqüência emitir relatório final 59 Figura 5.35 Diagrama de seqüência reservar hotel 59 Figura 5.36 Digrama de seqüência reservar passagens 60 Figura 5.37 Diagrama de seqüência selecionar trabalho 60

12 xi Índice de tabelas Tabela 5.1 Ordem de execução de use-cases seqüenciais 31 Tabela 5.2 Tabela comparativa entre os tipos de use-cases 36 Tabela 5.3 Tabela comparativa entre os tipos de atores 37 Tabela 5.4 Tabela comparativa entre os tipos de classes 38 Tabela 5.5 Tabela comparativa entre os tipos de relacionamentos 41 Tabela 5.6 Ordem de execução dos use-cases seqüências 44

13 1 Capítulo 1 Introdução 1.1 Motivação Atualmente, tem se deixado de lado, ou pelo menos diminuído, o interesse por aplicações monousuário e a atuação tem se voltado em direção a aplicações que envolvem a utilização de redes de computadores. Isso vem ocorrendo, principalmente devido ao aumento na procura por inovações, pelos avanços tecnológicos que têm ocorrido bem como ao desenvolvimento e utilização de aplicações cada vez mais complexas. Nesse contexto o estudo relacionado ao desenvolvimento de sistemas distribuídos, tem se tornado cada vez mais atraente. Sistemas distribuídos consistem em uma coleção de computadores autônomos ligados por uma rede, buscando-se desta forma coordenar as atividades, de maneira eficiente, além de propiciar o compartilhamento de recursos [Cou96]. Esse tipo de sistema suporta um número muito maior de aplicações quando comparado aos sistemas monousuários, o que vem intensificando sua utilização. A eficiência desses sistemas em comparação com os sistemas convencionais pode ser notada pelas características diferenciadas que os mesmos proporcionam: (i) suporte aos recursos compartilhados quer sejam de hardware quanto de software; (ii) maior grau de abertura do sistema permitindo a inclusão ou exclusão de serviços compartilhados sem prejudicar a performance do sistema; (iii) tolerância a falhas tanto de hardware quanto de software; (iv) transparência permitindo que o usuário utilize as vantagens de se trabalhar com um sistema distribuído, mas visualize o sistema como uma única máquina e (v) concorrência o que permite que mais de um programa seja executado simultaneamente.

14 2 Contudo, como não poderia deixar de ser, apresentam alguns problemas que na maioria das vezes chegam a ser mais complexos do que os que ocorrem com os sistemas convencionais. Esses problemas, devem ser tratados diferenciadamente, a fim de evitar maiores complicações futuras. São eles: (i) problemas de comunicação: os computadores precisam se comunicar para executarem suas tarefas para isso é necessário a utilização de mecanismos específicos, síncronos ou assíncronos; (ii) sincronização: em um sistema distribuído as tarefas podem ocorrer concorrentemente sendo portanto, importante delimitar o início e o fim de tarefas que concorrem na utilização de recursos e (iii) quedas: é importante entender os tipos de mecanismos que podem ser utilizados na recuperação de um sistema distribuído. Portanto projetistas devem considerar esses aspectos quando do desenvolvimento de software distribuído. A comunidade de engenharia de software tem se preocupado no longo dos tempos, em desenvolver estudos a fim de oferecer técnicas/ferramentas adequadas que ofereçam o suporte necessário ao desenvolvimento de software de acordo com diferentes paradigmas. Esta trajetória teve início com a abordagem estruturada, a abordagem OO, a abordagem baseada em componentes e com fortes tendências a ser baseada em agentes. Os estudos realizados mostraram a importância da utilização do paradigma de orientação a objetos, conceitos de sistemas baseados em componentes e objetos distribuídos [Bro97], [Orf96], [Huz95], [Jac99], [Sam98] para o desenvolvimento de sistemas distribuídos. Isso se deve ao fato de que os mesmos proporcionam recursos, tais como: reusabilidade, composição, extensibilidade e portabilidade, que permitem atender as características desse tipo de sistema. Logo, percebe-se a importância da utilização de uma metodologia de desenvolvimento de software, adequada para a especificação de tais tipos de sistemas, principalmente devido a sua complexidade.

15 3 1.2 Objetivos do trabalho O objetivo geral do trabalho é propor a definição de um método de desenvolvimento de software, que permita representar os aspectos importantes a serem considerados no desenvolvimento de software distribuído. Além da metodologia o trabalho também propõe representações gráficas para a elaboração de modelos gerados durante o desenvolvimento de software. Como forma de validar a metodologia proposta é apresentado um sistema exemplo, especificado segundo a proposta. 1.3 Organização do trabalho No capítulo 02 são apresentados os conceitos básicos sobre sistemas distribuídos; suas características e seus problemas. No capítulo 03 estão apresentados os conceitos relacionados a objetos distribuídos e componentes, associando-os às características dos sistemas distribuídos. No capítulo 04 são apresentados os conceitos de processo de desenvolvimento de software e como uma visão geral das metodologias estudadas: Unified Software Development Process e MOOPP (Metodologia orientada a objeto para processamento paralelo). No capítulo 05 é apresentada a proposta da Metodologia para Desenvolvimento de Software Distribuído MDSODI; suas fases e as propostas de representações. Além disso, é especificado um sistema exemplo. No capítulo 06 é apresentada a conclusão do presente trabalho. No apêndice A é apresentada implementação da parte referente ao cadastro do sistema exemplo, implementado em Java.

16 4 Capítulo 2 Sistemas Distribuídos 2.1 Introdução Sistemas distribuídos consistem em uma coleção de computadores autônomos ligados por uma rede, buscando-se desta forma coordenar as atividades, de maneira eficiente, além de propiciar o compartilhamento de recursos, quer sejam de hardware ou de software [Cou96]. A crescente utilização de redes de computadores, assim como de computadores cada vez mais potentes aliados ao desenvolvimento de aplicações mais complexas contribuíram para impulsionar o interesse por estudos relacionados a software distribuído. Um outro fator que vem popularizando a utilização dos sistemas distribuídos é o fato do mesmo oferecer suporte a diversos tipos de aplicações: aplicações comerciais concorrentes, demais aplicações que trabalhem com acesso concorrente às informações em banco de dados, aplicações que envolvem compartilhamento de informações, entre outras. 2.2 Estrutura básica de um sistema distribuído Um sistema distribuído é constituído basicamente por: servidores de arquivo, computadores pessoais, estações de trabalho e outros servidores, como por exemplo, impressão e login ligados em rede. A Figura 2.1, apresentada a seguir, extraída de [Cou96] ilustra simplificadamente a estrutura de um sistema distribuído.

17 5 estação de trabalho estação de trabalho estação de trabalho estação de trabalho computador pessoal LAN (Local Area Network) computador pessoal computador pessoal WAN (Wide Area Network) servidores de arquivo servidores de login, impressão e outros computador pessoal Figura 2.1-Estrutura básica de um sistema distribuído 2.3 Principais características Os sistemas distribuídos se distinguem dos tradicionais, basicamente, devido às características descritas a seguir Suporte aos recursos compartilhados Permitem que recursos tanto de hardware, como impressoras, scanner, ou mesmo de software, sejam utilizados de forma compartilhada entre os usuários. É interessante lembrar que esse compartilhamento de recursos é permitido entre todos os usuários que estejam conectados ao sistema, o que oferece muitas vantagens, sendo as principais: compartilhamento de recursos de custo elevado entre os usuários e compartilhamento de dados que sejam de interesse comum a mais de um usuário.

18 Maior grau de abertura do sistema Os sistemas distribuídos permitem que novos serviços compartilhados possam ser adicionados sem com isso prejudicar os serviços existentes. Essa característica, torna o sistema receptivo a modificações, mais flexível que os sistemas convencionais, sem que para isso sejam necessárias modificações complexas no sistema. Segundo [Cou96] um sistema aberto apresenta algumas características: possuírem interface pública e poderem ser construídos a partir de hardware e software de diferentes fornecedores, sem com isso acarretar problemas para o sistema Concorrência Os processos em um sistema distribuído podem trabalhar concorrentemente e paralelamente, o que permite a execução de vários programas simultaneamente, sem com isto afetar o desempenho do sistema. A concorrência, segundo [Bac97], pode ocorrer de duas formas: As atividades concorrentes podem trabalhar de forma conjunta, cooperando para atingir um objetivo comum; Em outros casos as atividades concorrentes são completamente independentes e têm seus métodos executados em um sistema comum e assim, precisarão competir para a utilização dos recursos. Quando se trata de concorrência em sistemas distribuídos deve-se tratar os aspectos relacionados à sincronização. Os acessos que ocorrem de forma concorrente assim como as atualizações feitas em recursos compartilhados devem ser atividades sincronizadas. Com a utilização dos clocks objetiva-se evitar falhas na execução das tarefas concorrentes, delimitando o ponto inicial e final de execução.

19 Tolerância a falhas Diferente de um sistema centralizado onde o sistema se torna não disponível frente a uma falha de hardware, nesses sistemas o usuário pode simplesmente mudar de estação e continuar a realização de suas atividades normalmente, a partir do ponto em que estava quando a falha ocorreu. A recuperação de falhas de software, utiliza a técnica conhecida como rollback, que permite que o estado em que o sistema se encontrava possa ser recuperado a partir do ponto em que estava quando uma falha foi detectada. Essas facilidades de recuperação impulsionam o uso de tais sistemas, principalmente por facilitar a manutenção da integridade das informações com as quais se está trabalhando Transparência Segundo [Cou96] a transparência em um sistema distribuído permite ao usuário enxergar um sistema distribuído como uma única máquina e não como uma coleção de componentes independentes. Isso faz com que o sistema apresente um desempenho melhor quando comparado aos sistemas de tempo compartilhado (timesharing) que possuam apenas um processador. Segundo o Manual da Ansa [Cou96], existem oito formas de transparências que podem ocorrer. As duas formas mais importantes, principalmente quando se trata de um sistema distribuído são: transparência de acesso e transparência de localização, as quais estão brevemente descritas a seguir: Transparência de acesso: permite que as informações de objetos, independentemente de sua localização, sejam acessadas através de operações similares; Transparência de localização: permite que se acesse informações de objetos sem que para isso seja necessário saber a respeito de sua localização no sistema.

20 8 2.4 Principais problemas Apesar de suportar um domínio muito maior de aplicações do que os sistemas monousuários, os sistemas distribuídos também apresentam problemas que, na grande maioria das vezes, quando ocorrem, são mais complexos, e por isso precisam ser tratados diferentemente. Os principais estão apresentados, sucintamente, a seguir: Problemas de comunicação Para executarem suas tarefas os sistemas distribuídos precisam se comunicar. Para isso faz-se necessário a utilização de mecanismos específicos para a transmissão dos dados. Os mecanismos podem ser de dois tipos: Síncronos: corresponde aos casos onde o emissor espera depois de transmitir uma mensagem até que o receptor realize uma operação de recepção. Um processamento seqüencial, como o caso de processamento de uma fila é um tipo de mecanismo que trabalha sincronamente; Assíncronos: nesse tipo de mecanismo a mensagem é colocada em uma fila de mensagens esperando que o receptor aceite-as e enquanto isto o processo emissor pode realizar a transmissão de outras mensagens. As ferramentas de trabalham de forma assíncrona Problemas de sincronização A possibilidade de compartilhamento de recursos oferecida pelos sistemas distribuídos, bem como a concorrência, podem levar a problemas de sincronização. A utilização de recursos compartilhados exige mecanismos que controlem a execução das tarefas. Assim, por exemplo, a execução de uma tarefa em um processo que depende de resultados ou recursos oriundos de outra tarefa só poderá ocorrer quando os mesmos estiverem disponíveis, resultando assim na sincronização entre os processos.

21 9 Muitas vezes pode-se ter associado à sincronização temporizadores altamente precisos, que podem gerar interrupção a fim de controlar a execução das tarefas. Isso pode ser associado à ordem de clocks que o sistema operacional pode estar submetido. A precisão do temporizador utilizado é um fator essencial já que qualquer falha, por menor que seja, pode afetar a execução dos processos Quedas Como os sistemas envolvem a utilização de mais de um recurso simultaneamente, conseqüentemente, está mais propenso a quedas. Para que o usuário obtenha maior segurança é importante a utilização de mecanismos que facilitem a recuperação de um sistema distribuído, após essas quedas. A recuperação pode ser em nível de hardware, ou de software. Em nível de hardware ocorreria de forma a permitir que o usuário continue seu trabalho no ponto em que estava em outra máquina. Já em nível de software, proporciona ao usuário que o mesmo recupere a tarefa a partir do ponto em que estava antes da falha, e possa prosseguir seu trabalho. 2.5 Considerações finais Como se pode perceber é crescente o interesse por estudos em sistemas distribuídos e a principal justificativa para isso, são as características diferenciadas quando comparados aos sistemas monousuários. As características e os problemas apresentados mostram que os sistemas distribuídos são bastante complexos o que conseqüentemente fica refletido também no desenvolvimento do software que daria suporte aos usuários. Assim, observa-se a necessidade de tratar aspectos desse tipo de sistema já nas fases iniciais do projeto. Neste trabalho consideram-se os seguintes aspectos de um sistema distribuído: paralelismo/concorrência, distribuição, comunicação e sincronização.

22 10 Capítulo 3 Objetos Distribuídos e Componentes 3.1 Introdução O trabalho em questão trata de sistemas distribuídos, que não é um tipo de sistema simples, na verdade, pelo contrário, trata-se de sistemas bastante complexos, como se pode perceber pelas características e problemas expostos no capítulo 02. Pensando nesses aspectos, da complexidade e da compatibilidade de características buscou-se conceitos/ tecnologias que oferecessem o suporte necessário aos sistemas descritos. A utilização de conceitos de orientação a objeto associados a componentes e objetos distribuídos mostraram-se propícios para o desenvolvimento do trabalho, conforme se observa nos parágrafos que se seguem. Segundo [HUZ95] a abordagem OO permite uma exploração implícita do paralelismo, o que está intimamente relacionado ao encapsulamento de dados, oferece mecanismos para tratar da sincronização entre objetos além do que proporciona suporte a concorrência. Como se pode perceber, essas características estão intimamente relacionadas aos sistemas distribuídos. A metodologia OO proporciona uma série de outras vantagens, sendo as principais: facilidade de aplicar técnicas de reusabilidade, facilidade de manutenção, proximidades das situações com eventos do mundo real, modularidade e extensibilidade. Em se tratando de um sistema distribuído, cada parte que o compõe pode ser entendida como um componente organizado de forma distribuída no sistema, por esse motivo, percebemos uma conveniência em se adotar técnicas de objetos distribuídos e desenvolvimento baseado em componentes (CBD), no presente trabalho.

23 Objetos distribuídos Objetos distribuídos são na verdade objetos que se encontram distribuídos pela rede, que interagem e se comunicam de alguma forma. Esse conceito nos permite associar técnicas de objetos distribuídos aos sistemas distribuídos. Segundo [Wei98] A tecnologia de objetos distribuídos é capaz de revolucionar a computação cliente servidor, por produzir software com desenvolvimento rápido e fácil por parte dos programadores, que sejam de fácil utilização pelos usuários e de fácil gerenciamento pelos administradores do sistema. Assim, a tecnologia de objetos distribuídos permite a criação de sistemas cliente/ servidor mais flexíveis, visto que os dados são encapsulados nos objetos que ficam distribuídos pela rede, o que facilita a localização destes em qualquer parte do sistema Principais características dos objetos distribuídos Um objeto possui muitas características que favorecem a sua utilização quando se pensa em especificação e implementação de um sistema. As principais são: encapsulamento, abstração, herança, polimorfismo e principalmente o reuso. Existem também muitos outros motivos, particulares à distribuição dos objetos que tornam interessante associar objetos distribuídos a sistemas distribuídos. Segundo [SAM98], [Orf96] os principais seriam: Flexibilidade e distribuição dos dados: tudo o que se refere a dados são encapsulados dentro dos objetos, permitindo-se dessa forma que seja localizado em qualquer parte de um sistema distribuído, por qualquer outro objeto ou processo. Isso aumenta a interação entre os objetos já que a informação não fica restrita a um local específico, ao contrário, pode ser acessado em qualquer parte da rede onde o objeto estiver localizado;

24 12 Independência da plataforma e do sistema operacional: permite que um mesmo objeto tenha seus métodos executados em diferentes plataformas e diferentes sistemas operacionais; Independência no gerenciamento de informações: os objetos ficam distribuídos em locais variados na rede, o que lhe confere a independência no sentido de que cada qual pode se auto-gerenciar, além de gerenciar os recursos sob seu controle. Um outro fator associado à independência é o fato de se poder alterar ou mesmo modificar a localização de um objeto sem que isso afete seu desempenho no sistema como um todo; Transparência: os clientes não precisam de informações a respeito de onde o objeto se localiza ou mesmo em que sistema operacional é executado, pode ser na mesma máquina ou em qualquer outra distribuída pela rede, sem interferir no desempenho; Interoperabilidade entre os objetos, independente dos sistemas operacionais; Reuso em outra aplicação, sem a necessidade de mudanças significativas Tendências Em um sistema distribuído, a comunicação, a independência de plataformas e a interoperabilidade são aspectos importantes que devem ser considerados. Embora a tecnologia de objetos distribuídos ofereça recursos para dar suporte a essas características, é necessário a utilização de um padrão de comunicação. Os padrões foram desenvolvidos buscando facilitar e melhorar a qualidade da interação entre os diversos objetos distribuídos pela rede. Com base nisso os padrões estabelecem regras de como criar, armazenar e definir objetos de forma a facilitar a comunicação mesmo que em ambientes distintos.

25 13 Na luta pela padronização alguns grandes grupos lideram o mercado, sendo eles a Sun Microsytsem desenvolvedora da JINI [Orf96], a Microsoft desenvolvedora da arquitetura DCOM 1 [Orf96], a OMG 2 que desenvolveu a arquitetura CORBA 3 [Orf96], entre outras. A arquitetura JINI é um ambiente de computação distribuído, trata-se de um grupo de clientes e serviços que se comunicam através de protocolos JINI. É um conjunto de aplicações escritas em Java que se comunicam através de Java RMI 4. Sua utilização é interessante visto que facilita a utilização de objetos distribuídos associados à linguagem Java. O padrão DCOM utiliza o COM 5 como meio de comunicação entre os objetos distribuídos pela rede. Aqui, é interessante ressaltar que enquanto o CORBA pode ser utilizado em qualquer plataforma sem grandes problemas o DCOM apresenta deficiências quando utilizado em um sistema operacional diferente do Windows. O padrão CORBA vem sendo o mais utilizado atualmente. Utiliza como elo de comunicação um ORB 6 através do qual especifica uma arquitetura completa para a comunicação entre quaisquer objetos distribuídos pela rede. Isto faz com que o CORBA venha se tornando um padrão, principalmente pela sua flexibilidade e portabilidade, características importantes quando se fala em objetos distribuídos. A arquitetura CORBA oferece alguns componentes, sendo um deles a IDL (linguagem de definição de interface) estabelecida pela OMG, e tem como função especificar os objetos, definindo sua interface. É estabelecido um padrão no desenvolvimento das interfaces dos objetos, o que permite que a comunicação entre os objetos seja realizada independente da linguagem de programação utilizada na implementação. 1 DCOM- Distributed Commom Object Model 2 OMG- Object Managment Group 3 CORBA- Commom Object Request Broker Architeture 4 RMI- Remote Method Invocation 5 COM- Component Object Model 6 ORB- Object Request Broker

Unified Process. Sueleni Mendez Batista. Orientadora: Dra. Elisa Hatsue Moriya Huzita

Unified Process. Sueleni Mendez Batista. Orientadora: Dra. Elisa Hatsue Moriya Huzita Unified Process Sueleni Mendez Batista Orientadora: Dra. Elisa Hatsue Moriya Huzita Processo de Desenvolvimento de Software 8O processo de desenvolvimento de software é um conjunto de atividades e resultados

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 III

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

Leia mais

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia

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

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

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

Leia mais

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

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

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

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

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

Leia mais

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

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

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

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

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

Considerações no Projeto de Sistemas Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis

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

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

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

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

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

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

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

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

Leia mais

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com PMBoK Organização do Projeto Os projetos e o gerenciamento

Leia mais

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

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

Leia mais

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

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

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

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

O Processo Unificado: Captura de requisitos

O Processo Unificado: Captura de requisitos O Processo Unificado: Captura de requisitos Itana Gimenes Graduação em Informática 2008 Captura de Requisitos Modelagem do negócio: Visão de negócios Modelo de objetos de negócio de negócio Especificação

Leia mais

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

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

Leia mais

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

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

Leia mais

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior MRP II Introdução A lógica de cálculo das necessidades é conhecida há muito tempo Porém só pode ser utilizada na prática em situações mais complexas a partir dos anos 60 A partir de meados da década de

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

Projeto de Arquitetura

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

Leia mais

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

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

Leia mais

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

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

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ALEXANDRE PRADO BARBOSA RELATÓRIO DE ESTÁGIO Ponta Grossa 2012 ALEXANDRE PRADO BARBOSA Relatório

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

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Introdução O que é Protocolo? - Para que os pacotes de dados trafeguem de uma origem até um destino, através de uma rede, é importante

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

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas 4.1 Motivação Sistemas de Informação são usados em diversos níveis dentro de uma organização, apoiando a tomada de decisão; Precisam estar

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

Modelagemde Software Orientadaa Objetos com UML

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

Leia mais

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

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

Leia mais

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

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MANUAL

Leia mais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

Leia mais

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Engenharia de Software Parte I Introdução Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Mitos do Desenvolvimento de Software A declaração de objetivos é suficiente para se construir um software.

Leia mais

Processos Técnicos - Aulas 4 e 5

Processos Técnicos - Aulas 4 e 5 Processos Técnicos - Aulas 4 e 5 Trabalho / PEM Tema: Frameworks Públicos Grupo: equipe do TCC Entrega: versão digital, 1ª semana de Abril (de 31/03 a 04/04), no e-mail do professor (rodrigues.yuri@yahoo.com.br)

Leia mais

GESTÃO DAS INFORMAÇÕES DAS ORGANIZAÇÕES MÓDULO 11

GESTÃO DAS INFORMAÇÕES DAS ORGANIZAÇÕES MÓDULO 11 GESTÃO DAS INFORMAÇÕES DAS ORGANIZAÇÕES MÓDULO 11 Índice 1. Importância do ERP para as organizações...3 2. ERP como fonte de vantagem competitiva...4 3. Desenvolvimento e implantação de sistema de informação...5

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

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

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

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

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

Leia mais

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

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

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

Leia mais

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

3 a Lista de Exercícios

3 a Lista de Exercícios Engenharia de Requisitos 3 a Lista de Exercícios (1) Em relação ao levantamento e análise de requisitos, faz-se a seguinte afirmação: Os requisitos de sistema devem ser capturados, documentados e acordados

Leia mais

Em 2012, a Prosoft planejou o lançamento da Versão 5 dos seus produtos.

Em 2012, a Prosoft planejou o lançamento da Versão 5 dos seus produtos. VERSÃO 5 Outubro/2012 Release Notes Não deixe de atualizar o seu sistema Planejamos a entrega ao longo do exercício de 2012 com mais de 140 melhorias. Mais segurança, agilidade e facilidade de uso, atendendo

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

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS Quando falamos em arquitetura, normalmente utilizamos esse termo para referenciar a forma como os aplicativos computacionais são estruturados e os hardwares

Leia mais

Universidade Paulista

Universidade Paulista Universidade Paulista Ciência da Computação Sistemas de Informação Gestão da Qualidade Principais pontos da NBR ISO/IEC 12207 - Tecnologia da Informação Processos de ciclo de vida de software Sergio Petersen

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

Regulamento do Grupo de Coordenação da Transição da Administração da IANA. V.10 (27 de agosto de 2014)

Regulamento do Grupo de Coordenação da Transição da Administração da IANA. V.10 (27 de agosto de 2014) Regulamento do Grupo de Coordenação da Transição da Administração da IANA V.10 (27 de agosto de 2014) O Grupo de Coordenação da Transição da Administração da IANA (ICG) deve ter um resultado prático: uma

Leia mais

Manual do Participante do Curso de Gestão da Assistência Farmacêutica - EaD

Manual do Participante do Curso de Gestão da Assistência Farmacêutica - EaD Capacitação - HÓRUS Manual do Participante do Curso de Gestão da Assistência Farmacêutica - EaD SUMÁRIO 1 INTRODUÇÃO... 3 2 INFORMAÇÕES SOBRE O CURSO... 3 2.1 Objetivos do curso... 3 2.2 Recursos de Aprendizagem...

Leia mais

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão 2.0 - Atualização 26/01/2009 Depto de TI - FASUL Página 1

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão 2.0 - Atualização 26/01/2009 Depto de TI - FASUL Página 1 MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento Toledo PR Página 1 INDICE 1. O QUE É O SORE...3 2. COMO ACESSAR O SORE... 4 2.1. Obtendo um Usuário e Senha... 4 2.2. Acessando o SORE pelo

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

ACOMPANHAMENTO GERENCIAL SANKHYA

ACOMPANHAMENTO GERENCIAL SANKHYA MANUAL DE VISITA DE ACOMPANHAMENTO GERENCIAL SANKHYA Material exclusivo para uso interno. O QUE LEVA UMA EMPRESA OU GERENTE A INVESTIR EM UM ERP? Implantar um ERP exige tempo, dinheiro e envolve diversos

Leia mais

Sistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis

Leia mais

Grupo de Coordenação da Transição da Administração da IANA Solicitação de Propostas

Grupo de Coordenação da Transição da Administração da IANA Solicitação de Propostas Grupo de Coordenação da Transição da Administração da IANA Solicitação de Propostas 8 de setembro de 2014 Introdução De acordo com o regulamento do Grupo de 1 Coordenação da Transição da Administração

Leia mais

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

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

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

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

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

PROJETO E IMPLANTAÇÃO DE INTRANETS

PROJETO E IMPLANTAÇÃO DE INTRANETS PROJETO E IMPLANTAÇÃO DE INTRANETS Aulas : Terças e Quintas Horário: AB Noite [18:30 20:20hs] PROJETO E IMPLANTAÇÃO DE INTRANETS 1 Conteúdo O que Rede? Conceito; Como Surgiu? Objetivo; Evolução Tipos de

Leia mais

A Linguagem de Modelagem Unificada (UML)

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

Leia mais

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO

Leia mais

ENGENHARIA DE SOFTWARE DESENVOLVIMENTO EM CAMADAS

ENGENHARIA DE SOFTWARE DESENVOLVIMENTO EM CAMADAS ENGENHARIA DE SOFTWARE DESENVOLVIMENTO EM CAMADAS Uma estrutura para um projeto arquitetural de software pode ser elaborada usando camadas e partições. Uma camada é um subsistema que adiciona valor a subsistemas

Leia mais

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial 1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

Agora todas as Unimeds vão falar uma só língua. Unimed do Brasil Federação São Paulo Portal Unimed

Agora todas as Unimeds vão falar uma só língua. Unimed do Brasil Federação São Paulo Portal Unimed Agora todas as Unimeds vão falar uma só língua. Unimed do Brasil Federação São Paulo Portal Unimed Folheto perguntas e respostas (15X15)cm.indd 1 9/25/08 4:38:13 PM E as primeiras palavras são inovação,

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

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

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

Estrutura do Trabalho: Fazer um resumo descrevendo o que será visto em cada capítulo do trabalho.

Estrutura do Trabalho: Fazer um resumo descrevendo o que será visto em cada capítulo do trabalho. UNIVERSIDADE ESTADUAL DE MARINGÁ A monografia é um texto escrito contendo o resultado da pesquisa realizada como trabalho de conclusão do curso de especialização. Os itens básicos a constarem da monografia

Leia mais

Sistema de Controle de Solicitação de Desenvolvimento

Sistema de Controle de Solicitação de Desenvolvimento Sistema de Controle de Solicitação de Desenvolvimento Introdução O presente documento descreverá de forma objetiva as principais operações para abertura e consulta de uma solicitação ao Setor de Desenvolvimento

Leia mais

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Tecnologia PCI express. Introdução. Tecnologia PCI Express Tecnologia PCI express Introdução O desenvolvimento de computadores cada vez mais rápidos e eficientes é uma necessidade constante. No que se refere ao segmento de computadores pessoais, essa necessidade

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

Introdução à Computação

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

Leia mais

Arquitetura dos Sistemas de Informação Distribuídos

Arquitetura dos Sistemas de Informação Distribuídos Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa

Leia mais

Processo de Desenvolvimento Unificado

Processo de Desenvolvimento Unificado Processo de Desenvolvimento Unificado Processo de Desenvolvimento de Software? Conjunto de atividades bem definidas; com responsáveis; com artefatos de entrada e saída; com dependências entre as mesmas

Leia mais

Paradigma Cliente/Servidor

Paradigma Cliente/Servidor Paradigma Cliente/Servidor Mário Meireles Teixeira UFMA Departamento de Informática Dezembro, 2012 Comunicação em Sistemas Distribuídos! Os processos em um SD estão lógica e fisicamente separados. Precisam

Leia mais