Vous êtes sur la page 1sur 15

Lógica Matemática

Proposição - é todo o conjunto de palavras ou símbolos que exprimem um pensamento de sentido completo,
isto é, afirmam fatos ou exprimem juízos que formamos a respeito de determinados antes.
Exemplo:
a) a lua é um satélite da Terra;
b) P = PRT;
c) Brasília é a capital do Brasil.
Princípos Adotados como Regras Fundamentais do Pensamento, na Lógica Matemática
Princípio da não contradição - uma proposição não pode ser verdadeira e falsa ao mesmo tempo.
Princípio do terceiro excluído - toda proposição ou é verdadeira ou é falsa, isto é, verifica-se sempre um
destes casos e nunca um terceiro.
Valores Lógicos das Proposições - chama-se valor lógico de uma proposição a verdade se a proposição é
verdadeira e a falsidade se a proposição é falsa.
Valor Lógico Símbolo de Designação
Verdade V
Falsidade F
Toda proposição tem um e um só dos valores V, F (de acordo os dois princípios supracitados).
Exemplo:
a) o mercúrio é mais pesado que a água; valor lógico da proposição : verdade (V)
b) o sol gira em torno da Terra; valor lógico da proposição : falsidade (F)
Tipos de Proposição
Simples ou Atômicos - é a proposição que não contém nenhuma outra proposição como parte integrante de si
mesma. As proposições simples são geralmente designadas por letras minusculas p, q, r, s ..., chamadas letras
proposicionais.
Exemplo:
p: Oscar é prudente;
q: Mário é engenheiro;
r: Maria é morena.
Composta ou Molecular - é a proposição formada pela combinação de duas ou mais proposições. São
habitualmente designadas por letras maiúsculas P, Q, R, S ..., também denominadas letras proposicionais.
Exemplo:
p: Walter é engenheiro E Pedro é estudante;
q: Mauto é dedicado OU Pedro é trabalhador;
r: SE Flávio é estudioso ENTÃO será aprovado.
Observação: As proposições compostas são também denominadas fórmulas proposicionais ou apenas
fórmulas.
Quando interessa destacar que uma proposição composta P é formada pela combinação de proposições
simples, escreve-se: P (p, q, r ...);
Conectivos - são palavras (ou símbolos) que se usam para formar novas proposições a partir de outras.
Exemplo:
P: 6 é par E 8 é cubo perfeito;
Q: NÃO vai chover;
R: SE Mauro é médico, ENTÃO sabe biologia;
S: o triângulo ABC é isósceles OU equilátero;
T: o triângulo ABC é equilátero SE E SOMENTE SE é equilátero.
Tabela Verdade
Proposição simples - pelo princípio do terceiro excluído é verdade ou falsa, isto é, tem o valor lógico verdade
(V) ou o valor lógico falso (F).
Proposição composta - é a determinação do valor lógico.
Proposições simples componentes se fazem com base no seguinte princípio:

p
V
F
O valor lógico de qualquer proposição composta depende unicamente dos valores lógicos das proposições
simples componentes, ficando por eles unicamente determinados.
Dispositivo
Prático para determinação do valor lógico de uma proposição composta - TABELA VERDADE
Neste dispositivo figuram todos os possíveis valores lógicos das proposições compostas, correspondentes a
todas as possíveis atribuições de valores lógicos às proposições simples componentes.
Exemplos:
Proposição Composta - 02 proposições simples
p q
1 V V
2 V F
3 F V
4 F F
Observe-se que os valores lógicos V e F se alternam de dois em dos para a primeira proposição p e de um em
um para a segunda proposição q, e que, além disso, VV, VF, FV e FF são os arranjos binários com repetição
dos dois elementos V e F.
Proposição Composta - 03 proposições simples
p q r
1 V V V
2 V V F
3 V F V
4 V F F
5 F V V
6 F V F
7 F F V
8 F F F
Analogamente, observe-se que os valores lógicos V e F se alternam de quatro em quatro para a primeira
proposição p, de dois em dois para a segunda proposição q e de um em um para a terceira proposição r, e que,
além disso, VVV, VVF, VFV, VFF, FVV, FVF, FFV e FFF sãos os arranjos ternários com repetição dos dois
elementos V e F.
Notação - o valor lógico de uma proposição simples p indica-se por V(p). Assim, exprime-se que p é
verdadeira (V), escrevendo: V(p) = V.
Analogamente, exprime-se que p é falsa (F), escrevendo: V(p) = F.
Exemplos:
p : o sol é verde;
q : um hexágono tem nove diagonais;
r : 2 é raiz da equação x² + 3x - 4 = 0
V(p) = F
V(q) = V
V(r) = F
Operações Lógicas Fundamentais
Quando pensamos, efetuamos muitas vezes certas operações sobre proposições, chamadas operações lógicas.
As operações lógicas obedecem a regras de um cálculo, denominado cálculo proposicional.
Negação - chama-se negação de uma proposição p a proposição representada por "não p", cujo valor lógico é
verdade (V) quando p é falso e a falsidade quando p é verdadeiro.
Assim, “não p” tem valor lógico oposto daquele de p.
Simbologia - simbolicamente, a negação de p é indicada com notação “~ p”, que se lê “não p”.

Tabela Verdade da Negação


p ~p
V F
F V
~V=F ~F=V
V (~ p) = ~ V(p) - O valor lógico da negação de p é igual à negação do valo lógico de p.
Em linguagem comum a negação efetua-se nos casos mais simples, antepondo o advérbio "não" ao verbo da
proposição dada.
Exemplo:
p: o sol é uma estrela
~p: o sol não é uma estrela
Outra maneira de efetuar a negação consiste em antepor à proposição dada.
Exemplo:
q: Carlos é engenheiro
~q: é falso que Carlos é engenheiro;
~q: não é verdade que Carlos é engenheiro.
Conjunção
Chama-se conjunção de duas proposições p e q a proposição representada por p e q, cujo valor lógico é a
verdade (V) quando as proposições p e q são verdadeiras e a falsidade (F) nos demais casos.
p Q p ^q
V V V
V F F
F V F
F F F
Disjunção
Chama-se disjunção de duas proposições p e q a proposição representada por p ou q, cujo o valor lógico é a
verdade (V) quando ao menos uma das proposições p e q é verdadeira e a falsidade (F) quando as proposições
p e q são ambas falsas.
p Q pVq
V V V
V F V
F V V
F F F
Disjunção Exclusiva
Chama-se disjunção exclusiva de duas proposições p e q a proposição representada simbolicamente por p V q,
que se lê: “ou p ou q” ou “p ou q, mas não ambos”, cujo valor lógico é a verdade (V) somente quando p é
verdadeira ou que é verdadeira, mas não quando p e q são ambas verdadeiras, e a falsidade (F) quando p e q
são ambas verdadeiras ou falsas.
p Q pVq
V V F
V F V
F V V
F F F
Condicional
Chama-se proposição condicional ou apenas condicional uma proposição representada por “se p então q”,
cujo valor lógico é a falsidade (F) no caso em que p é verdadeira e q é falsa e a verdade (V) nos demais casos.
p Q p -> q
V V V
V F F
F V V
F F V
Bicondicional
Chama-se proposição bicondicional ou apenas bicondicional uma proposição representada por “p se e
somente q”, cujo valor lógico é a verdade(V) quando p e q são ambas verdadeiras ou ambas falsas, e a
falsidade (F) nos demais casos.
p Q p <-> q
V V V
V F F
F V F
F F V
Construção de Tabelas - Verdade
Tabela Verdade de uma Proposição Composta
Dada várias proposições simples p, q, r , ..., podemos combiná-las pelos conectivos lógicos:
Negação ~
Conjunção ^
Disjunção V
Condicional ->
Bicondicional <->
e construir proposições compostas, tais como:
P(p,q) = ~p V (p->q)
Q(p,q) = (p<-> ~ q) ^q
R(p,q,r) = (p-> ~ q V r ) ^ ~(q V (p <-> ~ r))
Então, com o emprego das tabelas verdade das operações lógicas fundamentais é possível construir a tabela
verdade esta que mostrará exatamente os casos em que a proposição composta será verdadeira (V) ou falsa
(F), admitindo-se, como é sabido, que o seu valor lógico só depende dos valores lógicos das proposições
simples componentes.
Números de Linhas de uma Tabela Verdade
O número de linhas da tabela verdade de uma proposição composta depende do número de proposições
simples que a integram, sendo dado pelo seguinte teorema:
A tabela-verdade de uma proposição composta com proposições simples componentes contém 2 elevado a n
linhas.
Exemplo
Construir a tabela-verdade da proposição: P(p,q) = ~ (p ^ ~ q)
p q ~q p^~q ~ (p ^ ~ q)
V V F F V
V F V V F
F V F F V
F F V F V
Tautologias, Contradições e Contingências
1 - Tautologia - Chama-se tautologia toda a proposição composta cuja última coluna de sua tabela-verdade
encerra somente a letra V (verdadeira).
Exemplos:
a - A proposição “~ (p ^ ~ p)” (Princípio da não contradição) é tautológica, conforme se vê pela sua tabela-
verdade:
p ~p p^~p ~ (p ^ ~ q)
V F F V
F V F V
b - A proposição “p V ~ p” (Princípio do terceiro excluído) é uma tautologia.
p ~p pV~p
V F V
F V V
2 - Contradição - Chama-se contradição toda a proposição composta cuja última coluna da sua tabela-
verdade encerra somente a letra F (falsidade).
Em outros termos, contradição é toda proposição composta P(p,q,r,...) cujo valor lógico é sempre F
(falsidade), quaisquer que sejam os valores lógicos das proposições simples componentes p, q, r, ...
Como uma tautologia é sempre verdadeira (V), a negação de uma tautologia é sempre falsa (F), ou seja, é uma
contradição, e vice-versa.
p ~p p^~p
V F F
F V F

p ~p p <-> ~ p
V F F
F V F
3 - Contingência - Chama-se contingência toda a proposição composta em cuja última coluna de sua tabela-
verdade figuram as letras V e F cada uma pelo menos uma vez.
Em outros termos, contingência é toda proposição composta que não é tautologia nem contradição.
As contingências são também denominadas proposições contingentes ou proposições indeterminadas.
p ~p p -> ~ p
V F F
F V V
Implicação Lógica
1 - Definição de Implicação Lógica
Diz-se que uma proposição P(p,q,r,...) implica logicamente ou apenas implica uma proposição Q(p,q,r,...), se
Q(p,q,r,...) é verdadeira (V) todas as vezes que P(p,q,r,...) é verdadeira (V).
P(p,q,r,...) => Q(p,q,r,...)
Em particular, toda proposição implica uma tautologia e somente uma contradição implica uma contradição.
2 - Propriedades da Implicação Lógica
É imediato que a relação de implicação lógica entre proposições goza das propriedades reflexiva (R) e
transitiva (T), isto é, simbolicamente.
(R) P(p,q,r,...) => P(p,q,r,...)
(T) Se P(p,q,r,...) => Q(p,q,r,...) e
Q(p,q,r,...) => R(p,q,r,...), então
P(p,q,r,...) => R(p,q,r,...)
Exemplo
p q P <-> q (p <-> q) ^ p (p <-> q) ^ p -> q
V V V V V
V F F F V
F V F F V
F F V F V
Portanto, simbolicamente: (p <-> q) ^ p => q
Álgebra das Proposições
1 - Propriedade da Conjunção
Sejam p, q e r proposições simples quaisquer e sejam t e c proposições também simples cujos valores lógicos
respectivos são V (Verdade) e F (Falsidade).
a - Idempotente : p ^ p <=> p
b - Comutativa: p ^ q <=> q ^ p
c - Associativa: (p ^ q) ^ r <=> p ^ (q ^ r)
d - Identidade: p ^ t <=> p e p ^ c <=> c

2 - Propriedade da Disjunção
Sejam p, q e r proposições simples quaisquer e sejam t e c proposições também simples valores lógicos
respectivos são V (Verdade) e F (Falsidade).
a - Idempotente : p V p <=> p
b - Comutativa: p V q <=> q V p
c - Associativa: (p V q) V r <=> p V (q V r)
d - Identidade: p V t <=> p e p V c <=> c
3 - Propriedade da Conjunção e da Disjunção
Sejam p, q e r proposições simples quaisquer.
a - Distributivas:
(i) p ^ (q V r) <=> (p ^ q) V (p ^ r)
(ii) p V (q ^ r) <=> (p V q) ^ (p V r)
b - Absorção:
(i) p ^ (q V q) <=> p
(ii) p V (q ^ q) <=> p
c - Regras de “DE MORGAN”:
(i) ~ (p ^ q) <=> ~ p V ~ q
(ii) ~ (p V q) <=> ~ p ^ ~ q
4 - Negação da Bicondicional
Como p <-> q <=> (p -> q) ^ (q -> p), temos:
p <-> q <=> (~ p V q) ^ (~ q V p) e, portanto:
~ (p <-> q) <=> ~ (p V q) V ~ (~ q V p)
~ (p <-> q) <=> (~ ~ p ^ ~ q) V (~ ~ q ^ ~ p)
Postulados
Como toda teoria matemática, um conjunto de afirmações (postulados) é aceito sem a necessidade de
demonstração. Tais postulados estabelecem os fundamentos da Álgebra de Boole, determinam os seus limites,
definem as operações e fornecem a sustentação para a demonstração de teoremas.
Quaisquer que sejam X, Y ou Z pertencentes ao conjunto S, considere os seguintes postulados:
P1. Associatividade das operações E e OU.
a) ( X+Y ) + Z = X + ( Y + Z )
b) ( X .Y ) . Z = X . ( Y . Z )
P2. Comutatividade das operações E e OU.
a) X + Y = Y + X
b) X . Y = Y . X
P3. Elemento unitário para a operação OU - Dizemos que um elemento pertencente a S é unitário numa dada
operação quando o seu relacionamento, através dessa operação, com um elemento X qualquer pertencente a S,
resulta no próprio elemento X.
P4. Elemento unitário para a operação E.
O unitário da operação E é o dígito 1, ou seja:
1.X=X
P5. Distributividade de E sobre a operação OU.
X+(Y+Z)=(X.Y)+(X.Z)
P6. Distributividade de OU sobre a operação E.
X+(Y.Z)=(X+Y).(X+Z)
P7. Existência de um elemento completo.
Qualquer que seja X, existe X barrado. também pertencente a S, denominado complemento de X, tal que:
X . X barrado = 0 e X + X barrado = 1
Os cinco primeiros postulados possuem equivalentes na álgebra tradicional. Os postulados P6 e P7 são
exclusivos da Álgebra de Boole e, por isso, responsáveis pelo estabelecimento das diferenças entre as duas
álgebras.
As regras de prioridade usadas na álgebra tradicional para parênteses, colchetes e chaves são válidas na
Álgebra de Boole. E mais, a operação E tem prioridade sobre a operação OU.
Lei da Dualidade
Se substituirmos numa expressão lógica o símbolo da operação OU pelo da operação E (e vice-versa),
substituirmos o dígito 0 por 1 (e vice-versa), então obteremos uma nova expressão, também verdadeira,
denominada DUAL da expressão original.
0 + X = X DUAL: 1 . X = X
( X + Y ) + Z = X + ( Y + Z ) DUAL: ( X . Y ) . Z = X . ( Y . Z )

Teoremas Fundamentais
A lei da dualidade pode ser aplicada nos teoremas demonstrados para a obtenção de novos teoremas.
Quaisquer que sejam X e Y pertencentes a S, podemos afirmar:
T1. Teorema dos elementos nulos.
A soma de um elemento X qualquer com 1 é igual a 1. Ou seja, X + 1 = 1
T2. Dual do teorema dos elementos nulos.
O produto de X por 0 é igual a 0. Ou seja, X . 0 = 0
T3. Teorema da Idempotência (parte a).
A soma de um elemento X qualquer com ele mesmo é igual a X. Ou seja, X + X = X
T4. Teorema da Idempotência (parte b).
O produto de um elemento X qualquer, pertencente a S, por ele mesmo é igual a X. Ou seja, X . X = X
T5. Teorema da Convolução.
O complemento do complemento de um elemento X é igual ao próprio elemento X. Ou seja,

T6. Teorema de “De Morgan”.


Este teorema possui dual partes:
1 - O complemento de uma soma de elementos é igual ao produto dos seus complementos, ou seja:

2 - O complemento de um produto de elementos é igual à soma dos seus complementos, ou seja:

Aplicação do teorema de “De Morgan” na expressão algébrica:


Inicialmente podemos aplicar o teorema duas vezes: uma devido à barra superior e outra devido à barra
inferior. A ordem de aplicação não afeta o resultado final, apenas pode determinar um caminho mais rápido
até o final. Aplicando “De Morgan” em função do complemento superior temos:

Aplicando mais uma vez o teorema de “De Morgan”, temos:


Se usarmos o teorema 5 e eliminarmos os parênteses desnecessários na expressão anterior, obteremos:

Quando dois elementos quaisquer de S (A e B) se relacionam através da operação E, é tolerável a omissão do


símbolo de operação, ou seja, AB no lugar de A. B. Em nenhuma situação é permitida a omissão do símbolo +.
Funções Booleanas
O conceito de função booleana é o mesmo da álgebra tradicional, onde uma expressão algébrica assume um
valor para cada combinação de valores assumidos pelas suas variáveis. Desta forma, qualquer expressão
algébrica pode ser considerada como uma função booleana.

Tabelas de Combinações

Para a obtenção de sua tabela de combinação devemos executar os seguintes passos:


1 - Criação de colunas das variáveis - Nestas colunas - uma para cada variável da função - são listadas todas
as combinações possíveis de zeros e uns das variáveis. A variável considerada como a mais significativa deve
ser colocada na coluna à esquerda.
2 - Criação de colunas intermediárias - Tais colunas se referem a produtos, somas e complementos contidos na
expressão booleana. O número de tais colunas depende da complexidade da expressão e da experiência do
estudante.
3 – Preenchimento das colunas intermediárias - Isso é feito pela aplicação dos teoremas e postulados na
expressão algébrica de cada coluna.
4 - Obtenção da função - Isto é feito pelo preenchimento da coluna, referente à função, através da aplicação
dos teoremas e postulados aos valores nas colunas criadas visando a expressão final da função.
*****
Orientação a Objetos
Um pouco de História
Nos anos 60 é lançado a Simula-67 que apresentou pela primeira vez os conceitos de classes, rotinas
correlatas e subclasses.
Na década de 70 a Seros-PARC cria a Smalltak até hoje considerada a mais pura das LPOO.
No final da década de 80 aparece a C++, uma linguagem híbrida.
Orientação a Objetos é o maior avanço em software destes últimos anos. É uma forma mais natural de se
analisar o mundo. Ela nos permite construir sistemas melhores e, além disso, de maneira mais fácil. Será a
mais importante das tecnologias emergentes na área de software nos anos 90.
As técnicas estruturadas que, sem dúvida, atualmente são as mais populares na comunidade de informática,
obtiveram grande aceitação desde que foram lançadas no final dos anos 70. Contudo a medida que foram
sendo utilizadas, a decomposição funcional mostrou-se inadequada em situações de sistemas complexos e
principalmente para profissionais iniciantes. Os aperfeiçoamentos introduzidos em 1984, por Sthephen M e
John F Palmer e, mais tarde, complementados por Stephen Mellor e Paul Ward, para sistemas em real-time,
ajudaram a análise estruturada a se tornar mais eficiente. Contudo os sistemas criados com as técnicas
estruturadas ainda são difíceis de serem incrementados com novas funções e as alterações em funções já
existentes, muitas vezes, provocam sérios problemas em outras partes do software.
Reutilização
A reutilização está baseada na padronização a qual é adotada há longa data em toda a indústria moderna, seja
no projeto de carros, televisores, computadores, etc. A padronização traz inúmeras vantagens, entre elas
podemos citar a seguintes:

- as peças padrões são mais baratas


- são mais confiáveis
- geralmente são mais fáceis de serem consertadas ou substituídas.
Na informática a reutilização de códigos ainda é praticada em escala muito reduzida e decorrente da iniciativa
isoladas de alguns programadores e projetistas. São vários os motivos para isso, entre eles:

- existência de uma Biblioteca e de um Sistema de Catálogo


- facilidade para documentação
- sistemática rigorosa para testes
- novas técnicas para especificação de sistemas tendo em vista a reutilização de módulos
- linguagem, ferramentas e ambientes de desenvolvimento que estimulem a adoção, em larga escala, de tais
métodos dentro das empresas
- criação de novos geradores de sistemas que operem selecionando e combinando módulos padrões e que
satisfaçam as necessidades específicas das aplicações.
- mudanças administrativas e gerenciais nas empresas de modo a apoiarem e estimularem os criadores de
módulos padrões.
Vantagens da Orientação a Objetos
A Orientação a Objetos traz vários benefícios no desenvolvimento e manutenção de software. Para melhor
compreensão dessas vantagens vamos dividi-las em dois grupos. No primeiro, que chamaremos de
"Vantagens Diretas" colocamos aquelas que representam conseqüências diretas da adoção da Orientação a
Objetos e , no segundo grupo, as "Vantagens Reais", estarão aquelas que são de fato o que procuramos com
essa tecnologia.
Vantagens Diretas
- maior facilidade para reutilização de código e por conseqüência do projeto
- possibilidade do desenvolvedor trabalhar em um nível mais elevado de abstração
- utilização de um único padrão conceitual durante todo o processo de criação de software
- maior adequação à arquitetura cliente/servidor
- maior facilidade de comunicação com os usuários e com outros profissionais de informática.
Vantagens Reais
- ciclo de vida mais longo para os sistemas
- desenvolvimento acelerado de sistemas
- possibilidade de se construir sistemas muito mais complexos, pela incorporação de funções prontas
- menor custo para desenvolvimento e manutenção de sistemas.
Princípios da Orientação a Objetos
Abstração - Consiste na concentração nos aspectos essenciais. Preserva a liberdade de se tomar decisões
evitando, tanto quanto possíveis comprometimentos prematuros com detalhes.
Encapsulamento - Também chamado de ocultamento de informações, é o resultado de ocultar os detalhes de
implementação de um objeto.
É o termo formal que descreve a junção de métodos e dados dentro de um objeto de maneira que o acesso aos
dados seja permitido somente por meio dos próprios métodos do objeto. Nenhuma outra parte do programa
pode operar diretamente em um dado do objeto. A comunicação de objetos ocorre exclusivamente por meio de
mensagens explícitas.
Herança - É o compartilhamento de similitudes entre componentes preservando as diferenças.
Representa generalização e especificação, tornando explícitos os atributos e comportamentos comuns em uma
hierarquia de classes.
É o mecanismo através do qual os atributos e o comportamento dos objetos de uma classe são assumidos
pelos objetos de outra classe.
Polimorfismos - Processos que executem funções semelhantes em componentes diferentes devem ser
chamados pelo mesmo nome.
É a habilidade de duas ou mais classes responderem à mesma solicitação, cada uma a seu modo.
Objeto é qualquer coisa, real ou abstrata, que é descrita por dados que são do nosso interesse e possui um
comportamento que nos interessa acompanhar ou que nos é útil.
Um objeto pode ser: uma pessoa, um material, uma instituição, um fato, um lugar, um conceito.
- um tudo que é aprendido pelo conhecimento que não é o sujeito do conhecimento.
- tudo que é manipulável e/ou manufaturável.
- tudo que é perceptível por qualquer sentido
- todo que é externo ao sujeito
- um objeto tem estado, comportamento e identidade.
- a estrutura e comportamento de objetos similares são definidos em suas classes.
- os termos instâncias e objetos são intercambiáveis.
Tipos de Objetos:
- Concretos (pessoa, lápis, carro, relógio etc)
- Intangíveis (hora, idéia, organização, projeto etc)
- Papel (médico, paciente, professor, aluno etc)
- Relacional (casamento, parceira, propriedade etc)
- Evento (venda, admissão, pane_no_sistema etc)
- De Interface (janela, ícone, string de caracters etc)
O comportamento de um objeto é implementado por meio de métodos que podem ser dos seguintes tipos:
- Relativos ao ciclo de vida
- Recuperadores
- Relativos à administração de armazenamento
Classe de Objetos - É um conjunto de objetos que são descritos pelos mesmos dados e possuem o mesmo
comportamento.
- conjunto de objetos que compartilham uma estrutura e um comportamento comum.
- o termo classe e type são usualmente (mas não sempre) intercambiáveis uma classe ter conceito ligeiramente
diferente de um tipo, no qual ela enfatiza a classificação da estrutura e comportamento.
- uma classe é um tipo definido pelo usuário que contém o molde, a especificação para os objetos, assim como
o tipo inteiro contém o molde para as variáveis declaradas como inteiros.
- a classe envolve, associa funções e dados controlando o acesso a estes.
- definir classe implica em especificar os seus atributos (dados) e suas funções (código).
Subclasse - É um subconjunto de objetos pertencentes a uma classe que têm em comum em relação aos
demais objetos desta classe: - dados adicionais e/ou, - operações adicionais.
Exemplos de Classes:
- Cliente
- Venda
- Produto
- Fatura
- Vendedor
Exemplos de Objetos:
Cliente:
Dados:
- id_cliente
- nome_cliente
- endereco
- pessoa_autorizada
- status

Métodos:
- incluir
- alterar
- excluir
Venda:
Dados:
- id_cliente
- id_vendedor
- data_venda
- produto

Métodos:
- registrar
- calcular_comissão
- calcular_fatura
Roteiro das Atividades
Análise:
- Identificar as classes de objetos do negócio
- Desenhar o Modelo de Objetos
- Definir as operações que deverão ser possíveis de serem realizadas com o sistema
- Desenhar o Modelo de Estados para as classes com comportamento dinâmico significativo
- Desenhar as principais interfaces com o usuário
Projeto:
- Desenhar o Modelo de Eventos, abrangendo todas as operações previstas para o sistema.
- Projetar as Bases de Dados
- Especificar as Classes de Objetos do Negócio.
- Especificar as Funções do Negócio.
- Especificar as Interfaces
Atributos ou Dados Membros - é aquilo que é próprio de um ser, com características qualitativa ou
quantitativa que identifica um membro de um conjunto observado
- caráter parte essencial de uma substância.
- uma parte de um objeto.
- são os dados pertencentes a um sujeito.
Métodos ou Funções Membros - é o caminho pelo qual se chega a um determinado resultado, ainda que esse
caminho não tenha sido fixado de antemão de modo deliberado.
- uma operação relativa a um objeto, definida como parte de declaração da classe.
- todos os métodos são operações, mas nem todas operações são métodos.
- o termo mensagem, método e operação são usualmente intercambiáveis.
- as funções membro compõem a interface com a classe.
Mensagem - é uma operação que um objeto executa sobre outro. Os termos mensagem, método e operação
são usualmente intercambiáveis.
Exemplo: MenuPrincipal.Seleciona (segunda Opção);
Onde: MenuPrincipal = Objeto Seleciona = Método Segunda Opção = Parâmetro
Estado - são resultados cumulativos do comportamento do objeto - uma das possíveis condições na qual o
objeto existe, caracterizada pelas quantidades que são distintas de outras quantidades.
Em qualquer ponto do tempo, o estado do objeto abraça todas as (usualmente estática) propriedades do objeto
mais os atuais (normalmente dinâmico) valores dessa propriedade.
Comportamento - é como um objeto age e reage, em termos de mudança de seu estado e envio de mensagem
externamente visível e comprovada atividade.
Agregação - é o relacionamento "parte-todo" ou "uma-parte-de" no qual os objetos que representam os
componentes de alguma coisa são associados a um objeto que representa a estrutura inteira.
Transição de Estados - os principais conceitos de Modelo de Transição de Estados:
- Eventos = estímulos externos
- Estados = valores do objeto
Evento é um estímulo individual, que acontece num certo momento e não tem duração.
Relata os aspectos de um sistema que são relativos ao tempo e às modificações.
Projeto
Regras para o Projeto
- A base de dados correspondente a uma classe de objetos deve ser projetada independentemente das demais.
- Deve haver uma nítida separação física entre as bases de cada classe de objetos.
- Classes diferentes podem utilizar deferentes gerenciadores.
Como Projetar
- Normalizar os atributos (eliminar ocorrências)
- Analisar atributos opcionais visando economia de espaço
- Levantar a freqüência e a criticidade das operações
- Definir a necessidade de índices secundários
- Desenhar o diagrama
- Criar a base de dados no SGBD
UML - Linguagem de Modelagem Unificada
A UML é uma linguagem de modelagem gráfica para descrever um projeto de software. Ela simplifica o
complexo processo de análise, projeto e construção de software criando visões do sistema que esta sendo
construído.
É uma linguagem para especificação, construção, visualização e documentação de sistemas.
A UML (Unified Modeling Language) era o que faltava para consolidar e alavancar a utilização da Orientação
a Objetos como técnica para automatizar a produção de software. As técnicas são utilizadas para incrementar
a qualidade e reduzir os custos, além de gerenciar a complexidade dos sistemas, que aumentam cada vez mais
em escopo e escala.
Esta linguagem pode ser usada com todos os processos, durante todo o ciclo de desenvolvimento, e com
diferentes tecnologias de implementação.
A UML pode ser utilizada para:
- Mostrar a periferia de um sistema e suas maiores funções usando Casos de Uso e Atores
- Ilustrar realizações de Casos de Uso com Diagramas de Iterações
- Representar a estrutura estática de um sistema usando Diagramas de Classes
- Modelar o comportamento de objetos com Diagramas de Transições de Estado
- Revelar a arquitetura de implementação física com Diagramas de Componentes e Distribuição
- Estender sua funcionalidade com Estereótipos
Diagramas de Classes
Um diagrama de classes mostra uma coleção declarativa (estática) de elementos do modelo, como classes,
tipos e os seus conteúdos e relações, mostra a existência de classes e suas relações com a visão lógica do
sistema.
Existem alguns elementos de UML que são presentes nos Diagramas de Classes, tais como:
- Classes, suas estruturas internas e comportamento
- Associações, agregações, dependências, e relações de herança
- Multiplicidade e indicadores de navegação
- Nomes de papéis (O que uma classe representa para outra)
Classes
Uma classe é uma coleção de objetos com estrutura, comportamento, relações e semânticas comuns. É a
descrição de um conjunto de objetos que compartilham os mesmos atributos, operações, métodos, relações e
semântica. Uma classe é uma implementação de tipo.
Estas classes são descobertas pelo exame dos objetos nos Diagramas de Seqüência e Colaboração.
As classes devem possuir padrões de nomenclatura.
Comportamento
O comportamento de uma classe é representado pelas suas operações ou eventos, incluindo seus resultados,
que podem ser encontradas examinando-se os Diagramas de Interação.
Estrutura
A estrutura de uma classe é representada pelos seus atributos, que podem ser encontrados pelo exame das
definições de classes, requisitos de problemas, e pela aplicação do conhecimento do domínio.
Relacionamento
As relações entre classes e objetos fornecem um caminho para a comunicação entre eles. Os Diagramas de
Seqüência e/ou Colaboração são examinados para determinar quais ligações entre objetos precisam existir
para se chegar ao comportamento desejado. No caso de dois objetos precisem “conversar” deverá haver uma
ligação entre elas.
Há três tipos de relações:
- Associação: é uma conexão bi-direcional entre classes;
- Agregação: é um tipo mais forte de conexão, aonde a relação é entre o todo e suas partes;
- Dependência: é uma forma mais fraca de relação, mostrando uma relação entre duas entidades externas,
aonde uma não tem conhecimento semântico da outra.
Herança
Herança é uma relação entre uma superclasse e suas sub-classes, isto é, o mecanismo pelo qual, elementos
mais específicos incorporam estrutura e comportamento de elementos mais gerais relacionados.
Há duas formas de se descobrir heranças:
- Generalização
- Especialização
Detalhamento de Atividades de Ciclo de Vida Interativo
As atividades de Ciclo de Vida de uma Abordagem Iterativa divide-se em:
- Planejamento de Iteração: antes da iteração iniciar, os objetivos gerais da iteração deveriam ser
estabelecidos; determinam-se os critérios de avaliação para esta iteração e prepara-se um plano de iteração
detalhado para inclusão no planejamento de desenvolvimento;
- Captura de Requisitos: selecionam-se/definem-se casos de uso para serem implementados nesta iteração;
atualiza-se o modelo de objetos para refletir novas classes e associações descobertas e desenvolve-se um
plano de teste para a iteração;
- Análise e Projeto: determinam-se quais classes serão desenvolvidas ou atualizadas nesta iteração; atualiza-se
o modelo de objetos para refletir novas classes de projeto e associações descobertas; atualiza-se o documento
de arquitetura, caso necessário e inicia-se o desenvolvimento dos procedimentos de testes;
- Implementação: gera-se código automaticamente a partir do modelo; desenvolve-se código para operações
(manualmente); completam-se os procedimentos de testes e conduzem-se testes de unidade e de integração;
- Testes: integra-se e testa-se o código desenvolvido contra outros sistemas ou contra lançamentos anteriores;
capturam-se e revisam-se os resultados; avaliam-se os resultados relativos aos critérios de avaliação e conduz-
se uma avaliação da iteração onde prepara-se a descrição do lançamento, sincronizam-se o código e os
modelos e guardam-se os produtos da iteração em bibliotecas controladas.
Lembre-se da razão principal para se utilizar o ciclo de vida iterativo:
- Você não tem toda a informação que precisa no início do processo;
- Os elementos mudam durante o projeto.
Você deve supor que:
- Alguns riscos não serão eliminados como planejado
- Você irá descobrir novos riscos no caminho
- Algum re-trabalho será necessário; algumas linhas de código escritas para uma iteração serão jogadas fora
- Requisitos irão mudar no caminho.
Diagramas de Interação
Diagramas de Interação descrevem como casos de uso são realizados como interações entre associações de
objetos. Há dois tipos de Diagramas de Interação:
- Diagramas de Seqüência: mostra interações entre objetos organizadas seqüencialmente no tempo. Em
particular, mostra os objetos participando de uma interação e a sucessão de mensagens trocadas entre eles. Ao
contrário de um diagrama de colaboração, um diagrama de seqüência inclui a seqüência de tempo, mas não
inclui as relações entre os objetos. Um diagrama de seqüência pode existir em uma forma genérica (descreve
todos as possíveis) e em uma forma de instância (descreve um cenário real). Diagramas de seqüência e
diagramas de colaboração expressam informação semelhante, mas a apresentam de modo diferente. Mostra
interações de objetos ordenados numa seqüência de tempo;
- Diagramas de Colaboração: mostra as interações de objetos organizadas entre os objetos e seus vínculos. Ao
contrário de um diagrama de seqüência os diagramas de colaboração mostram as relações entre os objetos.
Diagramas de seqüência e colaboração expressam uma informação semelhante, mas a apresentam de modo
diferente.
Diagramas de Interação
Os Diagramas de Componentes ilustram a organização e dependências entre componentes de software.

Um componente pode ser: de código fonte, de run-time, ou executável.


*****

Vous aimerez peut-être aussi