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. RFs - processos de negócio apoiados RFs - necessidades de informação RNs RNFs 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 RF01 O sistema deve controlar a reserva de carros por clientes. RF05, RF08, RF10, RN02, RN03, RNF03 RF02 O sistema deve controlar as locações de veículos. RF01, RF05, RF06, RF08, RF09, RF10, RN02, RN03, RN04, RN05, RN06, RN07, RF03 O sistema deve controlar as devoluções de veículos. RF02, RF05 RF04 O sistema deve controlar os pagamentos das locações. RF03, RF08, RN09, RNF02 RF05 O sistema deve gerenciar informações de filiais da locadora. - RF06 O sistema deve gerenciar informações dos carros que compõem a frota da RF05, RF07 locadora. RF07 O sistema deve gerenciar informações de modelos. - RF08 O sistema deve gerenciar informações de grupos. RF07, RN01 RF09 RF10 O sistema deve gerenciar informações de clientes. O sistema deve gerenciar informações dos motoristas habilitados de uma locação. Regras de Negócio RN08, RNF01 Id Descrição RN01 Os valores das diárias são dados pelo grupo do carro alugado. RN02 A locadora trabalha apenas com locação com quilometragem livre. RN03 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. RN04 O valor da diária a ser efetivamente praticada será dado pelo valor na data de locação efetiva. RN05 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. RN06 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. RN07 O cliente de uma locação pode nomear até quatro motoristas adicionais. RN08 As CNHs de todos os motoristas deverão válidas no Denatran. RN09 Pagamentos podem ser feitos em dinheiro, cheque ou cartão. Requisitos Não Funcionais Id Descrição Categoria Escopo Depende de RNF01 O sistema deve estar integrado ao Denatran para validação de CNHs. Interoperabilidade Funcionalidade RN08 RNF02 O sistema deve estar integrado ao Sistema de Operadoras de Cartão para enviar e receber Interoperabilidade Funcionalidade RN09 informações de pagamentos com cartão. RNF03 A funcionalidade de reserva deve estar disponível pela Internet, a partir dos principais navegadores disponíveis no mercado, considerando, inclusive, dispositivos móveis (tablets, celulares). Portabilidade Funcionalidade
(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? Em um workshop de requisitos, representantes das diferentes classes de interessados poderiam discutir os conflitos visando obter uma solução satisfatória. A partir da solução proposta, um protótipo (prototipagem) poderia ser desenvolvido, tendo como foco o problema discutido e a solução proposta. Esse protótipo seria submetido para avaliação para um conjunto de interessados, juntamente com um questionário. Outras opções para esta última etapa seriam observar os envolvidos (observação) no uso do protótipo ou entrevistá-los (entrevistas) após o uso do protótipo (ou até aplicar as duas técnicas em conjunto). Em função das respostas ao questionário ou das impressões obtidas na observação / entrevista, poder-se-ia avaliar se a solução adotada para o problema foi adequada ou não, podendo, ainda, haver a identificação de novos requisitos. (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, justificando a sua resposta. Segurança, confiabilidade e manutenibilidade são essenciais para um sistema ERP. O sistema tem de ter alto nível de segurança, uma vez que lida com dados sigilosos e vitais para a organização. Confiabilidade também é essencial, pois é imprescindível manter o sistema funcionando, recuperar eventuais erros e garantir a integridade das informações. Manutenibilidade também é essencial, pois sistemas ERP tipicamente são alvo de alterações para customizá-los para diferentes adquirentes. São atributos de qualidade muito importantes para este tipo de sistema: usabilidade, pois o sistema será usado por muitos usuários diferentes, alguns deles externos à organização. Para algumas classes de usuários pode ser possível dar algum tipo de treinamento, mas não para todas; portabilidade, para a porção rodando na Web, pois o sistema deve ser acessível a partir de diferentes navegadores e por diferentes dispositivos mó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. Confiabilidade (mais especificamente, Disponibilidade) é fundamental, pois clientes só podem comprar livros se o sistema estiver disponível. Usabilidade também, pois se o sistema for difícil de usar, certamente muitos clientes deixarão de comprar livros. Portabilidade, pois o sistema deve ser passível de acesso por diferentes navegadores e dispositivos móveis. Se um cliente usando um determinado navegador não consegue acessar o sistema, muito provavelmente ele deixará de comprar livros. Por fim, segurança é imprescindível, uma vez que o sistema lida com dados pessoais e financeiros. (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.
Requisitos Funcionais Id Descrição Depende de RF01 O sistema deve controlar o agendamento de serviços por clientes. RF05, RF06, RN01 RF02 O sistema deve controlar a alocação de funcionários à prestação de serviços previamente agendados. RF01, RF07, RN02, RN03 RF03 O sistema deve controlar a prestação de serviços para clientes. RF01, RF02, RF06, RF07 RF04 O sistema deve controlar os pagamentos realizados para os serviços prestados. RF03, RN04 RF05 RF06 O sistema deve gerenciar informações de clientes. O sistema deve gerenciar informações de serviços. RF07 O sistema deve gerenciar informações de funcionários e suas habilitações. RF06 Regras de Negócio Id RN01 RN02 RN03 RN04 Descrição Um atendimento pode incluir a realização de mais do que um serviço. Não se deve alocar um mesmo funcionário para prestações de serviço com horários conflitantes. Um funcionário só pode ser alocado para prestar um serviço se for habilitado para o mesmo. Os pagamentos podem ser realizados em dinheiro, cheque ou cartão. (b) Cite quatro atributos de qualidade que têm elevados níveis de exigência para este sistema, justificando a sua resposta. Atributo Interoperabilidade Usabilidade Portabilidade Confiabilidade (Disponibilidade) Segurança Justificativa Para permitir o pagamento com cartão Pois o nível de escolaridade e de conhecimento em informática dos atendentes é pequeno e há alta rotatividade das pessoas que desempenham este papel. Clientes também podem ter perfis muito variados. Entre navegadores e dispositivos móveis, para não haver problemas para se realizar os agendamentos. Para não haver problemas para se realizar os agendamentos, que é parte essencial do negócio sendo apoiado. O sistema lida com dados de clientes e pagamentos (cartões).