curso básico de orientação a objetos

Upload: pedrobottas

Post on 10-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    1/71

    1

    Orientao a Objetos

    Maurcio de Castro

    SOLIS/UNIVATES

    [email protected]

    Coordenador de Desenvolvimento de Sistemas em

    Software Livre da SOLIS/UNIVATES

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    2/71

    2

    Sumrio Cenrios de Desenvolvimento Histrico da OO Conceitos de OO Anlise e Desenvolvimento Bancos de Dados OO

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    3/71

    3

    Cenrios deDesenvolvimento

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    4/71

    4

    Cenrio Estrutural Foco principal nas funes depois nos dados,informaes desagrupadas

    As idias e necessidades dos usurios

    normalmente no ficam claras Quais so suas necessidades para o sistema?

    Preciso de um sistema que controle todas as vendas dos meus produtos

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    5/71

    5

    Cenrio Estrutural Validao com o Usurio

    muito dificil para o usurio leigo entender ummodelo ER

    SAGU tem 99 tabelas e centenas derelacionamentos Problemas se descobrem durante aimplementao

    MIOLO FrameWork OO para

    Desenvolvimento de Software

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    6/71

    6

    Cenrio Estrutural Excesso de documentao ou nenhuma Cronograma apertado, prazos estourados,dificuldade de reaproveitamento de cdigo

    Cliente insatisfeito Horas infindveis de manuteno corretiva Custo elevado de projeto

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    7/71

    7

    Cenrio OO Foco principal nos objetos do mundo real,com suas funes e dados agrupados.

    Deve-se fazer o levantamento de requisitos j

    pensando nos objetos do mundo real. Facilita o entendimento por parte do

    programador das necessidades do usurio O que vamos controlar? Nossos carros

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    8/71

    8

    Cenrio OO Diminuio do tempo e custo dedesenvolvimento

    Atendimento da demanda gerada pela

    evoluo tecnolgica Reutilizao de cdigo, facilidade de

    manuteno

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    9/71

    9

    Histrico daOrientao a Objetos

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    10/71

    10

    Histrico 1967: Simula - introduz os primeiros conceitos de OO 1972: Smalltalk 1980: C++ linguagem hbrida, derivada da linguagem C

    1983: Ada criada para uso militar nos EUA 1984: Eilffel primeiras caractersticas formais de OO

    1986: Object pascal 1995: JAVA - Linguagem puramente orientada a objetos 1995: Vrias linguagens agregando conceitos de OO

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    11/71

    11

    Simula A primeira linguagem a incorporar facilidadespara definir classes de objetos genricos naforma de uma hierarquia de classes e sub-

    classes Foi idealizada em 1966, na Noruega, comouma extenso da linguagem ALGOL 60.

    Uma classe em Simula um mduloenglobando a definio da estrutura e do

    comportamento comuns a todas as suasinstncias (objetos).

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    12/71

    12

    Smalltalk Smalltalk foi desenvolvida no Centro dePesquisas da Xerox durante a dcada de 70

    Incorporou idias de Simula Criou o princpio de objetos ativos, prontos a"reagir" a "mensagens" que ativam

    "comportamentos" especficos do objeto

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    13/71

    13

    C++ Questes no projeto de C++

    Ser melhor do que C Suportar abstrao de dados Suportar programao orientada a objetos

    C++ foi projetada para dar suporte a

    abstrao de dados e programao orientadaa objetos C++ no impe um paradigma

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    14/71

    14

    Ada Ada uma linguagem de programao criadaatravs de um concurso realizado pelo U.S.Departament of Defense (DoD)

    O principal projetista da equipe foi o francs JeanIchbiah.

    Esse concurso foi feito para por ordem na

    situao, o DoD em 1974 usava cerca de 450linguagens ou dialetos de programao. A linguagem foi primeiramente padronizada em

    1983 pelo ANSI e em 1985 a OrganizaoInternacional de Padronozao (ISO).

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    15/71

    15

    Eiffel Eiffel uma Linguagem de Programaoavanada, puramente orientada a objeto queenfatiza o projeto e construo de software

    reusvel e de alta qualidade. Eiffel foi criada por Bertrand Meyer que tinhauma extensa experincia com programaoorientada a objeto, particularmente comSIMULA.

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    16/71

    16

    Object Pascal O Object Pascal uma linguagem orientada aobjetos, isto , todas as informaes sotratadas como objetos

    Todos estes objetos pertencem a uma classe,que so categorias de objetos

    Delphi / Kylix / Lazarus so exemplos deferramentas que utilizam esta linguagem.

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    17/71

    17

    Java O Java ao mesmo tempo um ambiente euma linguagem de programao desenvolvidapela Sun Microsystems, Inc.

    Trata-se de mais um representante da novagerao de linguagens orientadas a objetos efoi projetado para resolver os problemas darea de programao cliente/servidor.

    Os aplicativos em Java so compilados em um

    cdigo de bytes independente de arquitetura.

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    18/71

    18

    Java Esse cdigo de bytes pode ento serexecutado em qualquer plataforma quesuporte um interpretador Java.

    O Java requer somente uma fonte e umbinrio e, mesmo assim, capaz de funcionarem diversas plataformas, o que faz dele umsonho de todos os que realizam manutenoem programas.

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    19/71

    19

    Evoluo da OO No se configura como uma mudana deparadgma abrupta. Evoluiu de idias jmanifestadas h muito tempo.

    Larry Constantine - (Dcada de 1960) Foi quem primeirolanou a idia de que softwares poderiam ser projetadosantes que fossem programados

    O. J. Dahl e K. Nygaard - (1966) - Foi quem primeirolanou a idia de Classes introduzida na linguagemSimula

    Alan Klay, Adele Goldberg e outros - (1970) Iniciaram oconceito de Mensagem e Herana, usados na linguagemSmallTalk.

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    20/71

    20

    Evoluo da OO Programao orientada a objetos umaevoluo da programao estruturada;

    Na programao estruturada temos funes

    (procedures ou rotinas) e dados(normalmente globais) que podem seracessados por qualquer funo;

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    21/71

    21

    Evoluo da OO Na programao orientada a objetos, temosfunes agregadas aos dados em umaunidade chamada objeto, ou seja, os dados

    no esto separados das funes, mas simunidos as mesmas; A tendncia para os prximos anos que amaioria das linguagens de programaosejam baseadas em objeto

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    22/71

    22

    Conceitos deOrientao a Objetos

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    23/71

    23

    Bases da Orientao a Objetos Na compreenso do mundo, os sereshumanos utilizam-se de trs mtodos deorganizao dos pensamentos:

    Diferenciao Distino entre todo e parte Classificao V a orientao a objetos, como tcnica paramodelagem de sistemas, utiliza estes mtodos

    para diminuir a diferena semntica entre arealidade e o modelo

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    24/71

    24

    Exemplo

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    25/71

    25

    Conceitos Objetos e Instncias Classes Atributos Mtodos Visibilidade de atributos e operaes

    Mensagens

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    26/71

    26

    Objeto Um objeto denota uma entidade, seja ela denatureza fsica, conceitual ou de software.

    Entidades fsicas: um carro, uma pessoa, uma

    casa Entidade conceitual: um organograma de umaempresa

    Entidade de software: um boto em uma GUI

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    27/71

    27

    Objeto uma entidade capaz de reter um estado(informao/atributos/propriedades) e queoferece uma srie de operaes(comportamentos/mtodos) ou para examinar oupara afetar este estado

    Um objeto um conceito, uma abstrao, algocom limites e significados ntidos em relao aodomnio de uma aplicao

    Objetos facilitam a compreenso do mundo real eoferecem uma base real para implementao emcomputador

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    28/71

    28

    Objeto Um objeto algo que tem:

    Estado Comportamento Identidade

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    29/71

    29

    Estado de um Objeto O estado de um objeto representa uma das possveis

    condies em que um objeto pode existir O estado representado pelos valores das propriedadesde um objeto em um determinado instante

    O estado do objeto usualmente muda ao longo do tempo: Exemplo ( Aluno Maurcio ):

    Nome: Maurcio Matrcula: 105018 Semestre de Ingresso: 2000A

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    30/71

    30

    Comportamento de um Objeto O comportamento determina como um um objeto

    pode responder a interaes mediante ativaode operaes decorrentes de mensagensrecebidas de outros objetos

    O Comportamento determinado pelo conjuntode operaes que o objeto pode realizar.

    Controle Academico Maurcio

    Solicita matrcula

    Retorna: 105018

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    31/71

    31

    Identidade de um Objeto Cada objeto tem um nico identificador,

    mesmo que seu estado seja idntico ao deoutro objeto Maurcio (objeto) Controle Acadmico (Sistema que est sendoconstrudo)

    Semestre (estado) Matrcula 105018 (Propriedade de um aluno) Lista de Semestres Cursados (candidato a objeto) Semestre corrente (o mesmo que semestre)

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    32/71

    32

    Classe Uma classe a descrio de um grupo deobjetos com propriedades Semelhantes(atributos), mesmo comportamento(operaes), mesmos relacionamentos comoutros objetos (associaes e agregaes), emesma semntica

    Um objeto uma instncia de uma classe

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    33/71

    33

    Classe Uma classe uma abstrao que

    Enfatiza caractersticas relevantes Abstrai outras caractersticas

    Abstrao: ajuda lidar com a complexidade

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    34/71

    34

    Exemplos de Classes Professor Atributos: Nome, Matrcula, Data de Contratao,Titulao

    Operaes: DefineNome(), AlteraNome(),

    TempoServio(), DefineTitulao(), AlteraTitulao(), ... Turma:

    Atributos: Cod, Nome, Local, Crditos, Horrio,Capacidade Operaes: DefineCod(), AlteraCod(), DefineNome(),

    AlteraNome(), NrCreditos(), AdicionaAluno(),EliminaAluno(), VerificaEstado(), ...

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    35/71

    35

    Classe Encontrando Classes

    Uma classe deveria capturar uma e somente umaabstrao chave.

    Abstrao ruim: classe "Aluno" que conhece ainformao do aluno e as disciplinas que aquele alunoest matriculado.

    Boa abstrao: separar em uma classe para Aluno euma classe para Disciplina

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    36/71

    36

    Classe Nomeando Classes

    Uma classe deveria ser um substantivo singularque melhor caracteriza a abstrao

    Dificuldades na nomeao das classes podemindicar abstraes mal definidas Nomes deveriam surgir diretamente do domnio

    do problema

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    37/71

    37

    Classe Estilo para Nomear Classes

    Um guia de estilo deveria ditar convenes denomeao para classes Uma proposta simples:

    Classes so nomeadas com um substantivo no singular O nome de uma classe inicia com a primeira letramaiscula

    No so utilizados smbolos de sublinhado ("_") -nomes compostos de mltiplas palavras soorganizados com todas as palavras juntas, onde a

    primeira letra de cada uma fica em maiscula

    Exemplos: Aluno, Professor, ControleAcadmico

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    38/71

    38

    Atributo O estado de um objeto dado por valores deatributos e por ligaes que tem com outrosobjetos

    Todos os objetos de uma classe socaracterizados pelos mesmos atributos, ou variveis de instncias

    O mesmo atributo pode ter valores diferentesde objeto para objeto

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    39/71

    39

    Atributo Atributos so definidos ao nvel da classe,enquanto que os valores dos atributos dosatributos so definidos ao nvel do objeto

    Exemplos: uma pessoa (classe) tem os atributos nome, datade nascimento e peso

    Joo uma pessoa (objeto da classe pessoa) comnome "Joo da Silva", data de nascimento"18/03/1973" e peso "70Kg"

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    40/71

    40

    Mtodos O comportamento invocvel de objetos so osmtodos

    Um mtodo algo que se pode pedir para um

    objeto de uma classe fazer Objetos da mesma classe tem os mesmosmtodos

    Mtodos so definidos ao nvel de classe,enquanto que a invocao de uma operao definida ao nvel de objeto

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    41/71

    41

    Construtor um mtodo utilizado para inicializar objetosda classe quando estes so criados

    Este mtodo possui o mesmo nome da Classe

    e no tem nenhum tipo de retorno, nemmesmo void

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    42/71

    42

    Visibilidade de atributos e

    mtodos Atributos e Mtodos Pblicos

    So atributos e mtodos dos objetos que podemser visveis externamente, ou seja, outros objetospodero acessar os atributos e mtodos destesobjetos sem restries

    Atributos e Mtodos Privados Atributos e mtodos que s podem ser acessadospor operaes internas ao prprio objeto soditos privados

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    43/71

    43

    Mtodos Interface

    Os mtodos pblicos de uma classe definem ainterface da classe. Os mtodos privativos nofazem parte interface da classe pois no pode seracessada externamente

    Assinatura Deve ser definido o nome dos mtodos, se temtipo de retorno, e se recebe parmetros, a esteconjunto de informaes sobre o mtodo d-se onome de assinatura do mtodo

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    44/71

    44

    Mensagens Uma mensagem uma solicitao feita porum objeto A a um objeto B

    Como resultado desta solicitao, o objeto B

    ir modificar seu estado ou ir retornar algum valor O conceito de mensagem est diretamenteassociado ao conceito de operao

    A interao entre os objetos feita atravs datroca de mensagens

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    45/71

    45

    Herana e Hierarquia

    Hierarquia Quando vamos trabalhar com um grandeconjunto de classes de objetos, necessrioorganizar estas classes de maneira ordenada demodo que tenhamos uma hierarquia

    Em uma hierarquia de classes teremos as classes

    mais genricas no topo, e as mais especficas nabase.

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    46/71

    46

    Hierarquia Automveis

    automveis utilitrios (camionetes leves) utilitrios urbanos

    utilitrios off-road automveis de passeio

    passeio familia

    passeio esportivo automveis de carga

    carga inflamveis carga com frgirifico

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    47/71

    47

    Herana e Hierarquia

    Herana Em uma hierarquia de classes semelhantespodemos dizer que as classes mais especficasherdam as caractersticas das mais genricas, ouseja, todo automvel de passeio familia umautomvel de passeio

    A classe de nvel superior na na associao deherana chamada de super-classe e a inferior desub-classe

    Portanto automvel de passeio famlia umasub-classe de automvel de passeio

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    48/71

    48

    Herana

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    49/71

    49

    Herana e Hierarquia

    Agregao

    Composio

    Herana x Agregao x Composio

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    50/71

    50

    Agregao / Composio o princpio que permite o desenvolvedorconsiderar algo muito grande atravs doenfoque TODO-PARTE

    Utilizado para definir regras de negcio Se a instncia do todo for removida, suas partestambm devero ser removidas (composio)

    Se a instncia do todo for removida, suas partesno necessariamente devero ser removidas(agregao)

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    51/71

    51

    Agregao Define uma "dependncia fraca" entre o todoe suas partes

    Se o todo for removido, as suas partes

    podero continuar existindo um mecanismo que permite a construo deuma classe agregada a partir de outras classescomponentes. Usa-se dizer que um objeto daclasse agregada (Todo) tem objetos das classescomponentes (Parte)

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    52/71

    52

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    53/71

    53

    Composio Define uma "dependncia forte" o todo e suas

    partes Se o todo deixar de existir, as suas partes

    tambm deixam de existir

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    54/71

    54

    Herana X Agregao x

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    55/71

    55

    Herana X Agregao xComposio

    Herana " um tipo de", as propriedades so herdadas deoutra classe

    Associao "usam um(a)", um objeto envia uma mensagempara outro objeto

    Composio "composto por", um objeto composto por outros

    objeto

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    56/71

    56

    Abstrao Abstrao o processo atravs do qual

    detalhes so ignorados, para nosconcentrarmos nas caractersticas essenciais

    A abstrao nos leva a representar os objetosde acordo com o ponto de vista e interesse dequem os representa

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    57/71

    57

    Abstrao Para descrevermos um automvel (do ponto

    de vista de um observador externo),identificamos a cor do mesmo, o nmero deportas, o tipo das rodas e pneus.

    Quando identificamos o automvel apenas apartir destas caractersticas externas estamos

    fazendo uma abstrao pois uma srie dedetalhes internos no estaro sendo descritos.

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    58/71

    58

    Abstrao Ex: Ao modelarmos um objeto avio no

    contexto de um sistema de marcao depassagens areas, no vai nos interessar acaracterstica nmero de turbinas do avio,mas ir nos interessar a caracterstica nmerode assentos disponveis

    Ao ignorarmos algumas caractersticas norelevantes em um determinado contexto,estamos fazendo uma abstrao

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    59/71

    59

    Encaplusamento o processo de ocultao das caractersticasinternas do objeto

    O encapsulamento cuida para que certas

    caractersticas no possam ser vistas oumodificadas externamente

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    60/71

    60

    Encaplusamento Exemplo

    Podemos dizer que o motor de um automvelest encapsulado, pois normalmente nopodemos ver ou alterar caractersticas do motor

    Podemos ento utilizar um automvel semconhecer nada das complexidades do motor, queesto encapsuladas

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    61/71

    61

    Encaplusamento No contexto de uma linguagem OO um objeto

    pode ser definido como um conjunto de "funes"unidas aos dados que elas necessitam O encapsulamento "protege" os dados que esto

    "dentro" dos objetos, evitando assim que osmesmos sejam alterados erroneamente

    Os dados s podero ser alterados pelas "funes"dos prrpios objetos

    As "funes" dos objetos so chamadas deoperaes ou mtodos

    P li fi

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    62/71

    62

    Polimorfismo

    a capacidade de objetos diferentes reagiremsegundo a sua funo a uma ordem padro.

    O comando "abre", por exemplo, faz um

    objeto entrar em ao, seja ele uma janela,uma porta ou uma tampa de garrafa

    P li fi

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    63/71

    63

    Polimorfismo

    Sobrecarga Atravs do mecanismo de sobrecarga, doismtodos de uma classe podem ter o mesmonome, desde que suas assinaturas sejamdiferentes.

    Tal situao no gera conflito pois o compilador capaz de detectar qual mtodo deve serescolhido a partir da anlise dos argumentos domtodo.

    P i t i

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    64/71

    64

    Persistncia

    Refere-se habilidade de um objeto existir

    alm da execuo que o criou, ou seja, serarmazenado em memria secundria(permanente ou persistente).

    No o armazenamento apenas dos atributos(dados), mas tambm dos mtodos para

    realizar os acessos. Muito encontrado em sistemas que

    manipulam banco de dados

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    65/71

    65

    Anlise e

    Desenvolvimento

    Por que utilizar Orientao a

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    66/71

    66

    q Objetos?

    Quando bem empregada, a Orientao a Objetos trazdiversas vantagens:

    reutilizao, confiabilidade, modelo de sistema mais realstico, facilidade de interoperabilidade e de manuteno, aumento da qualidade,

    maior produtividade unificao do paradigma (da anlise a implementao).

    A Orientao a Objetos um paradigma que pode ser

    aplicado ao longo de todo o processo de construo dosoftware.

    UML (Unified Modeling

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    67/71

    67

    ( gLanguage)

    UML uma linguagem para especificao ,

    construo , visualizao e documentao de sistemas de software.

    UML no uma metodologia no diz quem devefazer o qu, quando e como UML pode ser usadosegundo diferentes metodologias, tais como RUP(Rational Unified Process), FDD (Feature DrivenDevelopment), etc.

    UML no uma linguagem de programao

    UML (Unified Modeling

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    68/71

    68

    ( gLanguage)

    Modelos e Diagramas Um modelo uma representao em pequenaescala, numa perspectiva particular, de umsistema existente ou a criar

    Ao longo do ciclo de vida de um sistema soconstrudos vrios modelos, sucessivamenterefinados e enriquecidos

    Um modelo constitudo por um conjunto dediagramas (desenhos) consistentes entre si,

    acompanhados de descries textuais doselementos que aparecem nos vrios diagramas

    UML (Unified Modeling

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    69/71

    69

    Language) Um diagrama uma vista sobre um modelo

    O mesmo elemento (exemplo: classe) podeaparecer em vrios diagramas de um modelo

    No UML, h nove diagramas standard

    Diagramas de viso esttica: casos de

    utilizao (use case), classes, objectos,componentes, distribuio (deployment)

    Diagramas de viso dinmica: sequncia,colaborao, estados (statechart), actividades

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    70/71

    70

  • 8/8/2019 Curso Bsico de Orientao a Objetos

    71/71

    71

    F I M

    Maurcio de Castro

    SOLIS/[email protected] de Desenvolvimento de Sistemas em

    Software Livre da SOLIS/UNIVATES