Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Itaberaba - Ba
2019
FELIPE DA SILVA SANTANA
SISTEMA DE ENSINO PRESENCIAL CONECTADO
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
ENGENHARIA DE SOFTWARE E GESTÃO DE PROJETOS:
Caminhos para a Qualidade no Desenvolvimento de Sistemas de
Software
Itaberaba - Ba
2019
ENGENHARIA DE SOFTWARE E GESTÃO DE PROJETOS:
Caminhos para a Qualidade no Desenvolvimento de Sistemas de
Software
Trabalho apresentado ao Curso de Análise e
Desenvolvimento de Sistemas da Universidade Pitágoras
Unopar, como requisito parcial para a obtenção de média
semestral nas disciplinas de Engenharia e Projeto de
Software, Projeto Orientado à Objetos, Programação
para Web II e Seminários V. Orientador: Prof. Anderson
Emídio de Macedo Gonçalves; Everson Matias de
Morais; Adriano Sepe; e Merris Mozer. 
FELIPE DA SILVA SANTANA
SUMÁRIO
1 INTRODUÇÃO..........................................................................................................3
2 DESENVOLVIMENTO...............................................................................................4
2.1 Prototipação………………………………………..…………………………………….4
2.1.1 Diagrama de Casos de Uso………………………………………………………….5
2.1.2 Descrição de Casos de Uso………………………………………………………….5
2.1.3 Prototipação de Interface Gráfica de Usuário……………………………………...9
2.2 Plano de Projeto………………………………………………………………………..12
2.2.1 Objetivo……………………………………………………………………………….12
2.2.2 Justificativa……………………………………………………………………………13
2.2.3 Escopo………………………………………………………………………………...13
2.2.3.1 EAP – Estrutura Analítica do Projeto……………………………………………14
2.2.4 Mapa Mental………………………………………………………………………….14
2.2.5 Gerenciamento do Tempo………………..………………………………………...15
2.2.6 RUP (Rational Unified Process)……………………………………………………17
2.2.7 Plano de Qualidade……………………….……………………………..…………..20
2.2.8 Business Process Engineering……………………………………………………..21
2.2.9 Plano de Desenvolvimento………………………………………………………….21
2.2.9.1 Diagrama de Casos de Uso………………………………………………………22
2.2.9.2 Diagrama de Classes……………………………….…………………………….22
2.2.9.3 Mapeamento de Requisitos Funcionais e Não Funcionais…………………...23
2.2.9.4 Arquitetura do Sistema……...…………………………………………………….24
2.2.9.4.1 Arquitetura Física………………………………………………………………..24
2.2.9.4.2 Arquitetura Lógica……………………………………………………………….25
2.2.9.5 Padrões de Projetos………………………………………………………..……..26
2.2.9.6 Tecnologias Aplicadas…………………………………………………………….27
2.2.9.7 Frameworks………………………………………………………………………...27
2.2.9.8 Ferramentas...……………………………………………………………………...27
2.2.9.9 Página de Recarga de Pulseira………………………………………………….28
3 CONCLUSÃO..........................................................................................................28
 REFERÊNCIAS..........................................................................................................30
1 INTRODUÇÃO
A empresa Startup PulseADS trabalha com o desenvolvimento de
soluções tecnológicas especializadas para grandes parques em todo Brasil. Através
da tecnologia de RFID - Radio Frequency Identification - conhecida em português
como identificação via radiofrequência; a mesma desenvolveu pulseiras especiais
que visam proporcionar uma melhor eficiência nos processos de negócio dos
parques e consequentemente entregar mais segurança aos seus clientes.
As pulseiras funcionam como um sistema de pagamento pré-pago,
onde é possível realizar operações de crédito e débito, ou seja, o cliente, ao chegar
no parque, irá carregar sua pulseira com um determinado valor e consumirá seus
créditos enquanto lá estiver.
Em consequência do aumento de sua clientela, surgiu a
necessidade do desenvolvimento de um sistema que integrasse a tecnologia das
pulseiras às operações de controle de acesso e consumo dos parques.
Partindo-se dessa premissa, a equipe de desenvolvimento da
Startup PulseADS iniciou o planejamento e desenvolvimento do projeto de software
PulseConsumo, onde a mesma utiliza das boas práticas da Engenharia de Software
e Gestão de Projetos para que seja possível o desenvolvimento de um produto de
alta qualidade e que atenda as reais necessidades de seus clientes.
Ao decorrer deste trabalho serão apresentados alguns conceitos,
processos e técnicas utilizadas para o desenvolvimento de software gerenciável e de
qualidade, focado na entrega dentro do prazo estabelecido, mantendo os custos
gerais dentro do orçamento, obedecendo assim as principais restrições de projeto,
como: escopo, cronograma, custo, qualidade, recursos e risco.
3
2 DESENVOLVIMENTO
Desde a então “crise de software” do final da década de 60, os
cientistas e engenheiros da computação têm alocado esforços no desenvolvimento
de técnicas que auxiliem o desenvolvimento de software de qualidade e que de fato
atenda às exepectativas do cliente. Surge então a área da Engenharia de Software.
Engenharia de software, segundo Bauer (apud PRESSMANN, 2011,
p.29), é “o estabelecimento e o emprego de sólidos princípios da engenharia de
modo a obter software de maneira econômica, que seja confiável e funcione de
forma eficiente em máquinas reais”.
Na engenharia de software existem processos conhecidos como
processos de software. Um processo de software é um conjunto de atividades
relacionadadas que levam à produção de um produto de software. 
2.1 Prototipação
Segundo Sommerville (2011, p. 30), “um protótipo é uma versão
incial de um sistema de software, usado para demonstrar conceitos, experimentar
opções de projeto e descobrir mais sobre o problema e suas possíveis soluções”.
A prototipação é uma técnica que pode ser utilizada para definir
aspectos importantes do sistema, abstraindo as principais funcionalidades e
auxiliando na elicitação de requisitos da atividade de Análise do processo.
Geralmente, os protótipos são baseados em sistemas existentes.
Diante disso, a equipe da Startup PulseADS desenvolveu um plano
de prototipação com base nas seguintes fucionalidades:
a) cadastro de pulseira - realiza o cadastro de uma nova pulseira;
b) cadastro de cliente – realiza o cadastro de um novo cliente;
c) cadastro de funcionário – realiza o cadastro de um novo
funcionário;
d) recarga de pulseira – realiza operação de crédito sobre saldo
atual da pulseira.
4
2.1.1 Diagrama de Casos de Uso
Para uma representação de alto nível dessas posíveis
funcionalidades, criou-se um Diagrama de Casos de Uso. O Diagrama de Casos de
Uso é uma ferramenta gráfica pertencente aos diagramas comportamentais da UML
(Linguagem de Modelagem Unificada) e tem como propósito representar cenários
de interação entre atores externos (usuários) e o sistema em si. É composto por
atores, casos de uso e suas associações.
Na Figura 1 abaixo, é possível visualizar o diagrama de casos de
uso criado para o protótipo.
2.1.2 Descrição de Casos de Uso
Apesar do diagrama de casos de uso ser uma ótima ferramenta para
elucidar funcionalidades do sistema e portanto facilitar a atividade de elicitação de
requisitos, o mesmo não fornece detalhes suficientes para prosseguir com a
implementação. É necessário a especificação destes casos de uso, através da
atividade de documentação ou descrição de casos de uso.
Existem diversos modelos de descrição de casos de uso que podem
5
Figura 1: Diagrama de Casos de Uso. Fonte: autor.
ser utilizados, cada organização deve utilizar àquele que melhor atender as suas
necessidades. Nas Figuras 2 e 3, vemos um exemplo das descrições dos casos de
uso das funcionalidades anteriormente citadas, respectivamente.
6
Figura 2: Descrição de Caso de Uso Cadastrar Pulseira. Fonte:
autor.
7
Figura 3: Descrição do Caso de Uso Cadastrar Cliente.Fonte:
autor.
8
Figura 4: Descrição de Caso de Uso Cadastrar Funcionário. Fonte:
autor.
2.1.3 Prototipação de Interface Gráfica de Usuário
A atividade de prototipação de inferface gráfica de usuário é muito
importante para aceitação de um software pelo usuário final, pois é nela que se
definem os componentes visuais e interativos que serão dispostos em tela para que
9
Figura 5: Descrição do Caso de Uso Realizar Recarga. Fonte: autor.
sejam vistos e interpretados pelo usuário.
Portanto, deve-se ater a requisitos não funcionais como usabilidade
e ergonomia, de forma a oferecer uma interface gráfica agradável e intuitiva.
Realizando um estudo da descrição dos cenários de interação
(casos de uso), é possível abstrair alguns campos necessários para a prototipação
das telas anteriormente propostas.
10
Figura 6: Tela Cadastrar Pulseira. Fonte: autor.
11
Figura 7: Tela Cadastrar Cliente. Fonte: autor.
Figura 8: Tela Cadastar Funcionário. Fonte: autor.
2.2 Plano de Projeto
Quando se fala em desenvolvimento profissional de software, tem-se
em mente a aplicação de diversas técnicas e metodologias para se obter um
resultado satisfatório. O plano de projeto é uma dessas técnicas, e está relacionada
a gestão de projetos. 
Afinal, é imprescindível o controle e monitoramento das atividades
relacionadas ao projeto para que se tenha uma ampla visão sobre questões como
prazos, recursos e custos.
O plano de projeto serve como um guia para equipe do projeto. Ele
descreve as ações necessárias para definir, coordenar e integrar todos os planos
auxiliares do projeto. 
2.2.1 Objetivo
Este documento objetiva definir detalhadamente aspectos relevantes
de planejamento, execução e acompanhamento do desenvolvimento do projeto
PulseConsumo, que será realizado pela empresa Startup PulseADS. Estes aspectos
envolvem principalmente escopo, prazos, recursos, qualidade e riscos.
12
Figura 9: Tela Nova Recarga. Fonte: autor.
2.2.2 Justificativa
O principal objetivo deste documento é o planejamento de
desenvolvimento do sistema de informação PulseConsumo. Portanto, o mesmo visa,
por meio dos artefatos aqui gerados, estabelecer uma estrutura global de
comunicação e registro entre os stakeholders, analistas de negócio, gerentes de
projeto, equipes de desenvolvimento e engenheiros de teste.
2.2.3 Escopo
O sistema PulseConsumo tem como propósito realizar o controle de
acesso e consumo em parques, utilizando-se da tecnologia RFID (identificação por
radiofrequência) aplicada a pulseiras especiais. Desta forma, visa proporcionar uma
melhor eficiência aos processos de negócio e fornecer maior segurança aos
usuários. O sistema em questão deve permitir:
1. Autenticação de funcionários: permitir que os funcionários
acessem as funcionalidades a partir de usuário/senha;
2. Registrar operação de venda: consiste em gerar um débito no
saldo da pulseira utilizada pelo cliente, bem como a baixa no
estoque de mercadorias;
3. Consultar saldo: possibilitar que o cliente consiga consultar o
saldo existente em sua pulseira.
O gerenciamento de escopo envolve processos essencias para a
garantia de que apenas o que foi definido seja realizado. Partindo-se dessa
premissa, o gerenciamento de escopo busca proporcionar uma visão comum de
projeto - onde aqueles envolvidos, possam compreender o que já foi feito e o que
ainda há de ser feito. Para auxiliar nessa proposta, utiliza-se uma EAP para
representação gráfica e hierárquica de etapas e atividades.
2.2.3.1 EAP – Estrutura Analítica de Projeto
A EAP (Estrutura Analítica de Projeto) é uma ferramenta, ou melhor,
um diagrama que busca auxiliar no controle e gestão para que o planejamento seja
executado, estabelecendo um transcurso de prazo, a fim de concluir as tarefas.
13
Atém-se a definição de metas e objetivos.
2.2.4 Mapa Mental
O mapa mental é uma ferramenta para a representação de ideias de
forma fragmentada, onde os elementos são representados por tópicos e seus
subtópicos, assim formando uma estrutura hierárquica de conceitos. Apesar de os
diagramas da UML serem comuns para a modelagem de requisitos, o mapa mental
por sua simplicidade e praticidade, pode ser usado para se ter uma visão abstrata e
geral dos aspectos principais de um projeto/sistema.
Portanto, para alcançar este fim, elaborou-se o mapa mental do
sistema PulseConsumo, onde o mesmo poder ser visto na Figura 11 abaixo.
14
Figura 10: Estrutura Analítica do Projeto. Fonte: autor.
2.2.5 Gerenciamento do tempo
A necessidade de se medir o tempo sempre esteve presente na
história da humanidade, tendo como um dos percursores, o relógio como uma
ferramenta de medição de tempo.
Devido as exigências do mercado em produzir mais, com menos
custos e em menos tempo, a adoção de boas práticas do gerenciamento de tempo
se tornou essencial para uma boa gestão. 
É nítido que quando não se há um controle sobre as atividades,
temos uma rotina desorganizada e cansativa - perde-se a produtividade e eficiência
com a execução de atividades que muitas vezes não agregam valor. 
Portanto, tratando-se de projeto, existe um conjunto de técnicas e
ferramentas que auxiliam na prática de gerenciamento do tempo. Segundo o Guia
PMBOK® Quinta Edição, o gerenciamento do tempo inclui os processos requeridos
para assegurar a conclusão do projeto no prazo previsto.
Dessa forma, o gerencimento de tempo foca no estabelecimento de
15
Figura 11: Mapa mental. Fonte: autor. <https://www.mindmeister.com>.
boas práticas tendo como objetivo a realização de atividades eficientemente,
designando cada tarefa àquele responsável por sua execução. Definindo uma rotina
coesa e saudável pensando no bem-estar de todos envolvidos e como resultado,
atingir objetivos satisfatoriamente, obedecendo prazos e orçamentos previstos.
Como exemplo de ferramentas utilizadas na gestão do tempo, temos
a lista de atividades ou cronograma e o Diagrama de Grantt, que podem ser vistos
nas imagens Figura 12 e Figura 13, respectivamente. A lista de atividades
representa o cronograma de atividades executadas durante o processo de
desenvolvimento, estabelecendo assim, os responsáveis por sua realização e o
prazo de início e fim das mesmas.
Já o Diagrama de Gantt é um gráfico utilizado para visualização do
avanço das diferentes etapas de um projeto. Logo, preocupa-se com o intervalo de
tempo gasto entre o início e o fim de cada fase. Por ser simples, é de fácil
entendimento pelos integrantes do projeto, facilitando a comunicação não só da
equipe interna, como também com o cliente, permitindo-lhes o acompanhamento do
atual progresso do projeto.
16
Figura 12: Lista de atividades. Fonte: autor. <https://artia.com/>.
2.2.6 RUP (Rational Unified Process)
O desenvolvimento profissional de software exije um planejamento
estratégico de etapas e atividades para que se obtenha um processo de qualidade e
consequentemente, um produto de qualidade. As linhas ou cronogramas de
execução que permeiam o desenvolvimento dessas etapas e atividades são
conhecidas como processo de software.
Os processos de software podem ser classificados em metodologias
dirigidas à planos e metodologias ágeis. As metodologias dirigidas à planos
(metodologias tradicionais) determinam um conjunto de etapas fixas, onde deve-se
obedecer uma ordem cronológica, ou seja, para avançar para a próxima etapa é
necessária a conclusão das atividades da etapa atual – o que inviabiliza a
flexibilidade e aumenta os possíveis riscosde desenvolvimento. Visto que todo o
projeto de software é realizado antes de qualquer etapa de implementação,
dificultando o gerenciamento de riscos e mudanças. Dentre as metologias
tradicionais, podemos citar o modelo em cascata, que pode ser visto na Figura 14.
Já as metodologias ágeis surgiram justamente para poder realizar a
17
Figura 13: Diagrama de Gantt. Fonte: autor. <https://artia.com/>.
integração entre as atividade, criando um ciclo de vida evolutivo, e por fim,
proporcionando uma maior flexibilidade na execução das mesmas, tendo como
objetivo o desenvolvimento iterativo e incremental. Aplica-se da ideia de que para
resolução eficiente de um problema complexo, é necessário dividi-lo em problemas
menores. Tem como foco principal os relacionamentos.
Após um estudo sobre os tipos e as vantagens das metodologias
disponíveis e os desafios proporcionados pelo projeto atual, a Startup PulseADS
optou pela adoção da filosofia de desenvolvimento do RUP, ou melhor, Rational
Unified Process (Processo Unificado da Rational).
O UP – Unified Process; é um processo proprietário de software que
foi criado pela Rational Software Corporation, posteriormente adquirida pela IBM e
portanto reformulado e renomeado para RUP.
Composto pelas fases de Concepção, Elaboração, Construção e
Transição, o RUP busca englobar algumas das melhores práticas das metodologias
de desenvolvimento, utilizando-se dos paradigmas da POO (Programação Orientada
à Objetos) atrelada as ferramentas da UML. 
Além das fases, O RUP tem como principais características, as suas
iterações e workflows. As iterações representam a evolução do projeto em relação
ao tempo, abordam algumas poucas funções do sistema e geralmente são de curta-
média duração – o que reduz o impacto de possíveis mudanças.
Junto às fases, temos os workflows – que são sequências de
atividades relacionadas a um aspecto importante do projeto. A Figura 15 demonstra
o esforço alocado para cada etapa do projeto.
18
19
Figura 15: Ciclo iterativo do RUP. Fonte:
<https://pt.wikipedia.org/wiki/IBM_Rational_Unified_Proce
ss>.
Figura 14: Modelo em Cascata. Fonte:
<https://casadaconsultoria.com.br/modelo-cascata/.
2.2.7 Plano de qualidade
Assim como o plano de projeto busca em seu núcleo a especificação
e estabelecimento de padrões para se alcançar um produto ideal, o plano de
qualidade é o que vai garantir que as exigências especificadas para a qualidade
desejada sejam alcançadas.
O plano de qualidade documenta procedimentos, recursos e
atividades relevantes para a construção de um determinado projeto, produto ou
serviço.
Portanto, visando oferecer a padronização e assim aplicar-se do
melhoramento contínuo para alcançar metas de qualidade, desenvolveu-se um
plano de qualidade para o projeto PulseConsume tendo como base o método PDCA.
O PDCA – Plan, Do, Check, Act – é um método iterativo utilizado
para gestão da qualidade que visa o controle e o melhoramento contínuo de
processos, produtos ou serviços. É representado por um ciclo em quatro fases:
a) Plan (Planejar) - é a fase onde um processo ou atividade é
estudado visando identificar possíveis melhorias e assim elaborar
metas e portanto, definir os métodos utilizados para alcançá-las;
b) Do (Executar) – consiste em pôr em prática o plano elaborado
na fase anterior, realizando o acompanhamento do progresso;
c) Check (Verificar) – é a fase onde os resultados das atividades
executadas até então são analisados com objetivo de identificar
divergências entre o que foi planejado e o realizado;
a) Act (Agir) – está atrelada a tomada de decisão, ou seja, atuar
corretivamente sobre as divergências identificadas, caso haja.
Caso contrário, estabelecer a padronização dos processos e
então concluir o plano.
Diante do apresentado, para cada realização de uma atividade
presente no plano de projeto, será efetuado o seu monitoramento para análise do
atual progresso, e após a sua conclusão, caso seja identificadas divergências do
que foi anteriormente planejado, serão realizadas reuniões entre a equipe para a
discussão dos problemas decorrentes e as possíveis ações corretivas a serem
tomadas. Desta forma, busca-se estabelecer um ambiente de transparência, onde
todos estão cientes da atual situação do projeto e colaboram para um objetivo
20
comum: a qualidade de seu produto e a satisifação de seus clientes.
Quanto ao controle de qualidade do produto, são realizados planos
de teste a cada iteração, possibilitando a compreensão de seu funcionamento e se o
mesmo atende ao que foi anteriormente proposto. Aplicando-se do conceito de
gerenciamento de riscos, também elabora-se o plano de gestão de riscos, que tem
como objetivo mapear riscos que podem ameaçar o andamento e
consequentemente a qualidade do projeto e as propostas de solução para os
mesmos. Desta forma, busca-se a prevenção de “gargalos” e o retrabalho.
2.2.8 Business Process Reenginering
BPR ou Business Process Reeginering (Reegenharia de Processos
de Negócio) é uma metodologia, ou melhor, uma filosofia que preocupa-se com a
otimização contínua de processos dentro de uma organização. Portanto, visa a
redução de custos, melhoria da performance operacional, alinhamento estratégico e
o relacionamento com o cliente (CRM – Customer Relationship Management).
Contudo, é necessário o redesenho de processos, aplicando-se da
padronização, simplificação, fluxo estruturado, automação, distribuição equilibrada
de atividade, especialização e centralização. Buscando-se apoiar nas melhores
práticas de mercado.
É certo que processos de negócio ágeis e eficazes permitem rápida
adaptação frente às demandas e mudanças de rumo, daí a importância de se ater à
aspectos fundamentais de um projeto como o escopo, custo e tempo. Pois estes
mesmos aspectos regem e influenciam o resultado do processo produtivo.
2.2.9 Plano de Desenvolvimento
Durante a atividade de Projeto, é necessário a elaboração de
artefatos que abordem diferentes visões do sistema. Diante dos conceitos
apresentados, para a documentação e projeto do sistema PulseConsumo será
utilizado alguns diagramas da UML em conjunto a algumas técnicas para descrição
de requisitos. 
A UML é uma linguagem de modelagem unificada que dispõe de um
conjunto de ferramentas de notação gráfica que visam especificar, documentar,
21
visualizar e construir artefatos ao longo do processo de desenvolvimento de
software. Apoia-se no desenvolvimento incremental aplicado ao paradigma da
orientação a objetos.
2.2.9.1 Diagrama de Casos de Uso
O Diagrama de Casos de Uso pertence ao grupo dos Diagramas
Comportamentais da UML e já foi apresentado anteriormente no plano de protótipo
desenvolvido para o projeto. No entanto, a Figura 16 abaixo, demonstra uma versão
mais completa e que melhor descreve as necessidades dos usuários do sistema.
2.2.9.2 Diagrama de Classes
O Diagrama de Classes pertence ao grupo dos Diagramas
Estruturais da UML e portanto representa aspectos estáticos do sistema. Através de
elementos próprios, como Classes e Relacionamentos, entre outros, é possível
definir a arquitetura do sistema e as relações de seus componentes. Apoia-se no
paradigma da Orientação à Objetos.
22
Figura 16: Diagrama de Casos de Uso. Fonte: autor.
2.2.9.3 Mapeamento de Requisitos Funcionais e Não Funcionais
Como o próprio nome sugere, o mapeamento de requisitos é a tarefa
de mapear e documentar os requisitos através de algumatécnica de descrição, seja
por linguagem natural ou visual. Aproveitando-se do mapa mental anteriormente
construído, pode-se observar os requisitos funcionais e não funcionais do sistema.
Os requisitos funcionais descrevem as funcionalidades que o
sistema deve prover aos seus usuários. Já os requisitos não funcionais são as
restrições que permeiam a execução dessas funcionalidades, como por exemplo, o
desempenho, confiabilidade, usabilidade e políticas. Portanto, os requisitos não
funcionais estão diretamente relacionados ao comportamento do sistema.
23
Figura 17: Diagrama de Classes. Fonte. autor.
2.2.9.4 Arquitetura do Sistema
A arquitetura de um sistema define como os seus componentes,
físicos (arquitetura física) ou lógicos (arquitetura lógica) são distribuídos e
organizados e como se relacionam entre si. Portanto, visando atingir propriedades
de manutenibilidade e disponibilidade, definiu-se que o sistema PulseConsumo será
baseado em sistemas web. O que o torna acessível por qualquer dispositivo que
tenha acesso à Internet.
2.2.9.4.1 Arquitetura Física
A arquitetura física define os elementos físicos necessários para o
perfeito funcionamento do sistema, onde cada um possui uma responsabilidade no
processo de execução do mesmo. Por vezes, estão relacionados ao ambiente de
operação do sistema. 
Por se tratar de um sistema web, definiu-se como arquitetura física o
modelo de arquitetura cliente-servidor - onde o cliente (navegador ou aplicação) faz
uma requisição (página web, como exemplo) a um servidor através de algum
protocolo de comunicação web (HTTP – HyperText Transfer Protocol, por exemplo)
e o servidor retorna a página correspondente como resposta. A figura abaixo
representa a estrutura desse modelo.
24
Figure 18: Requisitos Funcionais e Não Funcionais. Fonte: autor.
2.2.9.4.2 Arquitetura Lógica
A arquitetura lógica como o próprio nome sugere, define a estrutura
lógica de um sistema, seja através da organização de classes em pacotes ou
componentes por camadas. Tratando-se de camadas, existe um padrão de
arquitetura muito utilizado na web chamado MVC.
O MVC ou Model-View-Controller (Modelo-Visão-Controlador)
separa a responsabilidade de componenentes por camadas, facilitando assim a sua
manutenção. As camadas são dividas em Model – camada responsável por realizar
operações da regra de negócio e persistência aos dados; View – responsável pela
apresentação visual dos dados ao usuário e támbém responder a eventos de
entrada do mesmo; e Controller – responsável pela intermediação entre as duas
camadas anteriores, ou seja, ela realiza a atribuição ou direcionamento de tarefas à
camada responsável por executá-la.
25
Figura 19: Arquitetura Cliente-Servidor. Fonte: <https://www.youtube.com/watch?
v=Y1n7GscW_pg>.
2.2.9.5 Padrões de Projeto
Os padrões de projeto são extremamente importantes para a
resolução de problemas comuns no desenvolvimento, pois oferecem soluções já
testadas e acolhidas pelo mercado. Além disso, facilita a comunicação entre a
equipe de desenvolvimento, pois utiliza-se de conceitos já conhecidos pelos
profissionais.
Para este projeto em específico, utilizou-se os seguintes padrões de
projetos:
1. Abstract Factory: auxilia na criação de famílias ou conjuntos
de objetos relacionados ou dependentes sem mesmo
especificar suas classes concretas;
2. Decorator: permite a atribuição de novas funcionalidades a
um objeto já existente em tempo de execução. Dessa forma,
agrega novas responsabilidades ao objeto;
3. Repository: define interfaces responsáveis por realizar a
persistência de dados, separando-as dos modelos de
negócio;
26
Figure 20: Arquitetura MVC - Model-View-Controller.
Fonte: Google Imagens.
4. Singleton: é indicado para uso quando há a necessidade de
criar e manter uma única instância de determinada classe,
acessível globalmente;
2.2.9.6 Tecnologias Aplicadas
Para o desenvolvimento do sistema em questão, definiu-se a PHP –
PHP HyperText Preprocessor – como linguagem de programação principal. O PHP
trabalha diretamente do lado do servidor e portanto realiza procedimentos internos
que exigem comunicação entre serviços diversos, como por exemplo, banco de
dados e gerenciamento de arquivos.
Como solução para o SGBD – Sistema de Gerenciamento de Banco
de Dados - definiu-se o MySQL. O MySQL é um SGBD que utiliza a linguagem SQL
– Structured Query Language (Linguagem de Consulta Estruturada) - como
interface e por causa de suas caracterísicas como: simplicidade, portabilidade e
compatibilidade; é um dos SGBDs mais populares do mercado.
2.2.9.7 Frameworks
Um framework pode ser considerado como uma abstração, e
através de suas interfaces e componentes, provê funcionalidades genéricas. Por
terem alta influência na produtividade, são muitos utilizados em projetos de software.
Para este projeto, utilizou-se os seguintes frameworks:
a) CakePHP – oferece diversos componentes para funcionalidades
comuns como autenticação, gerenciamento de seções e segurança;
b) Bootstrap – framework para desenvolvimento ágil de interfaces
gráficas para aplicações web.
2.2.9.8 Ferramentas
Todo projeto de software exige um ambiente para desenvolvimento,
onde reúne-se as principais ferramentas utilizadas para simplifcar e facilitar o
processo de construção do produto, desde a etapa de projeto à implementação e
27
testes. Para o desenvolvimento do sistema PulseConsumo montou-se um ambiente
de desenvolvimento contendo o Apache Server como servidor, Visual Studio Code
como editor de códigos e o phpMyAdmin como sistema para administração de banco
de dados.
Quanto a ferramenta CASE – Computer Aided Software Egineering
– utilizou-se o software StarUML para elaboração dos diagramas da UML.
2.3 Página de Recarga de Pulseira
Abaixo, podemos ver a página para recarga de pulseiras,
desenvolvida com a ajuda das ferramentas e tecnologias supracitadas. Essa página
realiza a leitura para identificação via radiofrequência através da comunicação com o
leitor. Dessa forma, caso a pulseira esteja cadastrada no sistema, seus dados são
exibidos em tela, permitindo ao atendente realizar a recarga através da confirmação
do valor e do formulário.
28
Figura 21: Página de Recarga de Pulseira. Fonte: autor.
3 CONCLUSÃO
O mercado de desenvolvimento de soluções tecnológicas
inevitavelmente, se torna mais exigente a cada dia. A demanda por tecnologias cada
vez mais sofisticadas e eficientes proporciona um cenário produtivo e desafiador,
onde são estabelecidas as melhores práticas para o desenvolvimento profissional de
software, com o intuito de oferecer qualidade ao produto e satisfação ao usuário
final.
Diante deste fato, a adoção de práticas padronizadas e o
acompanhamento do projeto são fundamentais para evitar problemas futuros
resultantes de uma má gestão como: superfaturamento e o estouro de prazos. Visto
que estes participam das principais restrições que permeiam o desenvolvimento de
um projeto de sucesso, segundo o Guia PMBOK® Quinta Edição.
 Portanto, para auxiliar neste objetivo, existem as metodologias de
desenvolvimento de software, classificadas em metodologias tradicionais ou
dirigidas à plano e as metodologias ágeis, na qual cada uma aborda diferentes
perspectivas de desenvolvimento adequadas para diferentes tipos de organização e
projetos. Como resultado de alguma das etapas e atividades destas metodologias e
seus respectivos processos, obtemos artefatos – que são extremamente importantespara documentar e construir a “história” de um software.
Um software bem documentado reflete a qualidade e a confiança de
um produto final de software. Logo, os esforços exigidos para sua evolução e
manutenção podem ser reduzidos quando tem-se em mente o controle e o
monitoramento dos processos regentes.
Ao término deste trabalho, evidencia-se que a arte do
desenvolvimento de software profissional possui em seu núcleo a síntese de várias
áreas do conhecimento que trabalham em conjunto para a resolução de problemas
muitas vezes complexos. E devido ao crescimento contínuo de dependência da
sociedade por sistemas complexos, é necessário a produção de sistemas confiáveis
de forma econômica e rápida. Assim, objetiva a Engenharia de Software.
29
REFERÊNCIAS
Alessandro. Conheça os Padrões de Projeto. 2005. Disponível em:
<https://www.devmedia.com.br/conheca-os-padroes-de-projeto/957>. Acesso em: 11
mai. 2019.
ARTIA. Gestão de Projetos: o que é e TUDO sobre como gerenciar projetos .
Disponível em: <https://artia.com/blog/gestao-de-projetos-o-que-e-para-que-serve/>.
Acesso em: 11 mai. 2019.
CAMARGO, Robson. EAP e cronograma de projetos: entenda tudo. 2018.
Disponível em: <https://robsoncamargo.com.br/blog/EAP-e-cronograma-de-projetos-
entenda-tudo>. Acesso em: 11 mai. 2019.
Daiany. Gestão de Projetos: O Gerenciamento de Escopo. 2015. Disponível em:
<https://blogdaqualidade.com.br/gestao-de-projetos-o-gerenciamento-de-escopo/>.
Acesso em: 11 mai. 2019.
HIGA, Paulo. O que é XAMPP e para que serve. 2012. Disponível em:
<https://www.techtudo.com.br/dicas-e-tutoriais/noticia/2012/02/o-que-e-xampp-e-
para-que-serve.html>. Acesso em: 11 mai. 2019.
LIBERATO, Rafael. Como fazer um gerenciamento de tempo de forma eficaz.
2018. Disponível em: <https://www.senior.com.br/blog/como-fazer-um-
gerenciamento-de-tempo-de-forma-eficaz/>. Acesso em: 11 mai. 2019.
MAITINO NETO, Roque. Engenharia de software. Lodrina: Editora e Distribuidora
Educacional S.A., 2016. 216p.
MONTES, Eduardo. Plano de gerenciamento de qualidade. 2018. Disponível em:
<https://escritoriodeprojetos.com.br/plano-de-gerenciamento-da-qualidade>. Acesso
em: 11 mai. 2019.
Professor Digital. Levantamento e análise de requisitos funcionais e não
funcionais. Disponível em: <https://www.luis.blog.br/levantamento-analise-
requisitos-funcionais-nao-funcionais/>. Acesso em: 11 mai. 2019.
Project Management Institute. Um guia do conhecimento em gerenciamento de
projetos (guia PMBOK©). 5. ed. São Paulo: Saraiva, 2014.
SILVA JUSTO, Andreia. O que é um Escopo do Produto e Escopo de Projeto?.
2018. Disponível em: <https://www.euax.com.br/2018/08/o-que-e-escopo-de-projeto-
escopo-do-produto/>. Acesso em: 11 mai. 2019.
SOMMERVILLE, Ian. Engenharia de software. 9. ed. São Paulo: Pearson Prentice
Hall, 2011.
30
TERRA, Paulo Henrique. Projeto orientado a objetos. Londrina: Editora e
Distribuidora Educacional S.A., 2018. 144p.
VENTURA, Plínio. O que é UML – o que é, quando usar, e muito mais!. 2019.
Disponível em: <https://www.ateomomento.com.br/diagramas-uml/>. Acesso em: 11
mai. 2019.
31
	SUMÁRIO
	1 INTRODUÇÃO
	2 DESENVOLVIMENTO
	2.1 Prototipação
	2.1.1 Diagrama de Casos de Uso
	2.1.2 Descrição de Casos de Uso
	2.1.3 Prototipação de Interface Gráfica de Usuário
	2.2 Plano de Projeto
	2.2.1 Objetivo
	2.2.2 Justificativa
	2.2.3 Escopo
	2.2.3.1 EAP – Estrutura Analítica de Projeto
	2.2.4 Mapa Mental
	2.2.5 Gerenciamento do tempo
	2.2.6 RUP (Rational Unified Process)
	2.2.7 Plano de qualidade
	2.2.8 Business Process Reenginering
	2.2.9 Plano de Desenvolvimento
	2.2.9.1 Diagrama de Casos de Uso
	2.2.9.2 Diagrama de Classes
	2.2.9.3 Mapeamento de Requisitos Funcionais e Não Funcionais
	2.2.9.4 Arquitetura do Sistema
	2.2.9.4.1 Arquitetura Física
	2.2.9.4.2 Arquitetura Lógica
	2.2.9.5 Padrões de Projeto
	2.2.9.6 Tecnologias Aplicadas
	2.2.9.7 Frameworks
	2.2.9.8 Ferramentas
	2.3 Página de Recarga de Pulseira
	3 CONCLUSÃO
	REFERÊNCIAS

Mais conteúdos dessa disciplina