Buscar

Ptg - Tec. Analise e Desenv. Sist. - Produção Textual Grupo

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

LEONALDO MARIANO SANTOS
LAERTE COSTA DE OLIVEIRA
LEANDRO DE JESUS LOPES
LUIZ CARLOS LIMA SILVA
UBIRATAN FERREIRA DA SILVA
	Sistema de Ensino EAD Conectado
TECNOLOGIA EM ANALISE E DESENVOLVIMENTO DE SISTEMAS
PRODUÇÃO TEXTUAL INTERDISCIPLINAR – EM GRUPO
Projeto de Sistemas de Informação II
Gestão do Conhecimento
Fundamentos de Redes de Computadores
Tópicos Avançados em Desenvolvimento de Sistemas
FEIRA DE SANTANA BA
2015.2
LEONALDO MARIANO SANTOS
LAERTE COSTA DE OLIVEIRA
LEANDRO DE JESUS LOPES
LUIZ CARLOS LIMA SILVA
UBIRATAN FERREIRA DA SILVA
 PRODUÇÃO TEXTUAL INTERDISCIPLINAR – EM GRUPO
 Projeto de Sistemas de Informação II
Gestão do Conhecimento
Fundamentos de Redes de Computadores
Tópicos Avançados em Desenvolvimento de Sistemas
Trabalho de Analise e Desenvolvimento de Sistemas. Apresentado à Universidade Norte do Paraná - UNOPAR, como requisito parcial para a obtenção de média semestral na disciplina Gestão do Conhecimento. Fundamentos de Redes de Computadores
Tópicos Avançados em Desenvolvimento de Sistemas
Orientador: Prof. Paulo K. Nishitani 
Anderson E.M. Gonçalves 
Merris Mozer 
FEIRA DE SANTANA BA
2015.2
SUMÁRIO
INTRODUÇÃO...............................................................................................................
OBJETIVO.....................................................................................................................
DESENVOLVIMENTO
4.1 Diagramas de Caso de Uso do sistema de entrega de pizzas .....................................
4.2 O Diagrama de Classe............................................................................................... ..
4.3 Prototipando Aplicação.................................................................................................
4.4 Modelos Entidade Relacionamento................................................................................ 4.5 Capital Intelectual..................................................................................................... 4.6 Plataformas para Aplicação.........................................................................................
5 Conclusão:................................................................................................................. 
6 Referências:............................................................................................................... 
EXEMPLOS DE ELEMENTOS DE APOIO AO TEXTO	5
 EXEMPLO DE FIGURA	5
5 CONCLUSÃO	7
6 REFERÊNCIAS	.....8
INTRODUÇÃO
O objetivo deste documento é definir os requisitos para o Sistema Pizzaria. (daqui por diante, referido como “o Sistema”) e detalhar as especificações para as características, capacidades, atributos críticos, e características principais do sistema proposto. Este documento deve ser lido pela gerência, marketing, e pessoal de Garantia de Qualidade da Pizzaria Entrega Rápida com os objetivos de avaliar os benefícios e praticabilidade da aplicação proposta assim como fornecer uma base para a estimativa do tempo e de esforços necessários para construir, testar, implantar, e manter a aplicação. Este documento não descreve como, quando, ou onde qualquer destas atividades será executada ou quem irá fazê-las. 
O sistema Pizzaria. Será responsável por gerenciar os pedidos de pizza da Pizzaria Entrega Rápida e a entrega desses pedidos. O sistema irá também incluir uma aplicação Web que permite aos clientes registrarem seus pedidos através da internet. O sistema deve permitir que o usuário faça a manutenção de seus cadastros. Para maiores detalhes no escopo deste projeto veja o documento Visão, aprovado em 30 de junho de 2009.
3 Objetivo
Neste trabalho, será enfocado o desenvolvimento de um sistema capaz de gerenciar as informações de uma pizzaria, visando torná-la mais eficiente e competitiva. Como parte importante para a resolução deste problema, serão estudados conceitos relativos a Análise e Projeto de Sistemas e projeto de Banco de Dados, para que o sistema resultante seja confiável e atenda as necessidades do cliente. o cenário proposto.
4 DESENVOLVIMENTO
As constantes mudanças que estão ocorrendo no mercado, às empresas estão se vendo obrigadas a aprimorarem seus processos de planejamento, avaliação e controle, tendo em vista a necessidade de tomada de decisões rápidas e de melhor qualidade que lhe assegurem o atendimento de seus objetivos de continuidade, expansão e lucratividade. O orçamento é um valioso instrumento de planejamento e controle das operações da empresa, qualquer que seja seu ramo de atividade, natureza ou porte. Estabelece, da forma mais precisa possível, como se espera que transcorram os negócios da empresa, geralmente num prazo mínimo de um ano, proporcionando uma visão bem aproximada da situação futura. É através do orçamento que se estabelece metas com a equipe, dando, assim, uma visão clara de onde a empresa quer chegar. A prática do orçamento empresarial é uma das técnicas administrativas bastante utilizadas pelas grandes instituições empresariais, nacionais e multinacionais. Quando uma empresa trabalha sem o orçamento, ela trabalha pensando somente no mês em que vai faturar e em uma empresa deste tipo não é raro as equipes de gerentes e supervisores, não conhecerem os objetivos e as metas da empresa. Isto tem acontecido muito com as pequenas e médias empresas, pois elas têm relutado em utilizar o orçamento empresarial como forma de gerir e prever resultados futuros, dizendo que isso não faz parte da sua realidade. Tal posição tem que ser revista, pois, pela sua estrutura organizacional e pela forma como são dirigidas, são muito vulneráveis às mudanças do ambiente e, por isso, precisam desenvolver ferramentas de planejamento que possibilitem agilizar as decisões para que não acabe ocorrendo uma perda no mercado em que a empresa está situada. RUSCHEL (2005) afirma que ausência de um adequado gerenciamento de custos, possibilita que muitas empresas encerrem suas atividades, sem que seus proprietários possam sequer identificar as causas. E completa dizendo que um eficiente controle de custos pode proporcionar benefícios concretos a uma empresa, como conhecimentos da rentabilidade da empresa e definição da política de preços.
Todo empreendimento necessita de bases sólidas para iniciar suas atividades. Estabelecer indicadores financeiros que permitam conhecer quais as condições financeiras relacionadas com o seu negócio dá parâmetros e serve como um guia de viabilidade do processo.
O planejamento financeiro estabelece diretrizes de mudança e crescimento numa empresa, preocupando-se com uma visão global, com os principais elementos de investimento e financiamento da empresa, onde mediante essas informações a empresa pode visualizar as diferentes oportunidades de desenvolvimento, além da possibilidade de analisar e comparar diversos cenários, cumprindo assim a principal finalidade do planejamento financeiro que é evitar surpresas e desenvolver planos alternativos de providências a serem tomadas caso ocorram imprevistos.
O tempo tem mostrado que a abertura de novos negócios, baseados na criatividade e no desenvolvimento do cidadão brasileiro é fundamental para o desenvolvimento de nosso país. No entanto, apenas vontade e coragem não são suficientes para o sucesso de um empreendimento. Para encarar tão grande responsabilidade, o novo empresário precisa conhecer os aspectos e as fases que envolvem a abertura de um negócio, as características e dimensões do mercado no qual pretende atuar, a legislação pertinente, os padrões de qualidade, entre outros. Estes fatores, aliados à afinidade com a atividade a ser desenvolvida e a competência gerencial, são predominantes
para o sucesso do negócio. O novo empresário deve ser empreendedor e ter como característica básica o espírito criativo e pesquisador, buscando sempre novos negócios, oportunidades e ter preocupação sempre presente com a melhoria da organização.
O orçamento consiste em uma série de previsões, que serão feitas com base no que se espera acontecer em cada setor e no mercado em geral, sempre levando em consideração os dados históricos, fatos ocorridos no passado, que permitam o mínimo de previsibilidade.
Um orçamento empresarial completo engloba, necessariamente, os seguintes orçamentos específicos:
	• Orçamento de vendas;
• Orçamento de produção;
• Orçamento de matérias-primas;
• Orçamento de custos totais;
• Orçamento de despesas gerais;
• Orçamento de investimento;
• Orçamento de caixa;
• Orçamento de resultado.
Feito o orçamento, todos passam a conhecer as metas e os objetivos da empresa, no mínimo para um ano. É necessário que a equipe, mensalmente, faça o acompanhamento, isto é, comparar o previsto com o realizado, corrigindo e redirecionando as ações a fim de assegurar o cumprimento mais fiel possível do projetado.
4.1. A empresa “Meveana” é um sistema Web integrado e está em fase de inúmeras melhorias. Para isto, será criada uma especificação técnica dos pontos necessários. Para iniciar nosso projeto vamos fazer a prototipação dos 5 controles. Vamos criar o cadastro dos 5 controles, além de gerenciar o STATUS dos pedidos. É obrigatório especificar qual a linguagem de implementação que será utilizada: php, c# ou Java. Toda a customização deve ser feita para interface Web visando suprir os problemas. Visando a efetivação do sistema WEB para solicitação e controle da entrega de pizzas, faça uma pesquisa dos equipamentos necessários para tal implementação com os devidos custos, incluindo a adesão aos serviços de provedor de internet. Não se esqueça de especificar quais os recursos utilizados pelos membros integrantes do grupo para aquisição e gestão deste conhecimento, bem como o capital intelectual de cada um. Outro ponto a ser observado é que muitos clientes poderão fazer o uso deste sistema através de vários dispositivos como: tablets, smartphones, e etc., portanto, os requisitos visuais também devem ser considerados. Atentar para a especificação dos relacionamentos entre as entidades. Fazer a especificação de cada evento (enter, tab ou outra tecla) ou botão acionado.
		CADASTRAR
	CLIENTE
	EFETUAR 
	LOGIN 
	REALIZAR 
	PEDIDO 
	EFETUAR 
	PAGAMENTO 
	(CARTÃO) 
	USUÁRIO 
	CLIENTE 
	ESCOLHER 
	PIZZA E 
	QUANTIDADE 
	NOME 
	CPF 
	ENDEREÇO 
	TELEFONE 
	EMAIL 
	USUÁRIO 
	SENHA 
VERIFICAR 
	PEDIDO 
	EFETUAR 
	ENTREGA 
	RECEBER 
	PAGAMENTO 
	(DINHEIRO) 
	ENTREGADOR 
	CADASTRAR 
	USUÁRIO 
	EFETUAR 
	LOGIN 
	ATUALIZAR 
	SITUAÇÃO 
	PEDIDO 
	FINALIZAR 
	PEDIDO 
	USUÁRIO 
	ADMINISTRADOR 
	ENTREGUE 
	OU PENDENTE 
	NOME 
	CPF 
	ENDEREÇO 
	TELEFONE 
	EMAIL 
	USUÁRIO 
	SENHA 
4.2 DIAGRAMAS DE CASO DE USO DO SISTEMA DE ENTREGA DE PIZZA
Ator Cliente 
O ator cliente não vai interagir com o sistema. Ele é responsável pelos pedidos feito na pizzaria. O ator cliente faz pedidos escolhendo suas pizzas e acompanhamentos e escolhe se deseja que seu pedido seja entregue ou não. O ator cliente pode pagar seu pedido no balcão ou pagar ao motoboy em caso de entrega.
 
Ator administrador 
O ator administrador é o usuário que tem acesso a todas as tarefas do funcionário e possui privilegio no sistema podendo realizar além das tarefas do funcionário as seguintes tarefas: 
Gerenciar (inserir, alterar, remover e buscar) categoria, gerenciar (inserir, alterar, remover e buscar) acompanhamento, gerenciar (inserir, alterar, remover e buscar) sabores, gerar Relatórios, logar no sistema, deslogar do sistema e alterar a Senha. 
 
Ator Funcionário 
O ator funcionário é o usuário comum do sistema. Este terá acesso a uma parte do sistema, este ator somente poderá realizar as seguintes tarefas: 
Checar cadastro do cliente, gerenciar (inserir, alterar, remover e buscar) cliente, fazer pedido, acompanhar pedido, alterar status do pedido, cancelar pedido, adicionar acompanhamento no pedido, adicionar pizza no pedido, receber pagamento, gerar nota e realizar backup.··.
Ator entregador 
O ator entregador não vai interagir com o sistema. Ele é responsável por pegar pedidos de clientes, junto com cada pedido tem uma nota, ele recebe ambos do funcionário e após tem a função de entregar aos clientes, após feita a entrega, caso o pedido do cliente não tenha sido pago anteriormente o motoboy deve receber o valor referente ao pedido e mais o preço da entrega. Após ter recebido o ator motoboy deve retornar a pizzaria e entregar o valor ao funcionário. 
DIAGRAMA DE CLASSE
Um diagrama de classes é uma representação da estrutura e relações das classes que servem de modelo para objetos. No diagrama de classe que será apresentado podemos ver as classes mais importantes com os métodos já declarados. Não será feita uma descrição pontual sobre as classes do diagrama, pois os nomes dados aos atributos e aos métodos já estão muito bem esclarecidos e sucintos. Apenas com a visualização do diagrama já se tem uma boa noção do que trata. Ainda contamos com a documentação javadoc durante o desenvolvimento, contribuindo para a compreensão na leitura do código. 
	Funcionamento do projeto:
	Usuários: Os usuário administrador tem acesso ao menu para criação de usuários do sistema, estes usuários são considerados como vendedores e tem acesso ao demais menus. O sistema pode ser acessado por vários usuários ao mesmo tempo e computadores diferentes, o que facilita quando sua loja possuir vários funcionários e tiver vários computadores como pontos de acesso de vendas ou consultas.
	Produtos: Todos os usuários tem acesso para cadastrar produto, neste cadastro são requeridos dados sobre o produto, assim como, código de barras que facilita o rastreamento deste produto, valor do produto para fins de calculo e quantidade de estoque máxima e mínima para facilitar o pedido de compras e controle do estoque.
	Clientes: Todos os usuários tem acesso ao menu para cadastro de clientes, neste cadastro são requeridos dados sobre o cliente, como dados para contato e endereço, e como o projeto esta voltado para lojas infantis e cadastrado junto as estes dados a idade gestacional do bebê ou a idade da criança e o sexo, para o sistema possa informar o cliente de promoções compatíveis com o bebê ou a criança, gerando uma relação entre a loja e o cliente.
	Estoque: A funcionalidade estoque conta com a visualização do estoque de três formas, entradas, saídas e o estoque diário que facilita o controle de modo mais ágil  toda baixa no estoque é feita de forma automática, ou seja quando realizada alguma venda, existem recursos para corrigir o estoque caso necessário  com esta funcionalidade é possível monitorar o estoque diário da loja mantendo sempre o controle. Nesta funcionalidade existe um menu que exibe um gráfico do estoque atual, facilitando a visualização da real situação do estoque de forma mais rápida.
	Vendas: Está funcionalidade realiza a venda dos produtos deixando-a mais ágil e eficaz. Toda a parte de calculo total e desconto são feita pelo sistema, diminuindo assim o risco de erros, os produtos podem ser inseridos na venda de forma manual ou pela leitura do código de barras oque facilita ainda mais o processo. Após uma venda finalizada pode ser impresso um comprovante com os dados daquela compra o que facilita o cliente e o vendedor em caso de devolução. Existe um menu nesta funcionalidade que exibe um gráfico de barras das vendas do dia atual, possibilitando ver o andamento  de modo gráfico. Por fim é realizada a baixa no estoque de forma automática mantendo assim o controle do estoque e todos os dados como vendedor, cliente, data e hora, produtos.
	
Modelos Entidade
Relacionamento.
Modelo Modelo
 
Modelo Lógico
4.3 Prototipando uma Aplicação
A utilização de aplicativos específicos que auxiliam na criação de protótipos. Existem tanto aplicativos na web que estão disponíveis através do browser quantos aplicativos executáveis diretamente no sistema operacional. 
No site http://mashable.com/2013/04/02/wireframing-tools-mobile/ temos a indicação de vinte excelentes ferramentas que podem ser utilizadas para prototipação do nosso aplicativo. Essas ferramentas muitas vezes já trazem modelos de interfaces especificas para a plataforma que queremos prototipar como Android, iOS, Windows Phone, plataforma Web, etc. 
Uma das ferramentas mais utilizadas para a prototipação de dispositivos móveis é o MockFlow desenvolvido pela Adobe Air e que está disponível em http://www.mockflow.com. O Mockflow facilita a prototipação em wireframes interativos e interfaces com usuários para sites ou aplicações. O Mockflow pode ser utilizado tanto online através do browser quanto diretamente no sistema operacional, mas possui limitações no plano gratuito. Entre as limitações o Mockflow apenas permite trabalharmos em no máximo um projeto com até no máximo quatro páginas e não mais do que dois colaboradores simultaneamente. No entanto, para dispositivos móveis ele oferece muitos elementos, sendo uma excelente solução gratuita. 
Outra opção de ferramenta é a também conhecida RealtimeBoard que é uma extensão criada para o navegador Google Chrome. Para instalar a ferramenta basta acessar o link https://chrome.google.com/webstore/detail/realtimeboardwhiteboard e instalar a extensão.
Para exemplificar a criação de um protótipo com o Mockflow vamos desenvolver um protótipo. Para isso primeiramente devemos visitar o site http://www.mockflow.com/ e fazer uma conta.
Após criarmos uma conta já estamos aptos a criar um novo projeto. Ao criar um novo projeto no Mockflow podemos selecionar criar um protótipo para diversas plataformas como: iPhone, Android, iPad ou Windows Phone; além de outras plataformas que também estão disponíveis. A Figura 1 mostra os tipos de protótipos que podem ser criados.
Figura 1. Opções para criação de protótipos.
Após a seleção do tipo de protótipo que queremos criar basta selecionarmos o nome do projeto conforme é demonstrado na Figura 2.
Após isso podemos visualizar a tela inicial com diversas ferramentas que estão no Menu direito da tela. Todas essas ferramentas podem ser arrastadas para a parte central da tela onde aparece a tela do celular. Não precisamos necessariamente usar a tela do celular, porém se quisermos um projeto mais real é interessante usá-lo, até para termos uma ideia de como poderemos organizar os componentes na tela. Segue na Figura 3 a tela com os componentes e o screen do celular.
Figura 3. Tela principal para prototipação de aplicativos.
Com a ajuda da ferramenta acima podemos criar diversos protótipos antes de efetivamente implementarmos a aplicação. A apresentação de protótipos aos interessados também ajuda a melhorarmos a aplicação e adapta-la as necessidades do usuário antes mesmo de começarmos a codificação.
Apesar de o protótipo oferecer uma boa ideia de como ficará o aplicativo na plataforma, a implementação do protótipo no próprio aparelho ajuda a respondermos de forma mais precisa algumas perguntas, tais como: todos os elementos do design estão organizados de forma confortável? É fácil chegar aos elementos com o dedo? Ainda é fácil se estivermos usando apenas uma mão? 
Através de imagens estáticas não é fácil verificarmos todas as possibilidades. Por isso que o teste na plataforma torna-se importante. Algumas ferramentas possibilitam exportarmos um protótipo para que possamos testar em determinadas plataformas.
Para ajudar no projeto da aplicação também devemos atentar para detalhes extras como: entender os detalhes, analisar a audiência e compor casos de uso. Entender os detalhes diz respeito a entender o objetivo do negócio. Cada projeto tem seu próprio objetivo de negócio podendo ser desde a criação de canais de receita extras, melhorar a identificar a marca ou simplesmente uma versão móvel de um produto web. É muito importante entendermos porque estamos trabalhando na aplicação de forma a relacionar o projeto com os objetivos de negócio. A análise de audiência se refere a analisarmos o público do nosso produto. Um exemplo disso é uma aplicação direcionada para pessoas de negócio e ter o nome relacionado com algum super-herói ou desenho que pode ter algum relacionamento com o contexto do aplicativo, mas certamente não chamará a atenção do público alvo. Por fim, compor casos de uso se refere a pensarmos em como os usuários usarão o aplicativo. Casos de uso nos permitem descobrir diversas coisas importantes que certamente ajudarão na criação de uma grande aplicação. 
Ao final do desenvolvimento de uma versão de teste do nosso aplicativo precisamos atentar para alguns detalhes. Primeiramente devemos ser um participante ativo durante todo o estágio de desenvolvimento, pois um projetista é sempre responsável pela forma como o aplicativo deve funcionar, portanto, quanto mais estivermos envolvidos no estágio de desenvolvimento, melhor será o produto final. A velocidade do aplicativo, tamanho, algoritmos, todos esses e muitos outros aspectos do desenvolvimento estão sob responsabilidade dos projetistas, além dos desenvolvedores, por isso é importante que tenhamos participação também nas sessões de brainstorming. 
O projetista também deve participar dos testes do produto, visto que o projetista esteve envolvido com diversas fases do desenvolvimento do produto juntamente com o cliente, assim ele pode sentir se a aplicação esta respondendo as necessidades dos usuários. 
Durante os testes devemos comparar a aplicação com o projeto original, pois desenvolvedores podem implementar as coisas de forma diferente devido mal entendimentos ou por algum erro. Devemos comparar cada tela desenvolvida com o que foi acordado e protótipo junto ao cliente, até mesmo detalhes como fontes, cores, bordas, etc. Após os testes terem sido realizados não devemos ter medo de alterar o produto ao longo do caminho. Normalmente temos grandes ideias durante a fase de teste e essas ideias devem ser consideradas. Mas é importante atentarmos se essas ideias podem ser feitas rapidamente e o quão criticas elas são. Se a ideia for rápida e não tão crítica, estamos livres para efetuar as mudanças, sempre comunicando essas mudanças aos clientes.
Atualmente o Java é uma das linguagens mais utilizada em todo o mundo, e ainda em crescimento nas empresas, isso tudo devido o Java não ser somente uma linguagem, mas sim uma plataforma de desenvolvimento (SANTANA, 2010).
Criada pela Sun desde 1991, e com lançamento público em 1995. O Java facilita o desenvolvimento de aplicativos portáveis, com uma linguagem de programação simplificada, segura e Orientada a Objetos (OO) (SILVEIRA et al. 2012).
O Java atualmente está presente em vários ramos da tecnologia, sendo uma das plataformas mais importantes do mundo, principalmente no desenvolvimento para dispositivos móveis, web, desktop e até nos aparelhos de blue-ray (SILVEIRA et al. 2012).
As IDE’s como Eclipse ou NetBeans continuam sendo o núcleo do ambiente de desenvolvimento, centralizando por meio de plug-ins ou funcionalidades já presentes “de fábrica” juntamente com frameworks externos, auxiliando na execução de tarefas como controle de versão, gerenciamento de falhas e novas funcionalidades de um projeto, análise de desempenho e integração contínua (SOUZA, 2011). Os sistemas gerenciadores de bancos de dados (SGBDs) são uma peça fundamental na infra -
instrutora de software de qualquer empresa, seja ela de informática ou não (ZIMBRÃO, 2010).
4.4 Implementação de pedido na linguagem C#
O sistema gerencia toda parte de clientes, fornecedor, compras, estoque e mostra o status de cada entrega, podendo ser realizado filtro por qualquer tipo de status seja em débito, paga, por data. O sistema realiza
o cálculo de acordo com a distancia da casa do cliente para saber o total de kilometros percorridos.
Com este sistema você pode manter o controle dos seus clientes, fornecedores, estoque, compras e vendas de uma forma super-rápida e eficaz.
Os tipos de dados em C# são tipos de valor ou tipos de referência. Uma variável de tipo de valor contém dados desse tipo. Uma variável de tipo de referência contém o endereço da localização na memória em que os dados estão armazenados. Os tipos de valor normalmente representam dados simples, como valores int ou bool. Os tipos de referência, por outro lado, se referem a objetos, os quais podem conter muitos dados individuais. Os tipos de valor internos são os tipos integrais, os tipos de ponto flutuante e os tipos decimais e bool. Os tipos de referência internos são string e object. Os programadores também podem criar tipos de valor e tipos de referência. Os tipos de referência que os programadores podem criar são classes, interfaces e delegados. Existem dois tipos de conversões no C#: implícita e explícita. Segundo seu escopo e disponibilidade, as variáveis podem ser do tipo Static (o valor fica disponível para todos os objetos da classe em que a variável foi declarada), Instance (criada na memória cada vez que instanciamos um novo objeto) e Array (grupo de elementos do mesmo tipo de dado). 
Entre as características essenciais do C# podemos citar: 
Simplicidade: os projetistas de C# costumam dizer que essa linguagem é tão poderosa quanto o C++ e tão simples quanto o Visual Basic; 
Completamente orientada a objetos: em C#, qualquer variável tem de fazer parte de uma classe; 
Fortemente tipada: isso ajudará a evitar erros por manipulação imprópria de tipos e atribuições incorretas; 
Gera código gerenciado: assim como o ambiente. NET é gerenciado, assim também é o C#; 
Tudo é um objeto: System. Object é a classe base de todo o sistema de tipos de C#; 
Controle de versões: cada assembly gerado, seja como EXE ou DLL, tem informação sobre a versão do código, permitindo a coexistência de dois assemblies homônimos, mas de versões diferentes no mesmo ambiente; 
Suporte a código legado: o C# pode interagir com código legado de objetos COM e DLLs escritas em uma linguagem não-gerenciada; 
Flexibilidade: se o desenvolvedor precisar usar ponteiros, o C# permite, mas ao custo de desenvolver código não-gerenciado, chamado “unsafe”; 
Linguagem gerenciada: os programas desenvolvidos em C# executam num ambiente gerenciado, o que significa que todo o gerenciamento de memória é feito pelo runtimevia o GC (Garbage Collector) 
	
	Class Cliente 
	
	{ 
	// Atributos 
	Private int cod_cliente; 
	Private string nome_cliente; 
	Private string telefone; 
	Private string rg; 
	Private string cpf; 
	Private string endereco; 
	Private List<Pedido> pedido; 
	// Propriedades 
	Public int cod_Cliente { 
	Get { return cod_cliente; } 
	Set { cod_cliente = value; } 
	} 
	Public string nome_Cliente { 
	
	Get { return nome_cliente; } 
	Set { nome_cliente = value; } 
	} 
	Public string Telefone { 
	Get { return telefone; } 
	Set { telefone = value; } 
	} 
	Public string Rg { 
	Get { return rg; } 
	Set { rg = value; } 
	} 
	Public string Cpf { 
	Get { return cpf; } 
	Set { cpf = value; } 
	} 
	Private string Endereco { 
	Get { return endereco; } 
	Set { endereco = value; } 
	} 
	Public List<Pedido> Pedido { 
	Get { return pedido; } 
	Set { pedido = value; } 
	} 
	// Métodos 
	Public void cadastrar() 
	{ 
	} 
	Public void alterar() 
	{ 
	} 
	Public void excluir() 
	{ 
	} 
	Public void pesquisar() 
	{ 
	
	} 
	} 
	// ------------------------------------------------- // 
	Class Pedido 
	{ 
	// Atributos 
	Private int cod_ pedido; 
	Private datetime data_entrega; 
	Private int cod_cliente; 
	Private int num_pizza; 
	Private float valor_pedido; 
	Private Cliente cliente; 
	Private Pizza pizza; 
	Private Pedido pedido; 
	// Propriedades 
	Public int cod_Pedido { 
	Get { return cod_pedido; } 
	Set { cod_pedido = value; } 
	} 
	Public datetime data_Pedido { 
	Get { return data_pedido; } 
	Set { data_pedido = value; } 
	} 
	Public datetime data_Entrega { 
	Get { return data_entrega; } 
	Set { data_entrega = value; } 
	} 
	Public int cod_Cliente { 
	Get { return cod_cliente; } 
	Set { cod_cliente = value; } 
	} 
	Public int num_Pizza { 
	Get { return num_pizza; } 
	Set { num_pizza = value; } 
	} 
	
	Public float valor_Pedido { 
	Get { return valor_pedido; } 
	Set { valor_pedido = value; } 
	} 
	Public Cliente Cliente { 
	Get { return cliente; } 
	Set { cliente = value; } 
	} 
	Public Pizza Pizza { 
	Get { return pizza; } 
	Set { pizza = value; } 
	} 
	Public Pedido pedido { 
	Get { return pedido; } 
	Set { pedido = value; } 
	} 
	// Métodos 
	Public void cadastrar() 
	{ 
	} 
	Public void alterar() 
	{ 
	} 
	Public void excluir() 
	{ 
	} 
	Public void pesquisar() 
	{ 
	} 
	} 
	// ------------------------------------------------- // 
	Class Pizza 
	
	{ 
	// Atributos 
	Private int num_pizza; 
	Private string sabor; 
	Private Size; 
	Private List<Pedido> pedido; 
	Private Sabor_pizza sabor_pizza; 
	// Propriedades 
	Public int num_Pizza { 
	Get { return num_pizza; } 
	Set { num_pizza = value; } 
	} 
	Public string Sabor { 
	Get { return sabor; } 
	Set { sabor = value; } 
	} 
	Public datetime data_Entrega { 
	Get { return data_entrega; } 
	Set { data_entrega = value; } 
	} 
	Public string Sabor { 
	Get { return sabor; } 
	Set { sabor = value; } 
	} 
	Public List<Pedido> Pedido { 
	Get { return pedido; } 
	Set { pedido = value; } 
	} 
	Public Sabor_pizza sabor_Pizza { 
	Get { return sabor_pizza; } 
	Set { sabor_pizza = value; } 
	} 
	// Métodos 
	Public void cadastrar() 
	{ 
	} 
	Public void alterar() 
	
	{ 
	} 
	Public void excluir() 
	{ 
	} 
	Public void pesquisar() 
	{ 
	} 
	} 
	// ------------------------------------------------- // 
	Class Sabor_pizza 
	{ 
	// Atributos 
	Private string desc_sabor; 
	Private int cod_sabor; 
	Private float valor_sabor; 
	Private List<Pizza> pizza; 
	// Propriedades 
	Public string desc_Sabor { 
	Get { return desc_sabor; } 
	Set { desc_sabor= value; } 
	} 
	Public int cod_Sabor { 
	Get { return cod_sabor; } 
	Set { cod_sabor = value; } 
	} 
	Public float valor_Sabor { 
	Get { return valor_sabor; } 
	Set { valor_sabor = value; } 
	} 
	Public List<Pizza> Pizza { 
	Get { return pizza; } 
	
	Set { pizza = value; } 
	} 
	// Métodos 
	Public void cadastrar() 
	{ 
	} 
	Public void alterar() 
	{ 
	} 
	Public void excluir() 
	{ 
	} 
	Public void pesquisar() 
	{ 
	} }
4.5 Controles de Cliente
Neste controle é necessário o nome do cliente, telefone de contato, endereço.
Com base nestes dados, no momento do pedido, o atendente realizará uma pesquisa pelo número do telefone do cliente, caso esteja cadastrado, os seus dados deverão ser exibidos, caso contrário, deverá cadastrá-lo.
Controle de Entregadores: Neste controle, o serviço é terceirizado, onde os motoboys são vinculados a uma empresa e recebem apenas pelas entregas realizadas. Os dados necessários são: nome do entregador, CPF, RG, celular e Empresa vinculada (nome da empresa que o motoboy trabalha), ou seja, também será necessário que a empresa esteja cadastrada no sistema. 
Controle das Empresas terceirizadas: Empresas onde os motoboys são vinculados, sendo necessários os seguintes dados: Nome da empresa, CNPJ, endereço, telefone e e-mail. 
Controle do Produto:
Neste caso os produtos são as pizzas a serem vendidas, sendo necessários a inclusão dos dados, nome do produto, descrição, tamanho e custo. 
Controle de Pedido: Para gerenciar os pedidos realizados pelo cliente, o atendente deverá informar no registro do pedido: nome do cliente, nome do produto, quantidade, tamanho e etc. 
BOM ESTE É DESTINADO A Ireport, POIS SERÁ SOMENTE EXIBIDO COMO EXPORTAR ESSES RELATÓRIOS PARA PDF COM JAVA E JSF.
O código abaixo é usado para realizar a exportação:
import javax.faces.context.FacesContext;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
 
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperRunManager;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource/;
 
    public void executeReport() {
        FacesContext facesContext = FacesContext.getCurrentInstance();
 
        HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
 
        InputStream reportStream = facesContext.getExternalContext().getResourceAsStream("caminho_arquivo.jasper");
 
        response.setContentType("application/pdf");
 
        response.setHeader("Content-disposition", "inline;filename=relatorio.pdf");
 
        try {
            ServletOutputStream servletOutputStream = response.getOutputStream();
 
            JRBeanCollectionDataSource datasource = new JRBeanCollectionDataSource(arrayList);
 
            JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, parameters, datasource);
 
            servletOutputStream.flush();
            servletOutputStream.close();
        } catch (JRException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally{
            facesContext.responseComplete();
        }    }
Devo lembrar que na sua página.xhtml é preciso usar um link, pois se usado botões para chamar este método o resultado não será o esperado.
Abaixo segue um exemplo de como esse método deve ser chamado:
<h:commandLink id="exportReport" immediate="true" action="#{bean.executeReport()}" value="#{messages['report.export']}"/>
 
CONTROLADOR 
Esta classe é a principal do processo. Ela é responsável pela comunicação entre todas as outras camadas. 
	PACOTE DAO 
	
	
	Esta classe faz a persistência e pesquisas no banco de dados. 
	FORMULAPARAMETROSBD 
	Classe responsável por formular parâmetros responsáveis para a persistência e pesquisa no banco de dados de um objeto. 
	PARAMETROSBD 
	Classe que determina os parâmetros de persistência do banco de dados. Consiste em nome da tabela, colunas, parâmetros e condição. 
	SINGLETON 
	Classe responsável pela execução dos comandos SQL. 
	 VISAO 
	
	ADDACOMPANHAMENTO 
	A tela AddAcompanhamento é destinada a adição de acompanhamento em um pedido. 
	CADASTRARCLIENTE 
	Esta tela apresenta campos de preenchimento relacionados ao cadastro de um cliente. 
	ENDERECOENTREGA 
	Tela onde se adiciona informações quanto ao endereço de entrega de um pedido. 
	
	AREAADMINISTRADOR 
	Esta tela tem como ator principal o gerente, sendo apresentada nela funcionalidades voltadas a este. O gerente pode realizar cadastros, edição e deleção de pizzas e produtos, ainda pode alterar a sua senha e extrair relatórios específicos. 
	ADDPIZZA 
	A tela AddPizza é destinada a adição de uma pizza em um pedido. Nela é escolhido um tamanho de pizza e a ela é adicionado sabores, a quantidade de sabores varia de acordo com o tamanho da pizza selecionada. O valor final da pizza é obtido da soma proporcional das parcelas dos sabores, onde cada sabor tem uma categoria e um valor vinculado, por exemplo, uma pizza com 2 sabores no tamanho grande, onde um sabor da pizza é o especial que custa R$25,00 e uma doce que custa R$30,00, o valor final da pizza fica sendo a proporção de cada parte da pizza em relação ao valor, sendo metade dos 25 reais mais a metade dos 30 reais, resultando em 27,50 reais. 
	NOVOPEDIDO 
	A tela de NovoPedido é destinada a realização de um pedido. Nela pode-se adicionar produtos como pizza e acompanhamentos, endereço de entrega, marcar como “entregar”, alterar os itens e remover itens, também é exibido os valores parciais e final da compra e todos os itens adicionados nela. 
	PAGAR 
	Esta tela é direcionada ao pagamento de um pedido selecionado. Nela pode-se escolher a forma do pagamento e quando um valor é inserido no campo de “dinheiro” um valor de troco é processado e exibido para o usuário. 
	CLIENTES 
	Esta tela é voltada à manipulação dos dados dos clientes, nela é possível editar, visualizar, cadastrar e pesquisar clientes. 
	SELECIONARCLIENTE 
	Esta tela apresenta os clientes cadastrados, exibindo o nome e o telefone dos clientes com a possibilidade de busca por qualquer um dos dois valores. Após selecionado o cliente é possível ir para a tela de venda já com os campos relacionados ao cliente preenchidos com os dados do cliente selecionado. 
	TELAPRINCIPAL 
	Esta tela é a tela principal do programa, onde se da início a todos os processos. A tela principal apresenta os pedidos em andamento, botões de controle e informações relacionadas a um pedido selecionado. 
	
4.5 Estudos das Tecnologias Emergentes Adotadas no Ambiente Organizacional
 Nos dias atuais, a Tecnologia da Informação (TI) está presente no dia a dia das organizações, sejam elas públicas ou privadas, atuando de forma eficiente na gestão da informação, apoiando as decisões e, principalmente, tornando-se um fator competitivo no mercado para os que conseguem extrair todo o seu potencial.
Com o crescimento do mercado, a tecnologia tornou-se primordial no processamento de grandes volumes de dados, assim as organizações estão saindo das áreas operacionais e entrando em questões como o desempenho para obtenção das informações.
O Business Intelligence (BI) apoia as organizações no acesso às informações sintetizadas de maneira mais simples para a tomada de decisão. O conceito de BI pode ser explicado como um vasto conjunto de aplicações de apoio à tomada de decisão que permitem um acesso rápido, partilhado e interativo das informações, assim como a sua análise e manipulação; por meio das ferramentas de BI, os utilizadores podem descobrir relações e tendências e transformar grandes quantidades de informação em conhecimento útil (SEZÕES, OLIVEIRA e BAPTISTA, 2006). O sistema de BI não existe sozinho, pois é depende de fontes de dados externas. A Figura 1 mostra como este sistema está estruturado. 
Figura 1 – Estrutura de um sistema de BI
O ciclo ETL envolve três fases, a saber: extração, transformação e carga.
a) Extração: abrange a extração dos dados de sistemas. Os sistemas, muitas vezes, contêm dados em vários formatos e precisam ser consolidados para a realização de carga no DW. Entre os formatos estão: banco de dados relacionais e arquivos como HTML, XML etc.
b) Transformação: esta fase envolve ordenação de arquivo, seleção de informações, padronização, cálculo, união de fontes de dados, transposições, divisões de um arquivo CSV e validações.
c) Carga: representa a carga dos dados no sistema que são carregados no sistema destino, muitas vezes o DW. Estas cargas são feitas por periodicidade determinada, seja diária, semanal ou mensal.
 As ferramentas de ETL têm como finalidade a realização de todas as etapas do processo de ETL. O mercado dispõe de diversas ferramentas e, de forma geral, todas atendem ao processo como um todo, dentre as quais podemos citar: Kettle e Talend Open Studio.
4.6 Capitais Intelectuais:
O conhecimento sempre desempenhou importante papel nas grandes transformações sociais. Na primeira fase da Revolução Industrial, Paiva (1999) coloca que foram aplicadas as ferramentas, processos e produtos; na segunda fase – revolução da Produtividade -, passou a ser aplicado ao trabalho. Atualmente, o conhecimento
está sendo aplicado ao próprio conhecimento; é a Revolução Gerencial, segundo Drucker (1996). Portanto, com a Era da Informação, passou a ser o elemento essencial para o sucesso da organização.
Vantagens e desvantagens de se utilizar uma plataforma baseada em microcomputadores.
Atualmente, as empresas têm feito grande uso da tecnologia da informação como instrumento gerencial. Estas informações são utilizadas para repor estoques, abastecer depósitos e outros ativos físicos, economizando tempo e como dinheiro. Administrar o conhecimento como faturas, mensagens, patentes, processos, habilidade dos funcionários, conhecimento dos clientes, fazendo uso intensivo de máquinas, computadores, para tal, determina o sucesso ou fracasso da empresa nos tempos de hoje.
O Conhecimento Como Gerador De Riqueza Das Organizações
O conhecimento é a base principal de valorização nas organizações de hoje. Então o que poderá dar de errado em uma estratégia orientada para o conhecimento? Muito pouco. Um dos principais problemas para aqueles que desejam adota-la é o famoso fantasma da era industrial, que ainda assombra o mundo empresarial. A era industrial ainda vê as pessoas como custos e não como receitas. Mas como utilizamos, desenvolvemos, e estruturaremos continuamente o conhecimento dentro das organizações? 
O conhecimento, material intelectual bruto, transforma-se em capital intelectual, a partir do momento que passa a agregar valor aos produtos/serviços. E esse capital é, em alguns casos, mais valioso do que o próprio capital econômico. 
O novo milênio estará desafiando todas as organizações a mostrarem suas competências. As tarefas diárias exigem um alto grau de conhecimento e inteligência, no qual nos impedem de ter relacionamentos estreitos, os sistemas tem que ser cada vez mais abertos, igualitários e honestos. Os empregados têm que pensar conjuntamente para, em conjunto, explorar as oportunidades, os serviços e resolver os problemas. Porque a organização diz respeito à forma como estruturarmos os nossos relacionamentos, adequando a nova realidade, devido mudanças das nossas ideias sobre métodos e os padrões de organização. 
O estágio atual para o futuro só é possível preparando as pessoas, educando-as, treinando-as, desenvolvendo-as, enfim, investimento em quem, de fato vai fazer essa transformação. 
Essa ferramenta como diz Rigby (2000) mostra que as empresas de sucesso não são um conjunto de produtos, mas sim de bases de conhecimento distintas. Esse capital intelectual é a chave da vantagem competitiva da companhia com seus clientes-alvo. A gestão do conhecimento procura acumular o capital intelectual que criará competências essenciais exclusivas e produzirá resultados melhores. 
Com o enfoque da gestão do conhecimento começa-se a rever a empresa, suas estratégias, sua estrutura e sua cultura. Isso se dá num ambiente competitivo, onde a rápida globalização da economia e as melhorias nos transportes e comunicações dão aos consumidores uma gama de opções sem precedentes. Pressões sobre os preços não deixam margem para ineficiência. O ciclo de desenvolvimento de novos produtos é cada vez mais curto. As empresas precisam de qualidade, valor agregado, serviço, inovação, flexibilidade, agilidade e velocidade de forma cada vez mais crítica. As empresas tendem a se diferenciar pelo que elas sabem e pela forma como conseguem usar esse conhecimento. 
Capital Intelectual: Principal Fonte de Intangíveis nas Empresas e um Diferencial Competitivo em Relação aos Concorrentes
O termo capital intelectual teve sua origem na propriedade intelectual; os componentes de conhecimentos de uma empresa, reunidos e legalmente protegidos. É um conjunto de benefícios intangíveis que agregam valor às empresas. 
Segundo Brooking, apud Antunes & Martins (2002), o capital intelectual pode ser dividido em quatro categorias: 
Ativos de Mercado: potencial que a empresa possui em decorrência dos intangíveis que estão relacionados ao mercado, tais como: marca, clientes, lealdade dos clientes, negócios recorrentes, negócios em andamento (backlog), canais de distribuição, franquias etc. 
Ativos Humanos: compreendem os benefícios que o indivíduo pode proporcionar para as organizações por meio da sua expertise, criatividade, conhecimento, habilidade para resolver problemas, tudo visto de forma coletiva e dinâmica. 
Ativos de Propriedade Intelectual: incluem os ativos que necessitam de proteção legal para proporcionar às organizações benefícios tais como: know-how, segredos industriais, copyright, patentes, designs etc. 
Ativos de Infraestrutura: compreendem as tecnologias, as metodologias e os processos empregados, como cultura, sistema de informação, métodos gerenciais, aceitação de risco, banco de dados de clientes etc. 
Os fatores que geram o capital Intelectual de acordo com Brooking apud Antunes & Martins (2002), são: 
– conhecimento, pelo funcionário, de sua importância para os objetivos da empresa. 
– funcionário tratado como ativo raro. 
– alocar a pessoa certa na função certa considerando suas habilidades. 
– oportunizar o desenvolvimento profissional e pessoal. 
– identificação do know-how gerado pela P & D. 
– avaliar o retorno sobre o investimento em P & D. 
– definir uma estratégia proativa para tratar a propriedade intelectual. 
– mensurar o valor de marcas. 
– avaliar investimentos em canais de distribuição. 
– avaliar a sinergia resultante de treinamento e os objetivos corporativos. 
– prover infraestrutura e adequado ambiente de trabalho; 
– valorizar a opinião dos funcionários; 
– oportunizar a participação dos funcionários na definição dos objetivos da empresa; 
– estimular os funcionários para a inovação. 
Fica, assim, clara a importância do Capital Intelectual para o desenvolvimento das empresas, além de representar diferencial competitivo em relação aos concorrentes. A era atual, como diz Sá (2002) exige a capitalização de intelectos (no sentido de investimentos maiores em qualidade da inteligência agente sobre os capitais) na busca da eficácia comum dos mais importantes valores das células sociais e de aumento do valor efetivo da própria riqueza. 
O capital intelectual pode ser dividido em três grandes capitais. O capital humano, o capital estrutural e o capital do cliente. Todos são intangíveis, mas descrevem coisas tangíveis para os executivos. É o intercâmbio entre eles que cria o Capital Intelectual. 
GESTÃO DO CAPITAL INTELECTUAL
Segundo estudo do Financial and Management Acconting Committee (Técnica Contable) apud Baum & GonçalveS (2001) os conceitos básicos relativos à medida e gestão do capital intelectual estão relacionados a três aspectos: 
Contexto econômico – o crescimento é maior nas indústrias e nações voltadas à criação, transformação e capitalização dos conhecimentos do que aquelas ligadas à exploração e utilização dos recursos naturais em seus processos. O conhecimento é um diferencial de competitividade. 
Contexto Contábil – a contabilidade tradicional não está habilitada a medir aspectos da empresa quanto à capacidade de dirigentes e pessoal, o valor das informações, da capacidade tecnológica, potencial de mercado e investimentos em pesquisa e desenvolvimento. 
Contexto Empresarial – a visão na gestão da empresa, a partir da atual era do conhecimento em relação à era industrial passa a ter o seguinte enfoque: 
	Aspectos
	Visão da era industrial
	Visão na era do conhecimento
	Percepção do pessoal
	Fator de produção e custos
	Conhecimento como geração de riquezas
	Fluxo de produção
	Baseado sobre processos
	Baseado sobre ideias
	Benefícios s/ Inversões
	Tendência de baixa
	Tendência de alta pela criatividade
	Base de poder
	Posição hierárquica
	Nível de conhecimento
	Fluxo de informações
	Hierárquica
	Redes funcionais e operacionais
Fonte: Baum & GonçalveS (2001) 
Para Stewart (1998) os ativos intelectuais de uma corporação, são geralmente três ou quatro vezes mais valiosos que os tangíveis que constam nos livros e diz que os passos para
administrá-lo são: 
– definir a importância do investimento intelectual para o desenvolvimento de novos produtos; 
– avaliar a estratégia dos componentes e o ativo do conhecimento; 
– classificar o seu portfolio: o que você tem, o que você usa, onde eles estão alocados; 
– analisar e avaliar o valor do portfolio: quanto eles custam, o que pode ser feito para maximizar o valor deles, se deve mantê-los, vendê-los ou abandoná-los; 
– investir baseado no que se apreendeu nos passos anteriores, identificar espaços que devem ser preenchidos para explorar conhecimento, defender-se da concorrência, direcionar a ação da empresa ou avançar na tecnologia; e 
– reunir o seu novo portfolio de conhecimento e repetir a operação ad infinitum. 
Encontra-se em desvantagem em relação às demais, as empresas que ainda não se deram conta do seu Capital Intelectual, pois não encontraram a importância do mesmo dentro do seu patrimônio. O primeiro passo para o gerenciamento deste capital é identificá-lo, para depois mensurá-lo. 
Percebe-se então que o gerenciamento do capital intelectual é mais do que apenas o gerenciamento de conhecimentos. Gerenciamento do capital intelectual para Edvinsson (1997) é a alavancagem do capital humano e do capital estrutural em conjunto. Trata-se de um efeito multiplicador entre capital humano e capital estrutural. Isso posta, capital intelectual é uma função de gênero e de metas. 
Padoveze (2000) apresenta as medidas como sugestão para o gerenciamento do capital intelectual. 
4.6 Os avanços das pesquisas em realidade virtual e a oferta de produtos nessa área, envolvendo hardware, software, e dispositivos não convencionais, têm viabilizado a existência de diversos tipos de plataformas para aplicações de realidade virtual. Essas plataformas variam desde sistema baseados em microcomputadores, passando por estações de trabalho e máquinas paralelas, até sistemas distribuídos.
Plataformas Baseadas em Microcomputadores
Embora inicialmente os equipamentos de realidade virtual fossem muito caros e utilizados em poucos laboratórios de pesquisa, a popularidade dos microcomputadores e a curiosidade de muitos interessados na área fizeram com que as plataformas baseadas em microcomputadores se tornassem realidade. 
A grande vantagem das estações de trabalho sobre os PCs está na superioridade de características como capacidade computacional, capacidade gráfica, espaço em disco, e velocidade de comunicação. A grande maioria das estações de trabalho são voltadas para as mais variadas aplicações, de forma que, para serem usadas em realidade virtual, devem ser compostas com interfaces e dispositivos adequados. 
Há uma grande variação de produtos e preços, envolvendo hardware e software para estações, mas é possível montar-se uma boa plataforma com custo abaixo de US$50,000.00, considerando-se, por exemplo, um estação Silicon Graphics Indigo 2 - Impact, software World Tool Kit, e alguns dispositivos de E/S mais simples. Nesse caso, uma configuração de 64 bits e 250 MHz, 128 Mbytes de memória, 4 Gbytes de disco, características gráficas para dar um desempenho da ordem de 2 M triângulos por segundo e 600 K Polígonos por segundo, e software incluindo GL e Performer. Para trabalhar com taxa de 30 frames por segundo, essa plataforma aceita no máximo cenas com 20k polígonos. 
Também é possível montar-se plataformas no valor de centenas de milhares de dólares, envolvendo máquinas paralelas, dispositivos avançados e software sofisticado. 
As ferramentas para desenvolvimento de sistema de realidade virtual costumam ser instaladas em plataformas de diversos fabricantes. Dentre as plataformas, citada pelos fornecedores de ferramentas tem-se: Silicon Graphics, Sun, DEC, IBM, HP, etc., e microcomputadores com aceleradores gráficos. 
Ambientes virtuais distribuídos figuram entre os sistemas de software mais complexos já construídos. Esses ambientes devem satisfazer uma variedade de características como: 
a)      resposta rápida a novos requisitos do sistema; 
b)      capacidade de manutenção; 
c)      suportar interação em tempo real; 
d)      fidelidade da inserção do usuário no mundo virtual em relação a uma referência; 
e)      alta taxa de quadros por segundo, reusabilidade e portabilidade; 
f)       ajustamento a novas interfaces e dispositivos de visualização; 
g)      requisitos para capacidades adicionais. 
A elaboração de um sistema de realidade virtual inclui atividades envolvendo: 
a)      suporte de comunicação em rede; 
b)      criação de ambientes virtuais; 
c)      atuação no mundo real; 
d)      criação de atores gerados por computador; 
e)      inserção de fenômenos naturais; 
f)       uso de simulação tradicional. 
O suporte de comunicação em rede fornece os meios para que as unidades computacionais heterogêneas separadas fisicamente sejam unificadas para implementar um único ambiente virtual. Devido à necessidade de comunicação intensiva entre as máquinas do sistema, toda vez que há uma atualização de posição, o sistema utiliza a técnica de dead-reckoning para minimizar a troca de mensagens e suportar atrasos de comunicação. Essa abordagem trabalha com a previsão da posição de um elemento, levando em conta o seu trajeto, velocidade e posição anterior, decorrido um certo tempo. Todas as máquinas fazem o mesmo cálculo de previsão e reposicionam o elemento. Aquele que estiver gerenciando o elemento conseguirá verificar a diferença da trajetória real com a trajetória calculada. Sempre que essa diferença atingir um valor máximo, o valor real da posição será então comunicado às outras máquinas para devida correção. Desta forma, não haverá necessidade de informar continuamente a posição de um elemento para as outras máquinas, o que diminuirá bastante a comunicação pela rede. 
A criação de ambientes virtuais está bastante ligada com realismo visual e interação usando os outros sentidos. Assim, assuntos como computação gráfica 3D, modelagem gráfica, e interação homem-máquina constituem uma parte fundamental na elaboração de ambientes virtuais. Muitas vezes, ambientes virtuais são associados a aplicações de tele presença. Nesses casos, ações do usuário e o comportamento de certas entidades acabam refletindo ações do mundo real. 
Em outros casos, há a necessidade de introduzir um grande número de indivíduos no ambiente virtual, criando uma população. Uma maneira de fazer isso é criar atores gerados por computador com comportamento humano, usando técnicas de inteligência artificial e de locomoção. Outro ponto importante para ambientes virtuais é a introdução de fenômenos físicos como chuva, neblina, nuvens, dia e noite, movimentos do sol e da lua, etc. Além dos atores controlados por computador e dos atores controlados por usuários, é possível inserir no ambiente grupo de atores manipulados estatisticamente, controlados por simulação tradicional.
VANTAGEM - Um atendente em cada máquina, vários atendimentos simultâneos, agilização do atendimento ao cliente, controle maior sobre os dados sobre clientes. 
DESVANTAGEM - Preço das máquinas, serviços de instalação podem ser elevados, falhas de software e hardware, manutenção, etc.
CONCLUSÃO
Concluímos e terminamos este trabalho, e com tudo pudemos entender que com o conhecimento adquirido ao longo dos estudos, conseguimos desenvolver um modelo de sistema funcional para uma pizzaria. Utilizando as técnicas de Linguagem de Programação e Engenharia de Software. É necessário ressaltar que a elaboração de tais diagramas e gráficos vistos neste trabalho é de extrema importância para que não haja problemas futuros com o software e para maior facilidade de uso dos usuários.	Foram construídos diagramas de: caso de uso, classe, modelagem organizacional. Com todos esses diagramas construídos a modelagem e a estruturação dos processos de engenharia de software se tornam mais claros e com isso consegue-se um processo de qualidade. 
Esta modelagem orientada a objetos tornou o processo de desenvolvimento do software mais
ágil, prático e de melhor entendimento a todos os membros da equipe, pois todos os passos foram seguidos por dicas e informações do cliente. 
Assim com todos os artefatos apresentados, concluímos que a documentação está bem esclarecida e que todos os requisitos necessários para a satisfação da empresa-cliente foram cumpridos.
6 REFERÊNCIAS
SOBRENOME, Nome do autor. Título da obra. Edição. Cidade: Editora, Ano de Publicação. 
CAELUM APOSTILA JAVA PARA DESENVOLVIMENTO WEB. http://www.caelum.com.br/curso/fj25
Linhadecodigo Read more: http://www.linhadecodigo.com.br/artigo/758/o-universo-dos-frameworks-java.aspx#ixzz3VVuZOo5K
LINK Sobre os desafios dos gestores, seguindo o guia PMBoK:
http://www.revistagep.org/ojs/index. php/gep/article/view/78/307. Acesso em: 02 mar. 2015
http://usuarios.upf.br/~pasqualotti/ccc053/intr_rv/plataformas.htm. Acesso em 20 Abril 2015.
MEDEIROS, Ernani Sales de. Desenvolvendo software com UML 2.0: definitivo. São Paulo: Pearson, 2006. Páginas 36 a 51, capítulo 3.
BERGEN, S. A. Project management: an introduction to issues in industrial research and development. New York: B. Blackwell, 1986.
ALVAREZ, Maria Esmeralda Ballestero (Coord.). Administração da qualidade e da produtividade: abordagens do processo administrativo. São Paulo: Atlas, 2001.
BEUREN, Ilse Maria (Org.). Como elaborar trabalhos acadêmicos monográficos em contabilidade: teoria e prática. 3. ed. atual. São Paulo: Atlas, 2006. 195 p.
CARVALHO, Rodrigo Baroni. Tecnologias para a gestão do conhecimento. Apostila PUC Minas. 2007.
DAVENPORT T. H.; PRUSAK L. Conhecimento empresarial: como as organizações gerenciam o seu capital intelectual. Rio de Janeiro: Campus, 1998.
EQUIPE GRIFO. Iniciando os conceitos da qualidade total. São Paulo: Pioneira, 1994.
GIL, Antônio Carlos. Como elaborar projetos de pesquisa. 4. ed. São Paulo: Atlas, 2002.
 
APÊNDICES
APÊNDICE A – Instrumento de pesquisa utilizado na coleta de dados
ANEXOS
ANEXO A – Título do anexo

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais