Buscar

PIM IV Projeto e desenvolvimento de um sistema de controle de frotas veículos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

12
 
UNIVERSIDADE PAULISTA
ICET - INSTITUTO DE CIÊNCIAS EXATAS E TECNOLOGIA
CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
PROJETO INTEGRADO MULTIDISCIPLINAR
PIM IV
Projeto e desenvolvimento de um sistema de controle de frotas veículos 
Nome R.A
SÃO JOSÉ DOS CAMPOS – SP
DEZEMBRO/2019
	Nomes
	RA
	
	
	
	
	
	
	
	
	
	
	
	
Projeto e implementação de um sistema de controle de frotas de frotas de Veículos 
Projeto Integrado Multidisciplinar (PIM) desenvolvido como exigência parcial dos requisitos obrigatórios à aprovação semestral no Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas da UNIP (Universidade Paulista), orientado pelo corpo docente do curso.
São José dos Campos – SP
DEZEMBRO/2019
RESUMO
Este trabalho apresenta o desenvolvimento e a implementação de um sistema de informação via desktop e web para o controle de uma frota de veículos, visando solucionar um problema de gerenciamento de frotas, nós desenvolvemos um sistema que torna toda essa burocracia mais fácil, eficiente. Utilizando conceitos de Projeto de sistemas orientado a objetos, gerenciamento de projetos de software, Programação Orientada a Objetos II, Desenvolvimento de software para internet, Tópicos Especiais de programação Orientada a Objetos, Gestão de qualidade e Empreendedorismo, sintetizamos um sistema que foi capaz de resolver tal problema, que atendeu nossas empresas clientes, e que pode ser incrementado, atualizado para atender novas frotas futuramente.
Palavras-Chave: Projeto de sistemas orientado a objetos, Gerenciamento de projetos de software, Programação Orientada a Objetos II, Desenvolvimento de software para internet, Tópicos Especiais de programação Orientada a Objetos, Gestão de qualidade, Empreendedorismo
SUMÁRIO
1. INTRODUÇÃO	5
1.1. OBJETIVO GERAL	5
1.2. Objetivos Específicos	5
2. PROJETO DE SISTEMA ORIENTADO A OBJETOS	5
2.1. RECURSOS DE PROJETO DE SISTEMAS	6
2.1.1 Classe	6
2.1.2 Herança	7
2.2. EVOLUÇÃO DO PROJETO	8
3. GERENCIAMENTO DE PROJETOS DE SOFTWARE	8
3.1. DESENVOLVIMENTO DO PROJETO	8
3.2. PRINCIPAIS METAS PARA MELHORAR O GERENCIAMENTO DO PROJETO	8
4. PROGRAMAÇÃO ORIENTADA A OBJETOS II	9
4.1. Abstração	9
4.2. Encapsulamento	10
4.3. Herança	10
4.4. Polimorfismo	11
5. DESENVOLVIMENTO DE SOFTWARE PARA A INTERNET	12
5.1. Suportes Aplicados no Sistema	13
5.1.1. Backup	13
5.1.2 Restauração do sistema	14
5.2. Segurança	14
6. TÓPICOS ESPECIAIS DE PROGRAMAÇÃO ORIENTADA A OBJETOS	15
7. GESTÃO DA QUALIDADE	16
7.2. Contexto Atual	17
7.3. Ferramenta de Qualidade:	17
7.3.1 Fluxograma	17
8. EMPREENDEDORISMO	18
8.1. Características de um empreendedor	18
8.2. Empreendedorismo social	18
8.3. Empreendedorismo e inovação	18
8.4. Tecnologia no empreendedorismo	18
9. DESENVOLVIMENTO DO PROJETO	19
9.1. Caracterização do ambiente de estudo	19
9.2. Desenvolvimento	19
9.3. Estudos de Caso e descrição funcional	20
10. DIAGRAMA DE CLASSES	21
11. DIAGRAMA DE SEQUÊNCIA	23
12. DIAGRAMA DE MAQUINA DE ESTADOS	23
13. DIAGRAMA DE COMUNICAÇÃO	24
14. DIAGRAMA DE PACOTES	25
15. MODELO MER E DER – NORMALIZADO	26
16. GERAÇÃO DO MODELO FÍSICO – CÓDIGO SQL	26
17. IMPLEMENTAÇÃO NA LINGUAGEM C#	28
18. ARQUITETURA DO SISTEMA MODEL VIEW CONTROLLER	28
19. CRONOGRAMA DO PROJETO	30
20. ESTRATÉGIAS DE NEGÓCIOS	30
21.CONTROLE DE QUALIDADE UTILIZADO NA PRODUÇÃO DO SISTEMA	31
22. CONCLUSÃO	32
23. REFERÊNCIAS	33
1. INTRODUÇÃO
Este trabalho aborda os assuntos visto em sala de aula, os seus principais assuntos derivam do conteúdo estudado, sendo eles: a aplicação dos conceitos Programação orientada a Objetos II, Desenvolvimento de software para a Internet, Projeto Sistema Orientada a Objetos, Tópicos especiais de programação orientada a objetos, Gerenciamento de Projeto de software, Gestão de Qualidade e Empreendedorismo. O projeto também conta aplicação pratica do Modelo de Dados normalizado (Mapeamento Objeto- Relacional as Formas normais necessárias a uma modelagem otimizada e ainda utilizando a UML juntamente como os conceitos do projeto Arquitetura do Software para a organização, documentação, apresentação e implementação de um sistema elaborado a partir das informações observadas na análise do sistema “Controle de Frota”. 
Apresentando de modo pratico como seria o processo de desenvolvimento de desenvolvimento de software, partindo da sua análise de requisitos, modelagem, implementação e codificação, apresentando um modelo funcional de um sistema de Controle de Frotas onde é possível cadastrar funcionários, carros e ter todos controle de reserva da frota devidamente organizado.
1.1. OBJETIVO GERAL
 Este trabalho tem por objetivo transcrever todo o procedimento necessário para a criação de um software e pôr em pratica o conhecimento adquirido no Quarto semestre do curso de Tecnologia em Análise e Desenvolvimento de Sistemas. 
1.2. Objetivos Específicos
· Permitir o controle dos cadastros gerais de uma frota de carros; 
· Emitir relatórios analíticos para acompanhamento de toda a frota de carros;
· Apresentar as reservas da frota de carros para o dia, bem como as suas manutenções; 
· Permitir gerar os relatórios diários de reservas e locações efetuadas e também os relatórios de cadastros gerais do sistema com os perfis de usuários, de carros, de departamentos. 
2. PROJETO DE SISTEMA ORIENTADO A OBJETOS
O Projeto de Sistema Orientado a Objeto é desenvolvido adotando uma nova estratégia que procura analisar o sistema como se suas partes fossem coisas que estariam sendo interligadas por intermédio das funções que cada uma deveria desempenhar. Essas coisas seriam os objetos que são desenvolvidos independentemente, mas que em um período mais avançado do projeto eles se ligariam e formariam o projeto como um todo. Para que o Projeto Orientado a Objeto seja relevante é necessário o pensamento em termos de Orientação a Objeto, seja desenvolvida desde o início do processo de desenvolvimento do software. Pensando-se em termos de desenvolvimento de software orientado a objeto temos três etapas importantes, que irão contribuir para o sucesso na criação de um novo software.	
A Análise Orientada a Objeto é a primeira desse processo e está relacionada com analise dos requisitos de software vai ter, dividindo esses requisitos em objetos no qual os mesmos devem apresentar seus problemas. O Projeto Orientado a Objeto é a fase em que se procura organizar melhor os objetos, de formar que se consiga solucionar seus problemas, para que se possa fazer a interligações entre os objetos que estão dispostos ao longo do projeto. A Programação Orientada a Objetos é a fase de implementação desses objetos propriamente dita em que também é utilizada uma linguagem de programação orientada a objetos, como o JAVA.
‘Para que uma etapa seja finalizada e se de início a próxima etapa é necessário que a etapa passada seja muito bem-feita de forma que tudo que seja necessário para o software seja adicionado ao projeto, deixando o mesmo mais completo conforme cada etapa vai sendo concluída. Quando se pensa em aspectos ligados a manutenção do software este processo se torna simples, pois é possível fazer uma alteração em alguma parte do objeto sem afetar os outros objetos que fazem parte do sistema, podendo assim ser acrescentado novas características aos objetos e também se pode criar novos objetos para serem interligados ao sistema e poderem desempenhar novas funções. Uma importante vantagem de sistemas desenvolvidos com aspectos orientados a objetos é o fato de se poderem reutilizar partes do mesmo sistema para a criação ou aperfeiçoamento de outras partes do sistema. A Figura 01, apresenta Analise e Projeto Orientado Objetos. 
 Figura 1: Análise e Projeto OO 
 Fonte: Google Imagens, 2019
2.1. RECURSOS DE PROJETO DE SISTEMAS
 Para o desenvolvimento do sistema foram utilizados alguns recursos da Orientação a Objeto, esses recursosforam:
2.1.1 Classe
Em orientação a objetos, uma classe é uma descrição que abstrai um conjunto de objetos com características similares. Mais formalmente, é um conceito que encapsula abstrações de dados e procedimentos que descrevem o conteúdo e o comportamento de entidades do mundo real, representadas por objetos. A Figura 02 apresenta um exemplo de classe. 
 			Figura 2: Classe
 Fonte: Google Imagens, 2019.
2.1.2 Herança
O conceito de encapsular estrutura e comportamento em um tipo não é exclusivo da orientação a objetos; particularmente, a programação por tipos abstratos de dados segue esse mesmo conceito. O que torna a orientação a objetos única é o conceito de herança.	Herança é um mecanismo que permite que características comuns a diversas classes sejam fatoradas em uma classe base, ou superclasse. A partir de uma classe base, outras classes podem ser especificadas. Cada classe derivada ou subclasse apresenta as características (estrutura e métodos) da classe base e acrescenta a elas o que for definido de particularidade para ela. A Figura 03 apresenta um exemplo de Herança.
 
 Figura 3: Herança
 Fonte: Google Imagens, 2019. 
 2.2. EVOLUÇÃO DO PROJETO
Toda vez que se pensa em desenvolver um projeto de software, sempre há complicações quanto à introdução de novos campos em determinadas áreas do projeto. No projeto orientado a objeto, essa dificuldade já não é tão dificultada assim, e quando há uma inserção de um novo campo ou método no projeto, há uma grande facilidade de se lidar com isso sem que esta inserção afete parte do programa. Suponhamos que estamos desenvolvendo um projeto orientado a objetos, e o objeto do tipo Pessoa que estamos definindo precisa inserir o campo dataNascimento, sem muita complicação automaticamente no objeto do tipo Funcionárioserá incluído o campo dataNascimento, devido à interligação que um objeto tem com outro. Percebe-se pelo exemplo a robustez deste projeto, pois o projeto não foi afetado em nenhuma parte devido à inserção desse campo.
3. GERENCIAMENTO DE PROJETOS DE SOFTWARE
 	Um projeto é temporário no sentido de que tem um início e fim definidos no tempo, e, por isso, um escopo e recursos definidos.
E um projeto é único no sentido de que não se trata de uma operação de rotina, mas um conjunto específico de operações destinadas a atingir um objetivo em particular. Assim, uma equipe de projeto inclui pessoas que geralmente não trabalham juntas – algumas vezes vindas de diferentes organizações e de múltiplas geografias.
O desenvolvimento de um software para um processo empresarial aperfeiçoado, a construção de um prédio ou de uma ponte, o esforço de socorro depois de um desastre natural, a expansão das vendas em um novo mercado geográfico – todos são projetos.
E todos devem ser gerenciados de forma especializada para apresentarem os resultados, aprendizado e integração necessários para as organizações dentro do prazo e do orçamento previstos.
O Gerenciamento de Projetos, portanto, é a aplicação de conhecimentos, habilidades e técnicas para a execução de projetos de forma efetiva e eficaz. Trata-se de uma competência estratégica para organizações, permitindo com que elas unam os resultados dos projetos com os objetivos do negócio – e, assim, melhor competir em seus mercados.
3.1. DESENVOLVIMENTO DO PROJETO
Como em todo projeto de software, a análise dos requisitos, o planejamento das informações e o desenvolvimento constituem os pilares básicos das fases de testes e implementação do sistema. No entanto, todos as fases do ciclo de vida do software dever ser documentadas. Partindo deste princípio, o sistema para controle de frota de veículos em uma empresa, proposto neste trabalho, será contemplado com as etapas básicas de análise, modelagem e codificação. Portanto, para romper a inércia natural e peculiar de todo projeto, a UML (Unified Modeling Language) conduzirá os passos iniciais através de diagramas, para melhor compreensão de todos. Apenas serão utilizados os diagramas de Caso de Uso, de Classe, de Sequência e de Atividades.
3.2. PRINCIPAIS METAS PARA MELHORAR O GERENCIAMENTO DO PROJETO 
Uma das principais metas do PMI é a de continuamente ampliar o corpo de conhecimento da área e para tanto, diversos eventos têm sido promovidos a nível mundial para promover a prática de se fazer uma ´boa´ gestão de projeto. Esse esforço de identificar as melhores práticas de gestão de projetos juntamente com sua divulgação por meio do catálogo do conhecimento em gestão de projetos, conhecido como PMBOK (Project Management Body of Knowledge), tem trazido resultados satisfatórios quanto melhoria na condução de projetos. O PMBOK compreende um guia contendo todo corpo de conhecimento de práticas tradicionais, avançadas e inovadoras em gestão de projetos, ou seja, o PMBOK serve como guia que contém um conjunto de diretrizes para gestão de projetos e uma estrutura de como ela são decomposta em áreas de conhecimento. Segundo as diretrizes do PMBOK, a gestão de projetos compreende um conjunto de processos que contém áreas que constituem o corpo do conhecimento da gestão de projetos. Cinco fases compõem a gestão de projetos: inicialização, planejamento, execução, controle e encerramento. A inicialização, como o próprio nome já diz trata de iniciar um novo projeto onde um gerente de projeto é designado, são identificados os principais envolvidos e interessados (isto é, os stakeholders), além de finalizar o documento de caso de negócio que trata da solução a ser implementada. No planejamento, o gerente de projeto define o escopo do projeto, a equipe envolvida, a WBS (Work Breakdown Structure, quando se define o escopo e organização de todo o projeto numa estrutura de árvore), um conjunto das atividades mais prioritárias e um cronograma de projeto. A Figura 04 apresenta Plano de Projeto e Ciclo de Vida do Projeto. 
Figura 4: Plano de Projeto e Ciclo de Vida do Projeto
Fonte: Google Imagens, 2019.
4. PROGRAMAÇÃO ORIENTADA A OBJETOS II
A Programação Orientada a Objetos (POO) diz respeito a um padrão de desenvolvimento que é seguido por muitas linguagens, como C# e Java. 	Esse padrão de programação se baseia em quatro pilares, que são eles:
4.1. Abstração
A abstração consiste em um dos pontos mais importantes dentro da Orientação à Objetos. Como estamos lidando com uma representação de um objeto real (o que dá nome ao paradigma), temos que imaginar o que esse objeto irá realizar dentro de nosso sistema. São três pontos que devem ser levados em consideração nessa abstração.			O primeiro ponto é adicionarmos uma identidade ao objeto que iremos criar. Essa identidade deve ser única dentro do sistema para que não haja conflito. A segunda parte menciona as características do objeto. Como no mundo real qualquer objeto possui elementos que o definem, dentro da programação orientada a objetos, não seria diferente, essas características são nomeadas propriedades. Por exemplo, as propriedades de um objeto “Carro” poderiam ser “Marca”, “Cor” e “Modelo”.						Por fim, a terceira parte é definirmos as ações que o objeto irá executar. Essas ações, ou eventos, são chamados métodos. Esses métodos podem ser extremamente variáveis, desde “Abrir ()” em um objeto Porta até “Correr ()” em um objeto cachorro.
4.2. Encapsulamento
O encapsulamento é uma das principais técnicas que define a programação orientada a objetos. Se trata de um dos elementos que adicionam segurança à aplicação em uma programação orientada a objetos pelo fato de esconder as propriedades.			Grande parte das linguagens orientadas a objetos implementam o encapsulamento baseado em propriedades privadas, ligadas a métodos especiais chamados getters e setters, que irão retornar e setar o valor da propriedade, respectivamente. Essa atitude evita o acesso direto a propriedade do objeto, adicionando uma outra camada de segurança à aplicação. Para fazermos um paralelo com o que vemos no mundo real, temos o encapsulamento em outros elementos. Por exemplo, quando clicamos no botão ligarda televisão, não sabemos o que está acontecendo internamente. Podemos então dizer que os métodos que ligam a televisão estão encapsulados.
4.3. Herança
Para explicar melhor essa característica, vamos imaginar uma família: a criança, por exemplo, está herdando características de seus pais. Os pais, por sua vez, herdam algo dos avós, o que faz com que a criança também o faça, e assim sucessivamente. Na orientação a objetos, a questão é exatamente assim, como mostra a Figura 5. O objeto abaixo na hierarquia irá herdar características de todos os objetos acima dele, seus “ancestrais”. A herança a partir das características do objeto mais acima é considerada herança direta, enquanto as demais são consideradas heranças indiretas. Por exemplo, na família, a criança herda diretamente do pai e indiretamente do avô e do bisavô.
 	Figura 5: Herança na orientação a objetos
 	Fonte: devmedia, 2019. 
A questão da herança varia bastante de linguagem para linguagem. Em algumas delas, como C++, há a questão da herança múltipla. Isso, essencialmente, significa que o objeto pode herdar características de vários “ancestrais” ao mesmo tempo diretamente. Outras linguagens orientadas a objetos, como C#, trazem um objeto base para todos os demais. A classe object fornece características para todos os objetos em C#, sejam criados pelo usuário ou não.
4.4. Polimorfismo
Outra característica essencial na programação orientada a objetos é o chamado polimorfismo. Na natureza, vemos animais que são capazes de alterar sua forma conforme a necessidade, e é dessa ideia que vem o polimorfismo na orientação a objetos. Os objetos filhos herdam as características e ações de seus “ancestrais”. Entretanto, em alguns casos, é necessário que as ações para um mesmo método sejam diferentes. O polimorfismo consiste na alteração do funcionamento interno de um método herdado de um objeto pai.	Exemplo, temos um objeto genérico “Eletrodoméstico”. Esse objeto possui um método, ou ação, “Ligar ()”. Temos dois objetos, “Televisão” e “Geladeira”, que não irão ser ligados da mesma forma. Assim, precisamos, para cada uma das classes filhas, reescrever o método “Ligar ()”.
Esses quatro pilares são essenciais no entendimento de qualquer linguagem orientada a objetos e da orientação a objetos como um todo. Cada linguagem irá implementar esses pilares de uma forma, mas essencialmente é a mesma coisa.
A programação orientada a objetos traz algumas vantagens muito interessantes para os desenvolvedores e também para o usuário da aplicação. Veremos algumas delas a seguir. A reutilização de código é um requisito indispensável no desenvolvimento de software atualmente. Com o crescimento da complexidade dos sistemas, o tempo de desenvolvimento aumentaria exponencialmente caso não fosse possível a reutilização. A orientação a objetos permite que esse tempo de desenvolvimento seja diminuído, permitindo que haja uma reutilização do código criado, bem como o número de linhas de código. Isso é possível devido ao fato de que as linguagens de programação orientada a objetos trazem representações muito claras de cada um dos elementos, e esses elementos normalmente não são interdependentes. Essa independência entre as partes do software é o que permite que esse código seja reutilizado em outros sistemas no futuro. Outra enorme vantagem que o desenvolvimento orientado a objetos traz é a leitura e manutenção de código. Como a representação do sistema se aproxima muito do que vemos na vida real, o entendimento do sistema como um todo e de cada parte individualmente fica muito mais simples. Isso permite que a equipe de desenvolvimento não fique dependente de uma pessoa apenas, como acontecia com frequência em linguagens estruturadas. A criação de bibliotecas é outra vantagem que é característica da orientação a objetos. No caso das linguagens estruturadas, como o C, temos que as bibliotecas são coleções de procedimentos (ou funções) que podem ser reutilizadas. No caso da POO, entretanto, as bibliotecas trazem representações de classes, que são muito mais claras para permitirem a reutilização.
Todos esses paradigmas da Programação Orientada a Objetos, serão fundamentadas em nosso sistema, eles auxiliarão na criação dos cadastros dos veículos, clientes, datas e demais informações do gerenciamento de frotas, tudo visando facilitar a criação de um sistema prático na hora de ser utilizado. Se obtendo então um sistema eficiente, com uma fácil manutenção, simples e objetivo, tudo graças a esses paradigmas bases da Programação Orientada a Objetos.
5. DESENVOLVIMENTO DE SOFTWARE PARA A INTERNET
A Interface com o Usuário é uma parte fundamental de um software, é a parte do sistema visível para o usuário, através da qual, ele se comunica para realizar suas tarefas. Pode se tornar uma ferramenta que irá facilitar a vida do usuário, ou então, se mal projetada, pode se transformar em uma complicação na hora da utilização, de acordo com o disse autor Fabiano Gonçalves, ”Esses sistemas na maioria das vezes são criados e desenvolvidos para facilitar nossas vidas, mas em vários casos acabam atrapalhando, por não serem bem planejados, projetados e pensados”, resultando até mesmo numa rejeição do sistema. As interfaces atuais têm como objetivo fornecer uma interação pessoa computador o mais "amigável" possível. Dessa forma, ela deve ser elaborada para que seja fácil de ser usada pelo usuário, fornecendo sequências simples e consistentes de interação, mostrando claramente as alternativas disponíveis a cada passo da interação, como opções de correção, ou rotas de saídas, sem confundir nem deixar o usuário inseguro. 
Ela deve passar despercebida para que o usuário possa se fixar somente no problema que deseja resolver utilizando o sistema. Visando tornar a interação com o usuário mais natural e menos hostil, tudo visando uma comunicação mais saudável possível.
Dentro de um sistema de locação, a interface tem um papel primordial, pois é o primeiro passo, a primeira impressão do cliente na hora de locar seu produto. Para que seja uma locação segura e objetiva, sem complicações ou empecilhos, a interface do sistema deve mostrar claramente informações dos produtos, tanto quanto o de valores e datas, e ter uma qualidade visual limpa, para que o cliente se sinta seguro na hora da locação, sabendo o que está fazendo a cada etapa do processo. Nesse sistema uma interface que se utilize muito bem de termos como usabilidade, comunicabilidade e acessibilidade, é o essencial para que tudo possa ocorrer positivamente.
5.1. Suportes Aplicados no Sistema
Suportes esses que darão ainda mais praticidade ao desenvolvimento do usuário aos seus respectivos trabalhos, possuindo mais agilidade e organização em seus processos através de avisos e aplicações aplicadas no próprio sistema.
5.1.1. Backup 
O backup só tem valor se for possível restaurar dados, e a única forma de atingir isso é, obrigatoriamente, fazendo o acompanhamento dos processos. O prestador de serviços deve garantir que os dados possam ser recuperados e, para isso, é preciso que todas as falhas sejam identificadas e corrigidas de forma imediata por meio do monitoramento e gerenciamento constantes.
O backup é basicamente uma cópia diária, podendo também ser feito mais de uma vez ao dia dos dados de um equipamento, que serão levados para outro ambiente. Assim, é preciso conferir se ocorrem erros nas transferências, para captar o exato momento em que os dados estarão sincronizados, podendo ser, então, restaurados. Isso porque, se ocorre um erro hoje, por exemplo, o prestador de serviços precisa analisá-lo antes do próximo backup, que será amanhã. Portanto, ao restaurar, é preciso ter certeza do que foi realizado na versão atual. Existem outros casos de backup gerenciado os técnicos precisam monitorar o funcionamento do software o tempo todo para garantir sua eficácia. Portanto, o backup gerenciado é uma soma de fatores entre equipe e tecnologia.
5.1.2 Restauração do sistema
Por melhor queseja a infraestrutura da empresa, há sempre a possibilidade de acontecerem ameaças físicas, como inundações, incêndios, curtos-circuitos, dentre outros desastres, que podem comprometer a segurança dos dados dos clientes. Por isso, a nuvem é a única forma de garantir que os dados estarão armazenados e seguros após o backup, mantendo sua total integridade.
5.2. Segurança
Atualmente os ativos mais valiosos de uma empresa são as informações, uma empresa que cuida bem das suas informações já está na frente das suas concorrentes. Os parâmetros para o sucesso da segurança da informação de uma empresa são:
· Confidencialidade: o acesso aos dados da empresa deve ser restrito somente a quem é autorizado;
· Integridade: sem a proteção ideal, as informações da organização podem ser acessadas e modificadas por hackers. Mas também podem haver acidentes, causados pela distração de algum colaborador, o que pode levar a empresa a ter enormes prejuízos;
· Disponibilidade: os dados devem estar disponíveis durante todo o tempo, para serem usados como fonte de informação para a tomada de decisões.
E para garantir ainda mais os parâmetros de segurança dos dados corporativos da empresa devemos estar atentos aos seguintes requisitos:
Digitalizar documentos: os dados ganham sigilo necessário, estão sempre disponíveis e dificilmente são perdidos por qualquer motivo, além da organização e modernidade no armazenamento digital de documentos.
Armazenamento de dados em nuvem: forma de garantir que os dados estarão armazenados e seguros após o backup, mantendo sua total integridade.
Forte política de senhas: investir em digitalização e Cloud Computing, funcionários focados na importância do cuidado na criação e manutenção de senhas corporativas.
Treinamentos para a equipe: muitas empresas cuidam de perto da capacitação dos profissionais de TI, mas se esquecem de pensar em treinamentos que envolvam os funcionários que lidam com os dados diariamente.
Uso de Pen drives e outras mídias móveis: é preciso que a empresa defina uma forte política de segurança da informação, que regulamente o uso desse tipo de mídia pelos funcionários. Uma das soluções para esse problema está, justamente, na adoção de um sistema de Cloud Computing.
Entre todos esses processos temos também aplicativos de segurança, situações em que uma estratégia de segurança de dados influenciará resultados da empresa, invasões aos computadores, fraudes, sequestro de dados, armazenamento e troca de informações sigilosas sobre clientes, transações financeiras, derrubada de sistemas. Situações essas comuns em empresas em que funcionários capacitados em ti deveram estar preparados para solucionar os problemas de segurança da informação.
6. TÓPICOS ESPECIAIS DE PROGRAMAÇÃO ORIENTADA A OBJETOS
Hoje, a maioria das linguagens de programação são orientadas a objetos como Java, C#, Python e C++ e, apesar de terem algumas diferenças na implementação, todas seguem os mesmos princípios e conceitos. Muitos programadores, apesar de utilizarem linguagens orientadas a objetos, não sabem utilizar alguns dos principais conceitos desse paradigma orientado a objetos e, por isso, desenvolvem sistemas com alguns erros conceituais e acabam escrevendo mais código que o necessário, não conseguindo reutilizar o código como seria possível. Os principais conceitos do paradigma orientado a objetos são Classes e Objetos, Associação, Encapsulamento.
Classes e Objetos, uma classe é uma estrutura que abstrai um conjunto de objetos com características similares. Uma classe define o comportamento de seus objetos, através de métodos e os estados possíveis destes objetos através de atributos.
Associação, em programação orientada a objeto, uma associação define um relacionamento entre duas classes que permite que um objeto faça com que outro objeto realize uma ação em seu lugar
Encapsulamento, é a combinação de atributos e operações dentro de uma classe, deixando visível apenas o que é necessário para a comunicação entre dois objetos, como por exemplo alguns detalhes da implementação ou ainda a lógica de um método. 
Herança e Polimorfismo, Herança, em orientação a objetos, é a capacidade de um novo objeto tomar atributos e operações de um objeto existente. Polimorfismo é uma operação de um objeto qualquer pode assumir vários comportamentos dependendo da chamada recebida, tratando e devolvendo respostas ao chamador.
 Para o desenvolvimento do nosso sistema utilizamos a ferramenta Visual Studio 2010. A linguagem que utilizamos C# (C-Sharp), é uma linguagem de programação orientada a objetos desenvolvida pela Microsoft, e está entre as mais utilizadas no mundo. Possui uma sintaxe bem parecida com outras linguagens populares como C, C++, Java e Object Pascal, é uma linguagem de programação multi-paradigma fortemente tipada. A Figura 06 apresenta ferramenta que utilizamos para desenvolver nosso sistema. 
Figura 6: Visual Studio 2010
Fonte: Os Autores, 2019. 
7. GESTÃO DA QUALIDADE
Como o nome já indica, a gestão de qualidade é uma gerência focada na qualidade da produção, processos e serviços de determinada instituição. Tem o objetivo de dirigir e controlar uma organização, no sentido de viabilizar melhorias nos produtos e serviços oferecidos, de forma a garantir satisfação completa das necessidades dos clientes, até mesmo superando suas expectativas.
7.2. Contexto Atual
 Gestão da Qualidade é um dos conceitos mais importante no mundo dos negócios, atualmente. Sua relevância está no fato de que todo produto ou serviço precisa ser fiscalizado em suas funções, forma de fabricação, distribuição. Um alimento estragado, por exemplo, pode causar uma doença ou levar alguém a óbito, num caso extremo, e destruir a reputação da empresa responsável. O controle da qualidade é essencial para evitar esse tipo de incidente e garantir a satisfação do cliente.
Para garantir a qualidade do Software, a Gestão da Qualidade gesta o Software tudo o que ele tem a oferecer atendendo aos requisitos para a satisfação do cliente.
7.3. Ferramenta de Qualidade:
7.3.1 Fluxograma
 O Fluxograma tem como finalidade identificar o caminho real e ideal para um produto ou serviço com o objetivo de reconhecer os desvios. É uma ilustração sequencial de todas as etapas de um processo, mostrando como cada etapa é relacionada. Utiliza símbolos facilmente reconhecidos para denotar os diferentes tipos de operações em um processo. Sobrenome do autor, Prenome. Título: subtítulo. Edição. Local de publicação: Editora, ano de publicação. A Figura 07 apresenta fluxograma. 
 
Figura 7: Fluxograma
Fonte: Os Autores, 2019 
Este Fluxograma “Figura7”, do Sistema mostra o que a tela de Login de Usuário faz. No início o usuário faz o login, em seguida, o sistema verifica o cadastro do usuário, em seguida, o sistema pergunta de o usuário possuí uma conta, se o usuário tiver uma conta ele vai fazer o login, mas se esqueceu a senha o sistema possibilita que o usuário troque a senha, se o usuário não tiver uma conta ele poderá criar uma conta no sistema, mas se o usuário logo após ter criado uma conta e ter esquecido a senha ele pode recriar a senha, e por fim, finaliza a tela de login do usuário. Este foi um exemplo do fluxograma utilizado no nosso projeto. Fluxograma esse que é uma das ferramentas escolhidas da Gestão de Qualidade.
8. EMPREENDEDORISMO
Empreendedorismo significa empreender, resolver um problema ou situação complicada. É um termo muito usado no âmbito empresarial e muita vez está relacionada com a criação de empresas ou produtos novos. Empreender é também agregar valor, saber identificar oportunidades e transformá-las em um negócio lucrativo. O conceito de empreendedorismo foi utilizado inicialmente pelo economista Joseph Schumpeter, em 1950. O empreendedorismo é essencial nas sociedades, pois é através dele que as empresas buscam a inovação, preocupam-se em transformar conhecimentos em novos produtos. Existem, inclusive, cursos de nível superior com ênfase em empreendedorismo, para formar indivíduos qualificados para inovare modificar as organizações, modificando assim o cenário econômico.
O empreendedorismo corporativo significa aplicar a atitude de empreendedor no âmbito corporativo, ou seja, de uma empresa. A presença de empreendedores em uma empresa potência o seu crescimento.
8.1. Características de um empreendedor
Um empreendedor é um indivíduo que não espera as coisas acontecerem, mas é uma pessoa pró-ativa, ou seja, faz as coisas acontecerem. Um empreendedor está altamente motivado, tem boas ideias e sabe como implementá-las de forma a alcançar os seus objetivos. Um empreendedor é alguém que não tem medo de iniciar projetos de uma forma arrojada. Por esse motivo, é bastante comum um empreendedor assumir a direção de uma empresa. Alguém que empreende acredita no seu potencial, apresenta capacidade de liderança e consegue facilmente trabalhar em equipe. Além disso, o empreendedor sabe que um fracasso é apenas uma oportunidade de aprender e ser melhor, e não se deixa abalar com isso.
8.2. Empreendedorismo social
Empreendedorismo social é a expressão que designa um conjunto de atitudes válidas que têm um impacto positivo na sociedade. O empreendedorismo social difere do empreendedorismo "clássico" porque tem como objetivo pensar em soluções que melhoram a sociedade e não em soluções que resultam em lucro para o empreendedor.
8.3. Empreendedorismo e inovação
O empreendedorismo está fortemente relacionado com a inovação, porque pode significar criar riqueza através de novos produtos, novos métodos de produção, novos mercados, novas formas de organização etc. O empreendedor é responsável pelo empreendedorismo, para gerar lucro para a organização, e valor para o cliente.
8.4. Tecnologia no empreendedorismo
É interessante parar para analisar como a tecnologia está relacionada ao empreendedorismo. Historicamente, ela sempre foi usada como meio, e não como fim de um processo. Apenas recentemente é que essa realidade mudou. É importante entender isso para conseguir definir qual é o objetivo e o papel de cada um: consumidor e empreendedor.
Em outras palavras, usar a tecnologia como fim faz de você apenas consumidor dela. A partir do momento em que a usa para satisfazer outras necessidades, sejam suas ou de terceiros, você passa a ter a visão de um empreendedor.
9. DESENVOLVIMENTO DO PROJETO
Como em todo projeto de software, a análise dos requisitos, o planejamento das informações e o desenvolvimento constituem os pilares básicos das fases de testes e implementação do sistema. No entanto, todos as fases do ciclo de vida do software dever ser documentadas.
Partindo deste princípio, o sistema para controle de frota de veículos em uma empresa, proposto neste trabalho, será contemplado com as etapas básicas de análise, modelagem e codificação.
Portanto, para romper a inércia natural e peculiar de todo projeto, a UML (Unified Modeling Language) conduzirá os passos iniciais através de diagramas, para melhor compreensão de todos. Apenas serão utilizados os diagramas de Classe, de Sequência e de Atividades, entre outros. 
9.1. Caracterização do ambiente de estudo
Neste capítulo, inicia-se uma ideia de uma empresa que tem como objetivo gerenciar um sistema de frota de veículos, com um ambiente todo voltado para a segurança e eficiência durante o gerenciamento dos mesmos.
9.2. Desenvolvimento
Desenvolvimento de Sistemas analisa, projeta, documenta, especifica, testa, implementa e mantém sistemas computacionais de informação usando as várias plataformas de computação de maneira integrada, concebe, projeta, escreve e atualiza programas e sistemas, aplicando métodos ágeis de análise, projeto e programação, modelagem e acesso a bancos de dados, redes, técnicas de design para web.
Em todo projeto de software, o planejamento das informações, a análise de requisitos e o desenvolvimento constituem os pilares básicos das fases de testes e implantação do sistema. Porém, todas as fases do ciclo de vida do software devem ser documentadas e atualizadas, visando viabilizar o pleno domínio de todo seu projeto, de suas atividades, proporcionando uma análise facilitada e produtiva, para futuras alterações ou adaptações no sistema.
Partindo deste princípio, o sistema para controle de frota de veículos em uma empresa, proposto nesse projeto, será feito de etapas básicas de análise, modelagem e codificação.
Portanto, visando romper o padrão, inércia de todo projeto, a UML (Unified Modeling Language) guiará diagramas para melhor compreensão. Diagramas de Classe, de Sequência e de maquinas de Estado e Diagrama de Pacotes. 
9.3. Estudos de Caso e descrição funcional 
Trabalhamos com um sistema de gerenciamento de frotas para empresas, com foco nos dados e na economia do nosso cliente de utilizar seu próprio veículo para fins do seu trabalho, fazendo o controle e gerenciamento dos usuários do sistema, com o cadastro de cada veículo, gastos decorrentes do tempo de uso do veículo, abastecimento, Quilometragem, multas, seguros, manutenção, relatórios, com isso não temos o uso indevido, pelo fato de nós mesmos realizarmos o controle.
No atual momento contamos com 58 usuários/clientes compondo e utilizando nosso sistema, apresentamos para cada item da nossa frota as devidas características, por exemplo: fabricante, modelo, tipo de combustível, placa, quantidade de porta, opcionais, isso leva uma ampla escolha para facilitar o tipo de trabalho que cada veículo da frota irá realizar.
A partir do momento que o pedido é finalizado com o tempo de uso também definido, o portador fornece seus dados para o nosso funcionário preencher um termo de responsabilidade que contém os dados fornecidos e um ID é gerado para controle, esse termo é enviado para nossos colaboradores indicando os requisitos selecionados pelo cliente e uma verificação em nosso banco de dados é iniciada para disponibilizar o veículo desejado pelo solicitante, devidamente autorizado e o termo gerado pelo sistema, assinado e com uma cópia do termo, a liberação é realizada e o portador tem um veículo sob nossos cuidados, com a preocupação de apenas levar seus próprios clientes, produtos ou cada tipo de serviço imposto para o destino determinado.
Após o tempo de uso chegar ao fim, o cliente deve completar o termo de devolução fornecido por um de nossos funcionários e aguardar uma vistoria para indicar nosso controle final que passa pela análise da quilometragem, multas, manutenção, abastecimento, etc.
A Organize-Frotas passou por uma dificuldade que podemos considerar nova em nosso ambiente, pois no atual momento não tinha acontecido tal ocorrido, um defeito de fábrica de um dos carros, causando um leve acidente, o cliente perdeu o controle do carro e colidiu com um poste em uma avenida, além do acidente, um longo engarrafamento foi causado por uma das faixas da pista ter ficado interditada para tratativa do caso, isso tudo causado por um defeito de fábrica.
Juntando todos os fatos do acidente, causou além de transtorno e agitação, o prejuízo, ficamos com um carro a menos na frota, perdemos a confiança do cliente e estimamos que de outros também que ficaram sabendo do ocorrido, sendo assim temos que praticamente reconquistar a confiança depositada em nosso serviço fornecido, já em relação ao veículo pensamos que não poderíamos responder por respectiva fornecedora que deu início ao acidente, eles que devem responder pelo ocorrido e fornecer outro veículo em perfeito estado para nosso grupo, se o carro estivesse em perfeitas condições poderia ter evitado, com tudo, também carregamos uma leve parcela de culpa por não ter realizado um processo de revisão, mesmo ele sendo de 0 km.
Em um momento de dificuldade temos que sempre pensar em uma precaução, já que ocorreu o caso, agora temos que pensar em uma solução para evitar futuras falhas como essa, nossa solução foi buscada juntamente com o mercado de trabalho de hoje, vamos criar um grupo em nossa empresa para realizar nossa própria vistoria além da vistoria já realizada na fornecedora, aumentando ainda mais a segurança do nosso cliente e dos agregados.O sistema será utilizado para fazer o gerenciamento das pessoas que utilizam os veículos, para que não haja usos indevidos, bem como o controle de multas no período de uso, de abastecimento e de manutenção dos Veículos. Seguem a lista do levantamento inicial:
a) Empresa com 58 funcionários; 
b) A frota é composta de veículos com as devidas características: por exemplo: fabricante, modelo, cor, placa, tipo de combustível, quantidade de portas e opcionais;
c) O veículo pode ser utilizado ocasionalmente por qualquer funcionário devidamente autorizado;
d) O funcionário deverá preencher um formulário de solicitação de reserva do veículo e encaminhar ao setor de frotas. 
e) O formulário de reserva contém: identificação do funcionário, data/hora, quantidade de passageiros e destino;
f) O setor de frota recebe esse formulário e verifica se existe veículo disponível para ser utilizado naquela data e hora. Se houver disponibilidade faça a reserva, alocando um veículo para esse formulário e retorna ao solicitante o número do veículo reservado. Em caso negativo, retorna à indisponibilidade ao solicitante encerrando essa solicitação;
g) O funcionário recebe a resposta do setor de frotas, e comparece na data e hora combinadas para retirar o veículo. Ao retirar o veículo, ele anota a quilometragem inicial no formulário de devolução;
h) após a utilização do veículo, o funcionário deve completar o formulário de devolução que contém a identificação do funcionário e do veículo, a data/hora da devolução e quilometragem final.
10. DIAGRAMA DE CLASSES
Em programação, um diagrama de classes é uma representação da estrutura e relações das classes que servem de modelo para objetos. Podemos afirmar de maneira mais simples que seria um conjunto de objetos com as mesmas características, assim saberemos identificar objetos e agrupá-los, de forma a encontrar suas respectivas classes.
Na Unified Modeling Language (UML) em diagrama de classe, uma classe é representada por um retângulo com três divisões, são elas: O nome da classe, seus atributos e por fim os métodos.
Na Figura 08, O diagrama de classes para o cenário proposto pode ser visualizado na figura abaixo. As classes “Funcionário” e “Veículo” são as duas principais deste diagrama. 
Estas interagem com as outras classes para gerar a reserva e a autorização de uso do veículo, em serviços da empresa. Todos os históricos dos veículos, com suas manutenções e abastecimentos, são armazenados para um maior controle da frota.
Figura 08: Diagrama de classe
Fonte: Os Autores, 2019. 
	
11. DIAGRAMA DE SEQUÊNCIA 
O diagrama de sequência é outra ferramenta muito importante da UML. Seu principal objetivo é demonstrar em linhas de tempo quais são as interações entre os objetos de um determinado cenário representado pelo diagrama. Geralmente um diagrama de sequência é criado a partir de um diagrama de casos de uso, com a finalidade de descrever como serão as interações/mensagens entre cada objeto/elemento do diagrama.
Este diagrama possui dois eixos: o eixo vertical que indica a sequência das mensagens e o tempo de vida dos objetos e o eixo horizontal, este último indica quais são os objetos que participam do diagrama.
Representa uma perspectiva, orientada por tempo, da colaboração entre os objetos.
Figura 09 - Diagrama de sequência Tipo de Veículo:
Figura 09: Diagrama de sequência
	 	Fonte: Os Autores, 2019. 	
12. DIAGRAMA DE MAQUINA DE ESTADOS 
Uma máquina de estados é qualquer dispositivo que armazena o status de um objeto em um determinado momento e pode mudar de status ou causar outras ações baseado na entrada que recebe. Estados indicam as diferentes combinações de informações que um objeto pode conter, e não como ele se comporta. Para entender os diferentes estados de um objeto, você pode visualizar todos os possíveis estados e mostrar como um objeto chega a determinado estado; e isso pode ser feito com um diagrama de estados UML.
Cada diagrama de estados começa, geralmente, com um círculo escuro que indica o estado inicial, e termina com um círculo contornado, indicando o estado final. No entanto, apesar de ter pontos iniciais e finais claros, diagramas de estados não são necessariamente a melhor ferramenta para registrar a progressão geral de eventos. Em vez disso, eles ilustram tipos específicos de comportamento, principalmente mudanças de um estado para outro.
Figura 10: DIAGRAMA DE MAQUINA DE ESTADOS
Fonte: Os Autores, 2019. 
13. DIAGRAMA DE COMUNICAÇÃO 
Um Diagrama de comunicação (era conhecido como Diagrama de Colaboração até a versão 1.5 da UML) é definido pelo UML (Unified Modeling Language). O Diagrama de Colaboração exibe uma interação, consistindo de um conjunto de objetos e seus relacionamentos, incluindo as mensagens que podem ser trocadas entre eles. O diagrama de sequência e de colaboração são isomórficos.
O diagrama de colaboração mostra, de maneira semelhante ao diagrama de sequência, a colaboração dinâmica entre os objetos. Se a ênfase do diagrama for o decorrer do tempo, é melhor escolher o diagrama de sequência, mas se a ênfase for o contexto do sistema, é melhor dar prioridade ao diagrama de colaboração. O diagrama de colaboração é desenhado como um diagrama de objeto, onde os diversos objetos são mostrados juntamente com seus relacionamentos.
O diagrama de Comunicação da ênfase à ordenação estrutural em que as mensagens são trocadas entre os objetos de um sistema. 
Figura 11: DIAGRAMA DE COMUNICAÇÃO
Fonte: Os Autores, 2019.
14. DIAGRAMA DE PACOTES 
O Diagrama de pacotes, ou diagrama de módulos, definido pela UML, descreve os pacotes ou pedaços do sistema divididos em agrupamentos lógicos mostrando as dependências entre eles. Este diagrama é muito utilizado para ilustrar a arquitetura de um sistema mostrando o agrupamento de suas classes.
O diagrama de pacotes abaixo é uma proposta para a Virtual LTDA. Um diagrama de pacotes é composto de pacotes e relacionamentos entre pacotes. O critério para definir os pacotes é subjetivo e depende da visão e das necessidades do projetista. Este deve definir uma certa semântica e colocar os elementos similares e que tendem a serem modificados em conjunto num mesmo pacote. Como se vê na figura abaixo, pode-se usar os pacotes para mostrar a arquitetura do sistema. 
Na figura abaixo 12, o pacote de classes das janelas que cuida da interface da aplicação dependente funcionalmente das classes de negócio para cumprirem suas atividades. 
Figura 12: DIAGRAMA DE PACOTES
Fonte: Os Autores,2019. 
15. MODELO MER E DER – NORMALIZADO
Quando se inicia o desenvolvimento de um novo sistema, ou mesmo de uma nova funcionalidade para um sistema existente, um dos primeiros passos a ser executado é o estudo e levantamento dos requisitos necessários para a construção do produto final. Durante essa análise, identifica-se as principais partes e objetos envolvidos, suas possíveis ações e responsabilidades, suas características e como elas interagem entre si.Figura 13: MODELO MER E DER – NORMALIZADO
Fonte: Os Autores, 2019.
16. GERAÇÃO DO MODELO FÍSICO – CÓDIGO SQL
CREATE TABLE Funcionario (
Id_Funcionario Numero PRIMARY KEY,
Endereco Texto,
CPF Texto,
Funcao Texto,
Registro_Geral Texto(1),
Nome Texto(1),
Setor Texto(1),
Telefone Texto(1),
Numero_CNH Texto(1)
)
CREATE TABLE CNH (
Numero_CNH Texto(1) PRIMARY KEY,
Validade_CNH Data,
Registro_CNH Texto(1),
Categoria_CNH Texto(1),
Id_Funcionario Numero,
FOREIGN KEY(Id_Funcionario) REFERENCES Funcionario (Id_Funcionario)
)
CREATE TABLE Reserva (
Id_Reserva Numero PRIMARY KEY,
Data_Reserva Data,
Finalidade Texto(1),
Qtde_Passageiros Numero,
Id_Funcionario Texto(1),
Destino Texto(1),
Numero_CNH Texto(1),
FOREIGN KEY(Numero_CNH) REFERENCES Funcionario (Id_Funcionario)
)
CREATE TABLE Cadastro_de_Uso (
Cod_Uso Numero PRIMARY KEY,
Id_Veiculo Texto(1),
Id_Funcionario Numero,
Km_Inicial Numero,
Km_Final Texto(1),
Resp_Autorizacao Texto(1),
Data_Retorno Data,
Destino Texto(1),
Roteiro Texto(1),
Data_Saida Data
)
CREATE TABLE Veiculo (
Id_Veiculo Texto(1) PRIMARY KEY,
Cod_UsoNumero,
Modelo Texto(1),
Cor Texto(1),
Placa Texto(1),
Status Texto(1),
Tipo_Combustivel Texto(1),
Qtde_Portas Numero,
Id_Abastecimento Numero,
Tipo_Veiculo Texto(1),
Id_Manutenção Numero,
Numero_Chassi Texto(1)
)
CREATE TABLE Tipo_Veiculo (
Carga Texto(1),
Passageiros Texto(1),
Utilitario Texto(1),
Passeio Texto(1)
)
CREATE TABLE Manutencao (
Id_Manutencao Numero PRIMARY KEY,
Responsável_Nome Texto(1),
Data_Manutencao Data,
Descricao Texto(1),
Id_Veiculo Texto(1)
)
CREATE TABLE Abastecimento (
Id_Abastecimento Numero PRIMARY KEY,
Tipo_Combustivel Texto(1),
Responsavel Texto(1),
Data Data,
Km_Atual Numero,
Id_Veiculo Texto(1),
FOREIGN KEY(Id_Veiculo) REFERENCES Veiculo (Id_Veiculo)
)
CREATE TABLE Status (
Disponivel Texto(1),
Em_Uso Texto(1),
Em_Manutencao Texto(1)
)
17. IMPLEMENTAÇÃO NA LINGUAGEM C#
 Com o objetivo de focar alguns conceitos importantes da Programação Orientada a Objetos, este tópico abordará, com implementação na linguagem C#, as classes com os respectivos construtores, além das propriedades de acesso e métodos, tomando como referência as classes principais “Funcionário” e “Veiculo”, representadas no diagrama de classes.
18. ARQUITETURA DO SISTEMA MODEL VIEW CONTROLLER
MVC não foi criado para ser somente um padrão de projeto, ele na verdade é uma arquitetura de projeto onde seu objetivo é separar seu código em três camadas fazendo com que cada área só trabalhe com itens que competem a elas.
· Model - Toda comunicação com o banco de dados. Os comandos CRUD (inserir, alterar, remover, buscar) serão feitas pelas classes deste tipo.
· View - Exibi as informações enviadas pelo controller, aqui não existirá nenhuma lógica ou regra de negócio, apenas a interface do usuário.
· Controller - É o responsável também por toda lógica do sistema. Retornando somente os itens necessários para a comunicação entre o modelo e a visão.
Figura 14: Modelo MVC
Fonte: Os Autores, 2019. 
 Figura 15: Modelo MVC
 Fonte: Os Autores, 2019. 
19. CRONOGRAMA DO PROJETO
 O cronograma deve propiciar confiabilidade e facilidade na visualização de cada etapa de um projeto. A base para a estruturação adequada de um cronograma é a correta definição do escopo a ser entregue, pois sem este escopo claramente definido o cronograma sofrerá inúmeras alterações durante o processo de implantação do projeto, o que inviabilizará o acompanhamento das atividades e tornará o mesmo descartável. Outros importantes levantamentos e atividades devem ser feitos antes do início da elaboração do cronograma corroborando-o como ferramenta fundamental para excelência da gestão de tempo em projetos.
Tabela 1: Cronograma do Projeto
Fonte: Os Autores, 2019. 
20. ESTRATÉGIAS DE NEGÓCIOS
Visando estratégias de negócios, nossos serviços dispõem de descontos e promoções, que funcionarão da seguinte forma:
1. Serão realizados descontos com base no valor final, de contratos com prazo de mais de 01(um) ano.
2. Renovações de contratos acima de 01(um) ano, serão acompanhados de 01(um) mês grátis para cada ano contratado.
3. Clientes com mais de 01(um) ano de utilização do sistema, receberão gratuitamente possíveis atualizações do mesmo.
4. Quando contratado por mais de 02(dois) anos, o sistema irá acompanhado de um(a) aula/treinamento de utilização para o usuário contratante.
5. Serviços solicitados dentro da área geográfica de São José dos Campos, receberão prioridade, além de serem isentos de cobranças (quando serviços de manutenção, e dentro das devidas normas estabelecidas).
21.CONTROLE DE QUALIDADE UTILIZADO NA PRODUÇÃO DO SISTEMA
Construir bons produtos de software continua sendo um desafio para as organizações. Apesar dos benefícios evidentes, práticas de controle da qualidade de software são muitas vezes ignoradas pelas empresas e/ou equipes desenvolvedoras. 
Para esse Software não foi diferente, fazer o controle da qualidade garante um aumento no sucesso na produção e no desenvolvimento deste Software. Agora para mostrar o que foi feito para gerenciar a qualidade do Software, foi utilizado 4 métodos da gestão de qualidade;
1° Redução de Defeitos: Revisar toda hora a documentação e o sistema reduz defeitos que ocasionaram durante o desenvolvimento eliminando falhas, erros e bugs. Chegando no produto final tendo eliminado a maioria dos erros/falhas/bugs encontrados.
2° Aumento da Confiabilidade: Durante a utilização deste sistema, o cliente não quer encontrar falhas no sistema. Nesse Software pensamos totalmente em trazer uma consistência e estabilidade para assim gerar uma confiabilidade no sistema satisfazendo o Cliente.
3° Maior Produtividade: O comprometimento do nosso grupo para o desenvolvimento deste projeto foi essencial para o desenvolvimento do software gerando um grupo eficaz. Todas as atividades devidamente separadas e com foco em cada uma delas, concluindo metas e objetivos. 
4° Satisfação dos Clientes: Durante todo esse trabalho, podemos entregar um produto final a ser apresentado para o Cliente seguindo todos os requisitos, satisfazendo com o sistema finalizado. Trazendo a qualidade do Software para o Cliente, garantindo no futuro se o Cliente precisar de outro Software, ele já sabe quem ele vai chamar.
22. CONCLUSÃO
Este trabalho se propôs a desenvolver uma aplicação desktop e também uma aplicação web para gerenciar uma frota de veículos, automatizando assim, todo os processos desde efetuar reservas e locações até o acompanhamento da frota através de relatórios gerenciais. Além do mais, o objetivo deste trabalho era o desenvolvimento de um sistema de informação de processamento de dados, um sistema que tivesse entrada e saída de dados, e para auxílio no resgate de informações de um banco de dados.
Foi muito importante para aplicar o conhecimento obtido ao longo do 4 semestre, mesclando a essência dos conceitos para adaptar o projeto nas tecnologias disponíveis no mundo.
A utilização dos Diagramas da UML, das ferramentas “StarUML”, “Astah” e “Microsoft Visual Studio” concedeu uma visão ilustrativa para compreender o funcionamento generalizado de um sistema, e o Microsoft Visual Studio para codificação do sistema. 
23. REFERÊNCIAS
GONÇALVES, F. Engenharia de Usabilidade: edição 1. Rio de Janeiro: ESTÁCIO,2016.
KORTH, H. F.; SILBERSCHATZ, A.; SUDARSHAN, S... Sistema de Banco de Dados. 5a ed., Campus, 2006
WESLEY, Addison. Engenharia de Softw are. 8ª. Ed. São Paulo: Sommerville, 2000.
BEZERRA, Eduardo. Principio de Analise e Projetos de Sistemas Com Uml. 3ªEd. São Paulo: Campus Elsevier, 2014.
DENNIS, Alan; W IXOM, Barbara Haley; ROTH, Roberta M. Análise e Projeto de Sistemas. 5ª Ed. São Paulo: LTC, 2014.
Devmedia Artigos e Cursos. Engenharia de Software: Modelagem de Sistemas. Disponível em < http://www.devmedia.com.br/>. Acesso em: 15 de novembro de 2019
LIMA, Léo – Programação PHP e ASP. Disponível em: <http://programacaophpasp.blogspot.com.br/2007/01/linguagem-asp-active-server-pages.html>. Acesso em: 25 de outubro de 2019.

Continue navegando