1. Equipa de desenvolvimento, clientes e utilizadores trabalham em conjunto para especificar os requisitos de um sistema. Se o sistema depois de concluído falhar, causando prejuizo físico ou financeiro, quem é o principal responsável? 2. Como é que se pode garantir que os requisitos de qualidade relacionados com a segurança e a confiança podem ser verificados? É possível mostrar que um sistema nunca pode falhar? 3. Classifique os seguintes requisitos como funcionais, de qualidade, restrições de desenho e restrições de processo. (a) o client daemon tem que estar invisível para o utilizador (b) o sistema deve verificar a existencia de links corruptos e de dados cuja data de validade já expirou (c) deve existir uma convenção interna de nomes para garantir a unicidade de cada registo (d) a comunicação entre a base de dados e o servidor deve ser encriptada (e) os ficheiros devem estar agrupados numa hierarquia (f) tem que existir uma interface com a base de dados Oracle (g) tem que suportar de forma concorrente 50000 utilizadores 1 4. Construa uma máquina de estados que ilustre os requisitos de uma máquina multibanco (levantamento de dinheiro) 5. Uma máquina de estados diz-se completa sse em cada estado existe uma transição para para todo o evento de entrada. É sempre possivel converter uma máquina de estados incompleta numa máquina de estados completa. Converta a máquina de estados construída na pergunta anterior para uma máquina completa. 6. Uma propriedade de segurança de um sistema expressa um determinado comportamento do sistema que nunca acontece. Indique uma propriedade de segurança para o sistema da máquina multibanco. 7. Uma propriedade de animação de um sistema expressa um determinado comportamento do sistema que pode acontecer. Indique uma propriedade de animação para o sistema da máquina multibanco. 2
8. Por vezes, constrói-se (rapidamente) um protótipo de parte de um sistema para mostrar ao cliente a funcionalidade do sistema. Considera que a documentação dos requisitos deverá ser escrita antes ou depois do protótipo ser avaliado? 9. Construa um modelo UML para ilustrar os requisitos de um sistema de uma lista telefónica on-line para substituir o sistema já existente em papel. 10.Que tipo de problemas se deve procurar numa revisão aos requisitos de um sistema? 11.Considera que existem vantagens/desvantagens em separar o documento de definição dos requisitos do documento de especificação dos requisitos? 12.Considere que um cliente lhe pede um requisito impossível de implementar. Colocaria o requisito na documentação para mais tarde pedir para retirá-lo? Que implicações éticas poderá haver em prometer algo que já se sabe não ser possível cumprir? 3 13.Considere a seguinte descrição de um sistema de empréstimo de publicações de uma biblioteca de uma universidade. As publicações disponíveis são livros e revistas. Quando um aluno quer requisitar uma publicação, preenche um formulário por cada publicação, indicando a cota, o título e os autores (no caso de ser um livro) e entrega-o a um funcionário. Cada aluno pode efectuar até 3 empréstimos. A biblioteca também deverá fazer controlo dos empréstimos atrasados, avisando os leitores por email quando ultrapassar os 7 dias de atraso. Os alunos devem poder pesquisar as publicações existentes na biblioteca. No caso de uma publicação já estar requisitada, é mostrada a data esperada para entrega Quando chega uma nova publicação, esta é encaminhada para o responsável pela catalogação, onde será analisada e definida a sua área de conhecimento. Existem várias áreas de conhecimento, pondendo ser criadas outras. Os leitores, professores e alunos, interessados em consultar publicações não existentes na biblioteca, poderão apresentar uma proposta de aquisição das mesmas ao responsável. 4
As propostas são analisadas e em função dos preços e do orçamento disponível, serão seleccionadas as publicações a adquirir. A biblioteca estabeleceu critérios que dão prioridade à aquisição de publicações formativas que façam parte do sistema de ensino. Após ter sido definida a lista de publicações a adquirir, são enivadas notas de encomenda para os fornecedores. As publicações entregues pelos fornecedores são verificadas no momento da recepção. Depois de catalogadas e registadas, as publicações ficam num expositor especial de divulgação durante 5 dias, antes de serem colocadas na prateleira. A partir desta altura ficam disponíveis para empréstimo. A biblioteca analisa as publicações periodicamente em função do seu estado de conservação. As que estão em mau estado são retiradas do circuito de empréstimo. As que são valiosas também são retiradas do circuito de empréstimo e colocadas em exposição. 5 a) Efectue o levantamento de requisitos e desenhe o respectivo diagrama de casos de uso b) Desenhe o diagrama de classes que ilustre os requisitos do sistema. c) Desenhe o diagrama de estados para a entidade Publicação. d) Desenhe o diagrama de sequencia para o cenário principal do caso de uso Registar empréstimo. e) Desenhe o diagrama de actividades para o processo de disponibilização de publicação, desde o respectivo pedido de aquisição feito pelo leitor até à publicação ser colocada na prateleira, ficando disponível para empréstimo. 6
14. Pretende-se desenvolver um sistema de informação para apoiar a gestão de encomendas de um grupo de pizzarias PhonePizza. O sistema irá prestar serviços de atendimento, acompanhamento de clientes e de encomendas. Para além das pizzarias (lojas), o grupo tem uma Central de Atendimento aos Clientes (CAC) que disponibiliza um serviço de encomendas de produtos por telefone e pela Internet. Para o efeito, se o cliente contactar por telefone deve indicar a sua localização. Caso se encontre na área de cobertura do grupo, a CAC efectua a encomenda e envia-o para a pizzaria mais próxima da zona onde o cliente se encontra. Se o pedido for feito pela Internet, o utilizador tem que efectuar primeiro um pré-registo (indicando login, password, morada, telefone e email). Em seguida recebe via email um código de acesso para poder activar os serviços disponibilizados pela pizzaria. Após a activação dos serviços, o código de acesso não será jamais utilizado. Assim que o cliente receber o código de acesso, pode efectuar encomendas através do seu login e password. 7 A pizzaria tem um catálogo que consiste numa listagem de produtos por código, nome, descrição e preço. Os produtos disponíveis são bebidas, saladas, entradas, pizzas, massas e sobremesas. Uma pizza é constituída por uma pizza base (Margarita) à qual se podem adicionar até 10 ingredientes. Existem também pizzas com os ingredientes pré-definidos (e.g., Vegetariana, Tropical). A pizzaria é composta pelas seguintes áreas: restaurante, balcão, entregas, cozinha e armazém. É no restaurante que estão as mesas. As mesas (numeradas) podem ser reservadas pelos clientes, sendo a reserva referenciada pelo número da mesa e pela data. Um cliente pode reservar várias mesas. Na pizzaria, o pedido de uma encomenda pode ser feito ao balcão ou à mesa, havendo em qualquer dos casos um terminal do sistema com um ecrã táctil disponibilizado para introduzir o pedido. Os funcionários distribuem-se pelas seguintes categorias: gestor de loja, empregado de mesa, gestor de encomendas, estafeta. Todos têm um número e podem trabalhar em várias lojas, sendo importante saber a data e a duração do contrato em cada loja. Cada loja é caracterizada por código, nome, zona de influencia. 8
O procedimento para encomendar é idêntico, quer o pedido seja feito por telefone, pela Internet ou localmente. Quando uma pizzaria recebe uma encomenda, adiciona-a à fila de espera de encomendas a satisfazer. Assim que a encomenda começa a ser confeccionada, o seu estado passa a processo. Logo que todos itens da encomenda estejam prontos para serem entregues, esta é entregue ao cliente pelo empregado de mesa ou pelo estafeta, dependendo do tipo da encomenda. O estado da encomenda passa então a caminho. Assim que o cliente recebe a encomenda, é gerada uma factura que é caracterizada por um número, data, itens de produto com valor unitário e valor total. Nessa altura, o estado da encomenda passa a entregue e toda a informação referente à encomenda e respectiva factura é arquivada. a) Efectue o levantamento de requisitos e desenhe o respectivo diagrama de casos de uso b) Desenhe o diagrama de classes que ilustre os requisitos do sistema. c) Desenhe o diagrama de estados para a entidade Encomenda. d) Desenhe o diagrama de sequência para o cenário principal dos casos de uso do cliente Consulta catálogo, Efectua pré-registo e Efectua encomenda. 9 15. Considere um sistema informático para a gestão de um parque de estacionamento. Na entrada existe uma tecnologia de reconhecimento de imagem que permite visualizar, reconhecer e registar automaticamente a matricula do veículo. Assim, ao detectar a presença de um veículo na entrada, se existir lugar no parque, a entrada é registada e é emitido um bilhete. Se a matrícula não for reconhecida, é criado um novo veículo no sistema. Quando o condutor retira o bilhete, o sistema abre a cancela e ao detectar a passagem do veículo incrementa o contador e fecha a cancela. O responsável pelo parque necessita de consultar diariamente a listagem dos estacionamentos efectuados. Um veículo pode efectuar vários estacionamentos no mesmo dia. As categorias permitidas são: automóvel e motorizada. No início é aplicada uma tarifa base para todos os veículos. No entanto, é possível criar tarifas específicas para os veículos com um número elevado de estacionamentos. Cada tarifa possui um custo por hora. O estacionamento tem um número limitado de lugares. Os lugares são caracterizados por um número, piso e estado (livre, ocupado) 10
A cancela de entrada do parque possui diversos estados de funcionamento. Em utilização normal pode estar aberta, fechada e numa situação intermédia em que se detecta a passagem de um veículo. excepcionalmente, por motivos de segurança, a cancela pode ser bloqueada (fechada) ou colocada em emergência (permanece aberta) pelo responsável pelo parque. a) Efectue o levantamento de requisitos e desenhe o respectivo diagrama de casos de uso b) Desenhe o diagrama de classes que ilustre os requisitos do sistema. c) Desenhe o diagrama de estados para a entidade Cancela de entrada. d) Desenhe o diagrama de sequência para o cenário principal do caso de uso Regista entrada. 11