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