Buscar

PIM V - Sistema de Reserva de Equipamentos (Colégio Vencer Sempre)

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 28 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 28 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 28 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

Unip EaD 
Projeto Integrado Multidisciplinar 
Cursos Superiores de Tecnologia 
 
 
 
 
 
 
 
Sistema de Reserva de Equipamentos 
(Colégio Vencer Sempre) 
 
 
 
 
 
 
 
 
 
Polo Paulista 
2020 
 
1 
 
 
 
Unip EaD 
Projeto Integrado Multidisciplinar 
Cursos Superiores de Tecnologia 
 
 
 
 
 
 
 
Sistema de Reserva de Equipamentos 
(Colégio Vencer Sempre) 
 
 
Silvio Agnoleto 
RA 1962510 
Curso: Análise e Desenvolvimento de 
Sistemas 
Semestre: 3º 
 
 
Polo Paulista 
2020 
 
2 
 
RESUMO 
Com os conhecimentos adquiridos nas disciplinas de Economia e Mercado, 
Engenharia de Software II, Projeto de Interface com Usuários e Programação 
Orientada a Objetos I; foi possível desenvolver a capacidade de identificação das 
necessidades bem como a proposição de uma solução técnica para o seguinte caso: 
um projeto de um sistema de reserva de equipamentos audiovisuais, que tem como 
propósito agilizar e controlar o empréstimo de equipamentos e recursos de apoio aos 
professores. Elencar, argumentar e justificar a utilização de cada metodologia utilizada 
nesse contexto foi o principal propósito desse trabalho, adquirir o conhecimento das 
etapas que compreendem o ciclo de vida do produto em questão, para poder com 
eficácia atender, custo, benefício, prazo e qualidade numa só tacada. Sendo assim, 
foram mapeados os agentes econômicos que atuam diretamente com a empresa e 
apresentado a viabilidade econômica para a implementação do projeto, indicando o 
prazo para a conclusão do projeto e o investimento financeiro necessário. Foram 
levantados os requisitos funcionais e não funcionais necessários, assim como as 
especificações de interfaces e das mensagens a serem exibidas, é nesta fase que se 
deve angariar o máximo de subsídios para suprir o projeto até a sua fase de 
encerramento. Requisitos de software é uma declaração do que um sistema deve ser, 
e quais características devem possuir. Um estudo sobre qual metodologia de 
qualidade de software, também foi realizado a fim de escolher qual metodologia frente 
as normas internacionais ISO, CMMI, MPS.br seria mais adequada à empresa, além 
disso, como o intuito do nosso trabalho era abranger todas as etapas do ciclo de vida 
do produto, não poderia ficar de fora a etapa de testes para os requisitos funcionais e 
o roteiro utilizado para eles. Finalizando a parte técnica do processo, foi desenvolvido 
um protótipo de interfaces com alta fidelidade explicando cada detalhe do 
funcionamento. Se fosse para fazer uma análise mais criteriosa da solução em si, eu 
diria, que apresentado os custos para confecção do software, a inviabilidade de 
desenvolvimento é praticamente certa, porém, poderíamos contornar isso, com 
parcerias e também desenvolvendo uma aplicação que pudesse ser generalista e de 
fácil utilização para um grupo bem maior de clientes e não apenas a instituição Vencer 
Sempre, mas esse assunto fica pra outra estória...até lá! 
Palavras-chave: Polimorfismo; Programação Orientada à Objetos; Protótipo; 
Requisitos Funcionais; Viabilidade Econômica. 
3 
 
ABSTRACT 
 With the knowledge acquired in the disciplines of Economics and Market, 
Software Engineering II, User Interface Design and Object Oriented Programming I; it 
was possible to develop the ability to identify needs as well as the proposition of a 
technical solution for the following case: a project for an audiovisual equipment 
reservation system, which aims to streamline and control the loan of equipment and 
resources to support teachers . List, argue and justify the use of each methodology 
used in this context was the main purpose of this work, to acquire knowledge of the 
stages that comprise the life cycle of the product in question, in order to be able to 
effectively meet, cost, benefit, time and quality in a just putt. Therefore, the economic 
agents that work directly with the company were mapped and the economic feasibility 
for the implementation of the project was presented, indicating the deadline for the 
completion of the project and the necessary financial investment. The necessary 
functional and non-functional requirements were raised, as well as the specifications 
of interfaces and messages to be displayed, it is in this phase that the maximum 
subsidies must be raised to supply the project until its closing phase. Software 
requirements is a statement of what a system should be, and what characteristics it 
should have. A study on which software quality methodology was also carried out in 
order to choose which methodology according to the international standards ISO, 
CMMI, MPS.br would be more suitable for the company, in addition, as the purpose of 
our work was to cover all stages of the product life cycle, the testing stage for the 
functional requirements and the roadmap used for them could not be left out. Finishing 
the technical part of the process, a prototype of interfaces with high fidelity was 
developed explaining every detail of the operation. If it were to make a more careful 
analysis of the solution itself, I would say that given the costs for making the software, 
the unfeasibility of development is practically certain, however, we could get around 
this, with partnerships and also developing an application that could be generalist. and 
easy to use for a much larger group of customers and not just the Vencer Semper 
institution, but this subject is for another story ... until then! 
 
Keywords: Polymorphism; Object Oriented Programming; Prototype; 
Functional Requirements; Economic viability. 
 
4 
 
SUMÁRIO 
1 INTRODUÇÃO ............................................................................................... 05 
2 DESENVOLVIMENTO ................................................................................... 06 
2.1 Estudo de Viabilidade ..................................................................................... 06 
2.2 Requisitos ....................................................................................................... 07 
2.3 Modelos de Qualidade .................................................................................... 09 
2.4 Testes ............................................................................................................. 10 
2.5 Protótipos de interfaces com alta fidelidade .................................................... 12 
2.5.1 Início e Login ...................................................................................................12 
2.5.2 Perfil ................................................................................................................13 
2.5.3 Equipamentos .................................................................................................14 
2.5.4 Agenda ............................................................................................................16 
2.5.5 Notificações e Chat .........................................................................................17 
2.5.6 Configurações .................................................................................................18 
2.5.7 Menu ...............................................................................................................19 
2.5.8 Fim ..................................................................................................................20 
2.6 Programação Orientada a Objetos – Elementos ............................................. 21 
2.6.1 Objeto e Classe .............................................................................................. 21 
2.6.2 Herança e Polimorfismo .................................................................................. 23 
3 CONCLUSÃO ................................................................................................. 26 
REFERÊNCIAS ..............................................................................................27 
 
5 
 
INTRODUÇÃO 
Tão importante quanto o conhecimento técnico, está a habilidade prática 
relacionada ao mesmo, para o desenvolvimento correto das aplicações em problemas 
existentes, proporcionando assim, soluções bem mais do que satisfatórias. Afinal de 
contas a teoria e a prática já demonstraram que nem sempre falam a mesma língua, 
e estar alinhado em ambas é essencial para o bom desempenho acadêmico e 
profissional. 
A proposta a seguir, visa através de técnicas aprendidas neste último bimestre, 
transformar conhecimento adquirido em “SABER”, para isso será necessário aplicar 
na pratica o aprendizado em questão. 
Através das disciplinas de Economia e Mercado, Engenharia de Software II, 
Projeto de Interface com Usuários e Programação Orientada a Objetos I; 
desenvolveremos capacidade de identificação das necessidades bem como a 
proposição de uma solução técnica para um projeto de um sistema de reserva de 
equipamentos audiovisuais. 
Antigamente, o professor para ministrar suas aulas utilizava apenas giz, lousa, 
livros e seu conhecimento para apresentar o conteúdo de sua disciplina aos seus 
alunos, considerando o aumento de informações a serem apresentadas em cada 
disciplina, o comportamento da nova geração dos alunos que são totalmente ligados 
à tecnologia e às ferramentas de interação humano-computador, a área educacional 
está aderindo gradativamente na utilização ferramentas audiovisuais para apoiar a 
dinâmica das aulas, o trabalho a seguir tem como propósito agilizar e controlar o 
empréstimo de equipamentos e recursos de apoio aos professores. 
 
 
 
 
 
 
6 
 
DESENVOLVIMENTO 
Estudo de Viabilidade 
O estudo de viabilidade indica se o esforço em desenvolver a ideia vale a pena, 
visa tanto a tomada de decisão, como a sugestão de possíveis alternativas de solução, 
contempla se o projeto pode ou não ser feito, se o produto final irá ou não beneficiar 
os usuários interessados, e qual das alternativas entre as possíveis soluções é a 
melhor. 
Baseado no nosso conhecimento técnico, devemos observar se os prazos dos 
projetos são razoáveis. Alguns projetos são iniciados com prazos específicos e 
precisamos determinar se os prazos são obrigatórios ou apenas desejáveis pelo 
cliente. Além disso devemos julgar se os possíveis benefícios de solucionar o 
problema são ou não vantajosos, tão logo os requisitos específicos e soluções sejam 
identificados, devemos levar em consideração os custos e benefícios de cada 
alternativa, isso é chamado de análise de custo-benefício. 
Com esses conceitos definidos, segue o estudo de viabilidade: 
Tabela 1 – Estudo Viabilidade 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
7 
 
Requisitos 
Figura 1 - Stakeholders 
 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
 
Figura 2 – Requisitos Funcionais 
 
 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
 
Figura 3 – Requisitos Funcionais (continuação) 
 
 
 
 
 
 
 
 
 
8 
 
Figura 4 – Requisitos Não Funcionais 
 
 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
Figura 5 – Especificação de Interfaces 
 
 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
 
Figura 6 – Modelo Banco de Dados 
 
 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
9 
 
Modelos de qualidade 
Atualmente existem modelos de qualidade baseados na engenharia que 
ajudam as empresas a estabelecer e seguir padrões. Podemos citar como exemplos 
destes modelos o CMMi (Capability Maturity Model Integration ou Modelo Integrado 
de Maturidade em Capacitação) e o MPS.BR - Processo de Melhoria do Software 
Brasileiro. O objetivo principal dos modelos de qualidade é fazer com que toda a 
equipe esteja trabalhando no mesmo foco, assegurando um processo de software 
com mais qualidade e garantir a produção de software mais competitivo no mercado 
interno e externo. 
A utilização desse tipo de metodologia pode trazer muitos benefícios, tais como: 
redução de custos com retrabalho/manutenção, diminuição de erros entregues na 
versão final ao cliente etc. Com mais tempo disponível, a equipe pode investir em 
melhorias e novos planejamentos. 
Apesar dos dois modelos de desenvolvimento terem sido criados com o mesmo 
propósito, o foco de atuação dos modelos é diferente um do outro. Enquanto o 
MPS.BR é um modelo criado em função das médias e pequenas empresas, o CMMi 
tem um foco global mais voltado para as empresas de maior porte. Contudo apesar 
dessas diferenças é possível afirmar que na realidade brasileira os modelos são 
complementares. 
As médias e pequenas empresas adotam o MPS.BR com o objetivo de 
conseguir alcançar uma padronização e qualidade no processo com mais velocidade 
e de baixo custo. Uma vez alcançada essa padronização a empresa já se encontra 
qualificada para tentar obter a certificação CMMi. 
Nossa empresa adotará o modelo de qualidade MPS.BR, e uma vez já sabendo 
das dificuldades na implantação, estamos buscando mitigar os problemas futuros, 
formando um grupo de pessoas muito interessadas e com baixíssima resistência a 
mudanças e aceitação de novas regras e padrões. Optamos também por fazer essa 
implantação num momento de condição financeira favorável. Apesar de sermos uma 
empresa nova, nosso planejamento rigoroso nos permite tal aquisição, mesmo com 
os altos custos de certificação. 
 
 
 
 
 
 
10 
 
Testes 
Em teste de software é impossível testar exaustivamente uma aplicação, pois 
cobrir todos os cenários seria muito custoso. A não ser que a aplicação que está sendo 
testada seja muito simples e com parâmetros de entradas limitados. Nesse caso, 
devemos calcular o esforço dos testes baseando-se nos riscos e prioridades. Antes 
de iniciarmos uma sprint é essencial realizarmos um planejamento das atividades de 
testes que consiste em: 
 Definir um cronograma de atividades: quais as atividades que devem ser 
realizadas, as etapas a serem seguidas e a ordem cronológica de execução; 
 Alocação de recursos: quem realiza as atividades e quais 
ferramentas/técnicas serão utilizadas; 
 Definir marcos de projeto: data de início e fim de cada macro atividade. 
 
Tabela 2 – Roteiro de Testes 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
11 
 
Tabela 3 – Roteiro de Testes (continuação) 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
 
No exemplo acima (Tabelas 2 e 3), o roteiro de testes possui duas localizações: 
“Menu > Equipamentos” e “Menu > Configurações”. A primeira localização possui um 
objeto de teste (Operações referentes à inclusão de equipamentos), o qual possui 
dois casos de teste diferentes, mas que estão relacionados ao mesmo domínio do 
objeto de teste. A segunda localização também possui um objeto de teste (Verificação 
da mudança de permissões), o qual possui um caso de teste. 
Observe que cada caso de teste possui um contador, este contador irá 
identificar o caso de teste no momento de elaborar o Relatório de Defeitos. Com o 
contador, o desenvolvedor poderá reproduzir cada passo dos casos de teste que não 
passaram. 
Outro item do caso de teste é a criticidade, este item é opcional, no entanto é 
bastante importante para uma boa realização dos testes. Com ele é possível ordenar 
os casos de teste de acordo com a sua criticalidade para o projeto. Os casos de teste 
com criticidade mais altas devem ser executados antes, para não correr o risco de 
eles não serem executados por falta de tempo. 
 
 
 
 
 
 
 
12 
 
Protótipos de interfaces com alta fidelidade 
Início 
Com o propósito de homenagear aqueles que apenas com seu amor pelo ato 
de ensinar e com muitos poucos recursos sustentaram gerações e gerações de 
alunos, a abertura do aplicativo BOOKED, vem ilustrada com recursos tecnológicos 
de outrora, materializando um conceito de que a tecnologia é um meio importante detransmitir conhecimento, porém são os metres e professores que detém a guarda e a 
didática correta para o compartilhamento do mesmo. 
O app consiste numa solução com a finalidade de agilizar e controlar o 
empréstimo de equipamentos e recursos de apoio aos professores e dos demais 
colaboradores. 
Figura 7 – Tela Início 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
Entrada/Processamento/Saída – Não 
 
Login 
Iniciando a descrição das telas do app, temos a tela de Login. O cadastro de 
usuários pode ser feito através de API ou SDK do Facebook, Twitter ou Google. Caso 
o usuário não possua conta alguma nesses sites ou se a empresa (instituição de 
ensino) preferir, pode ser utilizado o Active Directory (AD) para tal. Se nenhuma das 
alternativas atender ao cliente, o cadastro pode ser feito manualmente pelo 
Administrador, caso a caso. 
 
13 
 
Figura 8 – Tela Login 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
Entrada: Usuário e Senha 
Processamento: Validação dos Dados 
Saída: Aceite de Entrada no Sistema e Direcionamento para Tela Perfil 
 
Perfil 
Uma vez logado, o app direcionará para a tela do Perfil. Nessa tela você tem 
suas informações pessoais e profissionais atuais, que você poderá escolher se são 
compartilhadas ou não com aqueles que interagem com você nessa solução. Além de 
visualizar a composição de ensino que está relacionada a você neste momento. Quais 
são as turmas, os locais (sala, laboratório, auditório, quadra) onde as aulas são 
ministradas, bem como os horários. 
Figura 9 – Tela Perfil 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
14 
 
Entrada: Dados Pessoais do Usuário e sua Composição de Ensino 
Processamento: Validação do Conteúdo dos Campos 
Saída: Gravação no Banco de Dados 
 
Equipamentos 
Através do menu, representado pelas três linhas paralelas no canto superior 
esquerdo, você navegará por todo o sistema, dando flexibilidade a solução, evitando 
assim intermináveis idas e vindas de telas e botões. Lembrando que a quantidade de 
professores com mais de 45 anos de idade varia entre 20-30% do total por instituição 
em média dependendo do grupo escolar (Tabela 4) e apresentar soluções que 
facilitem a experiencia de todos e torne o aprendizado de novas tecnologias algo mais 
agradável é uma exigência atual. 
Tabela 4 – Estatísticas MEC / Faixa Etária Professores 
 
 
 
 
 
 
Existem duas formas de se cadastrar um equipamento: A primeira é feita pela 
instituição através do Administrador, geralmente quando se inicia o uso da ferramenta, 
cadastrando todos os recursos existentes e disponíveis de uma única vez. A segunda 
é feita pelo próprio usuário, já na rotina do dia-a-dia. Qual a diferença? O cadastro 
feito pelo Administrador é disponibilizado automaticamente aos usuários, já o feito 
pelo usuário, fica em standby até que o Administrador faça uma revisão dos dados 
inseridos, podendo ou não liberar o mesmo para ser visualizado. 
Como cada item pode vir a ter mais de uma unidade, foi criada uma tabela 
paralela para administrar o estoque e vinculada a isso uma tabela de cores que irão 
15 
 
fazer fundo a imagem mostrando se o bem está disponível em sua total quantidade, 
em quantidade parcial ou se todas as unidade daquele recurso estão reservadas ou 
em uso. 
AZUL – Quantidade do Bem Totalmente Disponível. 
Por exemplo, se houver três roteadores no estoque, os três estão aguardando 
para ser utilizados. 
VERDE – Quantidade do Bem Parcialmente Disponível. 
Agora ao invés de três roteadores, apenas dois estão disponíveis para ser 
utilizados. 
LARANJA – Quantidade do Bem Esgotado para Reserva. 
Existem dois tipos de usuários aqueles que estão sempre se antecipando as 
situações e aqueles que só lembram das premissas momentos antes da necessidade. 
Para este segundo caso é que essa tabela de cores cairá como uma luva. Ela tem a 
finalidade de evitar uma etapa do processo, que é o agendamento. Você não precisa 
entrar no item, depois ir para a Agenda procurar a hora e aí descobrir que o bem não 
está disponível para ser reservado. Um auxílio e não um impedimento, ideal para 
reservas imediatas, porem permite reservas futuras. 
 
Figura 10 – Tela Equipamentos 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
 
 
16 
 
Entrada 1: Dados dos Equipamentos 
Processamento 1: Validação do Conteúdo dos Campos 
Saída 1: Gravação no Banco de Dados 
Entrada 2: Escolha do Equipamento a Ser Reservado 
Processamento 2: Verificação da Disponibilidade do Item 
Saída 2: Direcionamento para a Tela Agenda 
 
Agenda 
A tela de Agenda faz parte do Menu também, podendo ser acessada 
diretamente, com o intuito de mostrar ao usuário os agendamentos existentes para 
cada bem, sejam suas reservas ou de terceiros. Mas ela também faz parte da rotina 
que vem da tela Equipamentos, quando da reserva ser chamada por lá. E se eu 
quiser fazer a reserva por aqui? Pode também, escolhe o dia e o horário e a tela 
Equipamento será aberta para que escolha o bem. 
 
Figura 11 – Tela Agenda 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
Entrada 1: Informação Oriunda da Tela Equipamentos 
Processamento 1: Verificação da Disponibilidade de agenda 
Saída 1: Reserva do Bem e Envio Mensagem Tela Notificações 
 
17 
 
Entrada 2: Escolha da Data a Ser Reservado 
Processamento 2: Verificação da Disponibilidade da Data 
Saída 2: Direcionamento para a Tela Equipamentos 
 
Notificações 
A tela de Notificações, irá mostrar informes da instituição, colocados pelo 
Administrador, e outros oriundos de departamentos diversos, como no exemplo, o 
departamento de suporte. Mostrará as reservas efetivadas e as devoluções também. 
E apresentará os novos integrantes do grupo de trabalho que passaram a possuir 
acesso aos recursos disponíveis a serem reservados. 
Figura 12 – Tela Notificações 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
Entrada: Mensagem Oriunda de Outras Rotinas 
Processamento e Saída: Não 
 
Chat 
Uma tela com a funcionalidade em questão tem a finalidade de abrir negociação 
em caso de poucos recursos para grande demanda de necessidade, mas pode 
também ser utilizada como auxílio no planejamento do uso racional dos recursos ou 
simplesmente para conversar. 
 
18 
 
Figura 13 – Tela Chat 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
Entrada: Mensagem Digitada pelo Usuário 
Processamento: Encapsulamento / Envio da Mensagem para Usuario Destino 
Saída: Impressão da Mensagem Digitada na Tela 
 
Configurações 
Reunidas numa mesma tela, as Configurações pertinentes ao usuário dão ao 
mesmo, a possibilidade de restringir ou permitir acessos em diversas categorias do 
aplicativo. No exemplo em questão, está permitido ao Administrador mudar as 
agendas feitas pelo usuário, mas aos colegas de trabalho não. O nome do usuário 
não aparecerá junto as reservas, para que não venham incomodá-lo depois querendo 
alterar suas reservas. Está permitido chamadas no chat através de vídeo chamada, 
mas sempre dentro do horário de trabalho e a manutenção do histórico das conversas 
realizadas. 
 
 
 
 
 
 
19 
 
Figura 14 – Tela Configurações 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
Entrada: Aceite da Mudanca de SET para cada Item Configurado (ON/OFF) 
Processamento: Alteração das Permissões Alteradas 
Saída: Gravação dos Parâmetros Atuais após Alteração 
 
Menu 
A tela permite acesso direto a todas as funcionalidades do aplicativo. E traz um 
link para a loja afim de que o app seja avaliado quanto a qualidade e amplitude da 
solução. 
Figura 15 - Menu 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
Entrada/Processamento/Saída – Não 
 
 
20 
 
Fim 
Finalizamos o aplicativo com uma tela similar a inicial mostrando agora o 
desenvolvedorbem como o patrocinador do aplicativo. 
Figura 16 – Tela Fim 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
Entrada/Processamento/Saída – Não 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21 
 
Programação Orientada a Objetos - Elementos 
Definição de objeto 
No paradigma de orientação a objetos, tudo pode ser potencialmente 
representado como um objeto. Sob o ponto de vista da programação, um objeto não 
é muito diferente de uma variável no paradigma de programação convencional. Por 
exemplo, quando se define uma variável, essa variável tem: 
 um espaço em memória para registrar o seu estado atual (um valor); 
 um conjunto de operações associadas que podem ser aplicadas a ela, 
através dos operadores (soma, subtração, inversão de sinal, 
multiplicação, divisão inteira, resto da divisão inteira, incremento, 
decremento). 
Da mesma forma, quando se cria um objeto, esse objeto adquire um espaço 
em memória para armazenar seu estado (os valores de seu conjunto de atributos, 
definidos pela classe) e um conjunto de operações que podem ser aplicadas ao objeto 
(o conjunto de métodos definidos pela classe). 
Definição de classe 
Uma classe é um gabarito para a definição de objetos. Através da definição de 
uma classe, descreve-se que propriedades -- ou atributos -- o objeto terá. 
Além da especificação de atributos, a definição de uma classe descreve 
também qual o comportamento de objetos da classe, ou seja, que funcionalidades 
podem ser aplicadas a objetos da classe. Essas funcionalidades são descritas através 
de métodos. Um método nada mais é que o equivalente a um procedimento ou 
função, com a restrição que ele manipula apenas suas variáveis locais e os atributos 
que foram definidos para a classe. 
 
 
 
22 
 
Em UML (Unified Modeling Language), a representação fica assim: 
Figura 17 – Classe 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
A especificação de uma classe é composta por três regiões: 
Nome da classe 
Um identificador para a classe, que permite referenciá-la posteriormente. 
Atributos 
O conjunto de propriedades da classe. Para cada propriedade, especifica-se: 
 nome: um identificador para o atributo. 
 tipo: o tipo do atributo (inteiro, real, caráter, etc.) 
 valor_default: opcionalmente, pode-se especificar um valor inicial para o 
atributo. 
 visibilidade: opcionalmente, pode-se especificar o quão acessível é um 
atributo de um objeto a partir de outros objetos. 
Métodos 
O conjunto de funcionalidades da classe. Para cada método, especifica-se 
sua assinatura, composta por: 
 nome: um identificador para o método. 
 tipo: quando o método tem um valor de retorno, o tipo desse valor. 
23 
 
 lista de argumentos: quando o método recebe parâmetros para sua 
execução, o tipo e um identificador para cada parâmetro. 
 visibilidade: como para atributos, define o quão visível é um método a 
partir de objetos de outros classes. 
As técnicas de programação orientada a objetos recomendam que a estrutura 
de um objeto e a implementação de seus métodos devem ser tão privativos como 
possível. Normalmente, os atributos de um objeto não devem ser visíveis 
externamente. Da mesma forma, de um método deve ser suficiente conhecer apenas 
sua especificação, sem necessidade de saber detalhes de como a funcionalidade que 
ele executa é implementada. 
Definição 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. 
Sendo uma linguagem de programação orientada a objetos, Java oferece 
mecanismos para definir classes derivadas a partir de classes existentes. É 
fundamental que se tenha uma boa compreensão sobre como objetos de classes 
derivadas são criados e manipulados, assim como das restrições de acesso que 
podem se aplicar a membros de classes derivadas. Também importante para uma 
completa compreensão da utilização desse mecanismo. 
Definição de Polimorfismo 
Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma 
mesma superclasse podem invocar métodos que têm a mesma identificação 
(assinatura) mas comportamentos distintos, especializados para cada classe 
derivada, usando para tanto uma referência a um objeto do tipo da superclasse. A 
decisão sobre qual o método que deve ser selecionado, de acordo com o tipo da 
24 
 
classe derivada, é tomada em tempo de execução, através do mecanismo de ligação 
tardia. 
No caso de polimorfismo, é necessário que os métodos tenham exatamente a 
mesma identificação, sendo utilizado o mecanismo de redefinição de métodos. Esse 
mecanismo de redefinição não deve ser confundido com o mecanismo de sobrecarga 
de métodos. 
É importante observar que, quando polimorfismo está sendo utilizado, o 
comportamento que será adotado por um método só será definido durante a 
execução. Embora em geral esse seja um mecanismo que facilite o desenvolvimento 
e a compreensão do código orientado a objetos, há algumas situações onde o 
resultado da execução pode ser não-intuitivo. 
Algumas aplicações dos conceitos ao sistema criado: 
 
Figura 18 – Exemplo de Objeto e Classe 
 
 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
 
 
 
 
 
25 
 
Figura 19 – Exemplo de Herança 
 
 
 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
 
Figura 20 – Exemplo de Polimorfismo 
 
 
 
 
 
 
 
 
 
 
 Fonte: Silvio Agnoleto (Própria) 
 
 
 
26 
 
CONCLUSÃO 
O desenvolvimento de softwares é uma prática que exige muita organização e 
planejamento. Se o objetivo é oferecer um produto de qualidade sem ter gastos 
exorbitantes em sua criação, é fundamental definir estratégias para otimizar os 
processos do início ao fim. É interessante entender que os processos podem ser 
compreendidos como um conjunto de atividades que são organizadas a fim de definir, 
desenvolver, testar e manter o software. 
É muito comum que empresas desenvolvedoras inexperientes prometam algo 
que não conseguem cumprir, prejudicando assim sua reputação e causando prejuízo 
financeiro, assim, é importante não perder de vista que esses processos servem como 
um alicerce bastante sólido para suas atividades, mas também podem ser ajustados 
ao seu ambiente de desenvolvimento. 
Nenhum produto ou serviço é oferecido por uma empresa sem que o lucro e o 
custo sejam calculados previamente e o valor final do software seja satisfatório, 
nenhum software pode ser desenvolvido sem que antes seus objetivos sejam 
estabelecidos em detalhes. Estou falando da expectativa e das necessidades do 
cliente. Afinal, a qualidade real depende de atender a certas demandas, e isso só pode 
ser feito em parceria com quem pretende comprar o software. 
Fazer o levantamento dos requisitos é um dos processos mais importantes do 
desenvolvimento, pois é isso que vai guiar o time em todas as outras etapas, até a 
conclusão do projeto, trata-se da “materialização” do que foi solicitado pelo cliente e a 
formalização de tudo o que foi requisitado, além disso se faz necessário considerar 
outros aspectos fundamentais: a arquitetura do sistema, a linguagem de programação 
utilizada, o Sistema Gerenciador de Banco de Dados (SGBD), o design da interface 
gráfica etc. 
Definido tudo isso, vem a fase de desenvolvimento do código. Vale destacar 
que, a partir desse processo, algumas etapas podem trabalhar em paralelo, por isso, 
é fundamental investir em uma comunicação eficiente entre as equipes. 
Seguindo o fluxo, é chegada a hora dos testes, ou seja, é hora de verificar se 
as especificações atendem às demandas com eficiência.Devem ser testados tanto os 
requisitos funcionais, quanto os não funcionais (tecnologia utilizada, performance, 
usabilidade, etc), para otimizar esse processo, é importante que os problemas ou bugs 
encontrados sejam rapidamente repassados ao time de desenvolvimento. 
Após a entrega do software, acompanhado de um documento que informa qual 
é o seu objetivo, além de detalhar suas características, o cliente pode ter algumas 
solicitações de ajustes. Por isso, é fundamental contar com um processo de suporte 
para atender a essa demanda e garantir a qualidade do produto, equipe essa 
responsável também pela manutenção que é um período de garantia do 
funcionamento do software, podendo ser dividida em dois níveis: corretiva e evolutiva, 
na qual o escopo inicial é alterado e, consequentemente, o prazo final pode ser 
afetado. 
Ações simples, porém, desprezadas por uma quantidade ainda grande de 
empresas e desenvolvedores autônomos, mas que oferecem grandes benefícios. 
27 
 
REFERÊNCIAS 
[DENNIS, 2005] DENNIS, Alan. Análise e Projeto de Sistemas. Rio de Janeiro, LTC, 
2005. 
[Lima,2005] LIMA, Adilson da Silva. UML 2.0: do requisito à solução. 1 ed. São 
Paulo: Érica, 2005. 
[Ahern, 2001] DENNIS M. AHERN, AARON CLOUSE, e RICHARD TURNER, CMMI 
Distiled: A Practical Introduction to Integrated Process Improvement, SEI Series 
in Software Engineering, Addison-Wesley, 306 pages, 2001. 
[Pressman, 2002] PRESSMAN, R. Engenharia de Software. Rio de Janeiro: 
McGraw-Hill, 2002. 
[Campos, 1992] CAMPOS, VICENTE TQC – Controle da Qualidade Total. Belo 
Horizonte: Bloch Ed, 1992. 
[ISO. 2000] ISO 9001:2000. Quality Management Systems. Requirements, 2000. 
[Maldonado, 2001] – Qualidade de Software, Teoria e prática. São Paulo: Pearson, 
2001. 
[MCT,1996] MCT . Qualidade no setor de software brasileiro: 1995. Brasília, DF. 
http://www.mct.gov.br 
[Weber, 2001] WEBER, K.C,; ROCHA, A.R.C e NASCIMENTO, C.J. Qualidade e 
produtividade em software, 4ª edição renovada. São Paulo, Makron Books, 2001.

Continue navegando