quarta-feira, 23 de abril de 2014

Diagrama de Classe - parte 1

O diagrama de classes é o mais importante diagrama da UML, ele está no centro da sua arquitetura e a partir desse diagrama outros diagramas são elaborados. O diagrama de classes é uma importante ferramenta para a documentação de um sistema ou produto de software, nesse sentido Melo (2002, p. 85) ressalta:  “Se o protagonista de um sistema desenvolvido sob a análise orientada a objetos é um objeto, nada mais justo do que termos onde documentar os objetos encontrados nos requisitos do sistema.”
Segundo Fowler (2000, p. 57), “Um diagrama de classes descreve os tipos de objetos no sistema e os vários tipos de relacionamentos estáticos que existem entre eles”. As classes representam as propriedades e o comportamento de um conjunto de objetos em um sistema e conseqüentemente, como essas classes não existem sozinhas, é importante também representar os seus relacionamentos.

O diagrama de classes é similar ao diagrama de Entidades-Relacionamentos da área de banco de dados, porém, ele se encontra em um nível de abstração de mais alto nível e contém uma importante diferença que é a de representar o comportamento da classe, ou seja, através de suas operações ou métodos. Portanto a persistência é uma importante característica no conceito desse diagrama, uma vez que, algumas classes podem representar, futuramente, em um projeto de sistema,  entidades físicas implementadas no banco de dados do sistema. Guedes (2008, p. 75) fornece um bom relato dessa característica do diagrama de classes:
Em muitos casos pode ser necessário preservar de maneira permanente os objetos de uma Classe, ou seja, esta deve ser persistente. Uma classe persistente apresenta muitas semelhanças com uma entidade como aquelas definidas no antigo Modelo Entidade-Relacionamento utilizado para definir as estruturas de tabelas em bancos de dados relacionais. [...] Na verdade o diagrama de classes foi intencionalmente projetado para ser uma evolução do Modelo Entidade-Relacionamento e pode ser utilizado para modelar a estrutura lógica das tabelas que irão compor um banco de dados.
A seguir serão apresentados os principais componentes do diagrama de classe, juntamente com um exemplo ilustrativo. Os exemplos fazem parte de um pequeno estudo de caso que será apresentado de forma completa no final deste artigo e também em vídeo aula, não deixe de conferir.


CLASSES
As classes, no diagrama de classes, são representadas por um retângulo com, normalmente, três divisões, a saber: o nome da classe, os atributos e as operações, esses dois últimos, com os seus tipos e respectivos escopos. É importante que o nome da classe seja uma palavra única, preferencialmente sem caracteres especiais e acentuados, isso evitará problemas na geração do código fonte do diagrama.


 

Em uma classe os ATRIBUTOS representam as propriedades da classe e as OPERAÇÕES, representam os métodos desta classe.

ASSOCIAÇÃO

As associações representam as relações entre as ocorrências das classes. É um tipo de relacionamento estrutural e estático entre as classes. As associações em um diagrama de classe definem os tipos de ligações que os objetos participam. BOOCH (2005, p. 452) usa o termo “associação binária” para se referir a uma associação entre duas classes.
 


AGREGAÇÃO

Descreve uma relação de dependência entre duas classes, é a descrição de um
relacionamento todo-parte ou “parte de”, também conhecido como um relacionamento do tipo HAS-A. É um caso particular de associação. Esse tipo de relacionamento traz os conceitos de responsabilidades entre classes. A agregação é um tipo de relacionamento que não força a destruição do conjunto, ou seja,  uma vez destruído o objeto todo, não há obrigatoriedade da  destruição do objeto parte, assim, no exemplo  abaixo, mesmo se uma equipe “X” acabar, o jogador poderá fazer parte de outra equipe.

 


COMPOSIÇÃO

Também é a descrição de um relacionamento todo-parte ou “parte de”, é conhecido como HAS-A, mas neste caso o objeto parte pertence somente a um objeto todo, ou seja, esse é um tipo de relacionamento mais forte entre duas classes ou entidades. Esse tipo de relacionamento traz, assim como a Agregação, os conceitos de responsabilidades entre as classes, porém de forma mais acentuada


 

Segundo BEZERRA (2007, p. 123), “nas agregações/composições, as partes são normalmente criadas e destruídas pelo todo. Na classe do objeto todo, são definidas as operações para adicionar e remover as partes”.


MULTIPLICIDADE

É a indicação de quantos objetos podem participar de um relacionamento.

 

NOME DO PAPEL

É uma descrição (rótulo explicativo) inserido na ponta de uma associação.

 

GENERALIZAÇÃO

É um relacionamento onde temos uma classe ancestral (supertipo) e outras classes herdadas (subtipos).  o subtipo deve incluir todos os elementos (atributos e operações) do supertipo. Na implementação física corresponde a um processo de herança. Este é o relacionamento IS-A (é um). Este tipo de relacionamento na linguagem JAVA pode ser identificado com o operador “instanceOff”.

 

Esse tipo de generalização podem ser restringidos de várias maneiras. Segundo BEZERRA (2007, P. 134), as restrições podem ser: Sobrepostas, para representar herança múltipla; Disjunta para subclasses que só poderão herdar de uma única classe; Completa, quando todas as classes herdadas possíveis foram definidas; Incompleta quando nem todas as subclasses foram definidas.

INTERFACE
A interface define apenas a assinatura dos métodos da classe sem apresentar sua implementação. Normalmente, nas linguagens de programação orientadas a objetos, as interfaces não apresentam atributos. A interface implementa a programação por contrato. A figura a seguir apresenta duas representações de interface e o seu relacionamento com uma classe. No segundo exemplo note o uso do estereótipo para evidenciar a interface.

 


ESTEREÓTIPOS
Segundo BOOCH (2005, p. 455) trata-se de “Uma extensão do vocabulário da UML, que permite a criação de novos tipos de blocos de construção derivados dos já existentes, mas que são específicos ao seu problema.” Os estereótipos são representados por aspas francesas ( <>). Os estereótipos são normalmente predefinidos na própria linguagem UML, por outro lado, a equipe de desenvolvimento pode definir os seus próprios estereótipos, assim esclarece BEZERRA (2007, P. 47):
[...] A UML também permite que o usuário defina os estereótipos a serem utilizados em determinada situação de modelagem. Ou seja, a própria equipe de desenvolvimento pode definir os estereótipos que serão utilizados em situações específicas. Dessa forma, podemos ter estereótipos de dois tipos: predefinidos ou definidos pela equipe de desenvolvimento.
 


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.




















domingo, 6 de abril de 2014

Produção Textual Para matéria de Análise e Gerenciamento de Projetos WEB


 OBJETIVO

O propósito desse projeto de software a ser desenvolvido é a criação de um sistema de interface simples e criativa, familiarizando o usuário com o sistema logo a primeira vista.
A tela principal especificando sem complicações que tipo de veículo o cliente vai escolher, a marca, o preço, as condições, tudo de maneira simples e intuitiva para não haver dúvidas na hora da escolha.

 DESENVOLVIMENTO:

ESTUDO DE CASO : LOCADORA ALUNOS.                                                                                                                                                                                                               
       A “Locadora Alunos” é uma empresa privada com fins lucrativo, situada na região central da cidade de São Paulo, fundada em 10 de maio de 1992, com o objetivo de locar veículos leves. 
O diretor Sr. Antônio Carlos, fundador, conta com um quadro de  7 funcionários que atuam em diversas áreas, sendo: Paulo, Ana Paula e José Roberto (departamento de locação), Márcia Regina (departamento de compras), André Augusto (departamento de controle de frota),  Marcos (departamento de manutenção) e Maria Helena (departamento financeiro).
Seu estoque atual possui 200 veículos, classificados em: básico, básico com opcionais, intermediário, intermediário com opcionais, premium, premium com opcionais e utilitários.
Sendo os valores da locação distribuídos, respectivamente: R$ 60,00; R$ 80,00; R$ 100,00,  R$ 120,00, R$ 150,00, R$ 200,00 e R$ 130,00. Essas classificações em faixas proporcionais, entre o menor e maior preço, segundo os valores de compra.
Sua estrutura física possui uma área total de 3.500m², contando com a área de garagem, vistoria, pequenos reparos e lavagem.
Devido à grande demanda, neste ano de 2012 houve a necessidade de contratar uma empresa para desenvolver um software para acesso via internet.
A empresa contratada foi a “Turma 2012/1” que assumiu esse compromisso e possui know-how no segmento com foco no desenvolvimento de sistemas WEB.
Logo no início a empresa “Turma 2012/1” entrevistou os usuários, começando pelo Sr. Antônio Carlos que apresentou os principais processos de uma forma abrangente, pois, os detalhes serão tratados com os demais funcionários de cada área.
Atualmente, a empresa conta com um controle de frota de acordo com a classificação de cada veículo. Cada veículo possui um controle de status de locação, garantindo que jamais um veículo seja locado para dois ou mais clientes no mesmo período. 
A “Locadora Alunos”, possui também, um controle de usuários para gerenciar todos os acessos dos funcionários. Estes usuários realizam todas as operações no atual sistema, lembrando que uma locação é realizada por apenas um usuário, mas que este usuário poderá registrar vários empréstimos.
Após a realização do levantamento de requisitos de negócio foi estabelecido o escopo do projeto, pela empresa “Turma 2012/1”, onde teve a aprovação dos stakeholders (todos envolvidos no projeto).  
Organograma da Empresa




















Neste item serão realizadas propostas de protótipos de interfaces de no mínimo 4 funcionalidades para o estudo de caso proposto, identificando 4 qualidades de usabilidade de acordo com as seguintes diretrizes:
- Norma ISO 9241
- Critérios Ergonômicos segundo Bastien e Scapin
- Avaliação Heurística (Jacob Nielsen)
                            
Tela Principal baseada nas heurísticas de Nilsen foram usadas na interface “visibilidade do status do sistema”.
  Critério para desenvolvimento 4 qualidades de usabilidade:
- tempo para completar uma tarefa
- número de comandos para completar uma tarefa
- fração de uma tarefa completada em um espaço de tempo
-  numero de erros
Critérios ergonômicos segundo Bastien e Scapin que são: condução, carga de trabalho, controle explícito e adaptabilidade.

Tela Principal do sistema da Locadora de Carros   



Para garantir o Controle do Projeto de Software, no desenvolvimento das atividades em relação às Interfaces (item 4.1), Análise de Sistemas (item 4.3) e Banco de Dados (item 4.4), elaborei uma WBS e um Cronograma com as atividades, com delegação das pessoas (papel).

WBS para o Controle do projeto de software.



Cronograma de Atividades












Neste item será realizada a Modelagem do Sistema, contemplando a especificação das seguintes técnicas da UML: Diagrama de Use Cases, Documentação de Use Cases, Diagrama de Classes e Diagrama de Atividades.

Diagrama de Caso de Uso

















Documentação do Caso de Uso :

1-    O responsável pelo setor de compras controla aquisições de veículos para a locadora.

2-    O responsável pela locação controla todo o fluxo de locação de veículos.

3-     O responsável pelo financeiro controla o fluxo de dinheiro das locações.

4-     O responsável pela frota controla a manutenção feita nos veículos.

5-     O responsável pela secretaria controla os contatos feitos com a empresa pelo telefone.

6-     O responsável pela diretoria herda todas as funções dos casos de uso, ou seja , tudo que os funcionáris fazem ele também sabe fazer e acompanha.

Diagrama de Classes :


















Diagrama de Atividades:















Este item para o controle da “Locadora Alunos” farei um Banco de Dados para o correto armazenamento dos dados cadastrais e transacionais. Aplicando o conhecimento em modelagem de Banco de Dados, foi construído  um Modelo Entidade Relacionamento devidamente normalizado (MRN) até a 3ª Forma Normal, apresentando o Diagrama Entidade Relacionamento para o plano Conceitual e Lógico, utilizando a ferramenta Case BR Modelo, faça a geração do Script físico no padrão SQL ANSI, (Não é necessário direcionar para o SGBD específico).
Portanto deverá ser apresentado o DER Conceitual, o DER Lógico, e o Script Físico.

Modelo conceitual











Modelo lógico:

1.       Cliente;
2.       Automóveis;
·         Modelo – tabela decodificação;
·         Marca - tabela decodificação;
3.       Locação;


























Modelo Fisico:











CONCLUSÃO :

            Neste trabalho nós podemos concluir que a partir das técnicas de modelagem da Unified Modeling Language (UML), temos uma visão das definições da arquitetura de um sistema, do desenvolvimento da modelagem da atividade de Projeto com a UML 2.0. O estudo da  Interface Homem computador é realizado para prover ao ser humano facilidades funcionais para melhorar a segurança, portabilidade, conforto, efetividade e utilidade. Vimos também que a qualidade do produto final de um software depende das técnicas específicas da Engenharia de Software e do gerenciamento de projetos. E finalmente abordamos o conceito do modelo entidade relacionamento e o processo de normalização, detalhando cada uma das formas normais.

REFERÊNCIAS :

- ARANHA, Elzo Alves. A contribuição dos critérios ergonômicos na concepção de sistemas de gerenciamento de aprendizagem virtual. Disponível em: .
- ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR 9241-11: requisitos ergonômicos para trabalho de escritórios com computadores: parte 11 – orientações sobre usabilidade. Rio de Janeiro, 2002. Disponível em: .
 - COSTA, Luciana Ferreira da; RAMALHO, Francisca Arruda. A usabilidade nos estudos da informação: em cena usuários e sistemas interativos de informação. Perspectivas em Ciência da Informação, v. 15, n. 1, p. 92-117, jan./abr. 2010. Disponível em: .
 -  DIAGRAMA de use cases. Disponível em:
cases.htm>.
 - DIAS, Cláudia. Heurísticas para avaliação de usabilidade de portais corporativos. In: _. Métodos de avaliação de usabilidade no contexto de portais corporativos: um estudo de caso no Senado Federal. 2001. 229 f. Dissertação (Mestrado) - Universidade de Brasília, Brasília, 2001. Disponível em:
.

 - GUDWIN, Ricardo R. Diagramas de atividade e diagramas de Estado. Disponível em: . 

domingo, 30 de março de 2014

Conheça a origem dos símbolos universais dos computadores

Não importa de qual marca seja o seu computador ou em qual país você esteja. Basta bater o olho em certos símbolos para saber imediatamente para o que servem. Assim são os símbolos universais, elementos gráficos que mesmo com leves mudanças no design ainda assim são inconfundíveis.
Mas você pode estar se perguntando: como nasce um símbolo universal? Qual é o significado de cada um deles? O Baixaki foi pesquisar a origem de alguns dos símbolos mais populares, como o Power, o Play e o Arroba. A explicação muitas vezes é tão interessante quanto a simplicidade e eficiência do símbolo em questão.
Arroba 
Se você tem mais de 25 anos e se lembra do período antes da popularização da internet vai recordar que o símbolo arroba (@) era uma referência apenas no que diz respeito a uma unidade de medida para pesar animais, como bois e ovelhas.
Porém, foi a partir do momento em que a arroba foi incluída nos endereços de email que ela se tornou popular e um elemento inconfundível. Se a sua origem histórica é incerta, a sua utilização no mundo da informática ocorreu pela primeira vez em 1971.
Foi nesse ano que o programador Raymond Tomlinson teve a ideia de utilizar o símbolo para separar o nome de usuário do nome do terminal de computador. A diferenciação não só funcionou como se tornou esteticamente agradável, sendo adotada como padrão anos mais tarde.
Quase cem anos antes a arroba também era utilizada como um símbolo de taquigrafia. Em termos contábeis o símbolo tinha o mesmo significado da expressão "à taxa de". Apesar de ser visualmente idêntico em todos os países, seu nome varia em muitos lugares. Na França e na Itália, o símbolo é conhecido como "caracol", na China por "ratinho" e na Alemanha é "cauda de macaco".
Bluetooth 
Basta olhar para o símbolo do Bluetooth para chegar à conclusão óbvia do que ele representa. Suas formas lembram uma letra "B" estilizada, letra inicial da palavra que representa. Mas por qual razão a tecnologia Bluetooth - que numa tradução direta significa dente azul - tem esse nome?
Para entender o significado precisamos voltar alguns séculos na história. No século X havia um rei na Dinamarca chamado Harald Blatand. Ele era um profundo conhecedor de mirtilos, uma fruta popular em regiões muito frias e que tem uma cor azulada.
Segundo a história, de tanto consumir o fruto um dos seus dentes ficou manchado de azul permanentemente. O símbolo do Bluetooth, que parece com uma letra "B" é, na verdade, o mesmo ícone que Harald usava, com duas runas representando as suas iniciais.
Mas o que isso tem a ver com a tecnologia? O primeiro receptor de Bluetooth tinha o formato de um dente e era azul. O reinado de Harald Blatand uniu diversos povos nas regiões da Noruega, Suécia e Dinamarca. Assim como o Bluetooth, que foi projetado para aproximar pessoas e facilitar o compartilhamento de informações.
Command 
A tecla Command pode até não ser familiar para muitos usuários. Mas se você cresceu com um produto da Apple em sua mesa de trabalho, está mais do que familiarizado com ela. Afinal, o que aquele símbolo significa?
A história por trás dela é mais simples e inusitada do que parece. Quando estava sendo desenvolvida, a ideia original é que a tecla Command fosse representada por uma maçã. Steve Jobs ao ver aquilo protestou. Afinal, já havia muitas maçãs espalhadas pela tela.
Assim, a artista Susan Kare foi em busca de outro símbolo condizente com a função e acabou encontrando uma espécie de floral. O símbolo foi achado na Suécia e indicava uma atração de um acampamento. Também conhecido como loop Gorgon, o símbolo se assemelha a uma espécie de loop infinito.
O conceito acabou casando com a proposta da tecla Command, a de servir como um atalho que, combinado com outras teclas, poderia apresentar novas funções, como se deixasse o teclado com "infinitas possibilidades". A tecla é usada até hoje nos computadores da Apple.
Pause 
Dois traços contínuos colocados lado a lado na vertical. O símbolo de pausa está presente em diversos equipamentos, de computadores a aparelhos de som e, mesmo não indicando textualmente qual é a sua proposta, visualmente, no contexto das demais teclas, é fácil entender a que ele se destina.
Sua origem e representação são incertas, mas há várias teorias para o seu significado, todas cabíveis e possíveis de serem verdadeiras. Na notação musical, por exemplo, os dois traços indicam um momento de pausa em uma canção.
Já para quem prefere uma explicação matemática, os dois traços indicam também a abertura e a junção de uma conexão elétrica. Outra versão sugere que esta é apenas uma conotação intermediária entre os símbolos de play, forward e rewind.
Play Assim como o símbolo de pausa, não há uma explicação definitiva para o real significado doplay. Um triângulo apontando para a direita pode parecer óbvio como sinônimo de avançar, em especial para o público ocidental, que tem o hábito de leitura da esquerda para a direita.
A única coisa que se pode afirmar é quando eles surgiram e a que se destinavam. Os primeiros decks de rolo de fitas de vídeo adotaram os símbolos de play, pause, rewind eforward para indicar ao operador qual tecla apertar para cada um dos procedimentos.
Pelo jeito, a simplicidade atravessou gerações já que mesmo nos produtos mais modernos ainda não houve uma maneira diferente, mais eficiente e intuitiva de identificar essas funções.
Power 
Depois que você ler a explicação do símbolo de power, a primeira reação que terá é: "é tão óbvio, como é que não pensei nisso antes?". Existem centenas de variações do mesmo símbolo, mas ele é basicamente constituído de um círculo e um traço.
Eles representam os números zero e um que, no sistema binário, significam simplesmente ligado (um) e desligado (zero). O símbolo padrão foi estabelecido em 1973 pela International Electrotechnical Comission e tinha como descrição "energia em estado de espera".
Posteriormente, o Instituto de Engenheiros Elétricos e Eletrônicos definiu o símbolo simplesmente como Power, ou força. A notação é utilizada até hoje e apresenta algumas variações, como o círculo cortado ou contínuo, e o traço dentro ou fora do espaço.
USB 
O que Netuno, o deus romano dos mares, tem a ver com o símbolo das conexões USB? Criado como parte das especificações da primeira versão do produto, o símbolo do USB foi desenhado para se parecer com o tridente de Netuno.
O artefato tinha como objetivo atingir o inimigo em pontos vitais com a lâmina central e, com as laterais, enfraquecer o poder de penetração. Isso garantia que a arma fosse muito menos letal e mais paralisante do que qualquer outra coisa.
Os desenhistas do símbolo do USB não queriam matar ninguém com sua criação. Na versão deles, as lanças foram substituídas por um quadrado, um triângulo e um círculo. O simbolismo é que um único cabo pode conectar três extremidades distintas.
No caso da tecnologia, o melhor simbolismo é que o padrão pode ser associado aos mais diversos tipos de periféricos, que foi o que realmente acabou acontecendo. Hoje existem dezenas de dispositivos diferentes que podem ser conectados ao PC via USB.
Firewire 
Um ponto central recebendo e emitindo sinais para três fontes distintas. Essa é uma explicação rápida para o símbolo de Firewire, também popularizado e de fácil identificação para os usuários mais experientes.
Pois saiba que ele é uma criação de um grupo de desenvolvedores da Apple e nasceu na década de 90, durante a criação desta tecnologia. A ideia era mostrar a possibilidade de alta conectividade com equipamentos de áudio, vídeo e transmissão de dados.
Cada um dos pontos representa um dos tipos de conexão. Quando foi concebido o símbolo era originalmente vermelho. Com o passar dos anos a cor foi alterada para amarelo.