Engenharia de Requisitos 2 a Lista de Exercícios (1) Seja o contexto do desenvolvimento de um sistema de informação para uma locadora de automóveis. Considere o seguinte extrato de ata de reunião. O negócio principal da locadora de automóveis é a o aluguel de carros. A locadora possui várias filiais. Carros possuem modelos e possuem características que permitem classificá-los em grupos. Por exemplo, o grupo Econômico inclui os modelos Gol, Palio e Celta, motor 1.0, sem ar condicionado. Os valores das diárias são dados pelo grupo do carro alugado. A locadora trabalha apenas com locação com quilometragem livre. De um dado modelo, a locadora pode possuir vários carros. Sobre um carro específico deseja-se saber várias informações, tais como: placa, nº do chassi, RENAVAM, ano de fabricação, potência do motor, cor, número de portas e equipamentos (p.ex., ar condicionado, direção hidráulica, freios ABS, air bag, rádio). Além disso, deseja-se saber em que filial um carro específico está lotado no momento. Clientes podem efetuar reservas. Um cliente pode ser uma pessoa física ou uma pessoa jurídica. Na reserva deve-se registrar a filial de retirada e a filial de devolução do veículo, a data e a hora pretendida para retirada e para devolução do veículo, e o grupo do carro que o cliente deseja locar. O período mínimo de locação é de 1 (uma) diária de 24 horas e o período máximo é de 30 diárias. O valor da diária a ser efetivamente praticada será dado pelo valor na data de locação efetiva. Quando da locação efetiva de um veículo, caso o locatário não tenha feito uma reserva previamente, ele deverá indicar todas as informações de uma reserva. No ato da locação, um carro do grupo escolhido será alocado para essa locação e a sua quilometragem deverá ser registrada. Caso um veículo do grupo escolhido no ato da reserva não esteja disponível no momento da retirada, a locadora disponibilizará outro veículo de um grupo superior. Nesse caso, os valores das diárias de locação serão correspondentes ao grupo escolhido no ato da reserva. Para conduzir o veículo locado, o cliente deverá apresentar Carteira Nacional de Habilitação (CNH) válida e emitida em território nacional. Caso o cliente não preencha o perfil exigido, poderá indicar um condutor habilitado. Em qualquer caso, o cliente pode nomear até quatro motoristas adicionais. As CNHs de todos os motoristas deverão ser validadas junto ao Denatran. Na devolução do veículo, deve-se registrar a data, hora e quilometragem na devolução. Neste momento a locação terá de ser paga. Pagamentos podem ser feitos em dinheiro, cheque ou cartão. Para o problema em questão, identifique e descreva requisitos funcionais, regras de negócio e requisitos não funcionais. Estabeleça, ainda, as dependências entre esses requisitos, preenchendo as tabelas abaixo. Requisitos Funcionais Id Descrição Depende de Requisitos Não Funcionais Id Descrição Categoria Escopo Depende de
Regras de Negócio Identificador Descrição (2) Seja o desenvolvimento de um sistema integrado de gestão empresarial (Enterprise Resource Planning - ERP). ERPs são sistemas de informação que integram dados e processos de uma organização em um único sistema, envolvendo diferentes funções (tais como finanças, contabilidade, recursos humanos, fabricação, marketing, compra e venda) e níveis da organização (nível operacional, gerencial, apoio à decisão). Em termos gerais, os ERPs integram as diversas unidades organizacionais de uma empresa, possibilitando o apoio aos processos e o armazenamento de informações de negócio. No caso em questão, a organização que desenvolve o ERP pretende tratar esse sistema como uma família de produtos, i.e., ela pretende vender o sistema para diferentes clientes, devendo o sistema ser customizado para as diferentes organizações que o adquirem. (a) Em sistemas ERP é muito comum que diferentes classes de interessados (p.ex., pessoal de finanças e pessoal da contabilidade) tenham requisitos conflitantes em alguma extensão, sendo necessário negociá-los. Neste contexto, descreva um cenário de aplicação de três técnicas diferentes em sequência, sendo uma delas a prototipagem, visando apoiar a negociação e a obtenção de uma solução satisfatória para os envolvidos. Como as informações obtidas com cada uma das técnicas poderiam ser usadas na aplicação da técnica seguinte? O que se poderia esperar como resultado final da realização dessa sequência de atividades? (b) Sistemas ERP lidam com informações importantes da organização, muitas vezes confidenciais, são usados por muitos diferentes tipos de usuários, em níveis organizacionais diferentes (desde operacional até gerencial) e tipicamente possuem algumas funcionalidades disponíveis na Web para uso por parceiros, clientes e fornecedores. Cite quatro atributos de qualidade que têm elevados níveis de exigência para este sistema. Considere dois níveis de prioridades para os atributos identificados: imprescindível e importante. Classifique os atributos identificados nesses dois níveis, (3) Seja o desenvolvimento de um sistema de uma livraria virtual. Esse sistema possui dois conjuntos básicos de funcionalidades: controle de livros (envolvendo o cadastro dos livros a serem vendidos e informações correlatas) e vendas (envolvendo a busca por livros e a venda de livros). A parte relativa a vendas deve rodar na Web e poderá ser acessado por qualquer pessoa. Além disso, ele deverá estar integrado a um sistema de operadoras de cartão de crédito para pagamentos. O objetivo principal do sistema é a venda de livros. Cite quatro atributos de qualidade que têm elevados níveis de exigência para este sistema quando comparados a outros atributos e, portanto, que devem ser considerados prioritários. Justifique a sua resposta.
(4) Considere o desenvolvimento de um sistema para apoiar o contexto descrito a seguir. Um salão de beleza deseja um sistema de informação para gerenciar o atendimento aos seus clientes. Clientes agendam atendimentos para a realização de serviços. Sobre um serviço, têmse as seguintes informações: nome, descrição, área corporal onde ocorre e valor. Sobre um cliente, deseja-se saber: nome, sexo, telefone de contato e endereço. Um atendimento pode incluir a realização de mais do que um serviço. Quando um cliente agenda um atendimento, deve-se registrar o cliente, a data e os serviços desejados. O agendamento de serviços deverá estar disponível na Web para uso por clientes. Funcionários são habilitados a realizar certos serviços e, portanto, deseja-se saber quais serviços um funcionário pode realizar. Assim, de um funcionário, deseja-se saber nome, telefones e serviços para os quais está habilitado. Para cada serviço previamente agendado, deve-se alocar um funcionário para a sua realização e definir os horários de início e fim. Não se deve alocar um mesmo funcionário para prestações de serviço com horários conflitantes. Além disso, um funcionário só pode ser alocado para prestar um serviço se for habilitado para o mesmo. Quando os serviços previamente agendados são efetivamente prestados, deve-se registrar a sua ocorrência (indicando somente os serviços efetivamente realizados) e os funcionários que efetivamente realizaram os serviços. Além disso, o cliente deve pagar pelos mesmos. Os pagamentos podem ser realizados em dinheiro, cheque ou cartão (débito e crédito). O sistema será usado por atendentes do salão, com escolaridade de ensino médio e pouco conhecimento de informática. Além disso, há uma rotatividade relativamente alta de atendentes no salão. (a) Dado o contexto descrito anteriormente, identifique requisitos funcionais e regras de negócio (e as dependências correspondentes) para um sistema de apoio a este negócio, preenchendo tabelas como as do exercício 1. (b) Cite quatro atributos de qualidade que têm elevados níveis de exigência para este sistema,
(5) Considere o desenvolvimento de um sistema para apoiar o contexto descrito a seguir. Uma sociedade científica deseja um sistema de informação Web para gerenciar eventos e a submissão e avaliação de artigos científicos para os mesmos. Pessoas podem se cadastrar como membros da sociedade. De um membro da sociedade deseja-se saber nome, sexo, endereço, telefones, email e instituições aos quais está vinculado. De uma instituição, desejase saber nome, cidade e país. A sociedade científica patrocina diversos eventos científicos. De um evento científico deseja-se saber nome, coordenador, data limite para submissão de artigos, datas de início e fim do evento, estado da federação onde o evento vai ser realizado e temas de interesse. Uma vez cadastrado o evento, o coordenador pode definir o comitê de programa 1 do evento. Artigos são submetidos a eventos. De um artigo deseja-se saber o título, autores e sobre quais temas de interesse do evento o artigo se refere. Um artigo deve versar sobre pelo menos um dos temas de interesse do evento. Uma vez encerrada a submissão de artigos, o coordenador pode designar membros do comitê de programa para avaliar os artigos. Um autor do artigo ou um membro do comitê de programa vinculado a uma instituição de um dos autores do artigo não pode ser designado para avaliar este artigo. Cada artigo deve ter, pelo menos, três avaliadores designados para avaliá-lo. Avaliadores avaliam artigos. Coordenadores, membros de comitê de programa e autores têm ser membros da sociedade científica. (a) Dado o contexto descrito anteriormente, identifique requisitos funcionais e regras de negócio (e as dependências correspondentes) para um sistema de apoio a este negócio, preenchendo tabelas similares às do exercício (1). (b) Cite três atributos de qualidade que têm elevados níveis de exigência para este sistema, (c) Para o sistema em questão, um aspecto bastante importante é a definição de como são feitas as avaliações dos artigos. Para propor uma solução satisfatória para esta questão, é necessário levantar informações acerca de como são feitas as avaliações de artigos nos diversos eventos, tomando por base as suas últimas edições. Tipicamente, cada evento disponibiliza um formulário de avaliação para os membros do comitê de programa e os coordenadores utilizam essas avaliações para efetuar a seleção. Descreva como você procederia para levantar as informações para tratar esta questão usando três diferentes técnicas de levantamento de requisitos. Como as informações obtidas com cada uma das técnicas poderiam ser usadas de maneira complementar com as informações obtidas com as demais? Atente para o fato que os coordenadores de eventos e os membros dos comitês de programa são pessoas que trabalham em diversos locais do Brasil e até do mundo. 1 OBS: Os membros do comitê de programa serão os responsáveis pela avaliação dos artigos.
(6) Considere o desenvolvimento de um sistema para apoiar o funcionamento de uma rede de farmácias, conforme contexto descrito a seguir. A rede de farmácias possui diversas lojas localizadas na Grande Vitória. De uma loja deseja-se saber nome, endereço, telefones, horário de atendimento, farmacêutico responsável e funcionários. De um funcionário, deseja-se saber nome, endereço, telefones e loja na qual trabalha. De um farmacêutico, deseja-se saber os mesmos dados de um funcionário mais o número no Conselho Regional de Farmácia (CRF). Os produtos vendidos pela rede de farmácias são organizados em categorias, tais como Medicamentos, Beleza, Criança, Cuidados Pessoais e Saúde. De uma categoria deseja-se saber nome e descrição. Sobre produtos deseja-se saber, além de sua categoria, nome, descrição, fabricante, código de barras e preço de venda. Sobre medicamentos, deve-se registrar, ainda, se o produto é de livre comercialização, tarja vermelha sem retenção de receita, tarja vermelha com retenção de receita ou tarja preta. Produtos são fornecidos por representantes, sobre os quais se deseja saber nome, telefone, e-mail e fabricantes que ele representa. A rede de farmácias faz pedidos de produtos aos representantes. Um pedido especifica a quantidade desejada de cada produto e a data do pedido. Quando um pedido é entregue na rede de farmácias, deve-se registrar a data de entrega e a quantidade efetivamente entregue de produtos. Uma vez entregues os produtos, os mesmos são distribuídos para as lojas, sendo o controle de estoque feito por loja. Assim, deve-se registrar a entrada dos produtos nas lojas para as quais foram distribuídos, registrando a data de chegada e a quantidade de cada produto. Clientes compram produtos nas lojas, quando se deve indicar a quantidade de cada produto comprada. Além disso, deve-se registrar o funcionário que efetuou o atendimento e a data. Quando produtos de tarja vermelha com retenção de receita ou tarja preta são vendidos, a receita deve ser retida. Neste caso, um registro da receita (foto, digitalização ou outro) deve ser feito e armazenado no sistema. Pagamentos podem ser feitos em cheque, dinheiro ou cartão (débito ou crédito). No caso de pagamento em cartão, deverá ser registrado a operadora e o código da autorização emitido pelo sistema de operadoras de cartão. Funcionários deverão receber treinamento para usar o sistema, o qual será disponibilizado apenas internamente na rede de farmácias. O pagamento deve ser efetuado apenas pelos caixas, enquanto a venda de produtos a clientes será feita por atendentes e farmacêuticos. (a) Dado o contexto descrito anteriormente, identifique requisitos funcionais e regras de negócio (e as dependências correspondentes) para um sistema de apoio a este negócio. (b) Cite três atributos de qualidade que têm elevados níveis de exigência para este sistema, (c) Para o sistema em questão, um aspecto bastante importante é a definição de como melhor apoiar os atendentes e farmacêuticos no atendimento aos clientes. Para propor uma solução satisfatória para essa questão, é necessário levantar informações acerca de como diferentes funcionários realizam suas atividades e das informações que eles julgam importantes para atender os clientes. Em atividades de levantamento de requisitos já realizadas, foi possível perceber que há bastante divergência entre os envolvidos. Descreva como você procederia para tratar esta questão usando três diferentes técnicas de levantamento de requisitos. Como as informações obtidas com cada uma das técnicas poderiam ser usadas de maneira complementar com as informações obtidas com as demais?