enunciado completo

Transcrição

enunciado completo
LMCC
5º ano – OPÇÃO
2007-2008
Módulo: Arquitecturas de Software
PROJECTO SIGEA
SISTEMA INFORMÁTICO PARA GESTÃO E CONTROLO DE
UMA ESTAÇÃO DE ABASTECIMENTO DE COMBUSTÍVEL DA
PetroMCC
1. INTRODUÇÃO
A PetroMCC tem actualmente postos de abastecimento mas que apenas
aceitam pagamentos em dinheiro, pois as bombas não estão preparadas para
outro tipo de abastecimentos.
A PetroMCC pretende modernizar-se e vai adquirir um conjunto de máquinas
ATM especiais para as suas bombas. Estas máquinas ATM para ligação a
bombas de gasolina são razoavelmente normalizadas, e por isso a sua escolha
deve obedecer à necessidade ou não de o dispositivo possuir um determinado
conjunto de funcionalidades computacionais, de ligação a redes locais ou
mesmo à Internet (ver anexo para referência).
Determinadas questões de design destes dispositivos, tais como “quantas e
quais teclas”, “onde se devem situar as teclas”, etc. supõe-se terem sido já
estudadas e resolvidas, pelo que, quanto a estas questões, de momento, nos
deveremos limitar a conhecer o que está disponível no mercado.
Essas máquinas irão permitir que, para além dos tipos de abastecimento já
existentes - seja por pré-pagamento ao funcionário da bomba, seja por
pagamento após abastecimento), os clientes passem a poder abastecer
combustível sem recorrer ao funcionário, usando um cartão aceite pela
máquina, seja um cartão de crédito – cf. VISA, etc., ou de débito – cf.
Multibanco, ou mesmo um cartão de crédito de cliente PetroMCC.
Estas máquinas irão pois permitir um novo processo de compra de combustível,
no qual o cliente não necessita das funções do funcionário da estação.
O negócio da estação de combustível é vender combustíveis a clientes,
qualquer que seja o processo de compra e abastecimento. A estação é apenas
um local onde se adquire combustível e se paga, tal como com qualquer outro
produto. No entanto, com a introdução das máquinas ATM especiais nas
bombas, a PetroMCC não só pretende criar uma nova opção de compra, como,
de certa forma, se vê obrigada a informatizar, ou seja, a desenvolver um
LMCC-Opção 5º ano – Arquitecturas de Software
Projecto SIGEA
1
sistema informático para o controlo (ainda que parte do controlo continue a ser
realizado pelo funcionário) e a gestão do negócio.
A PetroMCC pretende que o sistema informático possa realizar uma gestão
completa e integrada de todo o processo de negócio, desde os clientes até aos
produtos.
O sistema informático final deve integrar todos os sub-sistemas manuais ou
semi-manuais de gestão e controlo da estação, designadamente:
Gestão de Cartões PetroMCC dos Clientes;
Gestão de Cartões de Clientes PetroMCC;
Gestão da Estação;
Gestão e Controlo de Abastecimentos (bombas);
Gestão de Stocks de combustíveis;
Gestão de Fornecedores;
Ligação à Banca e Instituições de Crédito e Débito;
Gestão Contabilística de Vendas;
2.- REQUISITOS INICIAIS (relativamente incompletos e imprecisos)
Cartões PetroMCC dos Clientes;
Os clientes da PetroMCC que pretendam podem possuir um cartão de crédito
da PetroMCC, sendo que, a cada momento, no máximo, poderão possuir um
cartão. A cada cartão PetroMCC associa-se um número atribuído pela empresa,
o nome do cliente, um código PIN (código de 4 dígitos que pode não ser o
originalmente atribuído e enviado ao cliente por entidade independente, pois
ele pode modificá-lo a qualquer momento numa qualquer máquina Multibanco)
um valor máximo de crédito e o valor actual de crédito.
Cada cartão pode estar ou não associado a uma conta bancária, mas, caso
esteja, deverá associar-se a uma e só uma conta. O cartão pode apenas ser
activado através de uma caixa Multibanco (não nas máquinas das bombas).
Os cartões que não estão associados a contas bancárias serão tratados de
forma diferente pela empresa, que enviará mensalmente, em dia fixo a
estabelecer, um extracto contendo o saldo do mês anterior, o valor que foi
pago, as compras debitadas do mês actual, eventuais taxas, o montante
mínimo a pagar e a data limite de pagamento. Conforme o contrato com o
cliente, este deverá pagar no mínimo X % do seu débito total, e sobre os
montantes em dívida recai uma taxa diária de T %. Dois não pagamentos
mínimos seguidos implica a desactivação do cartão, que deixa de poder ser
usado em abastecimentos. Ainda que desactivado, o cartão pode ser usado
para amortecer a dívida via caixa Multibanco, ainda que outra qualquer forma
de pagamento esteja disponível. Ao fim de 6 meses de não pagamento, o
cartão é completamente bloqueado e o processo tramita para o controlo de
dívidas.
LMCC-Opção 5º ano – Arquitecturas de Software
Projecto SIGEA
2
Outros Cartões;
Qualquer cartão de crédito (cf. Visa, MasterCard, etc.) ou débito (Multibanco) é
aceite nas máquinas do sistema de abastecimento da estação de combustível
desde que seja validado pelas respectivas entidades emissoras. Há, no entanto,
sempre que distinguir entre a possibilidade de haver ligação “on-line” a estas
entidades para que os valores de abastecimento sejam validados pelos saldos
disponíveis (se for esse o caso), ou não. Caso não haja ligação “on-line”, então
poderá ser usado, caso exista, o “plafond off-line” definido no próprio cartão.
Note-se que muitos poucos cartões têm esta possibilidade por questões de
segurança.
Operação com os Cartões de Pagamento;
Designaremos por Cartão de Pagamento Electrónico (CPE) todos os vários tipos
de cartão magnético anteriormente descritos.
As máquinas automáticas de pagamento para abastecimento aceitam os CPE
que sejam correctamente introduzidos numa ranhura bem identificada. A
máquina alerta para introduções incorrectas.
A validação de cada CPE é realizada pelas entidades que designaremos por
CREDITADORAS (bancos ou outras instituições), através de um contacto, após
introdução do cartão, que resulta no envio dos dados do cartão. Caso se trate
de um cartão Multibanco o cliente deve introduzir o código PIN logo que lhe
seja pedido pela máquina.
Esta comunicação com a entidade CREDITADORA visa determinar duas
situações básicas dos cartões: válido ou inválido.
Os cartões inválidos podem sê-lo por várias razões, por exemplo, falso,
roubado, desactivado (expirou o seu prazo ou outra razão) ou com PIN errado
(para os Multibanco). Apenas as situações de erro de PIN permitirão que o
utilizador possa ainda tentar mais 2 vezes introduzir o PIN, caso o pretenda
fazer, ou cancelar a transacção através de uma acção de anular transacção.
Nos outros casos, os cartões são apreendidos pela máquina automática, sendo
posteriormente enviados às respectivas entidades emissoras.
Se o cartão é válido, então a entidade emissora indica também qual o saldo
disponível máximo, valor que a máquina assumirá como o valor máximo
possível da compra. Este valor é no entanto majorado pelo valor máximo de
combustível que a dado momento a máquina esteja programada pela empresa
para fornecer. Em tal caso, o abastecimento é feito até este valor máximo e
debitada a respectiva importância.
As máquinas permitirão que os utilizadores indiquem (ou não) o valor a
abastecer, em geral através de um sistema de teclas que permite introduzir as
importâncias de abastecimento. Logo que tal valor é dado pelo cliente, e sendo
conhecido o seu saldo máximo, a máquina informa-o de que pode iniciar o
abastecimento pedido, ou então de que não possui saldo para tal. Neste último
caso, o cliente faz reset da importância indicada e introduz uma outra. Este
processo deverá ser limitado a três tentativas. Na 4ª. tentativa o cartão deve
LMCC-Opção 5º ano – Arquitecturas de Software
Projecto SIGEA
3
ser retirado pelo utilizador, conforma alarme apropriado dado pela máquina, e
introduzido de novo.
Dado que existe sempre a possibilidade de os cartões ficarem esquecidos nas
máquinas, ao fim de um determinado tempo (a fixar) um aviso deverá ser dado
de forma evidente para o utilizador, e, após mais algum tempo o cartão deverá
igualmente ser retido (neste caso não por apreensão mas por perda).
Autorizado o abastecimento, compete ao utilizador determinar qual o
combustível que pretende. Para tal, bastará levantar a mangueira de
abastecimento respectiva, o que deverá resultar num “feedback” inequívoco
que garanta que não há enganos, pois podem ser arrasadores paras as
viaturas. A colocação da mangueira na posição inicial (“descanso”) deverá
permitir a escolha de novo combustível sem invalidar a informação da
transacção até aí introduzida e validada.
Caso o cliente não indique previamente o total do abastecimento, a bomba
deve garantir que este abastece até ao seu limite de saldo, ou até um limite
máximo previamente programado nas bombas, limite fixado pela empresa por
tipo de combustível.
No final do abastecimento, deverá ser emitido um recibo em papel para o
cliente, contendo, dia, hora, nome da empresa, nome, morada, número
(código) da estação de serviço e NIF (número fiscal da empresa), nome e NIF
do cliente por preencher, o tipo de combustível, preço/litro, a quantidade
comprada, o valor total e uma mensagem de agradecimento (que será
variável). Uma cópia deste recibo deverá ser guardada na própria máquina.
Haverá que salvaguardar também aqui situações em que o cliente não retira o
recibo. Tal não deve provocar o bloqueamento da bomba.
É também realizado um registo electrónico da transacção (com os mesmos
dados do recibo, mais os dados importantes do cliente) para posteriormente
serem enviados às entidades CREDITADORAS. Devem estar contemplados quer
envios em tempo real quer envios em diferido, sendo que, por razões de
optimização, o ideal é que o sejam feito o mais rápido possível.
Todas as temporizações necessárias deverão ser previamente definidas.
Naturalmente que a quantidade de combustível de dado tipo que acabou de ser
consumido deve imediatamente ser abatida ao total desse combustível no
tanque da estação associado a tal bomba.
Operação com intervenção do funcionário;
Estas operações não automáticas têm as mesmas regras das anteriores quanto
ao funcionamento, excepto em tudo o que se relaciona com o pagamento, que
é realizado a dinheiro ou por cartão junto do funcionário da estação.
Transacções a dinheiro darão entrada na Caixa Registadora. Com cartão serão
registadas electronicamente. Note-se que a estação regista electronicamente
todas as transacções feitas com cartões, distinguindo apenas as que foram
registadas e as que não foram registadas nas CREDITADORAS.
Note-se a importância das correctas temporizações e as suas diferentes
semânticas.
LMCC-Opção 5º ano – Arquitecturas de Software
Projecto SIGEA
4
Gestão da Estação;
1) Vendas
A maioria das operações de gestão da estação de combustível devem poder ser
realizadas a qualquer momento através de operações remotas executadas nos
escritórios centrais da empresa.
O subsector de vendas da empresa será responsável pela fixação dos preços
dos vários combustíveis. Um director comercial fixará diariamente os preços a
praticar e dará a ordem para a sua actualização nas estações. Os preços podem
não ser exactamente iguais em todas as estações da empresa, sendo
admissível que, em cada dia, a empresa possa fixar até 5 tabelas distintas.
Os novos preços devem ser enviados para as estações, competindo aos
funcionários destas a sua afixação. Nas máquinas de abastecimento os preços
devem ser actualizados de forma automática. As máquinas recebem também,
sempre que necessário, o valor máximo de abastecimento permitido.
Diariamente a estação enviará para a central toda a informação referente às
vendas desse dia, guardando nos seus ficheiros uma síntese das mesmas por
produto e por tipo de transacção.
Mensalmente, a estação receberá um relatório de vendas do mês contendo, por
produto, o seu total de vendas e total por tipo de transacção.
2) Segurança
A central activa e desactiva individualmente as bombas de uma dada estação,
podendo em casos de emergência, desactivar toda a estação. Todas as bombas
podem igualmente ser manualmente desactivadas, sendo tal situação
automaticamente comunicada à central.
Situações de alarme, por exemplo por incêndio, geram notificações imediatas,
através de linhas de comunicação telefónica, para os bombeiros e para a
central (os números de emergência devem estar programados para cada
estação).
As várias câmaras de vídeo vigilância gravam em tempo real para os seus
sistemas de armazenamento autónomos as imagens recolhidas. Estes ficheiros
de imagens são diariamente enviados para a central para serem catalogados.
Estes ficheiros têm um período de vida determinado pela empresa, podendo ser
apagados a qualquer momento depois de tal período.
3) Operações de manutenção.
De momento serão fundamentalmente manuais. Devem ser apenas encaradas
como fazendo parte do contexto, ainda que possam vir a ser posteriormente
informatizadas também.
LMCC-Opção 5º ano – Arquitecturas de Software
Projecto SIGEA
5
Gestão de Stocks de combustíveis e Gestão de Fornecedores;
As bombas da estação estão ligadas a tanques de combustível de dado tipo.
Estes tanques possuem sensores que permitem ler as suas informações
principais, designadamente: total em stock e temperatura.
Cada tanque possui ainda um sensor de valor de alarme. Quando este valor de
alarme é atingido, quer a estação quer a central são avisadas da necessidade
de repor stocks nesse tanque.
O abastecimento dos clientes apenas pode ser feito com os tanques trancados.
O enchimento dos tanques apenas pode ser feito com os tanques destrancados
(pelo funcionário ou pela central). Como um tanque abastece em geral várias
bombas, um tanque destrancado coloca-as em estado de “fora de serviço”.
A ligação das bombas aos tanques (ou seja, que bombas retiram combustível
de que tanques) é fixa e pré-determinada, podendo apenas ser alterada de
forma manual.
Os fornecedores de combustíveis (distribuidores) podem destrancar as bombas
através de um cartão de distribuidor autorizado emitido pela empresa, cartão
esse que possui um PIN para utilização em qualquer estação/tanque da
empresa. O fornecimento de combustível segue um procedimento padrão que
consiste na identificação do distribuidor, na abertura de um dado tanque para
enchimento (manualmente, à distância ou via cartão), na medida do
combustível passado para o tanque (feita por instrumentos), do registo da
quantidade fornecida e da respectiva facturação (recibo e factura) conforme
contratado.
Todas as informações de compra a distribuidores e enchimento de tanques é
registada na estação e enviada também para a central. A central devolve
mensalmente um relatório de gestão de stocks de síntese de compras e vendas.
A gestão de fornecedores consiste em manter dados actualizados sobre cada
possível fornecedor de combustível, com ou sem cartão, e uma contabilidade de
vendas e pagamentos permanentemente actualizada. As usuais operações de
gestão da informação de fornecedores devem ser contempladas.
Ligação à Banca e Instituições de Crédito e Débito;
São aspectos laterais do sistema, mas importantes em todas as questões de
validação dos cartões. Não será nunca possível ter ligação on-line permanente a
todas as instituições de crédito, pelo que mecanismos práticos e bem definidos
devrão ser estudados, em especial periodicidades, taxas, etc.
Gestão Contabilística de Vendas;
Para além da usual contabilidade de vendas, cf. a dinheiro, a débito (em geral
para clientes empresariais) e a crédito (clientes cartão) e por transacção (via
ATM), resultante das várias formas de pagamento, relatórios diversos, alguns
dos quais mencionados anteriormente, devem ser produzidos a partir da
estação para a central com periodicidade e formato final a definir.
LMCC-Opção 5º ano – Arquitecturas de Software
Projecto SIGEA
6
3.- Outros Requisitos (relativamente incompletos e imprecisos)
A PetroMCC está organizada em vários departamentos, pelo que as várias
actividades a informatizar se dispersam por diferentes áreas. Porém, a
PetroMCC pretende que toda a análise do sistema seja feita sem referência a
qualquer tipo de pessoal mas apenas a actividades a realizar. A PetroMCC
decidirá no futuro qual o devido escalonamento de pessoal para garantir a
funcionalidade humana necessária ao funcionamento do sistema.
Do ponto de vista das estações, a PetroMCC pretende que todas as operações
envolvendo os clientes e as máquinas automáticas, bem como as que envolvem
os funcionários das estações, sejam de fácil utilização, seguras e fiáveis.
De momento, a PetroMCC não coloca quaisquer restrições quanto à
implementação final, ainda que as várias possíveis soluções devam ser
acompanhadas de relatórios de custo/beneficio bem fundamentados.
A PetroMCC pretende obter documentação detalhada de todas as fases do
projecto, fase por fase.
A utilização de UML e OCL como base de toda a especificação do projecto é um
requisito fundamental.
Nota Importante:
O Prof. Mário Martins (DI/UM) foi mandatado pela PetroMCC para realizar as
funções de gestor do projecto e interface com a administração, pelo que todas
as questões relacionadas com o desenvolvimento do projecto devem ser com
ele debatidas.
LMCC-Opção 5º ano – Arquitecturas de Software
Projecto SIGEA
7
ANEXO1: ATM específicas para estações/bombas de combustível
Exemplo de referência
Automated Gas Pumping Station and ATM MCF547x ColdFire
http://www.freescale.com
Overview
Gas pumps have become information appliances allowing customers
to fuel cars, pay for gas at the pump, offer merchandising
opportunities to station owners and function as Web-based portals
allowing remote monitoring without on-site personnel.
•
•
•
Delivering comprehensive, high-level control; the MCF547x
processor family enables next-generation automated gas
pump/ATM, with a single device.
Enabling significant design flexibility, the MCF547x devices offer
multiple communications interfaces.
Allows financial information and customer-specific marketing
data to be collected with enhanced security and distributed via
any Personal Area Network (PAN), Local Area Network (LAN) or
Wide Area Network (WAN) interface, without significantly
degrading system performance through the optional encryption
accelerator featured on the MCF547x devices.
Design Challenges
A typical gas pump/ATM has several I/O systems, including card
readers, cash-collection equipment, barcode scanners, speakers,
pump electronics and a touch-screen interface. A control chip for this
application requires many connectivity interfaces to control the
system without having to add significant amounts of external logic.
A number of different network connections are required. First, a LAN
is typically offered for remotely monitoring the pump, printer paper
and cash-acceptor levels; collecting diagnostic information; and
performing system software upgrades. It is also useful to have a
separate LAN interface to connect the fueling station to the Internet
and to allow direct Web interaction with the customer. Many nextgeneration pumps include a WAN or PAN interface to collect user
payment information, or to communicate directly between the pump
and the vehicle. Because financial and personal data may be
collected at the pump, it is essential that this information be
transmitted securely without slowing the transaction.
LMCC-Opção 5º ano – Arquitecturas de Software
Projecto SIGEA
8
Solution
The Freescale Semiconductor MCF547x processor family is well suited
to be the main control processor in next-generation information
appliances, including automated gas fueling stations. The on-chip PCI
interface offers straightforward control of LCD and touch-screen
systems, and enables the use of different screen sizes and
technologies. The wide range of connectivity peripherals on the
MCF547x device - including four programmable serial controllers, two
10/100 Ethernet interfaces and the DMA-SPI (direct memory access–
serial peripheral interface) - allows design flexibility.
LMCC-Opção 5º ano – Arquitecturas de Software
Projecto SIGEA
9
ANEXO2: Teclado normalizado para máquinas ATM e normas
http://www.ecsb.com
LMCC-Opção 5º ano – Arquitecturas de Software
Projecto SIGEA
10