sábado, 3 de janeiro de 2015

Continuação da Atividade Interdisciplinar - Individual 6º Semestre Analise Desenvolvimento de Sistemas - Segurança da informação , IHC, Interface Web Móveis, Modalidades de Comercio eletrônico

-  Interface Web móveis (Usabilidade):

      Enquanto o computador de mesa é utilizado para tarefas que exigem concentração do usuário e são executadas durante um longo período de tempo, os dispositivos móveis são utilizados para aplicações mais rápidas e exclusivas do ambiente móvel. Para a computação móvel, segundo Lee et al., (2005), a usabilidade de um dispositivo móvel depende de vários fatores, incluindo o usuário, o ambiente e as características do dispositivo.
Características do usuário: A interação do usuário com um dispositivo móvel depende, até certo ponto, de suas características pessoais  como “Flexibilidade e Destreza”.
Características do ambiente: O ambiente do usuário afeta a escolha de dispositivo. Em “Condições normais de funcionamento” um  dispositivo
móvel pode trabalhar sob as condições normais de trabalho do usuário,  devendo também trabalhar em “Condições extremas” (como calor, frio, umidade, seca e luz natural e artificial). ) Características de dispositivo: Os dispositivos móveis têm características próprias diferentes, que podem afetar a usabilidade  total.
Portanto, a usabilidade dos dispositivos  móveis não fica restrita à interface com o usuário. As características do usuário, do ambiente e dos dispositivos móveis são fatores que influenciam a interação e devem ser considerados tanto no processo de projeto de interface  quanto na avaliação de usabilidade.
A interação é um processo que compreende as ações do usuário sobre a interface de um sistema, e suas interpretações sobre as respostas reveladas por esta interface. A interface com o usuário tem importância fundamental em sistemas interativos, possibilitando a comunicação entre o usuário e o sistema, de modo que, quanto maior for o nível de usabilidade da interface, mais fácil será a comunicação.
A usabilidade de um produto pode ser mensurada, formalmente, e compreendida, intuitivamente, como sendo o grau de facilidade de uso desse produto para um usuário que ainda não esteja familiarizado com o mesmo (TORRES & MAZZONI, 2004).
      Usabilidade: é a medida na qual um produto pode ser usado por usuários específicos para alcançar objetivos específicos com eficácia, eficiência e satisfação em um contexto específico de uso. Para Nielsen (1993), a usabilidade é um dos aspectos que podem influenciar a  aceitabilidade de um produto e se aplica a todos os aspectos do sistema com os quais a pessoa pode interagir, incluindo os procedimentos de instalação e manutenção e deve ser sempre  medida relativamente a determinados usuários executando determinadas tarefas. Para que a usabilidade possa ser avaliada e medida, Nielsen (1993) a define em função de cinco atributos: Aprendizagem, Eficiência, Memorização, Erros, Satisfação.

o    Projeto de Interface

      O projeto centrado no usuário, ou UCD (User-Centered Design), tem como princípio focalizar desde o começo os usuários e as tarefas que desenvolvem num determinado ambiente, medir a utilização do produto observando a interação do usuário com ele e utilizar um processo de  design iterativo, onde o  design pode ser modificado após as fases de prototipação ou testes. Projeto centrado no usuário é uma atividade multidisciplinar que incorpora fatores humanos e conhecimento de ergonomia e técnicas com o objetivo de aumento da eficácia e eficiência, melhorando as condições humanas  de trabalho, segurança, desempenho e evitar possíveis efeitos contra a saúde do homem (BEVAN, 1999).
      As tecnologias móveis estão mudando a forma dos seres humanos interagirem, afetando suas relações sociais, familiares, afetivas e profissionais. À medida que essas tecnologias começam a fazer parte da infra-estrutura de Tecnologia da Informação (TI) das organizações e do dia-a-dia das pessoas, é altamente importante, ao se construir uma estratégia de desenvolvimento de aplicações móveis, ter um entendimento aprofundado da interação do usuário com os dispositivos móveis.
      Os desafios tecnológicos em desenvolvimento de sistemas móveis são significativos, e, em sua pesquisa, Hosbond & Nielsen (2005) detectam a relevância em design e interface homem-computador (IHC). Com o avanço da computação móvel, foram criadas novas formas de interface e exibições de informação (HALLNÄS & REDSTRÖM, 2002).
      Nesse contexto, a interface com o usuário de dispositivos móveis é uma área importante e crítica na qual os desenvolvedores precisam levar em consideração ao desenvolver aplicações móveis (LEE et al. 2005; MYERS & BEIGL, 2003).

o    Técnicas para levantamento de requisitos necessários à Interface dos dispositivos móveis

      Para se projetar de forma eficaz a interface com o usuário de dispositivos móveis, os engenheiros de software devem saber identificar os requisitos do usuário, das tarefas que serão executadas com o produto e do ambiente de uso.
      Avaliar projetos em relação aos requisitos  do usuário: a usabilidade do projeto deve ser avaliada em relação às tarefas dos usuários, tendo como objetivo, confirmar o nível em que os requisitos da organização e dos usuários foram alcançados, fornecendo também informações para o refinamento do projeto. A tabela 1 apresenta algumas técnicas utilizadas para identificação de requisitos que devem auxiliar na compreensão desses elementos. Ela inclui vantagens e desvantagem para cada técnica e sinaliza para o tipo de informação que se pode obter, como respostas a questões específicas, e para o tipo de dados que possibilita, como qualitativo e quantitativo.



 - Modalidades de Comércio Eletrônico

      O comercio eletrônico é formado por diversas modalidades. m qualquer modalidade do comercio eletrônico, o processo sempre será on-line, o cliente visualiza e escolhe seu produto por meio de comparações, coloca no carrinho de compras e passa no caixa para realizar o pagamento.

o    Tipos de modalidades existentes

O comercio eletrônico é formado por diversas modalidades
Business to business (B2B) - Comércio praticado por fornecedores e clientes empresariais ou seja de empresa para empresa.
Business to consumer ou Business to customer  (B2C) -  É o comercio entre a empresa produtora, vendedora ou prestadora de serviços e o consumidor final, sem objetivo comercial.
Consumer to Consumer (C2C) – Comercio eletrônico entre usuários particulares da internet. A comercialização de bens ou serviços não envolve produtores e sim consumidor final com consumidor final, sem intermediários.
Government to consumers  (G2C) – Comercio entre governos estadual, federal ou municipal e consumidores por exemplo, o pagamento de impostos, multas e tarifas públicas.
Government to Business (G2B) – negócios entre governo e empresas por exemplo: As compras pelo estado através da internet por meio de licitações, tomada de preços e etc.

o    Qual delas aplica-se ao modelo sugerido

A modalidade de comércio eletrônico que se aplica ao nosso estudo de caso é o Business-to-consumer ou business-to-customer (B2C), pois se trata de uma empresa prestadora de serviços de locação de veículos, e não de comercialização dos mesmos

o    Aspectos (métodos) de segurança aplicados a esta modalidade

A segurança em transações eletrônicas é realmente um dos aspectos de maior preocupação de todos os envolvidos com o Comércio Eletrônico.
Desta forma, o comércio eletrônico possibilita diferentes métodos de pagamentos consistentes com o mercado e o negócio da empresa em nosso estudo de caso será utilizado o cartão de crédito do cliente como pagamento.
Apesar de todos os recursos existentes voltados para garantir a segurança das informações do cliente, como por exemplo, a criptografia, autenticação e certificação, ainda não existem efetivamente uma "Moeda da Internet" adotada por todos como 100% segura.
Para garantir maior segurança no tráfego das informações pessoais como dados de documentos e cartão de crédito para a que seja possível a ocorrência da transação, poderá utilizar do método de segurança Site Blindado considerado um dos maiores sistemas de segurança do mundo que protege informações confidenciais de e-consumer em mais de 45 países. O selo Site Blindado fica visível somente se o site estiver certificado pelo mais rigoroso padrão de segurança internacional.
Após a empresa contratar os serviços do Site blindado é realizado mais de 32.000 testes contra invasão de hackers para verificar todas as vulnerabilidades de segurança. Servidores certificados pelo Site Blindado estão prevenidos em 99,9% de crimes de invasão de hackers. A grande vantagem de ter um site blindado é garantir uma maior quantidade de clientes pois segundo pesquisas 70% dos e-consumer compram somente se a loja apresentar algum selo de segurança.

o    Modelo de negócio CRM que a empresa poderia adotar para comunicação com o cliente

      O CRM (Customer Relationship Management), também chamado de Gerenciamento do Relacionamento com Cliente, é uma filosofia que foca todos os esforços para conquistar e manter clientes, apoiados nas Tecnologias de Informação. É um método que reconhece que os clientes são a base da empresa e que o seu sucesso depende de gerenciar corretamente as relações com eles.
      Normalmente, o CRM trabalha como um módulo do software ERP, pois o mesmo necessita das informações dispostas nos setores da empresa para que possa dar um melhor atendimento aos clientes. No caso alguns exemplos de segurança dados no item gerenciamento de transações fazem parte desse atendimento e interesse pelos clientes.

Conclusão:


Neste trabalho nós podemos concluir que o e-commerce constitui-se num novo modelo de negócios visando a facilidade para o usuário da Internet, é a grande tendência mundial do mercado incontestavelmente que deve ser usado por qualquer empresa que deseje faturar alto sem um alto grau de investimento. Porém alguns pontos podem impedir a evolução e o crescimento deste tipo de comércio, entre estes tópicos podemos destacar a questão de manter a segurança da informação, utilizando-se de serviços terceirizados de qualidade comoo Site Blindado. O e-commerce é simples, rápido e seguro, porém alguns pontos impedem a evolução e o crescimento deste tipo de comércio entre estes tópicos podemos destacar a questão da Logística que constitui no fluxo das mercadorias a serem entregues.

Referências





Atividade Interdisciplinar - Individual 6º Semestre Analise Desenvolvimento de Sistemas - Segurança da informação , IHC, Interface Web Móveis, Modalidades de Comercio eletrônico

Estudo de Caso:
Uma Empresa que atua no segmento de locação de veículos pretende atuar no comércio eletrônico para ampliar seu mercado. A empresa em questão espera que os clientes possam buscar pelos serviços através da internet com suporte a dispositivos móveis.
      Através deste sistema, o cliente poderá efetuar a reserva do modelo desejado, informando o período em que pretende locar o veículo. A reserva efetivada assegura que o veículo ficará impreterivelmente reservado para o cliente, portanto o mesmo deverá efetuar o pagamento, com cartão de credito, desta operação; que neste caso estará considerando o período de uso real, além do prazo de segurança de vinte quatro horas antes e depois, respectivamente das datas de retirada e entrega do veículo.
      Caso o cliente pretenda cancelar a sua reserva, poderá efetuá-la em até setenta e duas horas antes do horário previsto para a retirada do veículo; por esta operação terá uma despesa de dois por cento do valor da locação. De outra forma, caso o tempo seja menor que setenta e duas horas a despesa pela desistência será de cinqüenta por cento do valor total. Outrora, embora o cliente entregue o carro antes do previsto a empresa se priva do direito de não devolver nenhum valor por esta vantagem.
      Após o registro da reserva, o cliente gostaria de estar informado de todas regras e demais informações da operação realizada. Através de e-mails ou de mensagens torpedo a empresa poderá comunicar a efetivação de sua reserva, retirada e devolução do veículo.
 ----------------------------------------------------------
Com base no estudo de caso apresentado em relação à empresa do setor de locação de veículos, escreva um relatório sobre os tópicos abaixo, aplicado a este problema:

1-      Em relação à segurança da informação, descreva suas sugestões fundamentadas nas referências bibliográficas, para as técnicas descritas:

·         GERENCIAMENTO DE TRANSAÇÕES

      Durante a execução de transações sob seu controle, o gerente de transações interage tanto com os mecanismos de controle de concorrência quanto com os mecanismos de controle de integridade. É preciso que o gerente de transações esteja atento ao fato de que recursos, do sistema estarão sendo requisitados pelas várias transações em andamento. Ao conceder o uso de determinados recursos o gerente de transações aciona os procedimentos de controle de concorrência para evitar que mais de uma transação tenha acesso, simultaneamente, a recursos que não podem ser compartilhados. Por outro lado, o próprio fato de cancelar transações pressupõe, também, que o gerente de transações mantém um histórico da seqüência de ações que vão sendo executadas em favor da transação. De outra forma, pode ser impossível realizar a função de controle de integridade uma vez que não haveria meios de se inverter efeitos de ações elementares passadas. Manter este histórico é tarefa dos processos de controle de integridade com os quais o gerente de transações deve, portanto, manter estreito contato durante a execução da transação.
      A segurança no gerenciamento de transações consiste em algumas funcionalidades no sistema como por exemplo: Consultas ao Serasa integradas ao sistema,Pesquisa on line de mapas do Google para validar endereço informado pelo cliente, busca de CEP integrada com os correios,controle de alteração no sistema feitas por usuários(O sistema apresenta o que foi alterado pelo usuário), controle de acesso de usuários (Data/Hora e o que utilizou), Controle de horário de uso do sistema. (Limite o uso fora do horário de expediente da empresa) , Controle de perfil de acesso ao sistema (Define o que cada um pode utilizar), Define quais os equipamentos podem acessar o sistema, Bloqueio de alterações após o lançamento definido por perfil de acesso.

 ·         CONTROLE DE CONCORRÊNCIA
Em nossa situação WEB a conexão a banco de dados não pode ser mantida por muito tempo como uma aplicação Desktop. Esse impasse é natural já que bloqueios no banco de dados são gerenciados pelo próprio SGBD e não podemos (e nem devemos) a priori influenciar em como o SGBD faz esse controle. O que é necessário não utilizar o mecanismo de bloqueios do SGBD, mas sim gerenciar bloqueios em nível de aplicação.
O SQL Server possui duas procedures para tratar isso e que comumente são ignoradas. Essas procedures conseguem impor um bloqueio em nível lógico podendo ser trabalhado no TSQL mas sem influenciar nos bloqueios impostos nas estruturas físicas do SQL Server. Elas funcionam como um bit lógico popularmente conhecido como flag. Essas procedures são a sp_getapplock e sp_releaseapplock.
Uma outra forma de resolver esse problema é a utilização de um tipo de dados que muita gente conhece mas pouca gente sabe pra que serve. O tipo de dados TIMESTAMP é ótimo para uma situação dessas. Esse tipo de dados é criado automaticamente quando o registro é inserido e alterado automaticamente quando o registro é alterado.

·         RECUPERAÇÃO
Segundo Carvalho (2000, apud BJORK, 1973, p. 12), a recuperação de uma transação é considerada uma das tarefas mais importantes no gerenciamento de transações. Ela consiste na recuperação do banco de dados envolvido na transação, ou seja, consiste na restauração do banco de dados para um estado consistente logo após uma falha levá-lo a um estado inconsistente.
      Desse modo, o mecanismo de recuperação é uma forma de se garantir a propriedade de consistência, uma das propriedades ACID conforme visto anteriormente, em uma transação. Considerando o fato de que uma transação pode e geralmente é composta por mais de uma operação, torna-se necessário que não seja permitido, nestes casos, que uma ou mais operações deixem de serem executadas, ou que sejam executadas com falha. Isto tornaria o banco de dados inconsistente, fato este indesejável para sistemas confiáveis.
      O componente de sistema responsável por garantir a atomicidade de uma transação é o gerenciador de transações, também conhecido como monitor de processamento de transação (monitor TP). O funcionamento do mecanismo de recuperação baseia-se na utilização das operações commit e rollback.


·         INTEGRIDADE
Aplicar a integridade de dados garante a qualidade dos dados do
banco de dados. Por exemplo, se um client for inserido com um valor de ID de cliente de 123, o banco de dados não deverá permitir que outro client tenha um ID com o mesmo valor. Se você tiver uma coluna employee_rating destinada a conter valores que se estendem de 1 a 5, o banco de dados não deverá aceitar um valor fora desse intervalo. Se a tabela tiver uma coluna dept_id que armazene o número do perfil de um cliente, o banco de dados deverá permitir apenas os valores que  sejam válidos para os números de departamento da empresa.

·         DISTRIBUIÇÃO

Segundo Date (2000, p. 536), um sistema distribuído é qualquer sistema que envolva múltiplas localidades conectadas juntas em uma espécie de rede de comunicação, nas quais o usuário de qualquer localidade pode acessar os dados armazenados em outro local. Cada localidade, por sua vez pode ser considerada como um sistema de banco de dados em si, que tem seu próprio banco de dados e sua própria função DBA, seus próprios terminais e usuários, o seu próprio armazenamento local e o seu próprio CPU, rodando o próprio DBMS local (em geral). O mesmo também tem seu próprio gerenciador DC local, com a responsabilidade (entre outras) de controlar a troca de mensagens com outras localidades integrantes do sistema distribuído.

2-      Descreva as principais técnicas de IHC – Interface Homem-Computador e como estas técnicas podem beneficiar os diferentes tipos de usuários considerando os aspectos de segurança.

IHC consiste em técnicas que tem como objetivo melhorar o relacionamento ou comunicação entre pessoas e sistemas computacionais, bem como disponibilizar para o usuário uma interface gráfica amigável em que lhe proporcione melhor desempenho e facilidade na manipulação de uma determinada ferramenta (HEWETT, 2004).
A estrutura de comunicação entre o ser humano e a máquina estudada no IHC é extraída de acordo com o conhecimento suportado pelo computador e pelo adquirido pelo ser humano, Cybis(2003) classifica as técnicas em três tipos. Técnicas Prospectivas, Técnicas Preditivas ou Diagnósticas (Avaliações Analíticas, Avaliações Heurísticas), Técnicas Objetivas ou Empíricas .

·         Elaborar um protótipo (desenho de uma tela) que mostre ao usuário final (Cliente da locadora) a principal tela de uma forma amigável e de fácil operação.



 Imagem da prototipação da tela principal do site http://www.movida.com.br/

·         É necessário contemplar informações acerca dos veículos disponíveis na empresa para facilitar a procura do melhor período e modelo desejado para o cliente.

·         Justifique as etapas aplicadas no protótipo contendo os seguintes itens:

o    USABILIDADE

Para testar a usabilidade, são envolvidas as seguintes questões: facilidade de aprendizado e uso, eficiência de uso e produtividade, satisfação, flexibilidade, utilidade e segurança. Dessa forma, objetiva-se quantificar o desempenho do usuário. Para a preparação do teste, devem ser definidos os limites mínimos aceitáveis, os máximos possíveis e, também, o valor almejado para a medida do projeto  (PRATES E BARBOSA, 2003)

o    ERGONOMIA
O objetivo de uma validação ergonômica é de testar as diferentes versões do sistema interativo e verificar se sua interface atende às expectativas dos usuários.
O estudo dos aspectos físicos e cognitivos na utilização de máquinas por seres humanos já vem sendo, há alguns anos, objeto de estudo da área de Ergonomia. A ergonomia, segundo Winsner, “é o conjunto dos conhecimentos científicos relativos ao homem e necessários para a concepção de instrumentos, máquinas e dispositivos, que possam ser utilizados com o máximo de conforto, segurança e eficácia” (Winsner apud Cybis, 1997).
O uso de computadores e de Sistemas de Informação tem se expandido de maneira muito expressiva nas últimas décadas. Interfaces difíceis criam uma barreira entre os usuários e as empresas, que querem vender seu produto e deixar seus clientes satisfeitos. Entre outros fatores, uma Interface Homem-Computador mal desenvolvida traz sérias conseqüências como: o usuário sentir-se culpado por não saber efetuar a tarefa desejada e por isso ser levado a sofrer aborrecimento, estresse e frustração. Como consequência acaba abandonando a tarefa que iria executar.

Referencias:



(Continua na próxima postagem)

  

domingo, 21 de dezembro de 2014

Curiosodades da Tecnologia


Fonte:  http://www.oblogvoador.com.br/9-curiosidades-sobre-tecnologia-que-voce-provavelmente-nao-sabia/

sexta-feira, 27 de junho de 2014

Como funciona a Estrutura de Comunicação Web

  A internet é uma grande teia de cabos e comunicações via satélite, ligando servidores e micro-computadores de todo o mundo entre si através do mesmo padrão de comunicação(TCP/IP).
  Além de ser o maior banco de informações do mundo, é também o mais rápido e mais barato meio de comunicação do planeta.
  Podemos destacar o email e a web (www- word wide web- teia mundial) como os ambientes “serviços” mais utilizados.
  Dentro do ambiente www localizamos os websites- que são “lugares” ocupados por textos , fotos, animações gráficas, sons, vídeos de empresas ou pessoas. Cada website tem um endereço  virtual, chamado URL (Uniform Resource Location – local uniforme de recursos).
Este endereço indica onde geralmente se encontram as informações do site e tem o seguinte formato:

Colocar uma página na internet é o processo que abrange desde o desenvolvimento da mesma feito por um webdesigner , até os trâmites burocráticos de registro e hospedagem do domínio.
Quem organiza a internet?
No Brasil(CGI) – ( www.registro.br)
ICANN – (www.ican.org.br)
INTERNIC – (www.internic.com)

Provedores e servidores :
Quando vamos trabalhar no ambiente web precisamos ter em mente a diferença entre  provedor e servidor já que muitas pessoas fazem essa confusão.
Provedores são as empresas que oferecem serviços de acesso à internet  ou hospedagem de sites.
Ex: www.tecla.com.br      www.oi.com.br
Servidores são os computadores que ficam nos provedores para processar os serviços de acesso a internet, email, hospedagem e outros.

Legalização de domínio?

1)  que é um nome de domínio?URL
É um nome que serve para localizar e identificar conjuntos de computadores na internet.O domínio foi concebido com o objetivo de facilitar a memorização dos endereços de computadores na internet. Sem ele, teríamos que memorizar uma sequencia grande números.
Em geral usa-se a forma nomeempresa.com.br ou nomeempresa.com

2)Como podemos registrar?
www.registro.br – domínios no brasil
www.nomer.com.br – domínos Internacionais

3) Quem pode registrar?
É necessário ser uma entidade legalmente estabelecida no Brasil como pessoa jurídica (Instituições com CNPJ)ou pessoas físicas (CPF) que possuam contato em território nacional.

4) Como é organizado a formação dos tipos de domínios ?
A última sigla do domínio indica o país de origem do domínio:
Argentina = www.google.com.ar
Portugal = www.google.com.pt
     Vietnam = www.google.com.vn Classificação:
com.br = comércio em geral
nom.br =  pessoas físicas
edu.br = entidades de ensino superior
org.br = entidades não governamentais
adv.br = advogados

5)Quais são os caracteres válidos
A a Z , os números 0 a 9 e o hífen.

6) Qual a documentação exigida para registrar um domínio:
PJ : CNPJ
        Razão Social
        Endereço Completo
PF : CPF/RG
Endereço Completo

7) Qual o máximo de caracteres posso usar para definir o meu domínio :
De 2 a no máximo 26 caractéres
www.xxx.com.br (xxx=26)
*Não aceita acentuação
*O nome deve conter pelo menos 1 caracter A a Z
*Não tem limite de registro por entidade
Quando for fazer um site para o cliente pesquisar a marca neste endereço:
Pesquisa de marcas e patentes :

8) Quanto tempo demora para registrar ou transferir um domínio?
Brasil = 24 horas
Internacional = 2 dias

9) Quanto custa o registro e a manutenção de um domínio?
Brasil – 30,00 a.a
Internacional – 33,00 a.a
*Vale lembrar de fraudes realizadas sobre  o registro.br que as vezes custam R$230,00

    10) O domínio é propriedade minha? Posso vende-lo?
Sim. Voce pode vender  o domínio pelo preço que desejar. Para isso. Basta realizar o processo de transferência  de domínio para o novo dono.

11) Para meu site entrar no ar preciso de um provedor de hospedagem?
Sim. Esse provedor lhe dará os endereços de IP de uma das máquinas deles na internet para você colocar o seu site no ar e também informar ao registro br onde está localizado o seu website.

12) Consigo registrar um domínio sem provedor ? Não



quarta-feira, 23 de abril de 2014

Diagrama de Classes - parte 2

CLASSES DE ASSOCIAÇÃO (OU CLASSE ASSOCIATIVA)

Permite acrescentar atributos, operações e outras características às associações. Na figura abaixo, observe que, se um fornecedor pode fornecer mais de um produto e um produto pode ser fornecido por mais de um fornecedor, temos um relacionamento N para N. Caso o cliente deseje verificar a data e o valor total de um fornecimento, isso poderá ser resolvido facilmente por uma classe associativa de nome Fornecimento.

 


Esse tipo de associação traz a idéia de associação enésima, nesse sentido BOOCH (2005, p. 452) lembra que a “associação enésima” se refere a uma associação entre três ou mais classes. Esse conceito de associação não será tratado nesse artigo.

ENUMERAÇÃO
É um recurso usado em várias linguagens de programação. São listas (literais) que podem ser armazenados como valores ou  passados como parâmetros. Para representar usa-se o estereótipo:  <> OU <>. Eis um exemplo “ilustrativo”.

 


ASSOCIAÇÕES REFLEXIVAS
 
É também conhecida como auto-associação, sua função é associar objetos de uma mesma classe. As associações reflexivas trazem o conceito de papéis assumidos por …. No exemplo ilustrativo a seguir vemos uma associação reflexiva na classe Funcionário. Isso NÃO significa dizer que o funcionário gerencia a si mesmo, mas sim, que em um determinado momento um determinado objeto dessa classe assume o papel de Gerenciador (Gerente) e em outro momento, outro objeto, desta mesma classe, assume o papel de gerenciado (O vendedor por exemplo).


É também conhecida como auto-associação, sua função é associar objetos de uma mesma classe. As associações reflexivas trazem o conceito de papéis assumidos por …. No exemplo ilustrativo a seguir vemos uma associação reflexiva na classe Funcionário. Isso NÃO significa dizer que o funcionário gerencia a si mesmo, mas sim, que em um determinado momento um determinado objeto dessa classe assume o papel de Gerenciador (Gerente) e em outro momento, outro objeto, desta mesma classe, assume o papel de gerenciado (O vendedor por exemplo).


 


GUEDES (2008, p. 79) denomina as associações reflexivas como associações unárias, segundo esse autor a associação unária ou reflexiva é quando “existe um relacionamento de uma classe para consigo mesma”. A descrição do nome da associação reflexiva no diagrama de classe é importante pois esclarece dúvidas sobre aquele tipo de associação, uma vez que apenas uma classe é envolvida, assim esclarece MELO (2002, p. 102) “[...] o nome da associação é mais usado quando possa haver dúvidas sobre o tipo de associação ou nas associações que envolvem uma única classe”. Nessa mesma linha de raciocínio, BEZERRA (2007, P. 117), relata que, para melhor esclarecer o significado das associações no diagrama de classes, a UML fornece além do nome da associação, o direcionamento de leitura e o papel.


ESCOPO DA CLASSE (VISIBILIDADE)

As propriedades, o comportamento das classes e a própria classe,  são definidos por identificadores específicos para cada situação, são eles: “+” ou público, especifica acesso dentro da classe, por elementos externos e em classes descendentes; “#” ou protegido, especifica acesso dentro da classe e por classes descendentes; “-“ ou privado, especifica acesso somente dentro da classe que foi criada; “~” ou pacote, especifica acesso dentro do pacote.



CLASSE ABSTRATA
É uma classe que não possui uma instância imediata. A classe abstrata fornece os elementos para que classes descendentes possam instanciar seus próprios objetos cada um com suas particularidades. No diagrama de Classes a classe abstrata é definida pelo estereótipo <>.


RESTRIÇÕES
São informadas sempre entre { }. As restrições são inseridas nas próprias associações entre as classes e tem por objetivo definir constraints iniciais nessa fase do projeto. O diagrama de classe é o local ideal para fazê-las.

GERAÇÃO DE CÓDIGO
O diagrama de classe permite a geração de código fonte, da classe para uma linguagem de programação orientada a objetos. Algumas ferramentas Case fazem o caminho inverso (engenharia reversa), ou seja, do código fonte para o diagrama. Veja a seguir a documentação da classe funcionário e das respectivas classes herdadas (Gerente e Vendedor), geradas pela ferramenta CASE Open Source Star UML.

CLASSE FUNCIONÁRIO
Observe na figura, que a geração “Java Doc”, poderoso recurso de documentação da linguagem JAVA, é automaticamente implementada nessa ferramenta CASE, para isso, basta usar a aba “documentation” da tela principal da ferramenta.

 

 
CLASSE GERENTE

Esta classe herda (através da generalização) propriedades e comportamentos da sua classe ancestral (Funcionário), essa característica é implementada através da cláusula “extends”.



 

CLASSE VENDEDOR
Da mesma forma que a classe Gerente, a classe Vendedor herda (através da generalização) propriedades e comportamentos da sua classe ancestral (Funcionário), essa característica é implementada através da cláusula “extends”. Deve ser observado também  que, a título de ilustração, essa classe realiza a interface iFornecerPrecos, essa característica é implementada pela cláusula “Implements.”




Diagrama de classe (didático e ilustrativo) completo na figura abaixo.


 






REFERÊNCIAS BIBLIOGRÁFICAS PRINCIPAIS

BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML Guia do Usuário. – Rio de Janeiro :  Elsevier, 2005.
BEZERRA, Eduardo. Princípios de Análise e Projeto de Sistemas com UML. – Rio de Janeiro :  Elsevier, 2003.
BEZERRA, Eduardo. Princípios de Análise e Projeto de Sistemas com UML. 2o. Ed. – Rio de Janeiro :  Elsevier, 2007.
PÁDUA, Wilson de Paula Filho. Engenharia de Software. Fundamentos, Métodos e Padrões. 2o. Ed. – Rio de Janeiro. LTC – Livros Técnicos e Científicos, 2003.
FOWLER, Martin.; SCOTT Kendal.  UML essencial: um breve guia para a linguagem – padrão de modelagem de objetos. 169 p. 2. ed. – Porto Alegre: Bookman, 2000.
MELO, Ana Cristina. Desenvolvendo aplicações com UML. 255 p. –  Rio de Janeiro: Brasport, 2002.
MARTIN, James.; ODELL, James. Análise e Projeto Orientados a Objeto.
639 p. – São Paulo: Makron Books, 1995.
GUEDES, Gilleanes. UML – Uma abordagem Prática. 336 p. 3, ed.  – São Paulo: Novatec Editora, 2008.