Controle de Entrega de Pizza
Por: Vinícius Pereira • 12/5/2016 • Trabalho acadêmico • 1.934 Palavras (8 Páginas) • 415 Visualizações
Desenvolvimento
3.1 Técnicas e Recursos na Construção de Aplicativos para Dispositivos Móveis
O desenvolvimento de sistemas para dispositivos móveis é uma tarefa bastante complexa que precisa ter vários cuidados. A utilização das metodologias, técnicas e ferramentas de Engenharia de Software promovem o aumento da qualidade dos sistemas, a facilidade de manutenção e o aumento da produtividade, uma vez que fornecem notações padronizadas e diretrizes que permitem maior precisão no atendimento as necessidades do cliente. As linguagens de programação orientada a objetos colaboram para o aumento da qualidade, pois a construção dos softwares formados por unidades básicas, como as classes, fornece a obtenção dos fatores de qualidade citados anteriormente.
3.1.1 Persistência em Banco de Dados
A conservação dos dados consiste no armazenamento confiável e coerente das informações em um sistema de armazenamento de dados. A persistência de objetos é o armazenamento consistente em objetos de uma aplicação orientada a objetos para que esses existam em diferentes execuções de diferentes aplicações.
Os sistemas atuais trazem o seguinte desafio: integrar as aplicações elaboradas no modelo orientado a objetos aos consagrados bancos de dados relacionais, que é feito através do mapeamento objeto-racional.
O mapeamento objeto-racional é uma técnica de desenvolvimento que consiste em representar o objeto de maneira relacional na gravação do banco de dados, que tem a habilidade necessária para fazer o caminho inverso sem perder a informação. O hibernate é um exemplo de ferramenta que faz trabalho de forma transparente ao programador.
No Hibernate, temos a persistência de objeto simples e a de coleções, a primeira exige um ID, ou chave primária, que confere o único objeto no banco de dados, viabilizando a persistência; a segunda, apesar de mapear coleções, tem toda a coleção que será mapeada de maneira diferente, permitindo que um array ou map possa persistir.
Consequentemente, para fazer consultas ao banco de dados, o framework usa o HQL (Hibernate Query Language), que apesar do nome, é completamente orientado a objetos, entendendo noções como herança e polimorfismo. Assim, aparece a terceira modalidade de persistência, a herança, que pode ser hierarquia, subclasse ou classe concreta.
3.1.2 Threads
Threads é uma forma diferente de trabalhar com um banco de dados. Permite que o usuário continues a utilizar o sistema enquanto uma tarefa em segundo plano se responsabilize por efetuar grandes inserções ou atualizações na base de dados.
Possibilitam explorar o paralelismo oferecido por múltiplas tarefas, que podem ser processadas de forma paralela em múltiplos processadores e resultam de modo geral, na otimização do tempo de processamento consumido por uma aplicação que utiliza esta tecnologia;
Através da coleta de tempo, podendo ser realizada por meio dos testes de execução de modelos com e sem a implementação de threads, observa-se uma redução com cerca de 50% no tempo necessário para inclusão de registros na base de dados com a utilização de dois threads quando comparada com o modelo sem utilidade das mesmas, dessa forma, imaginando-se uma base de dados com milhares de registros, fica mais evidente os benefícios da aplicação desta técnica.
3.1.3 Sincronismo de Processos
Quando se trabalha com processos cooperativos, eles podem afetar uns aos outros. Eles compartilham recursos, principalmente posições de memória e arquivos. O acesso a dados compartilhados pode gerar informações inconsistentes. Desta maneira, é altamente recomendado que haja um mecanismo para ordenar a execução dos processos.
A exclusão mutua é uma método popular de sincronismo de processos, ela garante que quando um processo está acessando um elemento de dados, nenhum outro processo poderá afetar esse elemento. De maneira parecida, se uma operação de tal modo que o estado não se modifique entre momentos do teste e o momento em que a ação ocorre, com a base nos valores produzidos pelos testes.
3.1.4 Projetando Interfaces de Usuários
Projetar interfaces de usuário não é tarefa fácil, pois pessoas diferentes têm estilos distintos em perceber, entender e trabalhar. Exemplo disso são os usuários que preferem teclas de atalho aos cliques do mouse. Também diferem no que se refere a sequência em que suas ações são realizadas, em suas preferencias por comando e janelas, e o grau em que utilizam telas de ajuda e os manuais.
Questões que precisam ser abordadas na construção de interfaces:
- Metáforas: Os termos, as imagens e os conceitos fundamentais que podem ser reconhecidos e aprendidos;
- Um modelo mental: A organização e representação de dados, funções, tarefas, as atividades e papéis;
- Aspecto: As características de aparência do sistema, que fornecem informações para o usuário;
- Impressão: As técnicas de interação que proporciona, uma experiência atrativa para o usuário;
O objetivo desses elementos e da interface com o usuário é auxiliar os usuários a obter acesso rápido ao conteúdo de sistemas complexos, sem perder a compreensão enquanto se move pelas informações.
A interface pode incorporar uma variedade de tecnologias: agentes, hipertextos, som, monitores tridimensionais, vídeo e realidade virtual, que podem ser implementadas a partir de uma enorme variedade de hardwares como monitores gráficos, canetas e óculos de realidade virtual.
3.1.5 Banco de Dados
Um banco de dados é uma coleção logicamente coerente de dados com um determinado significado inerente. Isto significa que um conjunto aleatório de dados não pode ser considerada um Banco de Dados. Nesse caso, guardar essas informações para formar estratégias, e garantir que os objetos serão atingidos. O banco de dados precisa dar suporte às operações diárias da empresa, auxiliando o trabalho e produzindo resultados, nos dispositivos de armazenamento transformando em dados voláteis, difíceis de desaparecer.
...